2017-05-30 22:58:20 +00:00
|
|
|
#ifndef __SI4464__H__
|
|
|
|
#define __SI4464__H__
|
|
|
|
|
|
|
|
#include "ch.h"
|
|
|
|
#include "hal.h"
|
|
|
|
#include "types.h"
|
|
|
|
|
2017-09-05 06:35:23 +00:00
|
|
|
#define RADIO_WRITE_GPIO(state) palWriteLine(LINE_RADIO_GPIO, state)
|
|
|
|
#define RADIO_READ_GPIO() palReadLine(LINE_RADIO_GPIO)
|
2017-09-02 03:43:13 +00:00
|
|
|
#define inRadioBand(freq) (RADIO_MIN_FREQ <= (freq) && (freq) <= RADIO_MAX_FREQ)
|
|
|
|
|
2017-09-08 22:00:55 +00:00
|
|
|
#define HIGH true
|
|
|
|
#define LOW false
|
|
|
|
|
2017-09-02 23:34:22 +00:00
|
|
|
#define SI4464_STATE_NOCHANGE 0
|
2017-09-02 03:43:13 +00:00
|
|
|
#define SI4464_STATE_SLEEP 1
|
|
|
|
#define SI4464_STATE_SPI_ACTIVE 2
|
|
|
|
#define SI4464_STATE_READY 3
|
|
|
|
#define SI4464_STATE_READY2 4
|
|
|
|
#define SI4464_STATE_TX_TUNE 5
|
|
|
|
#define SI4464_STATE_RX_TUNE 6
|
|
|
|
#define SI4464_STATE_TX 7
|
|
|
|
#define SI4464_STATE_RX 8
|
2017-05-30 22:58:20 +00:00
|
|
|
|
2017-06-15 06:08:48 +00:00
|
|
|
void Si4464_Init(void);
|
2017-05-30 22:58:20 +00:00
|
|
|
void Si4464_write(uint8_t* txData, uint32_t len);
|
|
|
|
void setFrequency(uint32_t freq, uint16_t shift);
|
|
|
|
void setShift(uint16_t shift);
|
|
|
|
void setModemAFSK(void);
|
2017-10-14 03:58:51 +00:00
|
|
|
void setModemOOK(ook_conf_t* conf);
|
|
|
|
void setModem2FSK(fsk_conf_t* conf);
|
2017-06-15 06:08:48 +00:00
|
|
|
void setModem2GFSK(gfsk_conf_t* conf);
|
2017-05-30 22:58:20 +00:00
|
|
|
void setDeviation(uint32_t deviation);
|
|
|
|
void setPowerLevel(int8_t level);
|
2017-09-03 00:53:01 +00:00
|
|
|
void startTx(uint16_t size);
|
2017-05-30 22:58:20 +00:00
|
|
|
void stopTx(void);
|
2017-08-27 19:14:30 +00:00
|
|
|
void Si4464_shutdown(void);
|
2017-09-03 00:53:01 +00:00
|
|
|
bool radioTune(uint32_t frequency, uint16_t shift, int8_t level, uint16_t size);
|
2017-05-30 22:58:20 +00:00
|
|
|
void Si4464_writeFIFO(uint8_t *msg, uint8_t size);
|
|
|
|
uint8_t Si4464_freeFIFO(void);
|
|
|
|
uint8_t Si4464_getState(void);
|
|
|
|
int8_t Si4464_getTemperature(void);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|