Added support for Lemon-Rx DSMP

This commit is contained in:
Raphael Coeffic
2022-03-24 10:40:17 +01:00
committed by Raphael Coeffic
parent f09c10b49d
commit 9d5cd1876c
36 changed files with 630 additions and 392 deletions
+2 -33
View File
@@ -66,48 +66,17 @@ bool isForcePowerOffRequested()
return false;
}
// TODO: remove this!!!
bool isModuleSynchronous(uint8_t moduleIdx)
{
switch(moduleState[moduleIdx].protocol) {
case PROTOCOL_CHANNELS_PXX2_HIGHSPEED:
case PROTOCOL_CHANNELS_PXX2_LOWSPEED:
case PROTOCOL_CHANNELS_CROSSFIRE:
case PROTOCOL_CHANNELS_GHOST:
case PROTOCOL_CHANNELS_AFHDS3:
case PROTOCOL_CHANNELS_AFHDS2A:
case PROTOCOL_CHANNELS_NONE:
#if defined(MULTIMODULE)
case PROTOCOL_CHANNELS_MULTIMODULE:
#endif
#if defined(INTMODULE_USART) || defined(EXTMODULE_USART)
case PROTOCOL_CHANNELS_PXX1_SERIAL:
#endif
case PROTOCOL_CHANNELS_PPM:
case PROTOCOL_CHANNELS_PXX1_PULSES:
#if defined(DSM2)
case PROTOCOL_CHANNELS_SBUS:
case PROTOCOL_CHANNELS_DSM2_LP45:
case PROTOCOL_CHANNELS_DSM2_DSM2:
case PROTOCOL_CHANNELS_DSM2_DSMX:
#endif
return true;
}
return false;
}
void sendSynchronousPulses(uint8_t runMask)
{
#if defined(HARDWARE_INTERNAL_MODULE)
if ((runMask & (1 << INTERNAL_MODULE)) && isModuleSynchronous(INTERNAL_MODULE)) {
if (runMask & (1 << INTERNAL_MODULE)) {
if (setupPulsesInternalModule())
intmoduleSendNextFrame();
}
#endif
#if defined(HARDWARE_EXTERNAL_MODULE)
if ((runMask & (1 << EXTERNAL_MODULE)) && isModuleSynchronous(EXTERNAL_MODULE)) {
if (runMask & (1 << EXTERNAL_MODULE)) {
if (setupPulsesExternalModule())
extmoduleSendNextFrame();
}