Remove sync word handling from KissModem.
This commit is contained in:
@@ -11,10 +11,9 @@ KissModem::KissModem(Stream& serial, mesh::LocalIdentity& identity, mesh::RNG& r
|
|||||||
_pending_tx_len = 0;
|
_pending_tx_len = 0;
|
||||||
_setRadioCallback = nullptr;
|
_setRadioCallback = nullptr;
|
||||||
_setTxPowerCallback = nullptr;
|
_setTxPowerCallback = nullptr;
|
||||||
_setSyncWordCallback = nullptr;
|
|
||||||
_getCurrentRssiCallback = nullptr;
|
_getCurrentRssiCallback = nullptr;
|
||||||
_getStatsCallback = nullptr;
|
_getStatsCallback = nullptr;
|
||||||
_config = {0, 0, 0, 0, 0, 0x12};
|
_config = {0, 0, 0, 0, 0};
|
||||||
}
|
}
|
||||||
|
|
||||||
void KissModem::begin() {
|
void KissModem::begin() {
|
||||||
@@ -133,18 +132,12 @@ void KissModem::processFrame() {
|
|||||||
case CMD_SET_TX_POWER:
|
case CMD_SET_TX_POWER:
|
||||||
handleSetTxPower(data, data_len);
|
handleSetTxPower(data, data_len);
|
||||||
break;
|
break;
|
||||||
case CMD_SET_SYNC_WORD:
|
|
||||||
handleSetSyncWord(data, data_len);
|
|
||||||
break;
|
|
||||||
case CMD_GET_RADIO:
|
case CMD_GET_RADIO:
|
||||||
handleGetRadio();
|
handleGetRadio();
|
||||||
break;
|
break;
|
||||||
case CMD_GET_TX_POWER:
|
case CMD_GET_TX_POWER:
|
||||||
handleGetTxPower();
|
handleGetTxPower();
|
||||||
break;
|
break;
|
||||||
case CMD_GET_SYNC_WORD:
|
|
||||||
handleGetSyncWord();
|
|
||||||
break;
|
|
||||||
case CMD_GET_VERSION:
|
case CMD_GET_VERSION:
|
||||||
handleGetVersion();
|
handleGetVersion();
|
||||||
break;
|
break;
|
||||||
@@ -347,21 +340,6 @@ void KissModem::handleSetTxPower(const uint8_t* data, uint16_t len) {
|
|||||||
writeFrame(RESP_OK, nullptr, 0);
|
writeFrame(RESP_OK, nullptr, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void KissModem::handleSetSyncWord(const uint8_t* data, uint16_t len) {
|
|
||||||
if (len < 1) {
|
|
||||||
writeErrorFrame(ERR_INVALID_LENGTH);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!_setSyncWordCallback) {
|
|
||||||
writeErrorFrame(ERR_NO_CALLBACK);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
_config.sync_word = data[0];
|
|
||||||
_setSyncWordCallback(data[0]);
|
|
||||||
writeFrame(RESP_OK, nullptr, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void KissModem::handleGetRadio() {
|
void KissModem::handleGetRadio() {
|
||||||
uint8_t buf[10];
|
uint8_t buf[10];
|
||||||
memcpy(buf, &_config.freq_hz, 4);
|
memcpy(buf, &_config.freq_hz, 4);
|
||||||
@@ -375,10 +353,6 @@ void KissModem::handleGetTxPower() {
|
|||||||
writeFrame(RESP_TX_POWER, &_config.tx_power, 1);
|
writeFrame(RESP_TX_POWER, &_config.tx_power, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void KissModem::handleGetSyncWord() {
|
|
||||||
writeFrame(RESP_SYNC_WORD, &_config.sync_word, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void KissModem::handleGetVersion() {
|
void KissModem::handleGetVersion() {
|
||||||
uint8_t buf[2];
|
uint8_t buf[2];
|
||||||
buf[0] = KISS_FIRMWARE_VERSION;
|
buf[0] = KISS_FIRMWARE_VERSION;
|
||||||
|
|||||||
@@ -25,10 +25,8 @@
|
|||||||
#define CMD_HASH 0x08
|
#define CMD_HASH 0x08
|
||||||
#define CMD_SET_RADIO 0x09
|
#define CMD_SET_RADIO 0x09
|
||||||
#define CMD_SET_TX_POWER 0x0A
|
#define CMD_SET_TX_POWER 0x0A
|
||||||
#define CMD_SET_SYNC_WORD 0x0B
|
|
||||||
#define CMD_GET_RADIO 0x0C
|
#define CMD_GET_RADIO 0x0C
|
||||||
#define CMD_GET_TX_POWER 0x0D
|
#define CMD_GET_TX_POWER 0x0D
|
||||||
#define CMD_GET_SYNC_WORD 0x0E
|
|
||||||
#define CMD_GET_VERSION 0x0F
|
#define CMD_GET_VERSION 0x0F
|
||||||
#define CMD_GET_CURRENT_RSSI 0x10
|
#define CMD_GET_CURRENT_RSSI 0x10
|
||||||
#define CMD_IS_CHANNEL_BUSY 0x11
|
#define CMD_IS_CHANNEL_BUSY 0x11
|
||||||
@@ -50,7 +48,6 @@
|
|||||||
#define RESP_OK 0x29
|
#define RESP_OK 0x29
|
||||||
#define RESP_RADIO 0x2A
|
#define RESP_RADIO 0x2A
|
||||||
#define RESP_TX_POWER 0x2B
|
#define RESP_TX_POWER 0x2B
|
||||||
#define RESP_SYNC_WORD 0x2C
|
|
||||||
#define RESP_VERSION 0x2D
|
#define RESP_VERSION 0x2D
|
||||||
#define RESP_ERROR 0x2E
|
#define RESP_ERROR 0x2E
|
||||||
#define RESP_TX_DONE 0x2F
|
#define RESP_TX_DONE 0x2F
|
||||||
@@ -75,7 +72,6 @@
|
|||||||
|
|
||||||
typedef void (*SetRadioCallback)(float freq, float bw, uint8_t sf, uint8_t cr);
|
typedef void (*SetRadioCallback)(float freq, float bw, uint8_t sf, uint8_t cr);
|
||||||
typedef void (*SetTxPowerCallback)(uint8_t power);
|
typedef void (*SetTxPowerCallback)(uint8_t power);
|
||||||
typedef void (*SetSyncWordCallback)(uint8_t syncWord);
|
|
||||||
typedef float (*GetCurrentRssiCallback)();
|
typedef float (*GetCurrentRssiCallback)();
|
||||||
typedef void (*GetStatsCallback)(uint32_t* rx, uint32_t* tx, uint32_t* errors);
|
typedef void (*GetStatsCallback)(uint32_t* rx, uint32_t* tx, uint32_t* errors);
|
||||||
|
|
||||||
@@ -85,7 +81,6 @@ struct RadioConfig {
|
|||||||
uint8_t sf;
|
uint8_t sf;
|
||||||
uint8_t cr;
|
uint8_t cr;
|
||||||
uint8_t tx_power;
|
uint8_t tx_power;
|
||||||
uint8_t sync_word;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class KissModem {
|
class KissModem {
|
||||||
@@ -107,7 +102,6 @@ class KissModem {
|
|||||||
|
|
||||||
SetRadioCallback _setRadioCallback;
|
SetRadioCallback _setRadioCallback;
|
||||||
SetTxPowerCallback _setTxPowerCallback;
|
SetTxPowerCallback _setTxPowerCallback;
|
||||||
SetSyncWordCallback _setSyncWordCallback;
|
|
||||||
GetCurrentRssiCallback _getCurrentRssiCallback;
|
GetCurrentRssiCallback _getCurrentRssiCallback;
|
||||||
GetStatsCallback _getStatsCallback;
|
GetStatsCallback _getStatsCallback;
|
||||||
|
|
||||||
@@ -128,10 +122,8 @@ class KissModem {
|
|||||||
void handleHash(const uint8_t* data, uint16_t len);
|
void handleHash(const uint8_t* data, uint16_t len);
|
||||||
void handleSetRadio(const uint8_t* data, uint16_t len);
|
void handleSetRadio(const uint8_t* data, uint16_t len);
|
||||||
void handleSetTxPower(const uint8_t* data, uint16_t len);
|
void handleSetTxPower(const uint8_t* data, uint16_t len);
|
||||||
void handleSetSyncWord(const uint8_t* data, uint16_t len);
|
|
||||||
void handleGetRadio();
|
void handleGetRadio();
|
||||||
void handleGetTxPower();
|
void handleGetTxPower();
|
||||||
void handleGetSyncWord();
|
|
||||||
void handleGetVersion();
|
void handleGetVersion();
|
||||||
void handleGetCurrentRssi();
|
void handleGetCurrentRssi();
|
||||||
void handleIsChannelBusy();
|
void handleIsChannelBusy();
|
||||||
@@ -151,7 +143,6 @@ public:
|
|||||||
|
|
||||||
void setRadioCallback(SetRadioCallback cb) { _setRadioCallback = cb; }
|
void setRadioCallback(SetRadioCallback cb) { _setRadioCallback = cb; }
|
||||||
void setTxPowerCallback(SetTxPowerCallback cb) { _setTxPowerCallback = cb; }
|
void setTxPowerCallback(SetTxPowerCallback cb) { _setTxPowerCallback = cb; }
|
||||||
void setSyncWordCallback(SetSyncWordCallback cb) { _setSyncWordCallback = cb; }
|
|
||||||
void setGetCurrentRssiCallback(GetCurrentRssiCallback cb) { _getCurrentRssiCallback = cb; }
|
void setGetCurrentRssiCallback(GetCurrentRssiCallback cb) { _getCurrentRssiCallback = cb; }
|
||||||
void setGetStatsCallback(GetStatsCallback cb) { _getStatsCallback = cb; }
|
void setGetStatsCallback(GetStatsCallback cb) { _getStatsCallback = cb; }
|
||||||
|
|
||||||
|
|||||||
@@ -52,10 +52,6 @@ void onSetTxPower(uint8_t power) {
|
|||||||
radio_set_tx_power(power);
|
radio_set_tx_power(power);
|
||||||
}
|
}
|
||||||
|
|
||||||
void onSetSyncWord(uint8_t sync_word) {
|
|
||||||
radio_set_sync_word(sync_word);
|
|
||||||
}
|
|
||||||
|
|
||||||
float onGetCurrentRssi() {
|
float onGetCurrentRssi() {
|
||||||
return radio_driver.getCurrentRSSI();
|
return radio_driver.getCurrentRSSI();
|
||||||
}
|
}
|
||||||
@@ -88,7 +84,6 @@ void setup() {
|
|||||||
modem = new KissModem(Serial, identity, rng, radio_driver, board, sensors);
|
modem = new KissModem(Serial, identity, rng, radio_driver, board, sensors);
|
||||||
modem->setRadioCallback(onSetRadio);
|
modem->setRadioCallback(onSetRadio);
|
||||||
modem->setTxPowerCallback(onSetTxPower);
|
modem->setTxPowerCallback(onSetTxPower);
|
||||||
modem->setSyncWordCallback(onSetSyncWord);
|
|
||||||
modem->setGetCurrentRssiCallback(onGetCurrentRssi);
|
modem->setGetCurrentRssiCallback(onGetCurrentRssi);
|
||||||
modem->setGetStatsCallback(onGetStats);
|
modem->setGetStatsCallback(onGetStats);
|
||||||
modem->begin();
|
modem->begin();
|
||||||
|
|||||||
Reference in New Issue
Block a user