Skip to content

Commit 57eca4f

Browse files
tekka007henrikekblad
authored andcommitted
Transport code harmonization (#1072)
1 parent b51981a commit 57eca4f

File tree

7 files changed

+30
-90
lines changed

7 files changed

+30
-90
lines changed

drivers/RFM69/new/RFM69_new.cpp

Lines changed: 4 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,6 @@ LOCAL bool RFM69_initialise(const uint32_t frequencyHz)
200200
RFM69.powerLevel = MY_RFM69_TX_POWER_DBM + 1; // will be overwritten when set
201201
RFM69.radioMode = RFM69_RADIO_MODE_SLEEP;
202202
RFM69.ATCenabled = false;
203-
RFM69.listenModeEnabled = false;
204203
RFM69.ATCtargetRSSI = RFM69_RSSItoInternal(MY_RFM69_ATC_TARGET_RSSI_DBM);
205204

206205
// SPI init
@@ -354,7 +353,7 @@ LOCAL uint8_t RFM69_receive(uint8_t *buf, const uint8_t maxBufSize)
354353
// clear data flag
355354
RFM69.dataReceived = false;
356355
if (RFM69_getACKRequested(controlFlags) && !RFM69_getACKReceived(controlFlags)) {
357-
#if defined(MY_GATEWAY_FEATURE) && (F_CPU>16000000)
356+
#if defined(MY_GATEWAY_FEATURE) && (F_CPU>16*1000000ul)
358357
// delay for fast GW and slow nodes
359358
delay(50);
360359
#endif
@@ -425,9 +424,9 @@ LOCAL bool RFM69_send(const uint8_t recipient, uint8_t *data, const uint8_t len,
425424
LOCAL void RFM69_setFrequency(const uint32_t frequencyHz)
426425
{
427426
const uint32_t freqHz = (uint32_t)(frequencyHz / RFM69_FSTEP);
428-
RFM69_writeReg(RFM69_REG_FRFMSB, (freqHz >> 16) & 0xFF);
429-
RFM69_writeReg(RFM69_REG_FRFMID, (freqHz >> 8) & 0xFF);
430-
RFM69_writeReg(RFM69_REG_FRFLSB, freqHz & 0xFF);
427+
RFM69_writeReg(RFM69_REG_FRFMSB, (uint8_t)((freqHz >> 16) & 0xFF));
428+
RFM69_writeReg(RFM69_REG_FRFMID, (uint8_t)((freqHz >> 8) & 0xFF));
429+
RFM69_writeReg(RFM69_REG_FRFLSB, (uint8_t)(freqHz & 0xFF));
431430
}
432431

433432
LOCAL void RFM69_setHighPowerRegs(const bool onOff)
@@ -774,60 +773,6 @@ LOCAL rfm69_RSSI_t RFM69_readRSSI(const bool forceTrigger)
774773
return (rfm69_RSSI_t)RFM69_readReg(RFM69_REG_RSSIVALUE);
775774
}
776775

777-
/* UNUSED
778-
779-
LOCAL uint8_t RFM69_getVersion(void)
780-
{
781-
return RFM69_readReg(RFM69_REG_VERSION);
782-
}
783-
784-
LOCAL uint8_t RFM69_readTemperature(const uint8_t calFactor)
785-
{
786-
(void)RFM69_setRadioMode(RFM69_RADIO_MODE_STDBY);
787-
RFM69_writeReg(RFM69_REG_TEMP1, RFM69_TEMP1_MEAS_START);
788-
const uint32_t enterMS = hwMillis();
789-
while ((RFM69_readReg(RFM69_REG_TEMP1) & RFM69_TEMP1_MEAS_RUNNING) && hwMillis() - enterMS < 500);
790-
return ~RFM69_readReg(RFM69_REG_TEMP2) + RFM69_COURSE_TEMP_COEF +
791-
calFactor; // 'complement' corrects the slope, rising temp = rising val
792-
}
793-
794-
LOCAL uint8_t RFM69_setLNA(const uint8_t newReg)
795-
{
796-
const uint8_t oldReg = RFM69_readReg(RFM69_REG_LNA);
797-
RFM69_writeReg(RFM69_REG_LNA, ((newReg & 7) | (oldReg &
798-
~7))); // just control the LNA Gain bits for now
799-
return oldReg; // return the original value in case we need to restore it
800-
}
801-
802-
LOCAL bool RFM69_waitCAD(void)
803-
{
804-
const uint32_t enterMS = hwMillis();
805-
(void)RFM69_setRadioMode(RFM69_RADIO_MODE_RX);
806-
while (RFM69.radioMode == RFM69_RADIO_MODE_RX && !RFM69.dataReceived &&
807-
RFM69_RSSItoInternal(RFM69_readRSSI()) > RFM69_RSSItoInternal(RFM69_CSMA_LIMIT_DBM)) {
808-
if (hwMillis() - enterMS > RFM69_CSMA_TIMEOUT_MS) {
809-
return false;
810-
}
811-
}
812-
return true;
813-
}
814-
815-
LOCAL void RFM69_rcCalibration(void)
816-
{
817-
// RC oscillator calibration
818-
// On the SX1231 V2a, RC calibration at power-up needs to be performed
819-
// This is not required in the version V2b any more, where the calibration is fully automatic
820-
// see SX1231 datasheet, chapter 9 (Chip Revision)
821-
RFM69_writeReg(0x57, 0x80);
822-
RFM69_writeReg(RFM69_REG_OSC1, RFM69_OSC1_RCCAL_START);
823-
while (!(RFM69_readReg(RFM69_REG_OSC1) & RFM69_OSC1_RCCAL_DONE)) {};
824-
RFM69_writeReg(RFM69_REG_OSC1, RFM69_OSC1_RCCAL_START);
825-
while (!(RFM69_readReg(RFM69_REG_OSC1) & RFM69_OSC1_RCCAL_DONE)) {};
826-
RFM69_writeReg(0x57, 0x00);
827-
}
828-
829-
*/
830-
831776
LOCAL void RFM69_readAllRegs(void)
832777
{
833778
#ifdef RFM69_REGISTER_DETAIL

drivers/RFM69/new/RFM69_new.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,6 @@ typedef struct {
326326
rfm69_RSSI_t RSSI; //!< RSSI of current packet, RSSI = value - 137
327327
} __attribute__((packed)) rfm69_packet_t;
328328

329-
330329
/**
331330
* @brief RFM69 internal variables
332331
*/
@@ -341,8 +340,7 @@ typedef struct {
341340
bool dataReceived : 1; //!< data received
342341
bool ackReceived : 1; //!< ACK received
343342
bool ATCenabled : 1; //!< ATC enabled
344-
bool listenModeEnabled : 1; //!< Listen mode enabled
345-
bool reserved : 1; //!< Reserved
343+
uint8_t reserved : 2; //!< Reserved
346344
} rfm69_internal_t;
347345

348346
#define LOCAL static //!< static

drivers/RFM95/RFM95.cpp

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -347,9 +347,8 @@ LOCAL bool RFM95_sendFrame(rfm95_packet_t *packet, const bool increaseSequenceCo
347347
(void)RFM95_setRadioMode(RFM95_RADIO_MODE_TX);
348348
// wait until IRQ fires or timeout
349349
const uint32_t startTX_MS = hwMillis();
350-
while (!RFM95_irq &&
351-
(hwMillis() - startTX_MS <
352-
MY_RFM95_TX_TIMEOUT_MS) ) { // make this payload length + bit rate dependend
350+
// todo: make this payload length + bit rate dependend
351+
while (!RFM95_irq && (hwMillis() - startTX_MS < MY_RFM95_TX_TIMEOUT_MS) ) {
353352
doYield();
354353
}
355354
return RFM95_irq;
@@ -371,9 +370,9 @@ LOCAL bool RFM95_send(const uint8_t recipient, uint8_t *data, const uint8_t len,
371370
LOCAL void RFM95_setFrequency(const uint32_t frequencyHz)
372371
{
373372
const uint32_t freqReg = (uint32_t)(frequencyHz / RFM95_FSTEP);
374-
(void)RFM95_writeReg(RFM95_REG_06_FRF_MSB, (freqReg >> 16) & 0xff);
375-
(void)RFM95_writeReg(RFM95_REG_07_FRF_MID, (freqReg >> 8) & 0xff);
376-
(void)RFM95_writeReg(RFM95_REG_08_FRF_LSB, freqReg & 0xff);
373+
(void)RFM95_writeReg(RFM95_REG_06_FRF_MSB, (uint8_t)((freqReg >> 16) & 0xff));
374+
(void)RFM95_writeReg(RFM95_REG_07_FRF_MID, (uint8_t)((freqReg >> 8) & 0xff));
375+
(void)RFM95_writeReg(RFM95_REG_08_FRF_LSB, (uint8_t)(freqReg & 0xff));
377376
}
378377

379378
LOCAL bool RFM95_setTxPowerLevel(rfm95_powerLevel_t newPowerLevel)
@@ -420,8 +419,8 @@ LOCAL void RFM95_setModemRegisters(const rfm95_modemConfig_t *config)
420419

421420
LOCAL void RFM95_setPreambleLength(const uint16_t preambleLength)
422421
{
423-
(void)RFM95_writeReg(RFM95_REG_20_PREAMBLE_MSB, (preambleLength >> 8) & 0xff);
424-
(void)RFM95_writeReg(RFM95_REG_21_PREAMBLE_LSB, preambleLength & 0xff);
422+
(void)RFM95_writeReg(RFM95_REG_20_PREAMBLE_MSB, (uint8_t)((preambleLength >> 8) & 0xff));
423+
(void)RFM95_writeReg(RFM95_REG_21_PREAMBLE_LSB, (uint8_t)(preambleLength & 0xff));
425424
}
426425

427426
LOCAL void RFM95_setAddress(const uint8_t addr)

drivers/RFM95/RFM95.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,6 @@ extern HardwareSPI SPI; //!< SPI
186186
#define RFM95_setACKReceived(__value, __flag) bitWrite(__value, RFM95_BIT_ACK_RECEIVED,__flag) //!< setACKReceived
187187
#define RFM95_setACKRSSIReport(__value, __flag) bitWrite(__value, RFM95_BIT_ACK_RSSI_REPORT,__flag) //!< setACKRSSIReport
188188
#define RFM95_getACKRSSIReport(__value) ((bool)bitRead(__value, RFM95_BIT_ACK_RSSI_REPORT)) //!< getACKRSSIReport
189-
//#define RFM95_internalToRSSI(__value) ((int16_t)(__value - RFM95_RSSI_OFFSET)) //!< Convert internal RSSI to RSSI
190-
//#define RFM95_RSSItoInternal(__value) ((uint8_t)(__value + RFM95_RSSI_OFFSET)) //!< Convert RSSI to internal RSSI
191189
#define RFM95_internalToSNR(__value) ((int8_t)(__value / 4)) //!< Convert internal SNR to SNR
192190

193191
#define RFM95_MIN_POWER_LEVEL_DBM ((rfm95_powerLevel_t)5u) //!< min. power level

hal/transport/RF24/MyTransportRF24.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ bool transportInit(void)
6868
(void)memset(RF24_psk, 0, 16);
6969
(void)memcpy(RF24_psk, MY_ENCRYPTION_SIMPLE_PASSWD, strnlen(MY_ENCRYPTION_SIMPLE_PASSWD, 16));
7070
#else
71-
hwReadConfigBlock((void*)RF24_psk, (void*)EEPROM_RF_ENCRYPTION_AES_KEY_ADDRESS, 16);
71+
hwReadConfigBlock((void *)RF24_psk, (void *)EEPROM_RF_ENCRYPTION_AES_KEY_ADDRESS, 16);
7272
#endif
7373
//set up AES-key
7474
RF24_aes.set_key(RF24_psk, 16);
@@ -93,7 +93,7 @@ uint8_t transportGetAddress(void)
9393
return RF24_getNodeID();
9494
}
9595

96-
bool transportSend(const uint8_t to, const void* data, const uint8_t len, const bool noACK)
96+
bool transportSend(const uint8_t to, const void *data, const uint8_t len, const bool noACK)
9797
{
9898
#if defined(MY_RF24_ENABLE_ENCRYPTION)
9999
// copy input data because it is read-only
@@ -124,7 +124,7 @@ bool transportSanityCheck(void)
124124
return RF24_sanityCheck();
125125
}
126126

127-
uint8_t transportReceive(void* data)
127+
uint8_t transportReceive(void *data)
128128
{
129129
uint8_t len = 0;
130130
#if defined(MY_RX_MESSAGE_BUFFER_FEATURE)
@@ -141,7 +141,7 @@ uint8_t transportReceive(void* data)
141141
// has to be adjusted, WIP!
142142
RF24_aes.set_IV(0);
143143
// decrypt data
144-
if (RF24_aes.cbc_decrypt((uint8_t*)(data), (uint8_t*)(data), len > 16 ? 2 : 1) != AES_SUCCESS) {
144+
if (RF24_aes.cbc_decrypt((uint8_t *)data, (uint8_t *)data, len > 16 ? 2 : 1) != AES_SUCCESS) {
145145
len = 0;
146146
}
147147
#endif

hal/transport/RFM69/MyTransportRFM69.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ bool transportInit(void)
3737
(void)memset(RFM69_psk, 0, 16);
3838
(void)memcpy(RFM69_psk, MY_ENCRYPTION_SIMPLE_PASSWD, strnlen(MY_ENCRYPTION_SIMPLE_PASSWD, 16));
3939
#else
40-
hwReadConfigBlock((void*)RFM69_psk, (void*)EEPROM_RF_ENCRYPTION_AES_KEY_ADDRESS, 16);
40+
hwReadConfigBlock((void *)RFM69_psk, (void*)EEPROM_RF_ENCRYPTION_AES_KEY_ADDRESS, 16);
4141
#endif
42-
RFM69_encrypt((const char*)RFM69_psk);
42+
RFM69_encrypt((const char *)RFM69_psk);
4343
(void)memset(RFM69_psk, 0, 16); // Make sure it is purged from memory when set
4444
#else
4545
(void)RFM69_encrypt;
@@ -57,7 +57,7 @@ uint8_t transportGetAddress(void)
5757
return RFM69_getAddress();
5858
}
5959

60-
bool transportSend(const uint8_t to, const void* data, uint8_t len, const bool noACK)
60+
bool transportSend(const uint8_t to, const void *data, uint8_t len, const bool noACK)
6161
{
6262
if (noACK) {
6363
(void)RFM69_sendWithRetry(to, data, len, 0, 0);
@@ -77,9 +77,9 @@ bool transportSanityCheck(void)
7777
return RFM69_sanityCheck();
7878
}
7979

80-
uint8_t transportReceive(void* data)
80+
uint8_t transportReceive(void *data)
8181
{
82-
return RFM69_receive((uint8_t*)data, MAX_MESSAGE_LENGTH);
82+
return RFM69_receive((uint8_t *)data, MAX_MESSAGE_LENGTH);
8383
}
8484

8585
void transportSleep(void)
@@ -108,7 +108,7 @@ bool transportSetTxPowerLevel(const uint8_t powerLevel)
108108
return RFM69_setTxPowerLevel(powerLevel);
109109
}
110110

111-
void transportSetTargetRSSI(int16_t targetSignalStrength)
111+
void transportSetTargetRSSI(const int16_t targetSignalStrength)
112112
{
113113
#if !defined(MY_GATEWAY_FEATURE) && !defined(MY_RFM69_ATC_MODE_DISABLED)
114114
RFM69_ATCmode(true, targetSignalStrength);
@@ -175,9 +175,9 @@ bool transportInit(void)
175175
(void)memset(RFM69_psk, 0, 16);
176176
(void)memcpy(RFM69_psk, MY_ENCRYPTION_SIMPLE_PASSWD, strnlen(MY_ENCRYPTION_SIMPLE_PASSWD, 16));
177177
#else
178-
hwReadConfigBlock((void*)RFM69_psk, (void*)EEPROM_RF_ENCRYPTION_AES_KEY_ADDRESS, 16);
178+
hwReadConfigBlock((void *)RFM69_psk, (void *)EEPROM_RF_ENCRYPTION_AES_KEY_ADDRESS, 16);
179179
#endif
180-
_radio.encrypt((const char*)RFM69_psk);
180+
_radio.encrypt((const char *)RFM69_psk);
181181
(void)memset(RFM69_psk, 0, 16); // Make sure it is purged from memory when set
182182
#endif
183183
return true;
@@ -196,7 +196,7 @@ uint8_t transportGetAddress(void)
196196
return _address;
197197
}
198198

199-
bool transportSend(const uint8_t to, const void* data, const uint8_t len, const bool noACK)
199+
bool transportSend(const uint8_t to, const void *data, const uint8_t len, const bool noACK)
200200
{
201201
if (noACK) {
202202
(void)_radio.sendWithRetry(to, data, len, 0, 0);
@@ -215,11 +215,11 @@ bool transportSanityCheck(void)
215215
return _radio.sanityCheck();
216216
}
217217

218-
uint8_t transportReceive(void* data)
218+
uint8_t transportReceive(void *data)
219219
{
220220
// save payload length
221221
const uint8_t dataLen = _radio.DATALEN < MAX_MESSAGE_LENGTH? _radio.DATALEN : MAX_MESSAGE_LENGTH;
222-
(void)memcpy((void*)data, (void*)_radio.DATA, dataLen);
222+
(void)memcpy((void *)data, (void *)_radio.DATA, dataLen);
223223
// Send ack back if this message wasn't a broadcast
224224
if (_radio.ACKRequested()) {
225225
_radio.sendACK();

hal/transport/RFM95/MyTransportRFM95.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ uint8_t transportGetAddress(void)
4646
return RFM95_getAddress();
4747
}
4848

49-
bool transportSend(const uint8_t to, const void* data, const uint8_t len, const bool noACK)
49+
bool transportSend(const uint8_t to, const void *data, const uint8_t len, const bool noACK)
5050
{
5151
if (noACK) {
5252
(void)RFM95_sendWithRetry(to, data, len, 0, 0);
@@ -66,9 +66,9 @@ bool transportSanityCheck(void)
6666
return RFM95_sanityCheck();
6767
}
6868

69-
uint8_t transportReceive(void* data)
69+
uint8_t transportReceive(void *data)
7070
{
71-
const uint8_t len = RFM95_receive((uint8_t*)data, MAX_MESSAGE_LENGTH);
71+
const uint8_t len = RFM95_receive((uint8_t *)data, MAX_MESSAGE_LENGTH);
7272
return len;
7373
}
7474

0 commit comments

Comments
 (0)