diff --git a/radio/src/pulses/crossfire.cpp b/radio/src/pulses/crossfire.cpp index 5e4ffdb95..2f5427902 100644 --- a/radio/src/pulses/crossfire.cpp +++ b/radio/src/pulses/crossfire.cpp @@ -20,8 +20,13 @@ #include "opentx.h" -#define CROSSFIRE_CH_CENTER 0x3E0 #define CROSSFIRE_CH_BITS 11 +#define CROSSFIRE_CENTER 0x3E0 +#if defined(PPM_CENTER_ADJUSTABLE) + #define CROSSFIRE_CENTER_CH_OFFSET(ch) ((2 * limitAddress(ch)->ppmCenter) + 1) // + 1 is for rouding +#else + #define CROSSFIRE_CENTER_CH_OFFSET(ch) (0) +#endif // Range for pulses (channels output) is [-1024:+1024] uint8_t createCrossfireChannelsFrame(uint8_t * frame, int16_t * pulses) @@ -34,7 +39,7 @@ uint8_t createCrossfireChannelsFrame(uint8_t * frame, int16_t * pulses) uint32_t bits = 0; uint8_t bitsavailable = 0; for (int i=0; i= 8) {