Update RFM69registers.h

This commit is contained in:
Daniel A. Maierhofer 2015-01-24 14:13:15 +01:00
parent e840071342
commit a0948ed849
2 changed files with 59 additions and 19 deletions

View File

@ -82,8 +82,7 @@ bool RFM69::initialize(uint8_t freqBand, uint8_t nodeID, uint8_t networkID)
/* 0x3C */ { REG_FIFOTHRESH, RF_FIFOTHRESH_TXSTART_FIFONOTEMPTY | RF_FIFOTHRESH_VALUE }, // TX on FIFO not empty /* 0x3C */ { REG_FIFOTHRESH, RF_FIFOTHRESH_TXSTART_FIFONOTEMPTY | RF_FIFOTHRESH_VALUE }, // TX on FIFO not empty
/* 0x3D */ { REG_PACKETCONFIG2, RF_PACKET2_RXRESTARTDELAY_2BITS | RF_PACKET2_AUTORXRESTART_ON | RF_PACKET2_AES_OFF }, // RXRESTARTDELAY must match transmitter PA ramp-down time (bitrate dependent) /* 0x3D */ { REG_PACKETCONFIG2, RF_PACKET2_RXRESTARTDELAY_2BITS | RF_PACKET2_AUTORXRESTART_ON | RF_PACKET2_AES_OFF }, // RXRESTARTDELAY must match transmitter PA ramp-down time (bitrate dependent)
//for BR-19200: /* 0x3D */ { REG_PACKETCONFIG2, RF_PACKET2_RXRESTARTDELAY_NONE | RF_PACKET2_AUTORXRESTART_ON | RF_PACKET2_AES_OFF }, // RXRESTARTDELAY must match transmitter PA ramp-down time (bitrate dependent) //for BR-19200: /* 0x3D */ { REG_PACKETCONFIG2, RF_PACKET2_RXRESTARTDELAY_NONE | RF_PACKET2_AUTORXRESTART_ON | RF_PACKET2_AES_OFF }, // RXRESTARTDELAY must match transmitter PA ramp-down time (bitrate dependent)
///* 0x6F */ { REG_TESTDAGC, RF_DAGC_CONTINUOUS }, // run DAGC continuously in RX mode /* 0x6F */ { REG_TESTDAGC, RF_DAGC_IMPROVED_LOWBETA0 }, // run DAGC continuously in RX mode for Fading Margin Improvement, recommended default for AfcLowBetaOn=0
/* 0x6F */ { REG_TESTDAGC, RF_DAGC_IMPROVED_LOWBETA0 }, // run DAGC continuously in RX mode, recommended default for AfcLowBetaOn=0
{255, 0} {255, 0}
}; };

View File

@ -1,7 +1,7 @@
// ********************************************************************************** // **********************************************************************************
// Registers used in driver definition for HopeRF RFM69W/RFM69HW, Semtech SX1231/1231H // Registers used in driver definition for HopeRF RFM69W/RFM69HW, Semtech SX1231/1231H
// ********************************************************************************** // **********************************************************************************
// Copyright Felix Rusu (2014), felix@lowpowerlab.com // Copyright Felix Rusu (2015), felix@lowpowerlab.com
// http://lowpowerlab.com/ // http://lowpowerlab.com/
// ********************************************************************************** // **********************************************************************************
// License // License
@ -51,10 +51,10 @@
#define REG_PALEVEL 0x11 #define REG_PALEVEL 0x11
#define REG_PARAMP 0x12 #define REG_PARAMP 0x12
#define REG_OCP 0x13 #define REG_OCP 0x13
#define REG_AGCREF 0x14 #define REG_AGCREF 0x14 // not present on RFM69/SX1231
#define REG_AGCTHRESH1 0x15 #define REG_AGCTHRESH1 0x15 // not present on RFM69/SX1231
#define REG_AGCTHRESH2 0x16 #define REG_AGCTHRESH2 0x16 // not present on RFM69/SX1231
#define REG_AGCTHRESH3 0x17 #define REG_AGCTHRESH3 0x17 // not present on RFM69/SX1231
#define REG_LNA 0x18 #define REG_LNA 0x18
#define REG_RXBW 0x19 #define REG_RXBW 0x19
#define REG_AFCBW 0x1A #define REG_AFCBW 0x1A
@ -111,13 +111,15 @@
#define REG_AESKEY16 0x4D #define REG_AESKEY16 0x4D
#define REG_TEMP1 0x4E #define REG_TEMP1 0x4E
#define REG_TEMP2 0x4F #define REG_TEMP2 0x4F
#define REG_TESTPA1 0x5A // only present on RFM69HW/SX1231H #define REG_TESTLNA 0x58
#define REG_TESTPA2 0x5C // only present on RFM69HW/SX1231H #define REG_TESTPA1 0x5A // only present on RFM69HW/SX1231H
#define REG_TESTPA2 0x5C // only present on RFM69HW/SX1231H
#define REG_TESTDAGC 0x6F #define REG_TESTDAGC 0x6F
//****************************************************** //******************************************************
// RF69/SX1231 bit control definition // RF69/SX1231 bit control definition
//****************************************************** //******************************************************
// RegOpMode // RegOpMode
#define RF_OPMODE_SEQUENCER_OFF 0x80 #define RF_OPMODE_SEQUENCER_OFF 0x80
#define RF_OPMODE_SEQUENCER_ON 0x00 // Default #define RF_OPMODE_SEQUENCER_ON 0x00 // Default
@ -133,6 +135,7 @@
#define RF_OPMODE_TRANSMITTER 0x0C #define RF_OPMODE_TRANSMITTER 0x0C
#define RF_OPMODE_RECEIVER 0x10 #define RF_OPMODE_RECEIVER 0x10
// RegDataModul // RegDataModul
#define RF_DATAMODUL_DATAMODE_PACKET 0x00 // Default #define RF_DATAMODUL_DATAMODE_PACKET 0x00 // Default
#define RF_DATAMODUL_DATAMODE_CONTINUOUS 0x40 #define RF_DATAMODUL_DATAMODE_CONTINUOUS 0x40
@ -146,6 +149,7 @@
#define RF_DATAMODUL_MODULATIONSHAPING_10 0x02 #define RF_DATAMODUL_MODULATIONSHAPING_10 0x02
#define RF_DATAMODUL_MODULATIONSHAPING_11 0x03 #define RF_DATAMODUL_MODULATIONSHAPING_11 0x03
// RegBitRate (bits/sec) example bit rates // RegBitRate (bits/sec) example bit rates
#define RF_BITRATEMSB_1200 0x68 #define RF_BITRATEMSB_1200 0x68
#define RF_BITRATELSB_1200 0x2B #define RF_BITRATELSB_1200 0x2B
@ -198,6 +202,7 @@
#define RF_BITRATEMSB_200KBPS 0x00 #define RF_BITRATEMSB_200KBPS 0x00
#define RF_BITRATELSB_200KBPS 0xa0 #define RF_BITRATELSB_200KBPS 0xa0
// RegFdev - frequency deviation (Hz) // RegFdev - frequency deviation (Hz)
#define RF_FDEVMSB_2000 0x00 #define RF_FDEVMSB_2000 0x00
#define RF_FDEVLSB_2000 0x21 #define RF_FDEVLSB_2000 0x21
@ -284,6 +289,7 @@
#define RF_FDEVMSB_300000 0x13 #define RF_FDEVMSB_300000 0x13
#define RF_FDEVLSB_300000 0x33 #define RF_FDEVLSB_300000 0x33
// RegFrf (MHz) - carrier frequency // RegFrf (MHz) - carrier frequency
// 315Mhz band // 315Mhz band
#define RF_FRFMSB_314 0x4E #define RF_FRFMSB_314 0x4E
@ -418,6 +424,12 @@
#define RF_OSC1_RCCAL_START 0x80 #define RF_OSC1_RCCAL_START 0x80
#define RF_OSC1_RCCAL_DONE 0x40 #define RF_OSC1_RCCAL_DONE 0x40
// RegAfcCtrl
#define RF_AFCCTRL_LOWBETA_OFF 0x00 // Default
#define RF_AFCCTRL_LOWBETA_ON 0x20
// RegLowBat // RegLowBat
#define RF_LOWBAT_MONITOR 0x10 #define RF_LOWBAT_MONITOR 0x10
#define RF_LOWBAT_ON 0x08 #define RF_LOWBAT_ON 0x08
@ -438,6 +450,14 @@
#define RF_LISTEN1_RESOL_4100 0xA0 // Default #define RF_LISTEN1_RESOL_4100 0xA0 // Default
#define RF_LISTEN1_RESOL_262000 0xF0 #define RF_LISTEN1_RESOL_262000 0xF0
#define RF_LISTEN1_RESOL_IDLE_64 0x40
#define RF_LISTEN1_RESOL_IDLE_4100 0x80 // Default
#define RF_LISTEN1_RESOL_IDLE_262000 0xC0
#define RF_LISTEN1_RESOL_RX_64 0x10
#define RF_LISTEN1_RESOL_RX_4100 0x20 // Default
#define RF_LISTEN1_RESOL_RX_262000 0x30
#define RF_LISTEN1_CRITERIA_RSSI 0x00 // Default #define RF_LISTEN1_CRITERIA_RSSI 0x00 // Default
#define RF_LISTEN1_CRITERIA_RSSIANDSYNC 0x08 #define RF_LISTEN1_CRITERIA_RSSIANDSYNC 0x08
@ -449,9 +469,15 @@
// RegListen2 // RegListen2
#define RF_LISTEN2_COEFIDLE_VALUE 0xF5 // Default #define RF_LISTEN2_COEFIDLE_VALUE 0xF5 // Default
// RegListen3 // RegListen3
#define RF_LISTEN3_COEFRX_VALUE 0x20 // Default #define RF_LISTEN3_COEFRX_VALUE 0x20 // Default
// RegVersion
#define RF_VERSION_VER 0x24 // Default
// RegPaLevel // RegPaLevel
#define RF_PALEVEL_PA0_ON 0x80 // Default #define RF_PALEVEL_PA0_ON 0x80 // Default
#define RF_PALEVEL_PA0_OFF 0x00 #define RF_PALEVEL_PA0_OFF 0x00
@ -527,15 +553,15 @@
#define RF_OCP_TRIM_80 0x07 #define RF_OCP_TRIM_80 0x07
#define RF_OCP_TRIM_85 0x08 #define RF_OCP_TRIM_85 0x08
#define RF_OCP_TRIM_90 0x09 #define RF_OCP_TRIM_90 0x09
#define RF_OCP_TRIM_95 0x0A #define RF_OCP_TRIM_95 0x0A // Default
#define RF_OCP_TRIM_100 0x0B // Default #define RF_OCP_TRIM_100 0x0B
#define RF_OCP_TRIM_105 0x0C #define RF_OCP_TRIM_105 0x0C
#define RF_OCP_TRIM_110 0x0D #define RF_OCP_TRIM_110 0x0D
#define RF_OCP_TRIM_115 0x0E #define RF_OCP_TRIM_115 0x0E
#define RF_OCP_TRIM_120 0x0F #define RF_OCP_TRIM_120 0x0F
// RegAgcRef // RegAgcRef - not present on RFM69/SX1231
#define RF_AGCREF_AUTO_ON 0x40 // Default #define RF_AGCREF_AUTO_ON 0x40 // Default
#define RF_AGCREF_AUTO_OFF 0x00 #define RF_AGCREF_AUTO_OFF 0x00
@ -605,7 +631,7 @@
#define RF_AGCREF_LEVEL_MINUS143 0x3F #define RF_AGCREF_LEVEL_MINUS143 0x3F
// RegAgcThresh1 // RegAgcThresh1 - not present on RFM69/SX1231
#define RF_AGCTHRESH1_SNRMARGIN_000 0x00 #define RF_AGCTHRESH1_SNRMARGIN_000 0x00
#define RF_AGCTHRESH1_SNRMARGIN_001 0x20 #define RF_AGCTHRESH1_SNRMARGIN_001 0x20
#define RF_AGCTHRESH1_SNRMARGIN_010 0x40 #define RF_AGCTHRESH1_SNRMARGIN_010 0x40
@ -649,7 +675,7 @@
#define RF_AGCTHRESH1_STEP1_31 0x1F #define RF_AGCTHRESH1_STEP1_31 0x1F
// RegAgcThresh2 // RegAgcThresh2 - not present on RFM69/SX1231
#define RF_AGCTHRESH2_STEP2_0 0x00 #define RF_AGCTHRESH2_STEP2_0 0x00
#define RF_AGCTHRESH2_STEP2_1 0x10 #define RF_AGCTHRESH2_STEP2_1 0x10
#define RF_AGCTHRESH2_STEP2_2 0x20 #define RF_AGCTHRESH2_STEP2_2 0x20
@ -685,7 +711,7 @@
#define RF_AGCTHRESH2_STEP3_15 0x0F #define RF_AGCTHRESH2_STEP3_15 0x0F
// RegAgcThresh3 // RegAgcThresh3 - not present on RFM69/SX1231
#define RF_AGCTHRESH3_STEP4_0 0x00 #define RF_AGCTHRESH3_STEP4_0 0x00
#define RF_AGCTHRESH3_STEP4_1 0x10 #define RF_AGCTHRESH3_STEP4_1 0x10
#define RF_AGCTHRESH3_STEP4_2 0x20 #define RF_AGCTHRESH3_STEP4_2 0x20
@ -835,9 +861,11 @@
#define RF_AFCFEI_AFC_CLEAR 0x02 #define RF_AFCFEI_AFC_CLEAR 0x02
#define RF_AFCFEI_AFC_START 0x01 #define RF_AFCFEI_AFC_START 0x01
// RegRssiConfig // RegRssiConfig
#define RF_RSSI_FASTRX_ON 0x08 #define RF_RSSI_FASTRX_ON 0x08 // not present on RFM69/SX1231
#define RF_RSSI_FASTRX_OFF 0x00 // Default #define RF_RSSI_FASTRX_OFF 0x00 // Default
#define RF_RSSI_DONE 0x02 #define RF_RSSI_DONE 0x02
#define RF_RSSI_START 0x01 #define RF_RSSI_START 0x01
@ -895,6 +923,7 @@
#define RF_IRQFLAGS1_AUTOMODE 0x02 #define RF_IRQFLAGS1_AUTOMODE 0x02
#define RF_IRQFLAGS1_SYNCADDRESSMATCH 0x01 #define RF_IRQFLAGS1_SYNCADDRESSMATCH 0x01
// RegIrqFlags2 // RegIrqFlags2
#define RF_IRQFLAGS2_FIFOFULL 0x80 #define RF_IRQFLAGS2_FIFOFULL 0x80
#define RF_IRQFLAGS2_FIFONOTEMPTY 0x40 #define RF_IRQFLAGS2_FIFONOTEMPTY 0x40
@ -903,17 +932,21 @@
#define RF_IRQFLAGS2_PACKETSENT 0x08 #define RF_IRQFLAGS2_PACKETSENT 0x08
#define RF_IRQFLAGS2_PAYLOADREADY 0x04 #define RF_IRQFLAGS2_PAYLOADREADY 0x04
#define RF_IRQFLAGS2_CRCOK 0x02 #define RF_IRQFLAGS2_CRCOK 0x02
#define RF_IRQFLAGS2_LOWBAT 0x01 #define RF_IRQFLAGS2_LOWBAT 0x01 // not present on RFM69/SX1231
// RegRssiThresh // RegRssiThresh
#define RF_RSSITHRESH_VALUE 0xE4 // Default #define RF_RSSITHRESH_VALUE 0xE4 // Default
// RegRxTimeout1 // RegRxTimeout1
#define RF_RXTIMEOUT1_RXSTART_VALUE 0x00 // Default #define RF_RXTIMEOUT1_RXSTART_VALUE 0x00 // Default
// RegRxTimeout2 // RegRxTimeout2
#define RF_RXTIMEOUT2_RSSITHRESH_VALUE 0x00 // Default #define RF_RXTIMEOUT2_RSSITHRESH_VALUE 0x00 // Default
// RegPreamble // RegPreamble
#define RF_PREAMBLESIZE_MSB_VALUE 0x00 // Default #define RF_PREAMBLESIZE_MSB_VALUE 0x00 // Default
#define RF_PREAMBLESIZE_LSB_VALUE 0x03 // Default #define RF_PREAMBLESIZE_LSB_VALUE 0x03 // Default
@ -978,6 +1011,7 @@
// RegPayloadLength // RegPayloadLength
#define RF_PAYLOADLENGTH_VALUE 0x40 // Default #define RF_PAYLOADLENGTH_VALUE 0x40 // Default
// RegBroadcastAdrs // RegBroadcastAdrs
#define RF_BROADCASTADDRESS_VALUE 0x00 #define RF_BROADCASTADDRESS_VALUE 0x00
@ -1059,10 +1093,17 @@
// RegTemp1 // RegTemp1
#define RF_TEMP1_MEAS_START 0x08 #define RF_TEMP1_MEAS_START 0x08
#define RF_TEMP1_MEAS_RUNNING 0x04 #define RF_TEMP1_MEAS_RUNNING 0x04
// not present on RFM69/SX1231
#define RF_TEMP1_ADCLOWPOWER_ON 0x01 // Default #define RF_TEMP1_ADCLOWPOWER_ON 0x01 // Default
#define RF_TEMP1_ADCLOWPOWER_OFF 0x00 #define RF_TEMP1_ADCLOWPOWER_OFF 0x00
// RegTestDagc 0x6F: demodulator config and IO mode config
// RegTestLna
#define RF_TESTLNA_NORMAL 0x1B
#define RF_TESTLNA_HIGH_SENSITIVITY 0x2D
// RegTestDagc
#define RF_DAGC_NORMAL 0x00 // Reset value #define RF_DAGC_NORMAL 0x00 // Reset value
#define RF_DAGC_IMPROVED_LOWBETA1 0x20 // #define RF_DAGC_IMPROVED_LOWBETA1 0x20
#define RF_DAGC_IMPROVED_LOWBETA0 0x30 // Recommended default #define RF_DAGC_IMPROVED_LOWBETA0 0x30 // Recommended default