RFM69_initialise
-
Set
MY_RFM69_POWER_PIN
mode toOUTPUT
, if defined. -
Power up the radio
RFM69_powerUp()
. -
Reset radio module, if
MY_RFM69_RST_PIN
is defined. -
Configure radio:
- Set radio
address
toRFM69_BROADCAST_ADDRESS
. - Set radio
dataReceived
tofalse
. - Set radio
ackReceived
tofalse
. - Set radio
txSequenceNumber
to0
. - Set radio
radioMode
toRFM69_RADIO_MODE_SLEEP
. - Disable ATC by setting
ATCenabled
to false. - Set radio
ATCtargetRSSI
toRFM69_RSSItoInternal(MY_RFM69_ATC_TARGET_RSSI_DBM)
.
- Set radio
-
Init SPI:
- Set
MY_RFM69_CS_PIN
toHIGH
. - Set
MY_RFM69_CS_PIN
toOUTPUT
(why that order?).
- Set
-
Call
SPI.begin()
-
Set radio mode
RFM69_setRadioMode(RFM69_RADIO_MODE_STDBY)
. -
Set radio configuration
RFM69_setConfiguration()
Register Value Comments RFM69_REG_OPMODE RFM69_OPMODE_SEQUENCER_ON RFM69_OPMODE_LISTEN_OFF RFM69_REG_DATAMODUL RFM69_CONFIG_FSK RFM69_REG_BITRATEMSB RFM69_BITRATEMSB_55555 RFM69_REG_BITRATELSB RFM69_BITRATELSB_55555 RFM69_REG_FDEVMSB RFM69_FDEVMSB_50000 RFM69_REG_FDEVLSB RFM69_FDEVLSB_50000 RFM69_REG_LNA RFM69_LNA_ZIN_200 RFM69_LNA_CURRENTGAIN RFM69_REG_RXBW RFM69_RXBW_111_16_2 RFM69_REG_AFCBW RFM69_RXBW_111_16_2 RFM69_REG_DIOMAPPING2 RFM69_DIOMAPPING2_CLKOUT_OFF RFM69_REG_IRQFLAGS2 RFM69_IRQFLAGS2_FIFOOVERRUN clear FIFO and flags RFM69_REG_RSSITHRESH RFM69_RSSITHRESH_VALUE RFM69_REG_PREAMBLEMSB RFM69_PREAMBLESIZE_MSB_VALUE RFM69_REG_PREAMBLELSB RFM69_PREAMBLESIZE_LSB_VALUE RFM69_REG_SYNCCONFIG RFM69_SYNC_ON RFM69_SYNC_FIFOFILL_AUTO RFM69_REG_SYNCVALUE1 RFM69_SYNCVALUE1 RFM69_REG_SYNCVALUE2 MY_RFM69_NETWORKID RFM69_REG_PACKETCONFIG1 RFM69_CONFIG_WHITE RFM69_REG_PAYLOADLENGTH RFM69_MAX_PACKET_LEN in variable length mode: the max frame size, not used in TX RFM69_REG_NODEADRS RFM69_BROADCAST_ADDRESS RFM69_REG_BROADCASTADRS RFM69_BROADCAST_ADDRESS RFM69_REG_FIFOTHRESH RFM69_FIFOTHRESH_TXSTART_FIFOTHRESH (RFM69_HEADER_LEN - 1) RFM69_REG_PACKETCONFIG2 RFM69_PACKET2_RXRESTARTDELAY_2BITS RFM69_PACKET2_AUTORXRESTART_OFF RFM69_REG_TESTDAGC RFM69_DAGC_IMPROVED_LOWBETA0 continuous DAGC mode, use 0x30 if afc offset == 0 -
Set radio frequency to the first argument
frequencyHz
value ofRFM69_initialise
. -
Set radio power level to
RFM69_setTxPowerLevel(MY_RFM69_TX_POWER_DBM)
. -
Read all radio registers.
-
Call
RFM69_sanityCheck()
and returnfalse
if failed.- Ensure that register
RFM69_REG_RSSITHRESH
is equal toRFM69_RSSITHRESH_VALUE
. - Ensure that register
RFM69_REG_SYNCVALUE1
is equal toRFM69_SYNCVALUE1
. - Ensure that register
RFM69_REG_SYNCVALUE2
is equal toMY_RFM69_NETWORKID
.
- Ensure that register
-
Set
RFM69_irq
tofalse
. -
Set
MY_RFM69_IRQ_PIN
mode toINPUT
. -
Return
true
.