4 * Outdated config structs used by the update process
20 uint8_t dynamicPower
:1;
21 uint8_t boostChannel
:3;
22 } v5_model_config_t
; // 16 bits
30 uint8_t powerFanThreshold
:4; // Power level to enable fan if present
31 v5_model_config_t model_config
[64];
37 typedef v5_model_config_t v6_model_config_t
;
47 uint8_t powerFanThreshold
:4; // Power level to enable fan if present
48 v6_model_config_t model_config
[64];
52 uint8_t dvrStartDelay
:3;
53 uint8_t dvrStopDelay
:3;
79 uint8_t powerFanThreshold
:4; // Power level to enable fan if present
80 v7_model_config_t model_config
[64];
84 uint8_t dvrStartDelay
:3;
85 uint8_t dvrStopDelay
:3;
95 uint16_t failsafe
:10; // us output during failsafe +988 (e.g. 512 here would be 1500us)
96 uint8_t inputChannel
:4; // 0-based input channel
97 uint8_t inverted
:1; // invert channel output
101 } v4_rx_config_pwm_t
;
107 uint8_t powerOnCounter
;
111 v4_rx_config_pwm_t pwmChannels
[8];
117 uint32_t failsafe
:10, // us output during failsafe +988 (e.g. 512 here would be 1500us)
118 inputChannel
:4, // 0-based input channel
119 inverted
:1, // invert channel output
120 mode
:4, // Output mode (eServoOutputMode)
121 narrow
:1, // Narrow output mode (half pulse width)
122 unused
:13; // FUTURE: When someone complains "everyone" uses inverted polarity PWM or something :/
125 } v5_rx_config_pwm_t
;
129 uint8_t uid
[6]; // Hardcoding in case UID_LEN changes.
130 uint8_t loanUID
[6]; // Hardcoding in case UID_LEN changes.
131 uint16_t vbatScale
; // FUTURE: Override compiled vbat scale
135 antennaMode
:2; // 0=0, 1=1, 2=Diversity
136 uint8_t powerOnCounter
:3,
138 rateInitialIdx
:4; // Rate to start rateCycling at on boot
140 v5_rx_config_pwm_t pwmChannels
[16];
146 uint32_t failsafe
:10, // us output during failsafe +988 (e.g. 512 here would be 1500us)
147 inputChannel
:4, // 0-based input channel
148 inverted
:1, // invert channel output
149 mode
:4, // Output mode (eServoOutputMode)
150 narrow
:1, // Narrow output mode (half pulse width)
151 unused
:12; // FUTURE: When someone complains "everyone" uses inverted polarity PWM or something :/
154 } v6_rx_config_pwm_t
;
160 uint16_t vbatScale
; // FUTURE: Override compiled vbat scale
164 antennaMode
:2; // 0=0, 1=1, 2=Diversity
165 uint8_t powerOnCounter
:3,
167 rateInitialIdx
:4; // Rate to start rateCycling at on boot
169 v6_rx_config_pwm_t pwmChannels
[16];
174 uint8_t uid
[UID_LEN
];
175 uint8_t loanUID
[UID_LEN
];
176 uint16_t vbatScale
; // FUTURE: Override compiled vbat scale
180 antennaMode
:2; // 0=0, 1=1, 2=Diversity
181 uint8_t powerOnCounter
:3,
183 rateInitialIdx
:4; // Rate to start rateCycling at on boot
185 uint8_t serialProtocol
:4,
188 v6_rx_config_pwm_t pwmChannels
[16];
191 // V8 is just V7 except PWM config inserted 10khz PWM in the middle
195 uint8_t uid
[UID_LEN
];
196 uint8_t unused_padding
;
197 uint8_t serial1Protocol
:4, // secondary serial protocol
198 serial1Protocol_unused
:4;
199 uint32_t flash_discriminator
;
201 uint16_t scale
; // FUTURE: Override compiled vbat scale
202 int16_t offset
; // FUTURE: Override comiled vbat offset
204 uint8_t bindStorage
:2, // rx_config_bindstorage_t
206 antennaMode
:2; // 0=0, 1=1, 2=Diversity
207 uint8_t powerOnCounter
:3,
209 rateInitialIdx
:4; // Rate to start rateCycling at on boot
211 uint8_t serialProtocol
:4,
214 v6_rx_config_pwm_t pwmChannels
[16];
215 uint8_t teamraceChannel
:4,
217 teamracePitMode
:1; // FUTURE: Enable pit mode when disabling model