GET / SET RX SETTINGS now working

This commit is contained in:
Bertrand Songis
2019-03-12 11:13:33 +01:00
parent 9a4f88c2a1
commit cde023c64b
5 changed files with 70 additions and 58 deletions
+19 -12
View File
@@ -147,19 +147,26 @@ void Pxx2Pulses::setupRegisterFrame(uint8_t module)
void Pxx2Pulses::setupReceiverSettingsFrame(uint8_t module)
{
addFrameType(PXX2_TYPE_C_MODULE, PXX2_TYPE_ID_RX_SETTINGS);
Pxx2Transport::addByte(reusableBuffer.receiverSetup.state + reusableBuffer.receiverSetup.receiverId);
uint8_t flag1 = 0;
if (reusableBuffer.receiverSetup.pwmRate)
flag1 |= PXX2_RX_SETTINGS_FLAG1_FASTPWM;
Pxx2Transport::addByte(flag1);
uint8_t channelsCount = sentModuleChannels(module);
for (int i = 0; i < channelsCount; i++) {
Pxx2Transport::addByte(reusableBuffer.receiverSetup.channelMapping[i]);
if (reusableBuffer.receiverSetup.timeout) {
if (get_tmr10ms() > reusableBuffer.receiverSetup.timeout) {
reusableBuffer.receiverSetup.timeout = 0;
moduleSettings[module].mode = MODULE_MODE_NORMAL;
}
setupChannelsFrame(module);
}
else {
addFrameType(PXX2_TYPE_C_MODULE, PXX2_TYPE_ID_RX_SETTINGS);
Pxx2Transport::addByte(reusableBuffer.receiverSetup.state + reusableBuffer.receiverSetup.receiverId);
uint8_t flag1 = 0;
if (reusableBuffer.receiverSetup.pwmRate)
flag1 |= PXX2_RX_SETTINGS_FLAG1_FASTPWM;
Pxx2Transport::addByte(flag1);
uint8_t channelsCount = sentModuleChannels(module);
for (int i = 0; i < channelsCount; i++) {
Pxx2Transport::addByte(reusableBuffer.receiverSetup.channelMapping[i]);
}
reusableBuffer.receiverSetup.timeout = get_tmr10ms() + 30/*300ms*/;
}
reusableBuffer.receiverSetup.timeout = get_tmr10ms() + 20/*200ms*/;
reusableBuffer.receiverSetup.state = RECEIVER_WAITING_RESPONSE;
moduleSettings[module].mode = MODULE_MODE_NORMAL;
}
void Pxx2Pulses::setupBindFrame(uint8_t module)