[SX128x] Save context before sleep to allow TX to work on wake (#1249) (#1250)

This commit is contained in:
jacobeva 2024-10-02 16:59:25 +01:00 committed by GitHub
parent 406daee262
commit 46a086cfa8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 4 additions and 1 deletions

View file

@ -461,7 +461,9 @@ int16_t SX128x::sleep(bool retainConfig) {
if(!retainConfig) {
sleepConfig = RADIOLIB_SX128X_SLEEP_DATA_BUFFER_FLUSH | RADIOLIB_SX128X_SLEEP_DATA_RAM_FLUSH;
}
int16_t state = this->mod->SPIwriteStream(RADIOLIB_SX128X_CMD_SET_SLEEP, &sleepConfig, 1, false, false);
int16_t state = this->mod->SPIwriteStream(RADIOLIB_SX128X_CMD_SAVE_CONTEXT, 0, 1, false, false);
RADIOLIB_ASSERT(state);
state = this->mod->SPIwriteStream(RADIOLIB_SX128X_CMD_SET_SLEEP, &sleepConfig, 1, false, false);
// wait for SX128x to safely enter sleep mode
this->mod->hal->delay(1);

View file

@ -22,6 +22,7 @@
#define RADIOLIB_SX128X_CMD_READ_REGISTER 0x19
#define RADIOLIB_SX128X_CMD_WRITE_BUFFER 0x1A
#define RADIOLIB_SX128X_CMD_READ_BUFFER 0x1B
#define RADIOLIB_SX128X_CMD_SAVE_CONTEXT 0xD5
#define RADIOLIB_SX128X_CMD_SET_SLEEP 0x84
#define RADIOLIB_SX128X_CMD_SET_STANDBY 0x80
#define RADIOLIB_SX128X_CMD_SET_FS 0xC1