mirror of
https://github.com/travisgoodspeed/goodwatch
synced 2024-11-23 01:08:35 +00:00
54 lines
1.3 KiB
C
54 lines
1.3 KiB
C
/*! \file radio.h
|
|
\brief RF1A Radio Module Driver
|
|
|
|
*/
|
|
|
|
//! Set to 1 if the watch has a radio.
|
|
extern int has_radio;
|
|
|
|
//! Called at boot. Gracefully fails if no radio.
|
|
void radio_init();
|
|
|
|
//! Turns the radio on. Returns zero on failure.
|
|
void radio_on();
|
|
|
|
//! Sets the radio frequency.
|
|
void radio_setfreq(float freq);
|
|
//! Sets the raw radio frequency registers.
|
|
void radio_setrawfreq(uint8_t freq2, uint8_t freq1, uint8_t freq0);
|
|
//! Gets the radio frequency.
|
|
uint32_t radio_getfreq();
|
|
|
|
//! Restarts the radio. (Call this after radio_on().)
|
|
void radio_resetcore();
|
|
|
|
//! Turns the radio off.
|
|
void radio_off();
|
|
|
|
|
|
//! Read a register from the radio.
|
|
uint8_t radio_readreg(uint8_t addr);
|
|
//! Write to a register in the radio.
|
|
void radio_writereg(uint8_t addr, uint8_t value);
|
|
|
|
//! Read multiple bytes from a register.
|
|
void radio_readburstreg(uint8_t addr,
|
|
uint8_t *buffer, uint8_t count);
|
|
//! Write multiple bytes to a register.
|
|
void radio_writeburstreg(uint8_t addr,
|
|
uint8_t *buffer, uint8_t count);
|
|
|
|
//! Strobe a radio register.
|
|
uint8_t radio_strobe(uint8_t strobe);
|
|
|
|
//! Writes a table of radio settings until the first null pair.
|
|
void radio_writesettings(const uint8_t *settings);
|
|
|
|
//! Writes one value to the power table.
|
|
void radio_writepower(uint8_t value);
|
|
|
|
//! Read the RSSI.
|
|
int radio_getrssi();
|
|
//! Read the radio MARC state.
|
|
int radio_getstate();
|