diff --git a/conf/airframes/Poine/funjet42.xml b/conf/airframes/Poine/funjet42.xml
index 3d447e0a12..fbe6ea14fd 100644
--- a/conf/airframes/Poine/funjet42.xml
+++ b/conf/airframes/Poine/funjet42.xml
@@ -12,7 +12,7 @@
-
+
@@ -21,9 +21,10 @@
-
-
-
+
+
+
+
@@ -80,9 +81,9 @@
-
-
-
+
+
+
diff --git a/conf/boards/lisa_l_1.0.makefile b/conf/boards/lisa_l_1.0.makefile
index ef80fd74ac..d98f433b5e 100644
--- a/conf/boards/lisa_l_1.0.makefile
+++ b/conf/boards/lisa_l_1.0.makefile
@@ -70,13 +70,16 @@ MODEM_UART_NR = 2
endif
ifndef ADC_IR1
-ADC_IR1 = 1
+ADC_IR1 = 1
+ADC_IR1_CHAN = 0
endif
ifndef ADC_IR2
-ADC_IR2 = 2
+ADC_IR2 = 2
+ADC_IR2_CHAN = 1
endif
ifndef ADC_IR3
-ADC_IR_TOP = 3
+ADC_IR_TOP = 3
+ADC_IR_TOP_CHAN = 2
endif
ifndef ADC_IR_NB_SAMPLES
ADC_IR_NB_SAMPLES = 16
diff --git a/sw/airborne/arch/stm32/adc_hw.c b/sw/airborne/arch/stm32/adc_hw.c
index 987341094b..bbea45a95c 100644
--- a/sw/airborne/arch/stm32/adc_hw.c
+++ b/sw/airborne/arch/stm32/adc_hw.c
@@ -91,6 +91,8 @@
#include
#include
#include
+#include
+#include "std.h"
#include "led.h"
#include BOARD_CONFIG
@@ -369,14 +371,14 @@ void adc_init( void ) {
uint8_t channel;
#ifdef USE_AD1
for(channel = 0; channel < NB_ADC1_CHANNELS; channel++)
- adc1_buffers[channel] = 0;
+ adc1_buffers[channel] = NULL;
#endif
#ifdef USE_AD2
for(channel = 0; channel < NB_ADC2_CHANNELS; channel++)
- adc2_buffers[channel] = 0;
+ adc2_buffers[channel] = NULL;
#endif
- adc_new_data_trigger = 0;
+ adc_new_data_trigger = FALSE;
adc_injected_channels[0] = ADC_InjectedChannel_1;
adc_injected_channels[1] = ADC_InjectedChannel_2;
adc_injected_channels[2] = ADC_InjectedChannel_3;
diff --git a/sw/airborne/firmwares/fixedwing/main.c b/sw/airborne/firmwares/fixedwing/main.c
index 2b9413895f..3ceb672369 100644
--- a/sw/airborne/firmwares/fixedwing/main.c
+++ b/sw/airborne/firmwares/fixedwing/main.c
@@ -41,15 +41,7 @@
#define Ap(f)
#endif
-#ifdef STM32
-#include "init_hw.h"
-#endif
-
int main( void ) {
-#ifdef STM32
- hw_init();
- sys_time_init();
-#endif
Fbw(init);
Ap(init);
InitSysTimePeriodic();
@@ -57,9 +49,7 @@ int main( void ) {
if (sys_time_periodic()) {
Fbw(periodic_task);
Ap(periodic_task);
-#ifdef STM32
LED_PERIODIC();
-#endif
}
Fbw(event_task);
Ap(event_task);
diff --git a/sw/airborne/firmwares/fixedwing/main_ap.c b/sw/airborne/firmwares/fixedwing/main_ap.c
index 1be686d73f..c3fc5019e4 100644
--- a/sw/airborne/firmwares/fixedwing/main_ap.c
+++ b/sw/airborne/firmwares/fixedwing/main_ap.c
@@ -508,7 +508,12 @@ void init_ap( void ) {
#ifdef USE_UART1
Uart1Init();
#endif
-
+#ifdef USE_UART2
+ Uart2Init();
+#endif
+#ifdef USE_UART3
+ Uart3Init();
+#endif
#ifdef USE_USB_SERIAL
VCOM_init();
#endif
@@ -520,10 +525,12 @@ void init_ap( void ) {
#ifdef USE_I2C0
i2c0_init();
#endif
-
#ifdef USE_I2C1
i2c1_init();
#endif
+#ifdef USE_I2C2
+ i2c2_init();
+#endif
/************* Links initialization ***************/
#if defined USE_SPI
diff --git a/sw/airborne/firmwares/fixedwing/main_fbw.c b/sw/airborne/firmwares/fixedwing/main_fbw.c
index 0e9c789b45..f723f8d451 100644
--- a/sw/airborne/firmwares/fixedwing/main_fbw.c
+++ b/sw/airborne/firmwares/fixedwing/main_fbw.c
@@ -89,19 +89,29 @@ void init_fbw( void ) {
#ifdef LED
led_init();
#endif
+
#ifdef USE_UART0
uart0_init();
#endif
#ifdef USE_UART1
uart1_init();
#endif
+#ifdef USE_UART2
+ uart2_init();
+#endif
+#ifdef USE_UART3
+ uart3_init();
+#endif
+ // FIXME: remove STM32 flag
+#ifndef STM32
#ifdef ADC
adc_init();
adc_buf_channel(ADC_CHANNEL_VSUPPLY, &vsupply_adc_buf, DEFAULT_AV_NB_SAMPLE);
# ifdef ADC_CHANNEL_CURRENT
- adc_buf_channel(ADC_CHANNEL_CURRENT, ¤t_adc_buf, DEFAULT_AV_NB_SAMPLE);
+ adc_buf_channel(ADC_CHANNEL_CURRENT, ¤t_adc_buf, DEFAULT_AV_NB_SAMPLE);
# endif
#endif
+#endif /* ! STM32 */
#ifdef ACTUATORS
actuators_init();
/* Load the failsafe defaults */