mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-11-29 07:24:13 +01:00
bootcfg: fix incorrect bounds checking on rcvr registration
This was preventing any receivers from registering their channels.
This commit is contained in:
parent
2e8d3a9be3
commit
b86ef4de82
@ -1040,7 +1040,7 @@ void PIOS_Board_Init(void) {
|
|||||||
case MANUALCONTROLSETTINGS_INPUTMODE_PWM:
|
case MANUALCONTROLSETTINGS_INPUTMODE_PWM:
|
||||||
#if defined(PIOS_INCLUDE_PWM)
|
#if defined(PIOS_INCLUDE_PWM)
|
||||||
PIOS_PWM_Init();
|
PIOS_PWM_Init();
|
||||||
for (uint8_t i = 0; i < PIOS_PWM_NUM_INPUTS && i < pios_rcvr_max_channel; i++) {
|
for (uint8_t i = 0; i < PIOS_PWM_NUM_INPUTS && i < PIOS_RCVR_MAX_DEVS; i++) {
|
||||||
if (!PIOS_RCVR_Init(&pios_rcvr_channel_to_id_map[pios_rcvr_max_channel],
|
if (!PIOS_RCVR_Init(&pios_rcvr_channel_to_id_map[pios_rcvr_max_channel],
|
||||||
&pios_pwm_rcvr_driver,
|
&pios_pwm_rcvr_driver,
|
||||||
i)) {
|
i)) {
|
||||||
@ -1054,7 +1054,7 @@ void PIOS_Board_Init(void) {
|
|||||||
case MANUALCONTROLSETTINGS_INPUTMODE_PPM:
|
case MANUALCONTROLSETTINGS_INPUTMODE_PPM:
|
||||||
#if defined(PIOS_INCLUDE_PPM)
|
#if defined(PIOS_INCLUDE_PPM)
|
||||||
PIOS_PPM_Init();
|
PIOS_PPM_Init();
|
||||||
for (uint8_t i = 0; i < PIOS_PPM_NUM_INPUTS && i < pios_rcvr_max_channel; i++) {
|
for (uint8_t i = 0; i < PIOS_PPM_NUM_INPUTS && i < PIOS_RCVR_MAX_DEVS; i++) {
|
||||||
if (!PIOS_RCVR_Init(&pios_rcvr_channel_to_id_map[pios_rcvr_max_channel],
|
if (!PIOS_RCVR_Init(&pios_rcvr_channel_to_id_map[pios_rcvr_max_channel],
|
||||||
&pios_ppm_rcvr_driver,
|
&pios_ppm_rcvr_driver,
|
||||||
i)) {
|
i)) {
|
||||||
@ -1069,7 +1069,7 @@ void PIOS_Board_Init(void) {
|
|||||||
#if defined(PIOS_INCLUDE_SPEKTRUM)
|
#if defined(PIOS_INCLUDE_SPEKTRUM)
|
||||||
if (hwsettings_cc_mainport == HWSETTINGS_CC_MAINPORT_SPEKTRUM ||
|
if (hwsettings_cc_mainport == HWSETTINGS_CC_MAINPORT_SPEKTRUM ||
|
||||||
hwsettings_cc_flexiport == HWSETTINGS_CC_FLEXIPORT_SPEKTRUM) {
|
hwsettings_cc_flexiport == HWSETTINGS_CC_FLEXIPORT_SPEKTRUM) {
|
||||||
for (uint8_t i = 0; i < PIOS_SPEKTRUM_NUM_INPUTS && i < pios_rcvr_max_channel; i++) {
|
for (uint8_t i = 0; i < PIOS_SPEKTRUM_NUM_INPUTS && i < PIOS_RCVR_MAX_DEVS; i++) {
|
||||||
if (!PIOS_RCVR_Init(&pios_rcvr_channel_to_id_map[pios_rcvr_max_channel],
|
if (!PIOS_RCVR_Init(&pios_rcvr_channel_to_id_map[pios_rcvr_max_channel],
|
||||||
&pios_spektrum_rcvr_driver,
|
&pios_spektrum_rcvr_driver,
|
||||||
i)) {
|
i)) {
|
||||||
@ -1084,7 +1084,7 @@ void PIOS_Board_Init(void) {
|
|||||||
case MANUALCONTROLSETTINGS_INPUTMODE_SBUS:
|
case MANUALCONTROLSETTINGS_INPUTMODE_SBUS:
|
||||||
#if defined(PIOS_INCLUDE_SBUS)
|
#if defined(PIOS_INCLUDE_SBUS)
|
||||||
if (hwsettings_cc_mainport == HWSETTINGS_CC_MAINPORT_SBUS) {
|
if (hwsettings_cc_mainport == HWSETTINGS_CC_MAINPORT_SBUS) {
|
||||||
for (uint8_t i = 0; i < SBUS_NUMBER_OF_CHANNELS && i < pios_rcvr_max_channel; i++) {
|
for (uint8_t i = 0; i < SBUS_NUMBER_OF_CHANNELS && i < PIOS_RCVR_MAX_DEVS; i++) {
|
||||||
if (!PIOS_RCVR_Init(&pios_rcvr_channel_to_id_map[pios_rcvr_max_channel],
|
if (!PIOS_RCVR_Init(&pios_rcvr_channel_to_id_map[pios_rcvr_max_channel],
|
||||||
&pios_sbus_rcvr_driver,
|
&pios_sbus_rcvr_driver,
|
||||||
i)) {
|
i)) {
|
||||||
|
@ -1080,7 +1080,7 @@ void PIOS_Board_Init(void) {
|
|||||||
if (PIOS_USART_Init(&pios_usart_spektrum_id, &pios_usart_spektrum_cfg)) {
|
if (PIOS_USART_Init(&pios_usart_spektrum_id, &pios_usart_spektrum_cfg)) {
|
||||||
PIOS_Assert(0);
|
PIOS_Assert(0);
|
||||||
}
|
}
|
||||||
for (uint8_t i = 0; i < PIOS_SPEKTRUM_NUM_INPUTS && i < pios_rcvr_max_channel; i++) {
|
for (uint8_t i = 0; i < PIOS_SPEKTRUM_NUM_INPUTS && i < PIOS_RCVR_MAX_DEVS; i++) {
|
||||||
if (!PIOS_RCVR_Init(&pios_rcvr_channel_to_id_map[pios_rcvr_max_channel],
|
if (!PIOS_RCVR_Init(&pios_rcvr_channel_to_id_map[pios_rcvr_max_channel],
|
||||||
&pios_spektrum_rcvr_driver,
|
&pios_spektrum_rcvr_driver,
|
||||||
i)) {
|
i)) {
|
||||||
@ -1096,7 +1096,7 @@ void PIOS_Board_Init(void) {
|
|||||||
#error More receiver inputs than available devices
|
#error More receiver inputs than available devices
|
||||||
#endif
|
#endif
|
||||||
PIOS_PWM_Init();
|
PIOS_PWM_Init();
|
||||||
for (uint8_t i = 0; i < PIOS_PWM_NUM_INPUTS && i < pios_rcvr_max_channel; i++) {
|
for (uint8_t i = 0; i < PIOS_PWM_NUM_INPUTS && i < PIOS_RCVR_MAX_DEVS; i++) {
|
||||||
if (!PIOS_RCVR_Init(&pios_rcvr_channel_to_id_map[pios_rcvr_max_channel],
|
if (!PIOS_RCVR_Init(&pios_rcvr_channel_to_id_map[pios_rcvr_max_channel],
|
||||||
&pios_pwm_rcvr_driver,
|
&pios_pwm_rcvr_driver,
|
||||||
i)) {
|
i)) {
|
||||||
@ -1111,7 +1111,7 @@ void PIOS_Board_Init(void) {
|
|||||||
#error More receiver inputs than available devices
|
#error More receiver inputs than available devices
|
||||||
#endif
|
#endif
|
||||||
PIOS_PPM_Init();
|
PIOS_PPM_Init();
|
||||||
for (uint8_t i = 0; i < PIOS_PPM_NUM_INPUTS && i < pios_rcvr_max_channel; i++) {
|
for (uint8_t i = 0; i < PIOS_PPM_NUM_INPUTS && i < PIOS_RCVR_MAX_DEVS; i++) {
|
||||||
if (!PIOS_RCVR_Init(&pios_rcvr_channel_to_id_map[pios_rcvr_max_channel],
|
if (!PIOS_RCVR_Init(&pios_rcvr_channel_to_id_map[pios_rcvr_max_channel],
|
||||||
&pios_ppm_rcvr_driver,
|
&pios_ppm_rcvr_driver,
|
||||||
i)) {
|
i)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user