Skip to content

Commit 1d6ef84

Browse files
committed
transmission only every 10s
1 parent 48895d7 commit 1d6ef84

3 files changed

Lines changed: 9 additions & 3 deletions

File tree

ascendfsw/include/PayloadConfig.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@
7878
#define RADIO_PREAMBLE_LEN 8
7979
#define RADIO_GAIN 0
8080

81+
#define MINIMUM_TRANSMIT_PERIOD_MS 10000 // 10s
82+
8183
/** @brief Radio SPI */
8284
#define RADIO_SPI SPI
8385

ascendfsw/include/RadioStorage.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ class RadioStorage : public Storage {
1616
SX1276 radio =
1717
new Module(RADIO_NSS, RADIO_DIO0, RADIO_RESET, RADIO_DIO1, RADIO_SPI);
1818
int state;
19+
uint32_t last_transmission_time;
1920

2021
public:
2122
RadioStorage();

ascendfsw/src/RadioStorage.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ static void setTransmissionDoneFlag(void) { transmission_done_flag = true; }
1010
* @brief Construct a new RadioStorage object
1111
*
1212
*/
13-
RadioStorage::RadioStorage() : Storage("Radio") {}
13+
RadioStorage::RadioStorage() : Storage("Radio") {
14+
this->last_transmission_time = 0;
15+
}
1416

1517
/**
1618
* @brief Initialize UART1 (Serial1)
@@ -40,9 +42,9 @@ bool RadioStorage::verify() {
4042
* @param data Data to transmit
4143
*/
4244
void RadioStorage::store(String data) {
43-
static const unsigned long transmission_mod = 3;
45+
static const unsigned long transmission_mod = 1;
4446
static unsigned long transmission_count = 0;
45-
if (transmission_done_flag && transmission_count % transmission_mod == 0) {
47+
if (transmission_done_flag && transmission_count % transmission_mod == 0 && (millis() - this->last_transmission_time) > MINIMUM_TRANSMIT_PERIOD_MS) {
4648
transmission_done_flag = false;
4749

4850
if (this->state == RADIOLIB_ERR_NONE) {
@@ -54,6 +56,7 @@ void RadioStorage::store(String data) {
5456
this->radio.finishTransmit();
5557

5658
this->state = this->radio.startTransmit(data);
59+
this->last_transmission_time = millis();
5760
}
5861
transmission_count++;
5962
}

0 commit comments

Comments
 (0)