@@ -209,27 +209,6 @@ void PIOS_Board_Init(void) {
209
209
uint8_t hw_rcvrport ;
210
210
HwNazeRcvrPortGet (& hw_rcvrport );
211
211
212
- #ifndef PIOS_DEBUG_ENABLE_DEBUG_PINS
213
- #ifdef PIOS_INCLUDE_SERVO
214
- switch (hw_rcvrport ) {
215
- case HWNAZE_RCVRPORT_DISABLED :
216
- case HWNAZE_RCVRPORT_PWM :
217
- case HWNAZE_RCVRPORT_PPM :
218
- case HWNAZE_RCVRPORT_PPMPWM :
219
- case HWNAZE_RCVRPORT_PPMSERIAL :
220
- case HWNAZE_RCVRPORT_SERIAL :
221
- PIOS_Servo_Init (& pios_servo_cfg );
222
- break ;
223
- case HWNAZE_RCVRPORT_PPMOUTPUTS :
224
- case HWNAZE_RCVRPORT_OUTPUTS :
225
- PIOS_Servo_Init (& pios_servo_rcvr_cfg );
226
- break ;
227
- }
228
- #endif
229
- #else
230
- PIOS_DEBUG_Init (& pios_tim_servo_all_channels , NELEMENTS (pios_tim_servo_all_channels ));
231
- #endif
232
-
233
212
#if defined(PIOS_INCLUDE_ADC )
234
213
{
235
214
uint16_t number_of_adc_pins = 2 ; // first two pins are always available
@@ -264,6 +243,11 @@ void PIOS_Board_Init(void) {
264
243
265
244
pios_mpu_dev_t mpu_dev = NULL ;
266
245
int retval = PIOS_MPU_I2C_Init (& mpu_dev , pios_i2c_internal_id , & pios_mpu_cfg );
246
+ if (retval == - PIOS_MPU_ERROR_NOIRQ && mpu_pin == HWNAZE_MPU6050INTPIN_AUTO ) {
247
+ // retry with alternate exti config, needed on afromini
248
+ pios_mpu_cfg .exti_cfg = (pios_mpu_cfg .exti_cfg == & pios_exti_mpu_cfg_v5 ) ? & pios_exti_mpu_cfg : & pios_exti_mpu_cfg_v5 ;
249
+ retval = PIOS_MPU_I2C_Init (& mpu_dev , pios_i2c_internal_id , & pios_mpu_cfg );
250
+ }
267
251
if (retval != 0 )
268
252
PIOS_HAL_Panic (PIOS_LED_ALARM , PIOS_HAL_PANIC_IMU );
269
253
@@ -439,6 +423,27 @@ void PIOS_Board_Init(void) {
439
423
break ;
440
424
}
441
425
426
+ #ifndef PIOS_DEBUG_ENABLE_DEBUG_PINS
427
+ #ifdef PIOS_INCLUDE_SERVO
428
+ switch (hw_rcvrport ) {
429
+ case HWNAZE_RCVRPORT_DISABLED :
430
+ case HWNAZE_RCVRPORT_PWM :
431
+ case HWNAZE_RCVRPORT_PPM :
432
+ case HWNAZE_RCVRPORT_PPMPWM :
433
+ case HWNAZE_RCVRPORT_PPMSERIAL :
434
+ case HWNAZE_RCVRPORT_SERIAL :
435
+ PIOS_Servo_Init (& pios_servo_cfg );
436
+ break ;
437
+ case HWNAZE_RCVRPORT_PPMOUTPUTS :
438
+ case HWNAZE_RCVRPORT_OUTPUTS :
439
+ PIOS_Servo_Init (& pios_servo_rcvr_cfg );
440
+ break ;
441
+ }
442
+ #endif
443
+ #else
444
+ PIOS_DEBUG_Init (& pios_tim_servo_all_channels , NELEMENTS (pios_tim_servo_all_channels ));
445
+ #endif
446
+
442
447
#if defined(PIOS_INCLUDE_MS5611 )
443
448
if (PIOS_MS5611_Init (& pios_ms5611_cfg , pios_i2c_internal_id ) != 0 )
444
449
PIOS_HAL_Panic (PIOS_LED_ALARM , PIOS_HAL_PANIC_BARO );
0 commit comments