/* * * mur.sat * * Somewhen in the year 20xx, mur.at will have a nano satellite launched * into a low earth orbit (310 km above the surface of our planet). The * satellite itself is a TubeSat personal satellite kit, developed and * launched by interorbital systems. mur.sat is a joint venture of mur.at, * ESC im Labor and realraum. * * Please visit the project hompage at sat.mur.at for further information. * * * Copyright (C) 2012 Bernhard Tittelbach * 2015 Christian Pointner * * This file is part of mur.sat. * * mur.sat is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * mur.sat is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with mur.sat. If not, see . * */ #ifndef MURSAT_c1101lib_h_INCLUDED #define MURSAT_c1101lib_h_INCLUDED #include // TODO: should be internal only... int16_t c1101_spi_read_register(uint8_t address); int16_t c1101_spi_write_register(uint8_t address, uint8_t byte); int16_t c1101_spi_strobe_command(uint8_t cmd); void c1101_init(void); void c1101_init_ook_beacon(void); uint8_t c1101_ook_power_get(void); uint8_t c1101_ook_power_get_raw(void); void c1101_ook_power_set(uint8_t power); void c1101_ook_power_inc(void); void c1101_ook_power_dec(void); void c1101_handleStatusByte(uint8_t sb); uint8_t c1101_getStatus(void); uint16_t c1101_measureTemp(void); void c1101_spi_dump_registers(void); void c1101_permanently_save_current_rx_tx_freqoffset_auto_compensation(void); bool c1101_setFrequency(uint32_t freq_hz); bool c1101_changeFrequencyByRelativeValue(int32_t freq_change_hz); uint32_t c1101_getCurrentCarrierFrequencyHz(void); bool c1101_setIFFrequency(uint32_t freq_hz); uint16_t c1101_setFSKDeviationFromCarrier(int8_t m, int8_t e); bool c1101_transmitData(uint8_t *buffer, uint8_t len); void c1101_transmitData_infPktMode(uint8_t *buffer, uint8_t len); void c1101_recieveData(void); //max returned: 64 bytes int c1101_readRXFifo(uint8_t *buffer); #endif