From 68df0833942f5d845306f554925a4e3b24f34338 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Thu, 7 Mar 2019 16:48:43 +0100 Subject: [PATCH] PXX2 pxx2SetRxParams started --- radio/src/datastructs.h | 3 ++- radio/src/gui/128x64/gui.h | 4 ++-- radio/src/gui/212x64/gui.h | 3 +-- radio/src/myeeprom.h | 3 +++ radio/src/pulses/modules.h | 2 ++ radio/src/pulses/pxx2.cpp | 6 ++++++ radio/src/pulses/pxx2.h | 2 ++ 7 files changed, 18 insertions(+), 5 deletions(-) diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index 44a115986..da8861284 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -421,7 +421,8 @@ PACK(struct ReceiverData { uint64_t channelMapping1:60; // 12 last channels uint8_t used:1; uint8_t telemetry:1; - uint8_t spare:2; + uint8_t dirty:1; + uint8_t spare:1; char name[PXX2_LEN_RX_NAME]; }); diff --git a/radio/src/gui/128x64/gui.h b/radio/src/gui/128x64/gui.h index 648e56f14..62fb97887 100644 --- a/radio/src/gui/128x64/gui.h +++ b/radio/src/gui/128x64/gui.h @@ -64,8 +64,8 @@ extern int8_t checkIncDec_Ret; // global helper vars extern int8_t s_editMode; // global editmode // checkIncDec flags -#define EE_GENERAL 0x01 -#define EE_MODEL 0x02 + +// we leave room for EE_MODEL and EE_GENERAL #define NO_INCDEC_MARKS 0x04 #define INCDEC_SWITCH 0x08 #define INCDEC_SOURCE 0x10 diff --git a/radio/src/gui/212x64/gui.h b/radio/src/gui/212x64/gui.h index 50286021d..c745b07c1 100644 --- a/radio/src/gui/212x64/gui.h +++ b/radio/src/gui/212x64/gui.h @@ -93,8 +93,7 @@ extern int8_t checkIncDec_Ret; // global helper vars extern int8_t s_editMode; // global editmode // checkIncDec flags -#define EE_GENERAL 0x01 -#define EE_MODEL 0x02 +// we leave room for EE_MODEL and EE_GENERAL #define NO_INCDEC_MARKS 0x04 #define INCDEC_SWITCH 0x08 #define INCDEC_SOURCE 0x10 diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index 9d51e9981..8092f5c76 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -485,4 +485,7 @@ PACK(union u_int8int16_t { int16_t word; }); +#define EE_GENERAL 0x01 +#define EE_MODEL 0x02 + #endif // _MYEEPROM_H_ diff --git a/radio/src/pulses/modules.h b/radio/src/pulses/modules.h index 5f8f78afc..3c4543206 100644 --- a/radio/src/pulses/modules.h +++ b/radio/src/pulses/modules.h @@ -226,6 +226,8 @@ inline void setPinOuput(uint8_t receiverIdx, uint8_t pin, uint8_t chan) pin -= 12; g_model.receiverData[receiverIdx].channelMapping1 = BF_SET(g_model.receiverData[receiverIdx].channelMapping1, chan, pin * 5, 5); } + g_model.receiverData[receiverIdx].dirty = 1; + storageDirty(EE_MODEL); } inline int8_t maxModuleChannels_M8(uint8_t idx) diff --git a/radio/src/pulses/pxx2.cpp b/radio/src/pulses/pxx2.cpp index e9756fe85..9bb7ba104 100644 --- a/radio/src/pulses/pxx2.cpp +++ b/radio/src/pulses/pxx2.cpp @@ -140,12 +140,18 @@ void Pxx2Pulses::setupRegisterFrame(uint8_t module) } } +void Pxx2Pulses::setupSetRxParamsFrame(uint8_t module, uint8_t receiverSlot) +{ + +} + void Pxx2Pulses::setupBindFrame(uint8_t module) { if (reusableBuffer.moduleSetup.pxx2.bindStep == BIND_WAIT) { if (get_tmr10ms() > reusableBuffer.moduleSetup.pxx2.bindWaitTimeout) { moduleSettings[module].mode = MODULE_MODE_NORMAL; reusableBuffer.moduleSetup.pxx2.bindStep = BIND_OK; + setupSetRxParamsFrame(module, reusableBuffer.moduleSetup.pxx2.bindReceiverSlot); POPUP_INFORMATION(STR_BIND_OK); } return; diff --git a/radio/src/pulses/pxx2.h b/radio/src/pulses/pxx2.h index 6181c5fe6..8fefeeca0 100644 --- a/radio/src/pulses/pxx2.h +++ b/radio/src/pulses/pxx2.h @@ -112,6 +112,8 @@ class Pxx2Pulses: public PxxPulses { void setupShareMode(uint8_t module); + void setupSetRxParamsFrame(uint8_t module, uint8_t receiverSlot); + void setupChannelsFrame(uint8_t module); void setupSpectrumAnalyser(uint8_t module);