version finale

This commit is contained in:
Celia 2021-11-18 12:04:37 +01:00
parent 15442150e9
commit 15fb8ae0ed
40 changed files with 1038 additions and 562 deletions

View file

@ -14,5 +14,5 @@ int convert_single(){
ADC1->CR2 |= ADC_CR2_ADON; // lancement de la conversion
while(!(ADC1->SR & ADC_SR_EOC) ) {} // attente de la fin de conversion
ADC1->SR &= ~ADC_SR_EOC; // validation de la conversion
return ADC1->DR ;//& ~((0x0F) << 12); // retour de la conversion
}
return ADC1->DR & ~((0x0F) << 12); // retour de la conversion
}

View file

@ -18,17 +18,18 @@ void MyTimer_Base_Init ( MyTimer_Struct_TypeDef * Timer ) {
void MyTimer_EncoderMode_Conf ( TIM_TypeDef * TIM ) {
RCC->APB1ENR |= RCC_APB1ENR_TIM4EN; // essai clock enabled
TIM->PSC = 0; // Réglage de la période du Timer
TIM->ARR = 360*4;
RCC->APB1ENR |= RCC_APB1ENR_TIM4EN ;
RCC->APB2ENR |= RCC_APB2ENR_IOPBEN;
// CC1S= 01 (TIMx_CCMR1 register, TI1FP1 mapped on TI1)
TIM->CCMR1 &= ~TIM_CCMR1_CC1S;
TIM->CCMR1 |= TIM_CCMR1_CC1S_0;
// CC2S= 01 (TIMx_CCMR2 register, TI2FP2 mapped on TI2)
TIM->CCMR2 &= ~TIM_CCMR1_CC2S;
TIM->CCMR2 |= TIM_CCMR1_CC2S_0;
TIM->CCMR1 &= ~TIM_CCMR1_CC2S;
TIM->CCMR1 |= TIM_CCMR1_CC2S_0;
// CC1P= 0, CC1NP = 0, IC1F =0000 (TIMx_CCER register, TI1FP1 noninverted, TI1FP1=TI1)
TIM->CCER &= ~TIM_CCER_CC1P;
@ -47,6 +48,8 @@ void MyTimer_EncoderMode_Conf ( TIM_TypeDef * TIM ) {
// CEN = 1 (TIMx_CR1 register, Counter is enabled)
TIM->CR1 |= TIM_CR1_CEN;
}
@ -90,18 +93,18 @@ void MyTimer_PWM( TIM_TypeDef * Timer , char Channel ) {
}
}
void Set_Duty_Cycle (TIM_TypeDef * Timer, char Channel, char Duty_Cycle) {
void Set_Duty_Cycle (TIM_TypeDef * Timer, char Channel, float Duty_Cycle) {
if (Channel == 1) {
Timer->CCR1 = (int) (Timer->ARR)*Duty_Cycle/100;
Timer->CCR1 = (float) (Timer->ARR)*Duty_Cycle/100;
}
else if (Channel == 2) {
Timer->CCR2 = (int) (Timer->ARR)*Duty_Cycle/100;
Timer->CCR2 = (float) (Timer->ARR)*Duty_Cycle/100;
}
else if (Channel == 3) {
Timer->CCR3 = (int) (Timer->ARR)*Duty_Cycle/100;
Timer->CCR3 = (float) (Timer->ARR)*Duty_Cycle/100;
}
else if (Channel == 4) {
Timer->CCR4 = (int) (Timer->ARR)*Duty_Cycle/100;
Timer->CCR4 = (float) (Timer->ARR)*Duty_Cycle/100;
}
}
@ -131,7 +134,7 @@ void TIM2_IRQHandler ( void )
void TIM3_IRQHandler ( void )
{
TIM3->SR &= ~(1 << 0);
TIM3->SR &= ~TIM_SR_UIF;
if (PtrF != 0)
(*PtrF) (); /* appel indirect de la fonction */
}
@ -142,5 +145,4 @@ void TIM4_IRQHandler ( void )
TIM4->SR &= ~(1 << 0);
if (PtrF != 0)
(*PtrF) (); /* appel indirect de la fonction */
}
}

View file

@ -70,11 +70,10 @@ void MyTimer_PWM( TIM_TypeDef * Timer , char Channel ) ;
* @Note :
**************************************************************************************************
*/
void Set_Duty_Cycle (TIM_TypeDef * Timer, char Channel, char Duty_Cycle) ;
void Set_Duty_Cycle (TIM_TypeDef * Timer, char Channel, float Duty_Cycle) ;
#define MyTimer_Base_Start( Timer ) ( Timer->CR1 |= (1 << 0) )
#define MyTimer_Base_Stop( Timer ) ( Timer->CR1 &= ~(1 << 0) )
#endif
#endif

View file

@ -12,6 +12,10 @@ Section Cross References
driver_spi.o(i.SPI_init_master) refers to driver_spi.o(i.SPI_activate_clock) for SPI_activate_clock
driver_spi.o(i.SPI_init_master) refers to driver_spi.o(.data) for sortieSPI
mytimer.o(i.MyTimer_ActiveIT) refers to mytimer.o(.data) for PtrF
mytimer.o(i.Set_Duty_Cycle) refers to ffltui.o(.text) for __aeabi_ui2f
mytimer.o(i.Set_Duty_Cycle) refers to fmul.o(.text) for __aeabi_fmul
mytimer.o(i.Set_Duty_Cycle) refers to fdiv.o(.text) for __aeabi_fdiv
mytimer.o(i.Set_Duty_Cycle) refers to ffixui.o(.text) for __aeabi_f2uiz
mytimer.o(i.TIM1_UP_IRQHandler) refers to mytimer.o(.data) for PtrF
mytimer.o(i.TIM2_IRQHandler) refers to mytimer.o(.data) for PtrF
mytimer.o(i.TIM3_IRQHandler) refers to mytimer.o(.data) for PtrF
@ -20,7 +24,9 @@ Section Cross References
principal.o(i.main) refers to bordage.o(i.init_bordage) for init_bordage
principal.o(i.main) refers to bordage.o(i.init_codeur_incr) for init_codeur_incr
principal.o(i.main) refers to chavirement.o(i.chavirement_init) for chavirement_init
principal.o(i.main) refers to batterie.o(i.init_battery) for init_battery
principal.o(i.main) refers to tourniquet.o(i.tourniquet_init) for tourniquet_init
principal.o(i.main) refers to principal.o(.data) for battery_level_general
chavirement.o(i.chavirement_handler) refers to chavirement.o(i.lire) for lire
chavirement.o(i.chavirement_handler) refers to bordage.o(i.Roulis_Handler) for Roulis_Handler
chavirement.o(i.chavirement_handler) refers to chavirement.o(.data) for localvalue
@ -35,25 +41,29 @@ Section Cross References
chavirement.o(i.lire) refers to driver_spi.o(i.SPI_send) for SPI_send
chavirement.o(i.lire) refers to driver_spi.o(i.SPI_rcv) for SPI_rcv
chavirement.o(i.lire) refers to driver_gpio.o(i.MyGPIO_Set) for MyGPIO_Set
bordage.o(i.IT_bordage_auto) refers to fflti.o(.text) for __aeabi_i2f
bordage.o(i.IT_bordage_auto) refers to bordage.o(i.calcul_angle_voile) for calcul_angle_voile
bordage.o(i.IT_bordage_auto) refers to bordage.o(i.bordage) for bordage
bordage.o(i.IT_bordage_auto) refers to bordage.o(.data) for tempo_chavirement
bordage.o(i.Roulis_Handler) refers to bordage.o(i.bordage) for bordage
bordage.o(i.Roulis_Handler) refers to bordage.o(.data) for tempo_chavirement
bordage.o(i.bordage) refers to dflti.o(.text) for __aeabi_i2d
bordage.o(i.bordage) refers to f2d.o(.text) for __aeabi_f2d
bordage.o(i.bordage) refers to dadd.o(.text) for __aeabi_drsub
bordage.o(i.bordage) refers to d2f.o(.text) for __aeabi_d2f
bordage.o(i.bordage) refers to f2d.o(.text) for __aeabi_f2d
bordage.o(i.bordage) refers to ddiv.o(.text) for __aeabi_ddiv
bordage.o(i.bordage) refers to ffixui.o(.text) for __aeabi_f2uiz
bordage.o(i.bordage) refers to mytimer.o(i.Set_Duty_Cycle) for Set_Duty_Cycle
bordage.o(i.calcul_angle_voile) refers to dflti.o(.text) for __aeabi_i2d
bordage.o(i.calcul_angle_voile) refers to f2d.o(.text) for __aeabi_f2d
bordage.o(i.calcul_angle_voile) refers to cdcmple.o(.text) for __aeabi_cdcmple
bordage.o(i.calcul_angle_voile) refers to cdrcmple.o(.text) for __aeabi_cdrcmple
bordage.o(i.calcul_angle_voile) refers to dadd.o(.text) for __aeabi_dsub
bordage.o(i.calcul_angle_voile) refers to dmul.o(.text) for __aeabi_dmul
bordage.o(i.calcul_angle_voile) refers to ddiv.o(.text) for __aeabi_ddiv
bordage.o(i.calcul_angle_voile) refers to dfixi.o(.text) for __aeabi_d2iz
bordage.o(i.calcul_angle_voile) refers to d2f.o(.text) for __aeabi_d2f
bordage.o(i.init_bordage) refers to mytimer.o(i.MyTimer_Base_Init) for MyTimer_Base_Init
bordage.o(i.init_bordage) refers to driver_gpio.o(i.MyGPIO_Init) for MyGPIO_Init
bordage.o(i.init_bordage) refers to mytimer.o(i.MyTimer_PWM) for MyTimer_PWM
bordage.o(i.init_bordage) refers to mytimer.o(i.MyTimer_ActiveIT) for MyTimer_ActiveIT
bordage.o(i.init_bordage) refers to bordage.o(i.IT_bordage_auto) for IT_bordage_auto
bordage.o(i.init_codeur_incr) refers to driver_gpio.o(i.MyGPIO_Init) for MyGPIO_Init
bordage.o(i.init_codeur_incr) refers to bordage.o(i.init_exti_interrupt) for init_exti_interrupt
bordage.o(i.init_codeur_incr) refers to mytimer.o(i.MyTimer_EncoderMode_Conf) for MyTimer_EncoderMode_Conf
@ -63,6 +73,17 @@ Section Cross References
tourniquet.o(i.tourniquet_init) refers to tourniquet.o(i.tourniquet_handler) for tourniquet_handler
tourniquet.o(.data) refers to chavirement.o(i.chavirement_handler) for chavirement_handler
tourniquet.o(.data) refers to bordage.o(i.IT_bordage_auto) for IT_bordage_auto
tourniquet.o(.data) refers to batterie.o(i.handle_check_battery) for handle_check_battery
batterie.o(i.get_battery_level) refers to myadc.o(i.convert_single) for convert_single
batterie.o(i.get_battery_level) refers to dflti.o(.text) for __aeabi_i2d
batterie.o(i.get_battery_level) refers to ddiv.o(.text) for __aeabi_ddiv
batterie.o(i.get_battery_level) refers to dmul.o(.text) for __aeabi_dmul
batterie.o(i.get_battery_level) refers to d2f.o(.text) for __aeabi_d2f
batterie.o(i.handle_check_battery) refers to batterie.o(i.get_battery_level) for get_battery_level
batterie.o(i.handle_check_battery) refers to batterie.o(.data) for battery_level
batterie.o(i.init_battery) refers to driver_gpio.o(i.MyGPIO_Init) for MyGPIO_Init
batterie.o(i.init_battery) refers to myadc.o(i.MyADC_Init) for MyADC_Init
batterie.o(i.init_battery) refers to batterie.o(.data) for battery_level
startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(STACK) for __initial_sp
startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(.text) for Reset_Handler
startup_stm32f10x_md.o(RESET) refers to bordage.o(i.EXTI9_5_IRQHandler) for EXTI9_5_IRQHandler
@ -83,6 +104,9 @@ Section Cross References
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry9a.o(.ARM.Collect$$$$0000000B) for _main_init
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry5.o(.ARM.Collect$$$$00000004) for _main_scatterload
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry2.o(.ARM.Collect$$$$00000001) for _main_stk
fmul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
fdiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
fdiv.o(.text) refers to fepilogue.o(.text) for _float_round
dadd.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dadd.o(.text) refers to llshl.o(.text) for __aeabi_llsl
dadd.o(.text) refers to llsshr.o(.text) for __aeabi_lasr
@ -91,12 +115,16 @@ Section Cross References
dmul.o(.text) refers to depilogue.o(.text) for _double_epilogue
ddiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
ddiv.o(.text) refers to depilogue.o(.text) for _double_round
fflti.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
fflti.o(.text) refers to fepilogue.o(.text) for _float_epilogue
ffltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
ffltui.o(.text) refers to fepilogue.o(.text) for _float_epilogue
dflti.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dflti.o(.text) refers to depilogue.o(.text) for _double_epilogue
ffixui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dfixi.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dfixi.o(.text) refers to llushr.o(.text) for __aeabi_llsr
f2d.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
cdcmple.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
cdrcmple.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
d2f.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
d2f.o(.text) refers to fepilogue.o(.text) for _float_round
entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000
@ -126,10 +154,12 @@ Removing Unused input sections from the image.
Removing mytimer.o(.rev16_text), (4 bytes).
Removing mytimer.o(.revsh_text), (4 bytes).
Removing mytimer.o(.rrx_text), (6 bytes).
Removing myadc.o(.rev16_text), (4 bytes).
Removing myadc.o(.revsh_text), (4 bytes).
Removing myadc.o(.rrx_text), (6 bytes).
Removing principal.o(.rev16_text), (4 bytes).
Removing principal.o(.revsh_text), (4 bytes).
Removing principal.o(.rrx_text), (6 bytes).
Removing principal.o(.data), (2 bytes).
Removing chavirement.o(.rev16_text), (4 bytes).
Removing chavirement.o(.revsh_text), (4 bytes).
Removing chavirement.o(.rrx_text), (6 bytes).
@ -139,6 +169,9 @@ Removing Unused input sections from the image.
Removing tourniquet.o(.rev16_text), (4 bytes).
Removing tourniquet.o(.revsh_text), (4 bytes).
Removing tourniquet.o(.rrx_text), (6 bytes).
Removing batterie.o(.rev16_text), (4 bytes).
Removing batterie.o(.revsh_text), (4 bytes).
Removing batterie.o(.rrx_text), (6 bytes).
Removing startup_stm32f10x_md.o(HEAP), (512 bytes).
Removing system_stm32f10x.o(.rev16_text), (4 bytes).
Removing system_stm32f10x.o(.revsh_text), (4 bytes).
@ -146,7 +179,7 @@ Removing Unused input sections from the image.
Removing system_stm32f10x.o(i.SystemCoreClockUpdate), (164 bytes).
Removing system_stm32f10x.o(.data), (20 bytes).
30 unused section(s) (total 858 bytes) removed from the image.
35 unused section(s) (total 884 bytes) removed from the image.
==============================================================================
@ -156,44 +189,51 @@ Image Symbol Table
Symbol Name Value Ov Type Size Object(Section)
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE
../fplib/microlib/d2f.c 0x00000000 Number 0 d2f.o ABSOLUTE
../fplib/microlib/f2d.c 0x00000000 Number 0 f2d.o ABSOLUTE
../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE
../fplib/microlib/fpdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE
../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE
../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixi.o ABSOLUTE
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE
../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixui.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 dflti.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 fflti.o ABSOLUTE
../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE
../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE
..\Drivers\Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE
..\Drivers\Driver_SPI.c 0x00000000 Number 0 driver_spi.o ABSOLUTE
..\Drivers\MyADC.c 0x00000000 Number 0 myadc.o ABSOLUTE
..\Drivers\MyTimer.c 0x00000000 Number 0 mytimer.o ABSOLUTE
..\Sources\batterie.c 0x00000000 Number 0 batterie.o ABSOLUTE
..\Sources\bordage.c 0x00000000 Number 0 bordage.o ABSOLUTE
..\Sources\chavirement.c 0x00000000 Number 0 chavirement.o ABSOLUTE
..\Sources\tourniquet.c 0x00000000 Number 0 tourniquet.o ABSOLUTE
..\\Drivers\\Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE
..\\Drivers\\Driver_SPI.c 0x00000000 Number 0 driver_spi.o ABSOLUTE
..\\Drivers\\MyADC.c 0x00000000 Number 0 myadc.o ABSOLUTE
..\\Drivers\\MyTimer.c 0x00000000 Number 0 mytimer.o ABSOLUTE
..\\Sources\\batterie.c 0x00000000 Number 0 batterie.o ABSOLUTE
..\\Sources\\bordage.c 0x00000000 Number 0 bordage.o ABSOLUTE
..\\Sources\\chavirement.c 0x00000000 Number 0 chavirement.o ABSOLUTE
..\\Sources\\tourniquet.c 0x00000000 Number 0 tourniquet.o ABSOLUTE
@ -202,6 +242,8 @@ Image Symbol Table
RTE\Device\STM32F103RB\startup_stm32f10x_md.s 0x00000000 Number 0 startup_stm32f10x_md.o ABSOLUTE
RTE\Device\STM32F103RB\system_stm32f10x.c 0x00000000 Number 0 system_stm32f10x.o ABSOLUTE
RTE\\Device\\STM32F103RB\\system_stm32f10x.c 0x00000000 Number 0 system_stm32f10x.o ABSOLUTE
cdcmple.s 0x00000000 Number 0 cdcmple.o ABSOLUTE
cdrcmple.s 0x00000000 Number 0 cdrcmple.o ABSOLUTE
dc.s 0x00000000 Number 0 dc.o ABSOLUTE
handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE
init.s 0x00000000 Number 0 init.o ABSOLUTE
@ -218,67 +260,79 @@ Image Symbol Table
.ARM.Collect$$$$00002712 0x08000100 Section 4 entry2.o(.ARM.Collect$$$$00002712)
__lit__00000000 0x08000100 Data 4 entry2.o(.ARM.Collect$$$$00002712)
.text 0x08000104 Section 36 startup_stm32f10x_md.o(.text)
.text 0x08000128 Section 0 dadd.o(.text)
.text 0x08000276 Section 0 dmul.o(.text)
.text 0x0800035a Section 0 ddiv.o(.text)
.text 0x08000438 Section 0 dflti.o(.text)
.text 0x0800045a Section 0 ffixui.o(.text)
.text 0x08000482 Section 0 dfixi.o(.text)
.text 0x080004c0 Section 0 f2d.o(.text)
.text 0x080004e6 Section 0 d2f.o(.text)
.text 0x0800051e Section 0 llshl.o(.text)
.text 0x0800053c Section 0 llushr.o(.text)
.text 0x0800055c Section 0 llsshr.o(.text)
.text 0x08000580 Section 0 fepilogue.o(.text)
.text 0x08000580 Section 0 iusefp.o(.text)
.text 0x080005ee Section 0 depilogue.o(.text)
.text 0x080006a8 Section 36 init.o(.text)
i.EXTI9_5_IRQHandler 0x080006cc Section 0 bordage.o(i.EXTI9_5_IRQHandler)
i.IT_bordage_auto 0x080006e8 Section 0 bordage.o(i.IT_bordage_auto)
i.MyGPIO_Activate 0x08000724 Section 0 driver_gpio.o(i.MyGPIO_Activate)
i.MyGPIO_Init 0x0800073c Section 0 driver_gpio.o(i.MyGPIO_Init)
i.MyGPIO_Reset 0x080007e2 Section 0 driver_gpio.o(i.MyGPIO_Reset)
i.MyGPIO_Set 0x080007ee Section 0 driver_gpio.o(i.MyGPIO_Set)
i.MyTimer_ActiveIT 0x080007f8 Section 0 mytimer.o(i.MyTimer_ActiveIT)
i.MyTimer_Base_Init 0x08000868 Section 0 mytimer.o(i.MyTimer_Base_Init)
i.MyTimer_EncoderMode_Conf 0x080008e4 Section 0 mytimer.o(i.MyTimer_EncoderMode_Conf)
i.MyTimer_PWM 0x08000970 Section 0 mytimer.o(i.MyTimer_PWM)
i.Roulis_Handler 0x080009e8 Section 0 bordage.o(i.Roulis_Handler)
i.SPI_activate_clock 0x080009fc Section 0 driver_spi.o(i.SPI_activate_clock)
i.SPI_init_master 0x08000a38 Section 0 driver_spi.o(i.SPI_init_master)
i.SPI_rcv 0x08000b00 Section 0 driver_spi.o(i.SPI_rcv)
i.SPI_send 0x08000b24 Section 0 driver_spi.o(i.SPI_send)
i.SetSysClock 0x08000b42 Section 0 system_stm32f10x.o(i.SetSysClock)
SetSysClock 0x08000b43 Thumb Code 8 system_stm32f10x.o(i.SetSysClock)
i.SetSysClockTo72 0x08000b4c Section 0 system_stm32f10x.o(i.SetSysClockTo72)
SetSysClockTo72 0x08000b4d Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72)
i.Set_Duty_Cycle 0x08000c2c Section 0 mytimer.o(i.Set_Duty_Cycle)
i.SystemInit 0x08000c78 Section 0 system_stm32f10x.o(i.SystemInit)
i.TIM1_UP_IRQHandler 0x08000cd8 Section 0 mytimer.o(i.TIM1_UP_IRQHandler)
i.TIM2_IRQHandler 0x08000cfc Section 0 mytimer.o(i.TIM2_IRQHandler)
i.TIM3_IRQHandler 0x08000d20 Section 0 mytimer.o(i.TIM3_IRQHandler)
i.TIM4_IRQHandler 0x08000d44 Section 0 mytimer.o(i.TIM4_IRQHandler)
i.__scatterload_copy 0x08000d68 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x08000d76 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x08000d78 Section 14 handlers.o(i.__scatterload_zeroinit)
i.bordage 0x08000d88 Section 0 bordage.o(i.bordage)
i.calcul_angle_voile 0x08000df0 Section 0 bordage.o(i.calcul_angle_voile)
i.chavirement_handler 0x08000e68 Section 0 chavirement.o(i.chavirement_handler)
i.chavirement_init 0x08000e98 Section 0 chavirement.o(i.chavirement_init)
i.ecrire 0x08000ebc Section 0 chavirement.o(i.ecrire)
i.init_bordage 0x08000efc Section 0 bordage.o(i.init_bordage)
i.init_codeur_incr 0x08000f40 Section 0 bordage.o(i.init_codeur_incr)
i.init_exti_interrupt 0x08000f90 Section 0 bordage.o(i.init_exti_interrupt)
i.lire 0x08001000 Section 0 chavirement.o(i.lire)
i.main 0x08001044 Section 0 principal.o(i.main)
i.tourniquet_handler 0x08001068 Section 0 tourniquet.o(i.tourniquet_handler)
i.tourniquet_init 0x080010bc Section 0 tourniquet.o(i.tourniquet_init)
.text 0x08000128 Section 0 fmul.o(.text)
.text 0x0800018c Section 0 fdiv.o(.text)
.text 0x08000208 Section 0 dadd.o(.text)
.text 0x08000356 Section 0 dmul.o(.text)
.text 0x0800043a Section 0 ddiv.o(.text)
.text 0x08000518 Section 0 fflti.o(.text)
.text 0x0800052a Section 0 ffltui.o(.text)
.text 0x08000534 Section 0 dflti.o(.text)
.text 0x08000556 Section 0 ffixui.o(.text)
.text 0x0800057e Section 0 f2d.o(.text)
.text 0x080005a4 Section 48 cdcmple.o(.text)
.text 0x080005d4 Section 48 cdrcmple.o(.text)
.text 0x08000604 Section 0 d2f.o(.text)
.text 0x0800063c Section 0 llshl.o(.text)
.text 0x0800065a Section 0 llsshr.o(.text)
.text 0x0800067e Section 0 iusefp.o(.text)
.text 0x0800067e Section 0 fepilogue.o(.text)
.text 0x080006ec Section 0 depilogue.o(.text)
.text 0x080007a8 Section 36 init.o(.text)
.text 0x080007cc Section 0 llushr.o(.text)
i.EXTI9_5_IRQHandler 0x080007ec Section 0 bordage.o(i.EXTI9_5_IRQHandler)
i.IT_bordage_auto 0x08000808 Section 0 bordage.o(i.IT_bordage_auto)
i.MyADC_Init 0x08000848 Section 0 myadc.o(i.MyADC_Init)
i.MyGPIO_Activate 0x08000894 Section 0 driver_gpio.o(i.MyGPIO_Activate)
i.MyGPIO_Init 0x080008ac Section 0 driver_gpio.o(i.MyGPIO_Init)
i.MyGPIO_Reset 0x08000952 Section 0 driver_gpio.o(i.MyGPIO_Reset)
i.MyGPIO_Set 0x0800095e Section 0 driver_gpio.o(i.MyGPIO_Set)
i.MyTimer_ActiveIT 0x08000968 Section 0 mytimer.o(i.MyTimer_ActiveIT)
i.MyTimer_Base_Init 0x080009d8 Section 0 mytimer.o(i.MyTimer_Base_Init)
i.MyTimer_EncoderMode_Conf 0x08000a54 Section 0 mytimer.o(i.MyTimer_EncoderMode_Conf)
i.MyTimer_PWM 0x08000aec Section 0 mytimer.o(i.MyTimer_PWM)
i.Roulis_Handler 0x08000b64 Section 0 bordage.o(i.Roulis_Handler)
i.SPI_activate_clock 0x08000b78 Section 0 driver_spi.o(i.SPI_activate_clock)
i.SPI_init_master 0x08000bb4 Section 0 driver_spi.o(i.SPI_init_master)
i.SPI_rcv 0x08000c7c Section 0 driver_spi.o(i.SPI_rcv)
i.SPI_send 0x08000ca0 Section 0 driver_spi.o(i.SPI_send)
i.SetSysClock 0x08000cbe Section 0 system_stm32f10x.o(i.SetSysClock)
SetSysClock 0x08000cbf Thumb Code 8 system_stm32f10x.o(i.SetSysClock)
i.SetSysClockTo72 0x08000cc8 Section 0 system_stm32f10x.o(i.SetSysClockTo72)
SetSysClockTo72 0x08000cc9 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72)
i.Set_Duty_Cycle 0x08000da8 Section 0 mytimer.o(i.Set_Duty_Cycle)
i.SystemInit 0x08000e4c Section 0 system_stm32f10x.o(i.SystemInit)
i.TIM1_UP_IRQHandler 0x08000eac Section 0 mytimer.o(i.TIM1_UP_IRQHandler)
i.TIM2_IRQHandler 0x08000ed0 Section 0 mytimer.o(i.TIM2_IRQHandler)
i.TIM3_IRQHandler 0x08000ef4 Section 0 mytimer.o(i.TIM3_IRQHandler)
i.TIM4_IRQHandler 0x08000f18 Section 0 mytimer.o(i.TIM4_IRQHandler)
i.__scatterload_copy 0x08000f3c Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x08000f4a Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x08000f4c Section 14 handlers.o(i.__scatterload_zeroinit)
i.bordage 0x08000f5c Section 0 bordage.o(i.bordage)
i.calcul_angle_voile 0x08000fbc Section 0 bordage.o(i.calcul_angle_voile)
i.chavirement_handler 0x0800107c Section 0 chavirement.o(i.chavirement_handler)
i.chavirement_init 0x080010ac Section 0 chavirement.o(i.chavirement_init)
i.convert_single 0x080010d0 Section 0 myadc.o(i.convert_single)
i.ecrire 0x0800110c Section 0 chavirement.o(i.ecrire)
i.get_battery_level 0x0800114c Section 0 batterie.o(i.get_battery_level)
i.handle_check_battery 0x08001190 Section 0 batterie.o(i.handle_check_battery)
i.init_battery 0x080011a4 Section 0 batterie.o(i.init_battery)
i.init_bordage 0x080011d0 Section 0 bordage.o(i.init_bordage)
i.init_codeur_incr 0x08001220 Section 0 bordage.o(i.init_codeur_incr)
i.init_exti_interrupt 0x08001270 Section 0 bordage.o(i.init_exti_interrupt)
i.lire 0x080012e0 Section 0 chavirement.o(i.lire)
i.main 0x08001324 Section 0 principal.o(i.main)
i.tourniquet_handler 0x08001350 Section 0 tourniquet.o(i.tourniquet_handler)
i.tourniquet_init 0x080013b4 Section 0 tourniquet.o(i.tourniquet_init)
.data 0x20000000 Section 8 driver_spi.o(.data)
.data 0x20000008 Section 4 mytimer.o(.data)
.data 0x2000000c Section 8 chavirement.o(.data)
.data 0x20000014 Section 4 bordage.o(.data)
.data 0x20000018 Section 12 tourniquet.o(.data)
STACK 0x20000028 Section 1024 startup_stm32f10x_md.o(STACK)
.data 0x2000000c Section 4 principal.o(.data)
.data 0x20000010 Section 8 chavirement.o(.data)
.data 0x20000018 Section 4 bordage.o(.data)
.data 0x2000001c Section 16 tourniquet.o(.data)
.data 0x2000002c Section 4 batterie.o(.data)
STACK 0x20000030 Section 1024 startup_stm32f10x_md.o(STACK)
Global Symbols
@ -353,79 +407,93 @@ Image Symbol Table
USB_HP_CAN1_TX_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text)
USB_LP_CAN1_RX0_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text)
WWDG_IRQHandler 0x0800011f Thumb Code 0 startup_stm32f10x_md.o(.text)
__aeabi_dadd 0x08000129 Thumb Code 322 dadd.o(.text)
__aeabi_dsub 0x0800026b Thumb Code 6 dadd.o(.text)
__aeabi_drsub 0x08000271 Thumb Code 6 dadd.o(.text)
__aeabi_dmul 0x08000277 Thumb Code 228 dmul.o(.text)
__aeabi_ddiv 0x0800035b Thumb Code 222 ddiv.o(.text)
__aeabi_i2d 0x08000439 Thumb Code 34 dflti.o(.text)
__aeabi_f2uiz 0x0800045b Thumb Code 40 ffixui.o(.text)
__aeabi_d2iz 0x08000483 Thumb Code 62 dfixi.o(.text)
__aeabi_f2d 0x080004c1 Thumb Code 38 f2d.o(.text)
__aeabi_d2f 0x080004e7 Thumb Code 56 d2f.o(.text)
__aeabi_llsl 0x0800051f Thumb Code 30 llshl.o(.text)
_ll_shift_l 0x0800051f Thumb Code 0 llshl.o(.text)
__aeabi_llsr 0x0800053d Thumb Code 32 llushr.o(.text)
_ll_ushift_r 0x0800053d Thumb Code 0 llushr.o(.text)
__aeabi_lasr 0x0800055d Thumb Code 36 llsshr.o(.text)
_ll_sshift_r 0x0800055d Thumb Code 0 llsshr.o(.text)
__I$use$fp 0x08000581 Thumb Code 0 iusefp.o(.text)
_float_round 0x08000581 Thumb Code 18 fepilogue.o(.text)
_float_epilogue 0x08000593 Thumb Code 92 fepilogue.o(.text)
_double_round 0x080005ef Thumb Code 30 depilogue.o(.text)
_double_epilogue 0x0800060d Thumb Code 156 depilogue.o(.text)
__scatterload 0x080006a9 Thumb Code 28 init.o(.text)
__scatterload_rt2 0x080006a9 Thumb Code 0 init.o(.text)
EXTI9_5_IRQHandler 0x080006cd Thumb Code 20 bordage.o(i.EXTI9_5_IRQHandler)
IT_bordage_auto 0x080006e9 Thumb Code 50 bordage.o(i.IT_bordage_auto)
MyGPIO_Activate 0x08000725 Thumb Code 18 driver_gpio.o(i.MyGPIO_Activate)
MyGPIO_Init 0x0800073d Thumb Code 166 driver_gpio.o(i.MyGPIO_Init)
MyGPIO_Reset 0x080007e3 Thumb Code 12 driver_gpio.o(i.MyGPIO_Reset)
MyGPIO_Set 0x080007ef Thumb Code 8 driver_gpio.o(i.MyGPIO_Set)
MyTimer_ActiveIT 0x080007f9 Thumb Code 88 mytimer.o(i.MyTimer_ActiveIT)
MyTimer_Base_Init 0x08000869 Thumb Code 106 mytimer.o(i.MyTimer_Base_Init)
MyTimer_EncoderMode_Conf 0x080008e5 Thumb Code 136 mytimer.o(i.MyTimer_EncoderMode_Conf)
MyTimer_PWM 0x08000971 Thumb Code 120 mytimer.o(i.MyTimer_PWM)
Roulis_Handler 0x080009e9 Thumb Code 16 bordage.o(i.Roulis_Handler)
SPI_activate_clock 0x080009fd Thumb Code 54 driver_spi.o(i.SPI_activate_clock)
SPI_init_master 0x08000a39 Thumb Code 190 driver_spi.o(i.SPI_init_master)
SPI_rcv 0x08000b01 Thumb Code 36 driver_spi.o(i.SPI_rcv)
SPI_send 0x08000b25 Thumb Code 30 driver_spi.o(i.SPI_send)
Set_Duty_Cycle 0x08000c2d Thumb Code 76 mytimer.o(i.Set_Duty_Cycle)
SystemInit 0x08000c79 Thumb Code 78 system_stm32f10x.o(i.SystemInit)
TIM1_UP_IRQHandler 0x08000cd9 Thumb Code 28 mytimer.o(i.TIM1_UP_IRQHandler)
TIM2_IRQHandler 0x08000cfd Thumb Code 32 mytimer.o(i.TIM2_IRQHandler)
TIM3_IRQHandler 0x08000d21 Thumb Code 28 mytimer.o(i.TIM3_IRQHandler)
TIM4_IRQHandler 0x08000d45 Thumb Code 28 mytimer.o(i.TIM4_IRQHandler)
__scatterload_copy 0x08000d69 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x08000d77 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x08000d79 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
bordage 0x08000d89 Thumb Code 88 bordage.o(i.bordage)
calcul_angle_voile 0x08000df1 Thumb Code 112 bordage.o(i.calcul_angle_voile)
chavirement_handler 0x08000e69 Thumb Code 40 chavirement.o(i.chavirement_handler)
chavirement_init 0x08000e99 Thumb Code 28 chavirement.o(i.chavirement_init)
ecrire 0x08000ebd Thumb Code 54 chavirement.o(i.ecrire)
init_bordage 0x08000efd Thumb Code 58 bordage.o(i.init_bordage)
init_codeur_incr 0x08000f41 Thumb Code 72 bordage.o(i.init_codeur_incr)
init_exti_interrupt 0x08000f91 Thumb Code 92 bordage.o(i.init_exti_interrupt)
lire 0x08001001 Thumb Code 58 chavirement.o(i.lire)
main 0x08001045 Thumb Code 34 principal.o(i.main)
tourniquet_handler 0x08001069 Thumb Code 66 tourniquet.o(i.tourniquet_handler)
tourniquet_init 0x080010bd Thumb Code 26 tourniquet.o(i.tourniquet_init)
Region$$Table$$Base 0x080010e8 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08001108 Number 0 anon$$obj.o(Region$$Table)
__aeabi_fmul 0x08000129 Thumb Code 100 fmul.o(.text)
__aeabi_fdiv 0x0800018d Thumb Code 124 fdiv.o(.text)
__aeabi_dadd 0x08000209 Thumb Code 322 dadd.o(.text)
__aeabi_dsub 0x0800034b Thumb Code 6 dadd.o(.text)
__aeabi_drsub 0x08000351 Thumb Code 6 dadd.o(.text)
__aeabi_dmul 0x08000357 Thumb Code 228 dmul.o(.text)
__aeabi_ddiv 0x0800043b Thumb Code 222 ddiv.o(.text)
__aeabi_i2f 0x08000519 Thumb Code 18 fflti.o(.text)
__aeabi_ui2f 0x0800052b Thumb Code 10 ffltui.o(.text)
__aeabi_i2d 0x08000535 Thumb Code 34 dflti.o(.text)
__aeabi_f2uiz 0x08000557 Thumb Code 40 ffixui.o(.text)
__aeabi_f2d 0x0800057f Thumb Code 38 f2d.o(.text)
__aeabi_cdcmpeq 0x080005a5 Thumb Code 0 cdcmple.o(.text)
__aeabi_cdcmple 0x080005a5 Thumb Code 48 cdcmple.o(.text)
__aeabi_cdrcmple 0x080005d5 Thumb Code 48 cdrcmple.o(.text)
__aeabi_d2f 0x08000605 Thumb Code 56 d2f.o(.text)
__aeabi_llsl 0x0800063d Thumb Code 30 llshl.o(.text)
_ll_shift_l 0x0800063d Thumb Code 0 llshl.o(.text)
__aeabi_lasr 0x0800065b Thumb Code 36 llsshr.o(.text)
_ll_sshift_r 0x0800065b Thumb Code 0 llsshr.o(.text)
__I$use$fp 0x0800067f Thumb Code 0 iusefp.o(.text)
_float_round 0x0800067f Thumb Code 18 fepilogue.o(.text)
_float_epilogue 0x08000691 Thumb Code 92 fepilogue.o(.text)
_double_round 0x080006ed Thumb Code 30 depilogue.o(.text)
_double_epilogue 0x0800070b Thumb Code 156 depilogue.o(.text)
__scatterload 0x080007a9 Thumb Code 28 init.o(.text)
__scatterload_rt2 0x080007a9 Thumb Code 0 init.o(.text)
__aeabi_llsr 0x080007cd Thumb Code 32 llushr.o(.text)
_ll_ushift_r 0x080007cd Thumb Code 0 llushr.o(.text)
EXTI9_5_IRQHandler 0x080007ed Thumb Code 20 bordage.o(i.EXTI9_5_IRQHandler)
IT_bordage_auto 0x08000809 Thumb Code 56 bordage.o(i.IT_bordage_auto)
MyADC_Init 0x08000849 Thumb Code 66 myadc.o(i.MyADC_Init)
MyGPIO_Activate 0x08000895 Thumb Code 18 driver_gpio.o(i.MyGPIO_Activate)
MyGPIO_Init 0x080008ad Thumb Code 166 driver_gpio.o(i.MyGPIO_Init)
MyGPIO_Reset 0x08000953 Thumb Code 12 driver_gpio.o(i.MyGPIO_Reset)
MyGPIO_Set 0x0800095f Thumb Code 8 driver_gpio.o(i.MyGPIO_Set)
MyTimer_ActiveIT 0x08000969 Thumb Code 88 mytimer.o(i.MyTimer_ActiveIT)
MyTimer_Base_Init 0x080009d9 Thumb Code 106 mytimer.o(i.MyTimer_Base_Init)
MyTimer_EncoderMode_Conf 0x08000a55 Thumb Code 146 mytimer.o(i.MyTimer_EncoderMode_Conf)
MyTimer_PWM 0x08000aed Thumb Code 120 mytimer.o(i.MyTimer_PWM)
Roulis_Handler 0x08000b65 Thumb Code 16 bordage.o(i.Roulis_Handler)
SPI_activate_clock 0x08000b79 Thumb Code 54 driver_spi.o(i.SPI_activate_clock)
SPI_init_master 0x08000bb5 Thumb Code 190 driver_spi.o(i.SPI_init_master)
SPI_rcv 0x08000c7d Thumb Code 36 driver_spi.o(i.SPI_rcv)
SPI_send 0x08000ca1 Thumb Code 30 driver_spi.o(i.SPI_send)
Set_Duty_Cycle 0x08000da9 Thumb Code 158 mytimer.o(i.Set_Duty_Cycle)
SystemInit 0x08000e4d Thumb Code 78 system_stm32f10x.o(i.SystemInit)
TIM1_UP_IRQHandler 0x08000ead Thumb Code 28 mytimer.o(i.TIM1_UP_IRQHandler)
TIM2_IRQHandler 0x08000ed1 Thumb Code 32 mytimer.o(i.TIM2_IRQHandler)
TIM3_IRQHandler 0x08000ef5 Thumb Code 28 mytimer.o(i.TIM3_IRQHandler)
TIM4_IRQHandler 0x08000f19 Thumb Code 28 mytimer.o(i.TIM4_IRQHandler)
__scatterload_copy 0x08000f3d Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x08000f4b Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x08000f4d Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
bordage 0x08000f5d Thumb Code 78 bordage.o(i.bordage)
calcul_angle_voile 0x08000fbd Thumb Code 170 bordage.o(i.calcul_angle_voile)
chavirement_handler 0x0800107d Thumb Code 40 chavirement.o(i.chavirement_handler)
chavirement_init 0x080010ad Thumb Code 28 chavirement.o(i.chavirement_init)
convert_single 0x080010d1 Thumb Code 56 myadc.o(i.convert_single)
ecrire 0x0800110d Thumb Code 54 chavirement.o(i.ecrire)
get_battery_level 0x0800114d Thumb Code 56 batterie.o(i.get_battery_level)
handle_check_battery 0x08001191 Thumb Code 14 batterie.o(i.handle_check_battery)
init_battery 0x080011a5 Thumb Code 36 batterie.o(i.init_battery)
init_bordage 0x080011d1 Thumb Code 68 bordage.o(i.init_bordage)
init_codeur_incr 0x08001221 Thumb Code 72 bordage.o(i.init_codeur_incr)
init_exti_interrupt 0x08001271 Thumb Code 92 bordage.o(i.init_exti_interrupt)
lire 0x080012e1 Thumb Code 58 chavirement.o(i.lire)
main 0x08001325 Thumb Code 38 principal.o(i.main)
tourniquet_handler 0x08001351 Thumb Code 78 tourniquet.o(i.tourniquet_handler)
tourniquet_init 0x080013b5 Thumb Code 26 tourniquet.o(i.tourniquet_init)
Region$$Table$$Base 0x080013e0 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08001400 Number 0 anon$$obj.o(Region$$Table)
sortieSPI 0x20000000 Data 8 driver_spi.o(.data)
PtrF 0x20000008 Data 4 mytimer.o(.data)
device_id 0x2000000c Data 4 chavirement.o(.data)
localvalue 0x20000010 Data 2 chavirement.o(.data)
lsblocal 0x20000012 Data 1 chavirement.o(.data)
msblocal 0x20000013 Data 1 chavirement.o(.data)
tempo_chavirement 0x20000014 Data 4 bordage.o(.data)
tourniquet_curseur 0x20000018 Data 1 tourniquet.o(.data)
maximum 0x20000019 Data 1 tourniquet.o(.data)
IT_TOURNIQUET_1 0x2000001c Data 4 tourniquet.o(.data)
IT_TOURNIQUET_2 0x20000020 Data 4 tourniquet.o(.data)
__initial_sp 0x20000428 Data 0 startup_stm32f10x_md.o(STACK)
battery_level_general 0x2000000c Data 4 principal.o(.data)
device_id 0x20000010 Data 4 chavirement.o(.data)
localvalue 0x20000014 Data 2 chavirement.o(.data)
lsblocal 0x20000016 Data 1 chavirement.o(.data)
msblocal 0x20000017 Data 1 chavirement.o(.data)
tempo_chavirement 0x20000018 Data 4 bordage.o(.data)
tourniquet_curseur 0x2000001c Data 1 tourniquet.o(.data)
maximum 0x2000001d Data 1 tourniquet.o(.data)
IT_TOURNIQUET_1 0x20000020 Data 4 tourniquet.o(.data)
IT_TOURNIQUET_2 0x20000024 Data 4 tourniquet.o(.data)
IT_TOURNIQUET_3 0x20000028 Data 4 tourniquet.o(.data)
battery_level 0x2000002c Data 4 batterie.o(.data)
__initial_sp 0x20000430 Data 0 startup_stm32f10x_md.o(STACK)
@ -435,101 +503,112 @@ Memory Map of the image
Image Entry point : 0x08000105
Load Region LR_1 (Base: 0x08000000, Size: 0x0000112c, Max: 0xffffffff, ABSOLUTE)
Load Region LR_1 (Base: 0x08000000, Size: 0x00001430, Max: 0xffffffff, ABSOLUTE)
Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001108, Max: 0xffffffff, ABSOLUTE)
Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001400, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000000ec Data RO 401 RESET startup_stm32f10x_md.o
0x080000ec 0x080000ec 0x00000000 Code RO 452 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
0x080000ec 0x080000ec 0x00000004 Code RO 471 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
0x080000f0 0x080000f0 0x00000004 Code RO 474 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
0x080000f4 0x080000f4 0x00000000 Code RO 476 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
0x080000f4 0x080000f4 0x00000000 Code RO 478 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
0x080000f4 0x080000f4 0x00000008 Code RO 479 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
0x080000fc 0x080000fc 0x00000004 Code RO 486 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o)
0x08000100 0x08000100 0x00000000 Code RO 481 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o)
0x08000100 0x08000100 0x00000000 Code RO 483 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o)
0x08000100 0x08000100 0x00000004 Code RO 472 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
0x08000104 0x08000104 0x00000024 Code RO 402 * .text startup_stm32f10x_md.o
0x08000128 0x08000128 0x0000014e Code RO 455 .text mf_w.l(dadd.o)
0x08000276 0x08000276 0x000000e4 Code RO 457 .text mf_w.l(dmul.o)
0x0800035a 0x0800035a 0x000000de Code RO 459 .text mf_w.l(ddiv.o)
0x08000438 0x08000438 0x00000022 Code RO 461 .text mf_w.l(dflti.o)
0x0800045a 0x0800045a 0x00000028 Code RO 463 .text mf_w.l(ffixui.o)
0x08000482 0x08000482 0x0000003e Code RO 465 .text mf_w.l(dfixi.o)
0x080004c0 0x080004c0 0x00000026 Code RO 467 .text mf_w.l(f2d.o)
0x080004e6 0x080004e6 0x00000038 Code RO 469 .text mf_w.l(d2f.o)
0x0800051e 0x0800051e 0x0000001e Code RO 487 .text mc_w.l(llshl.o)
0x0800053c 0x0800053c 0x00000020 Code RO 489 .text mc_w.l(llushr.o)
0x0800055c 0x0800055c 0x00000024 Code RO 491 .text mc_w.l(llsshr.o)
0x08000580 0x08000580 0x00000000 Code RO 493 .text mc_w.l(iusefp.o)
0x08000580 0x08000580 0x0000006e Code RO 494 .text mf_w.l(fepilogue.o)
0x080005ee 0x080005ee 0x000000ba Code RO 496 .text mf_w.l(depilogue.o)
0x080006a8 0x080006a8 0x00000024 Code RO 498 .text mc_w.l(init.o)
0x080006cc 0x080006cc 0x0000001c Code RO 297 i.EXTI9_5_IRQHandler bordage.o
0x080006e8 0x080006e8 0x0000003c Code RO 298 i.IT_bordage_auto bordage.o
0x08000724 0x08000724 0x00000018 Code RO 4 i.MyGPIO_Activate driver_gpio.o
0x0800073c 0x0800073c 0x000000a6 Code RO 5 i.MyGPIO_Init driver_gpio.o
0x080007e2 0x080007e2 0x0000000c Code RO 7 i.MyGPIO_Reset driver_gpio.o
0x080007ee 0x080007ee 0x00000008 Code RO 8 i.MyGPIO_Set driver_gpio.o
0x080007f6 0x080007f6 0x00000002 PAD
0x080007f8 0x080007f8 0x00000070 Code RO 138 i.MyTimer_ActiveIT mytimer.o
0x08000868 0x08000868 0x0000007c Code RO 139 i.MyTimer_Base_Init mytimer.o
0x080008e4 0x080008e4 0x0000008c Code RO 140 i.MyTimer_EncoderMode_Conf mytimer.o
0x08000970 0x08000970 0x00000078 Code RO 141 i.MyTimer_PWM mytimer.o
0x080009e8 0x080009e8 0x00000014 Code RO 299 i.Roulis_Handler bordage.o
0x080009fc 0x080009fc 0x0000003c Code RO 90 i.SPI_activate_clock driver_spi.o
0x08000a38 0x08000a38 0x000000c8 Code RO 91 i.SPI_init_master driver_spi.o
0x08000b00 0x08000b00 0x00000024 Code RO 92 i.SPI_rcv driver_spi.o
0x08000b24 0x08000b24 0x0000001e Code RO 93 i.SPI_send driver_spi.o
0x08000b42 0x08000b42 0x00000008 Code RO 409 i.SetSysClock system_stm32f10x.o
0x08000b4a 0x08000b4a 0x00000002 PAD
0x08000b4c 0x08000b4c 0x000000e0 Code RO 410 i.SetSysClockTo72 system_stm32f10x.o
0x08000c2c 0x08000c2c 0x0000004c Code RO 142 i.Set_Duty_Cycle mytimer.o
0x08000c78 0x08000c78 0x00000060 Code RO 412 i.SystemInit system_stm32f10x.o
0x08000cd8 0x08000cd8 0x00000024 Code RO 143 i.TIM1_UP_IRQHandler mytimer.o
0x08000cfc 0x08000cfc 0x00000024 Code RO 144 i.TIM2_IRQHandler mytimer.o
0x08000d20 0x08000d20 0x00000024 Code RO 145 i.TIM3_IRQHandler mytimer.o
0x08000d44 0x08000d44 0x00000024 Code RO 146 i.TIM4_IRQHandler mytimer.o
0x08000d68 0x08000d68 0x0000000e Code RO 502 i.__scatterload_copy mc_w.l(handlers.o)
0x08000d76 0x08000d76 0x00000002 Code RO 503 i.__scatterload_null mc_w.l(handlers.o)
0x08000d78 0x08000d78 0x0000000e Code RO 504 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x08000d86 0x08000d86 0x00000002 PAD
0x08000d88 0x08000d88 0x00000068 Code RO 300 i.bordage bordage.o
0x08000df0 0x08000df0 0x00000078 Code RO 301 i.calcul_angle_voile bordage.o
0x08000e68 0x08000e68 0x00000030 Code RO 252 i.chavirement_handler chavirement.o
0x08000e98 0x08000e98 0x00000024 Code RO 253 i.chavirement_init chavirement.o
0x08000ebc 0x08000ebc 0x00000040 Code RO 254 i.ecrire chavirement.o
0x08000efc 0x08000efc 0x00000044 Code RO 302 i.init_bordage bordage.o
0x08000f40 0x08000f40 0x00000050 Code RO 303 i.init_codeur_incr bordage.o
0x08000f90 0x08000f90 0x00000070 Code RO 304 i.init_exti_interrupt bordage.o
0x08001000 0x08001000 0x00000044 Code RO 255 i.lire chavirement.o
0x08001044 0x08001044 0x00000022 Code RO 216 i.main principal.o
0x08001066 0x08001066 0x00000002 PAD
0x08001068 0x08001068 0x00000054 Code RO 369 i.tourniquet_handler tourniquet.o
0x080010bc 0x080010bc 0x0000002c Code RO 370 i.tourniquet_init tourniquet.o
0x080010e8 0x080010e8 0x00000020 Data RO 500 Region$$Table anon$$obj.o
0x08000000 0x08000000 0x000000ec Data RO 473 RESET startup_stm32f10x_md.o
0x080000ec 0x080000ec 0x00000000 Code RO 524 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
0x080000ec 0x080000ec 0x00000004 Code RO 553 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
0x080000f0 0x080000f0 0x00000004 Code RO 556 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
0x080000f4 0x080000f4 0x00000000 Code RO 558 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
0x080000f4 0x080000f4 0x00000000 Code RO 560 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
0x080000f4 0x080000f4 0x00000008 Code RO 561 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
0x080000fc 0x080000fc 0x00000004 Code RO 568 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o)
0x08000100 0x08000100 0x00000000 Code RO 563 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o)
0x08000100 0x08000100 0x00000000 Code RO 565 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o)
0x08000100 0x08000100 0x00000004 Code RO 554 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
0x08000104 0x08000104 0x00000024 Code RO 474 * .text startup_stm32f10x_md.o
0x08000128 0x08000128 0x00000064 Code RO 527 .text mf_w.l(fmul.o)
0x0800018c 0x0800018c 0x0000007c Code RO 529 .text mf_w.l(fdiv.o)
0x08000208 0x08000208 0x0000014e Code RO 531 .text mf_w.l(dadd.o)
0x08000356 0x08000356 0x000000e4 Code RO 533 .text mf_w.l(dmul.o)
0x0800043a 0x0800043a 0x000000de Code RO 535 .text mf_w.l(ddiv.o)
0x08000518 0x08000518 0x00000012 Code RO 537 .text mf_w.l(fflti.o)
0x0800052a 0x0800052a 0x0000000a Code RO 539 .text mf_w.l(ffltui.o)
0x08000534 0x08000534 0x00000022 Code RO 541 .text mf_w.l(dflti.o)
0x08000556 0x08000556 0x00000028 Code RO 543 .text mf_w.l(ffixui.o)
0x0800057e 0x0800057e 0x00000026 Code RO 545 .text mf_w.l(f2d.o)
0x080005a4 0x080005a4 0x00000030 Code RO 547 .text mf_w.l(cdcmple.o)
0x080005d4 0x080005d4 0x00000030 Code RO 549 .text mf_w.l(cdrcmple.o)
0x08000604 0x08000604 0x00000038 Code RO 551 .text mf_w.l(d2f.o)
0x0800063c 0x0800063c 0x0000001e Code RO 569 .text mc_w.l(llshl.o)
0x0800065a 0x0800065a 0x00000024 Code RO 571 .text mc_w.l(llsshr.o)
0x0800067e 0x0800067e 0x00000000 Code RO 573 .text mc_w.l(iusefp.o)
0x0800067e 0x0800067e 0x0000006e Code RO 574 .text mf_w.l(fepilogue.o)
0x080006ec 0x080006ec 0x000000ba Code RO 576 .text mf_w.l(depilogue.o)
0x080007a6 0x080007a6 0x00000002 PAD
0x080007a8 0x080007a8 0x00000024 Code RO 578 .text mc_w.l(init.o)
0x080007cc 0x080007cc 0x00000020 Code RO 580 .text mc_w.l(llushr.o)
0x080007ec 0x080007ec 0x0000001c Code RO 333 i.EXTI9_5_IRQHandler bordage.o
0x08000808 0x08000808 0x00000040 Code RO 334 i.IT_bordage_auto bordage.o
0x08000848 0x08000848 0x0000004c Code RO 216 i.MyADC_Init myadc.o
0x08000894 0x08000894 0x00000018 Code RO 4 i.MyGPIO_Activate driver_gpio.o
0x080008ac 0x080008ac 0x000000a6 Code RO 5 i.MyGPIO_Init driver_gpio.o
0x08000952 0x08000952 0x0000000c Code RO 7 i.MyGPIO_Reset driver_gpio.o
0x0800095e 0x0800095e 0x00000008 Code RO 8 i.MyGPIO_Set driver_gpio.o
0x08000966 0x08000966 0x00000002 PAD
0x08000968 0x08000968 0x00000070 Code RO 138 i.MyTimer_ActiveIT mytimer.o
0x080009d8 0x080009d8 0x0000007c Code RO 139 i.MyTimer_Base_Init mytimer.o
0x08000a54 0x08000a54 0x00000098 Code RO 140 i.MyTimer_EncoderMode_Conf mytimer.o
0x08000aec 0x08000aec 0x00000078 Code RO 141 i.MyTimer_PWM mytimer.o
0x08000b64 0x08000b64 0x00000014 Code RO 335 i.Roulis_Handler bordage.o
0x08000b78 0x08000b78 0x0000003c Code RO 90 i.SPI_activate_clock driver_spi.o
0x08000bb4 0x08000bb4 0x000000c8 Code RO 91 i.SPI_init_master driver_spi.o
0x08000c7c 0x08000c7c 0x00000024 Code RO 92 i.SPI_rcv driver_spi.o
0x08000ca0 0x08000ca0 0x0000001e Code RO 93 i.SPI_send driver_spi.o
0x08000cbe 0x08000cbe 0x00000008 Code RO 481 i.SetSysClock system_stm32f10x.o
0x08000cc6 0x08000cc6 0x00000002 PAD
0x08000cc8 0x08000cc8 0x000000e0 Code RO 482 i.SetSysClockTo72 system_stm32f10x.o
0x08000da8 0x08000da8 0x000000a4 Code RO 142 i.Set_Duty_Cycle mytimer.o
0x08000e4c 0x08000e4c 0x00000060 Code RO 484 i.SystemInit system_stm32f10x.o
0x08000eac 0x08000eac 0x00000024 Code RO 143 i.TIM1_UP_IRQHandler mytimer.o
0x08000ed0 0x08000ed0 0x00000024 Code RO 144 i.TIM2_IRQHandler mytimer.o
0x08000ef4 0x08000ef4 0x00000024 Code RO 145 i.TIM3_IRQHandler mytimer.o
0x08000f18 0x08000f18 0x00000024 Code RO 146 i.TIM4_IRQHandler mytimer.o
0x08000f3c 0x08000f3c 0x0000000e Code RO 584 i.__scatterload_copy mc_w.l(handlers.o)
0x08000f4a 0x08000f4a 0x00000002 Code RO 585 i.__scatterload_null mc_w.l(handlers.o)
0x08000f4c 0x08000f4c 0x0000000e Code RO 586 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x08000f5a 0x08000f5a 0x00000002 PAD
0x08000f5c 0x08000f5c 0x00000060 Code RO 336 i.bordage bordage.o
0x08000fbc 0x08000fbc 0x000000c0 Code RO 337 i.calcul_angle_voile bordage.o
0x0800107c 0x0800107c 0x00000030 Code RO 288 i.chavirement_handler chavirement.o
0x080010ac 0x080010ac 0x00000024 Code RO 289 i.chavirement_init chavirement.o
0x080010d0 0x080010d0 0x0000003c Code RO 217 i.convert_single myadc.o
0x0800110c 0x0800110c 0x00000040 Code RO 290 i.ecrire chavirement.o
0x0800114c 0x0800114c 0x00000044 Code RO 435 i.get_battery_level batterie.o
0x08001190 0x08001190 0x00000014 Code RO 436 i.handle_check_battery batterie.o
0x080011a4 0x080011a4 0x0000002c Code RO 437 i.init_battery batterie.o
0x080011d0 0x080011d0 0x00000050 Code RO 338 i.init_bordage bordage.o
0x08001220 0x08001220 0x00000050 Code RO 339 i.init_codeur_incr bordage.o
0x08001270 0x08001270 0x00000070 Code RO 340 i.init_exti_interrupt bordage.o
0x080012e0 0x080012e0 0x00000044 Code RO 291 i.lire chavirement.o
0x08001324 0x08001324 0x0000002c Code RO 249 i.main principal.o
0x08001350 0x08001350 0x00000064 Code RO 402 i.tourniquet_handler tourniquet.o
0x080013b4 0x080013b4 0x0000002c Code RO 403 i.tourniquet_init tourniquet.o
0x080013e0 0x080013e0 0x00000020 Data RO 582 Region$$Table anon$$obj.o
Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08001108, Size: 0x00000024, Max: 0xffffffff, ABSOLUTE)
Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08001400, Size: 0x00000030, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x08001108 0x00000008 Data RW 94 .data driver_spi.o
0x20000008 0x08001110 0x00000004 Data RW 147 .data mytimer.o
0x2000000c 0x08001114 0x00000008 Data RW 256 .data chavirement.o
0x20000014 0x0800111c 0x00000004 Data RW 305 .data bordage.o
0x20000018 0x08001120 0x0000000c Data RW 371 .data tourniquet.o
0x20000000 0x08001400 0x00000008 Data RW 94 .data driver_spi.o
0x20000008 0x08001408 0x00000004 Data RW 147 .data mytimer.o
0x2000000c 0x0800140c 0x00000004 Data RW 250 .data principal.o
0x20000010 0x08001410 0x00000008 Data RW 292 .data chavirement.o
0x20000018 0x08001418 0x00000004 Data RW 341 .data bordage.o
0x2000001c 0x0800141c 0x00000010 Data RW 404 .data tourniquet.o
0x2000002c 0x0800142c 0x00000004 Data RW 438 .data batterie.o
Execution Region ER_ZI (Exec base: 0x20000024, Load base: 0x0800112c, Size: 0x00000404, Max: 0xffffffff, ABSOLUTE)
Execution Region ER_ZI (Exec base: 0x20000030, Load base: 0x08001430, Size: 0x00000400, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000024 0x0800112c 0x00000004 PAD
0x20000028 - 0x00000400 Zero RW 399 STACK startup_stm32f10x_md.o
0x20000030 - 0x00000400 Zero RW 471 STACK startup_stm32f10x_md.o
==============================================================================
@ -539,20 +618,22 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
592 84 0 4 0 4555 bordage.o
132 26 0 4 0 1858 batterie.o
672 100 0 4 0 4535 bordage.o
216 36 0 8 0 2666 chavirement.o
210 6 0 0 0 209488 driver_gpio.o
326 16 0 8 0 2884 driver_spi.o
716 74 0 4 0 6131 mytimer.o
34 0 0 0 0 499 principal.o
136 14 0 0 0 990 myadc.o
816 82 0 4 0 6203 mytimer.o
44 6 0 4 0 779 principal.o
36 8 236 0 1024 852 startup_stm32f10x_md.o
328 28 0 0 0 2149 system_stm32f10x.o
128 36 0 12 0 1804 tourniquet.o
144 40 0 16 0 1888 tourniquet.o
----------------------------------------------------------------------
2592 288 268 36 1028 231028 Object Totals
3064 362 268 48 1024 234292 Object Totals
0 0 32 0 0 0 (incl. Generated)
6 0 0 0 4 0 (incl. Padding)
4 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
@ -573,30 +654,35 @@ Image component sizes
30 0 0 0 0 68 llshl.o
36 0 0 0 0 68 llsshr.o
32 0 0 0 0 68 llushr.o
48 0 0 0 0 68 cdcmple.o
48 0 0 0 0 68 cdrcmple.o
56 0 0 0 0 88 d2f.o
334 0 0 0 0 148 dadd.o
222 0 0 0 0 100 ddiv.o
186 0 0 0 0 176 depilogue.o
62 0 0 0 0 80 dfixi.o
34 0 0 0 0 76 dflti.o
228 0 0 0 0 96 dmul.o
38 0 0 0 0 68 f2d.o
124 0 0 0 0 88 fdiv.o
110 0 0 0 0 168 fepilogue.o
40 0 0 0 0 68 ffixui.o
18 0 0 0 0 68 fflti.o
10 0 0 0 0 68 ffltui.o
100 0 0 0 0 76 fmul.o
----------------------------------------------------------------------
1500 16 0 0 0 1340 Library Totals
2 0 0 0 0 0 (incl. Padding)
1788 16 0 0 0 1696 Library Totals
4 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
188 16 0 0 0 272 mc_w.l
1310 0 0 0 0 1068 mf_w.l
1596 0 0 0 0 1424 mf_w.l
----------------------------------------------------------------------
1500 16 0 0 0 1340 Library Totals
1788 16 0 0 0 1696 Library Totals
----------------------------------------------------------------------
@ -605,15 +691,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
4092 304 268 36 1028 230232 Grand Totals
4092 304 268 36 1028 230232 ELF Image Totals
4092 304 268 36 0 0 ROM Totals
4852 378 268 48 1024 233332 Grand Totals
4852 378 268 48 1024 233332 ELF Image Totals
4852 378 268 48 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 4360 ( 4.26kB)
Total RW Size (RW Data + ZI Data) 1064 ( 1.04kB)
Total ROM Size (Code + RO Data + RW Data) 4396 ( 4.29kB)
Total RO Size (Code + RO Data) 5120 ( 5.00kB)
Total RW Size (RW Data + ZI Data) 1072 ( 1.05kB)
Total ROM Size (Code + RO Data + RW Data) 5168 ( 5.05kB)
==============================================================================

View file

@ -6,14 +6,17 @@
#include "Driver_GPIO.h"
#endif
#ifndef BATTERIE_H
#include "batterie.h"
#endif
#include "bordage.h"
#include "tourniquet.h"
uint16_t value = 0;
float battery_level_general = 0.0;
int main(void) {
int i = 0;
//on init le GPIO A
MyGPIO_Activate(1);
MyGPIO_Activate(2);
@ -22,6 +25,7 @@ int main(void) {
init_codeur_incr();
chavirement_init();
init_battery(&battery_level_general);
tourniquet_init();
while(1) {}
}

Binary file not shown.

View file

@ -0,0 +1,11 @@
.\objects\batterie.o: ..\Sources\batterie.c
.\objects\batterie.o: ..\Drivers\Driver_GPIO.h
.\objects\batterie.o: C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h
.\objects\batterie.o: .\RTE\_CarteSTM\RTE_Components.h
.\objects\batterie.o: C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h
.\objects\batterie.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\batterie.o: C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h
.\objects\batterie.o: C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h
.\objects\batterie.o: C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h
.\objects\batterie.o: C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h
.\objects\batterie.o: ..\Drivers\MyADC.h

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,10 @@
.\objects\myadc.o: ..\Drivers\MyADC.c
.\objects\myadc.o: ..\Drivers\MyADC.h
.\objects\myadc.o: C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h
.\objects\myadc.o: .\RTE\_CarteSTM\RTE_Components.h
.\objects\myadc.o: C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h
.\objects\myadc.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\myadc.o: C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h
.\objects\myadc.o: C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h
.\objects\myadc.o: C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h
.\objects\myadc.o: C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h

BIN
Keil_Commun/Objects/myadc.o Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -9,5 +9,6 @@
.\objects\principal.o: C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h
.\objects\principal.o: C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h
.\objects\principal.o: ..\Drivers\Driver_GPIO.h
.\objects\principal.o: ..\Sources\batterie.h
.\objects\principal.o: ..\Sources\bordage.h
.\objects\principal.o: ..\Sources\tourniquet.h

Binary file not shown.

View file

@ -22,26 +22,32 @@ Dialog DLL: TARMSTM.DLL V1.66.0.0
<h2>Project:</h2>
C:\Users\chauz\Documents_non_drive\INSA\4A\S7\projet_voilier\projet_voilier\Keil_Commun\projet_chavirement.uvprojx
Project File Date: 11/15/2021
Project File Date: 11/18/2021
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'CarteSTM'
compiling MyTimer.c...
compiling Driver_GPIO.c...
compiling MyADC.c...
..\Drivers\MyADC.c(18): warning: #1-D: last line of file ends without a newline
}
..\Drivers\MyADC.c: 1 warning, 0 errors
compiling principal.c...
..\Sources\batterie.h(8): warning: #1295-D: Deprecated declaration get_battery_level - give arg types
float get_battery_level() ;
..\Sources\batterie.h(10): warning: #1295-D: Deprecated declaration handle_check_battery - give arg types
void handle_check_battery();
..\Sources\batterie.h(12): warning: #1-D: last line of file ends without a newline
#endif
..\Sources\bordage.h(45): warning: #1-D: last line of file ends without a newline
#endif
..\Sources\tourniquet.h(6): warning: #1295-D: Deprecated declaration tourniquet_init - give arg types
void tourniquet_init() ;
..\Sources\tourniquet.h(7): warning: #1295-D: Deprecated declaration tourniquet_handler - give arg types
void tourniquet_handler() ;
..\Sources\tourniquet.h(9): warning: #1-D: last line of file ends without a newline
#endif
Local_Sources\principal.c(16): warning: #177-D: variable "i" was declared but never referenced
int i = 0;
Local_Sources\principal.c: 4 warnings, 0 errors
compiling tourniquet.c...
..\Sources\tourniquet.c(35): warning: #1-D: last line of file ends without a newline
}
..\Sources\tourniquet.c: 1 warning, 0 errors
Local_Sources\principal.c: 7 warnings, 0 errors
compiling Driver_SPI.c...
..\Drivers\Driver_SPI.c(80): warning: #550-D: variable "a" was set but never used
int a;
@ -49,13 +55,46 @@ compiling Driver_SPI.c...
int a;
..\Drivers\Driver_SPI.c: 2 warnings, 0 errors
compiling chavirement.c...
..\Sources\bordage.h(45): warning: #1-D: last line of file ends without a newline
#endif
..\Sources\chavirement.c: 1 warning, 0 errors
compiling bordage.c...
compiling Driver_GPIO.c...
..\Drivers\MyTimer.h(79): warning: #1-D: last line of file ends without a newline
#endif
..\Sources\bordage.h(45): warning: #1-D: last line of file ends without a newline
#endif
..\Sources\bordage.c(120): warning: #1-D: last line of file ends without a newline
}
..\Sources\bordage.c: 3 warnings, 0 errors
compiling MyTimer.c...
..\Drivers\MyTimer.h(79): warning: #1-D: last line of file ends without a newline
#endif
..\Drivers\MyTimer.c(148): warning: #1-D: last line of file ends without a newline
}
..\Drivers\MyTimer.c: 2 warnings, 0 errors
assembling startup_stm32f10x_md.s...
compiling tourniquet.c...
..\Sources\batterie.h(8): warning: #1295-D: Deprecated declaration get_battery_level - give arg types
float get_battery_level() ;
..\Sources\batterie.h(10): warning: #1295-D: Deprecated declaration handle_check_battery - give arg types
void handle_check_battery();
..\Sources\batterie.h(12): warning: #1-D: last line of file ends without a newline
#endif
..\Sources\bordage.h(45): warning: #1-D: last line of file ends without a newline
#endif
..\Drivers\MyTimer.h(79): warning: #1-D: last line of file ends without a newline
#endif
..\Sources\tourniquet.c(40): warning: #1-D: last line of file ends without a newline
}
..\Sources\tourniquet.c: 6 warnings, 0 errors
compiling batterie.c...
..\Sources\batterie.c(31): warning: #1-D: last line of file ends without a newline
}
..\Sources\batterie.c: 1 warning, 0 errors
compiling system_stm32f10x.c...
linking...
Program Size: Code=4092 RO-data=268 RW-data=36 ZI-data=1028
".\Objects\projet_chavirement.axf" - 0 Error(s), 7 Warning(s).
Program Size: Code=4852 RO-data=268 RW-data=48 ZI-data=1024
".\Objects\projet_chavirement.axf" - 0 Error(s), 23 Warning(s).
<h2>Software Packages used:</h2>

View file

@ -3,7 +3,7 @@
<title>Static Call Graph - [.\Objects\projet_chavirement.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Objects\projet_chavirement.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Mon Nov 15 12:21:34 2021
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Thu Nov 18 11:59:20 2021
<BR><P>
<H3>Maximum Stack Usage = 152 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@ -51,7 +51,8 @@ Function Pointers
<LI><a href="#[29]">I2C1_EV_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2c]">I2C2_ER_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2b]">I2C2_EV_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[3a]">IT_bordage_auto</a> from bordage.o(i.IT_bordage_auto) referenced from tourniquet.o(.data)
<LI><a href="#[38]">IT_bordage_auto</a> from bordage.o(i.IT_bordage_auto) referenced from tourniquet.o(.data)
<LI><a href="#[38]">IT_bordage_auto</a> from bordage.o(i.IT_bordage_auto) referenced from bordage.o(i.init_bordage)
<LI><a href="#[3]">MemManage_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[1]">NMI_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[b]">PVD_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
@ -59,7 +60,7 @@ Function Pointers
<LI><a href="#[f]">RCC_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[33]">RTCAlarm_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[d]">RTC_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[3b]">Reset_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[3c]">Reset_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2d]">SPI1_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2e]">SPI2_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[6]">SVC_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
@ -82,9 +83,10 @@ Function Pointers
<LI><a href="#[5]">UsageFault_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[a]">WWDG_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[37]">__main</a> from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f10x_md.o(.text)
<LI><a href="#[39]">chavirement_handler</a> from chavirement.o(i.chavirement_handler) referenced from tourniquet.o(.data)
<LI><a href="#[3a]">chavirement_handler</a> from chavirement.o(i.chavirement_handler) referenced from tourniquet.o(.data)
<LI><a href="#[3b]">handle_check_battery</a> from batterie.o(i.handle_check_battery) referenced from tourniquet.o(.data)
<LI><a href="#[35]">main</a> from principal.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
<LI><a href="#[38]">tourniquet_handler</a> from tourniquet.o(i.tourniquet_handler) referenced from tourniquet.o(i.tourniquet_init)
<LI><a href="#[39]">tourniquet_handler</a> from tourniquet.o(i.tourniquet_handler) referenced from tourniquet.o(i.tourniquet_init)
</UL>
<P>
<H3>
@ -93,29 +95,29 @@ Global Symbols
<P><STRONG><a name="[37]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(.text)
</UL>
<P><STRONG><a name="[68]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[73]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[3c]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
<P><STRONG><a name="[3d]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[4c]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Called By]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
<P><STRONG><a name="[50]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Called By]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[69]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[74]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[6a]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[75]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[6b]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[76]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[6c]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
<P><STRONG><a name="[77]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
<P><STRONG><a name="[6d]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[78]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[6e]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
<P><STRONG><a name="[79]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
<P><STRONG><a name="[3b]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<P><STRONG><a name="[3c]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<P><STRONG><a name="[1]"></a>NMI_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NMI_Handler
@ -298,233 +300,292 @@ Global Symbols
<P><STRONG><a name="[a]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[3e]"></a>__aeabi_dadd</STRONG> (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text))
<P><STRONG><a name="[5b]"></a>__aeabi_fmul</STRONG> (Thumb, 100 bytes, Stack size 8 bytes, fmul.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __aeabi_fmul
</UL>
<BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Duty_Cycle
</UL>
<P><STRONG><a name="[3f]"></a>__aeabi_fdiv</STRONG> (Thumb, 124 bytes, Stack size 8 bytes, fdiv.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __aeabi_fdiv
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_float_round
</UL>
<BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Duty_Cycle
</UL>
<P><STRONG><a name="[41]"></a>__aeabi_dadd</STRONG> (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = __aeabi_dadd &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_lasr
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_round
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<BR>[Calls]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_lasr
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_round
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dsub
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_drsub
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
<BR>[Called By]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dsub
<LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_drsub
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
</UL>
<P><STRONG><a name="[43]"></a>__aeabi_dsub</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<P><STRONG><a name="[46]"></a>__aeabi_dsub</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = __aeabi_dsub &rArr; __aeabi_dadd &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<BR>[Called By]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calcul_angle_voile
</UL>
<P><STRONG><a name="[44]"></a>__aeabi_drsub</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text))
<P><STRONG><a name="[47]"></a>__aeabi_drsub</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = __aeabi_drsub &rArr; __aeabi_dadd &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<BR>[Calls]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<BR>[Called By]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
<BR>[Called By]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calcul_angle_voile
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
</UL>
<P><STRONG><a name="[45]"></a>__aeabi_dmul</STRONG> (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text))
<P><STRONG><a name="[48]"></a>__aeabi_dmul</STRONG> (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = __aeabi_dmul &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<BR>[Calls]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calcul_angle_voile
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_battery_level
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calcul_angle_voile
</UL>
<P><STRONG><a name="[46]"></a>__aeabi_ddiv</STRONG> (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text))
<P><STRONG><a name="[49]"></a>__aeabi_ddiv</STRONG> (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = __aeabi_ddiv &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_round
<BR>[Calls]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_round
</UL>
<BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calcul_angle_voile
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_battery_level
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calcul_angle_voile
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
</UL>
<P><STRONG><a name="[47]"></a>__aeabi_i2d</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, dflti.o(.text))
<P><STRONG><a name="[4a]"></a>__aeabi_i2f</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, fflti.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = __aeabi_i2f &rArr; _float_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_float_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IT_bordage_auto
</UL>
<P><STRONG><a name="[4c]"></a>__aeabi_ui2f</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, ffltui.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = __aeabi_ui2f &rArr; _float_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_float_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Duty_Cycle
</UL>
<P><STRONG><a name="[4d]"></a>__aeabi_i2d</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, dflti.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = __aeabi_i2d &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<BR>[Calls]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calcul_angle_voile
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_battery_level
</UL>
<P><STRONG><a name="[57]"></a>__aeabi_f2uiz</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, ffixui.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
<P><STRONG><a name="[5c]"></a>__aeabi_f2uiz</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, ffixui.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Duty_Cycle
</UL>
<P><STRONG><a name="[48]"></a>__aeabi_d2iz</STRONG> (Thumb, 62 bytes, Stack size 16 bytes, dfixi.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __aeabi_d2iz
</UL>
<BR>[Calls]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsr
</UL>
<BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calcul_angle_voile
<P><STRONG><a name="[5d]"></a>__aeabi_f2d</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, f2d.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calcul_angle_voile
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
</UL>
<P><STRONG><a name="[56]"></a>__aeabi_f2d</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, f2d.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
<P><STRONG><a name="[7a]"></a>__aeabi_cdcmpeq</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text), UNUSED)
<P><STRONG><a name="[5e]"></a>__aeabi_cdcmple</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, cdcmple.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calcul_angle_voile
</UL>
<P><STRONG><a name="[4a]"></a>__aeabi_d2f</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text))
<P><STRONG><a name="[5f]"></a>__aeabi_cdrcmple</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, cdrcmple.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calcul_angle_voile
</UL>
<P><STRONG><a name="[4e]"></a>__aeabi_d2f</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __aeabi_d2f
</UL>
<BR>[Calls]<UL><LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_float_round
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_float_round
</UL>
<BR>[Called By]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_battery_level
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calcul_angle_voile
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
</UL>
<P><STRONG><a name="[3f]"></a>__aeabi_llsl</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<P><STRONG><a name="[42]"></a>__aeabi_llsl</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<P><STRONG><a name="[6f]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
<P><STRONG><a name="[7b]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
<P><STRONG><a name="[49]"></a>__aeabi_llsr</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2iz
<P><STRONG><a name="[43]"></a>__aeabi_lasr</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<P><STRONG><a name="[70]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
<P><STRONG><a name="[7c]"></a>_ll_sshift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
<P><STRONG><a name="[40]"></a>__aeabi_lasr</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<P><STRONG><a name="[7d]"></a>__I$use$fp</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)
<P><STRONG><a name="[40]"></a>_float_round</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, fepilogue.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2f
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_fdiv
</UL>
<P><STRONG><a name="[71]"></a>_ll_sshift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
<P><STRONG><a name="[72]"></a>__I$use$fp</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)
<P><STRONG><a name="[4b]"></a>_float_round</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, fepilogue.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2f
<P><STRONG><a name="[4b]"></a>_float_epilogue</STRONG> (Thumb, 92 bytes, Stack size 4 bytes, fepilogue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = _float_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2f
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ui2f
</UL>
<P><STRONG><a name="[73]"></a>_float_epilogue</STRONG> (Thumb, 92 bytes, Stack size 4 bytes, fepilogue.o(.text), UNUSED)
<P><STRONG><a name="[42]"></a>_double_round</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text))
<P><STRONG><a name="[45]"></a>_double_round</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = _double_round
</UL>
<BR>[Called By]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<BR>[Called By]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<P><STRONG><a name="[41]"></a>_double_epilogue</STRONG> (Thumb, 156 bytes, Stack size 32 bytes, depilogue.o(.text))
<P><STRONG><a name="[44]"></a>_double_epilogue</STRONG> (Thumb, 156 bytes, Stack size 32 bytes, depilogue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsr
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_round
<BR>[Calls]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsr
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_round
</UL>
<BR>[Called By]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2d
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2d
<LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<P><STRONG><a name="[3d]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
<P><STRONG><a name="[3e]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
</UL>
<BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
<BR>[Called By]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL>
<P><STRONG><a name="[74]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[7e]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[4f]"></a>__aeabi_llsr</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>
<P><STRONG><a name="[7f]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
<P><STRONG><a name="[21]"></a>EXTI9_5_IRQHandler</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, bordage.o(i.EXTI9_5_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[3a]"></a>IT_bordage_auto</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, bordage.o(i.IT_bordage_auto))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = IT_bordage_auto &rArr; bordage &rArr; __aeabi_drsub &rArr; __aeabi_dadd &rArr; _double_epilogue &rArr; _double_round
<P><STRONG><a name="[38]"></a>IT_bordage_auto</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, bordage.o(i.IT_bordage_auto))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = IT_bordage_auto &rArr; calcul_angle_voile &rArr; __aeabi_dsub &rArr; __aeabi_dadd &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calcul_angle_voile
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
<BR>[Calls]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2f
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calcul_angle_voile
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
</UL>
<BR>[Address Reference Count : 1]<UL><LI> tourniquet.o(.data)
<BR>[Address Reference Count : 2]<UL><LI> bordage.o(i.init_bordage)
<LI> tourniquet.o(.data)
</UL>
<P><STRONG><a name="[65]"></a>MyGPIO_Activate</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Activate))
<P><STRONG><a name="[68]"></a>MyADC_Init</STRONG> (Thumb, 66 bytes, Stack size 0 bytes, myadc.o(i.MyADC_Init))
<BR><BR>[Called By]<UL><LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_battery
</UL>
<P><STRONG><a name="[71]"></a>MyGPIO_Activate</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Activate))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[4f]"></a>MyGPIO_Init</STRONG> (Thumb, 166 bytes, Stack size 4 bytes, driver_gpio.o(i.MyGPIO_Init))
<P><STRONG><a name="[53]"></a>MyGPIO_Init</STRONG> (Thumb, 166 bytes, Stack size 4 bytes, driver_gpio.o(i.MyGPIO_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = MyGPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Set
<BR>[Calls]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Set
</UL>
<BR>[Called By]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_codeur_incr
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_bordage
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_init_master
<BR>[Called By]<UL><LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_codeur_incr
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_bordage
<LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_battery
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_init_master
</UL>
<P><STRONG><a name="[5c]"></a>MyGPIO_Reset</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Reset))
<BR><BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;lire
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ecrire
<P><STRONG><a name="[63]"></a>MyGPIO_Reset</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Reset))
<BR><BR>[Called By]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;lire
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ecrire
</UL>
<P><STRONG><a name="[50]"></a>MyGPIO_Set</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Set))
<BR><BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;lire
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ecrire
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_init_master
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
<P><STRONG><a name="[54]"></a>MyGPIO_Set</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, driver_gpio.o(i.MyGPIO_Set))
<BR><BR>[Called By]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;lire
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ecrire
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_init_master
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
</UL>
<P><STRONG><a name="[67]"></a>MyTimer_ActiveIT</STRONG> (Thumb, 88 bytes, Stack size 12 bytes, mytimer.o(i.MyTimer_ActiveIT))
<P><STRONG><a name="[6c]"></a>MyTimer_ActiveIT</STRONG> (Thumb, 88 bytes, Stack size 12 bytes, mytimer.o(i.MyTimer_ActiveIT))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = MyTimer_ActiveIT
</UL>
<BR>[Called By]<UL><LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tourniquet_init
<BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tourniquet_init
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_bordage
</UL>
<P><STRONG><a name="[5f]"></a>MyTimer_Base_Init</STRONG> (Thumb, 106 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_Base_Init))
<BR><BR>[Called By]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_bordage
<P><STRONG><a name="[6a]"></a>MyTimer_Base_Init</STRONG> (Thumb, 106 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_Base_Init))
<BR><BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_bordage
</UL>
<P><STRONG><a name="[63]"></a>MyTimer_EncoderMode_Conf</STRONG> (Thumb, 136 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_EncoderMode_Conf))
<BR><BR>[Called By]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_codeur_incr
<P><STRONG><a name="[6f]"></a>MyTimer_EncoderMode_Conf</STRONG> (Thumb, 146 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_EncoderMode_Conf))
<BR><BR>[Called By]<UL><LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_codeur_incr
</UL>
<P><STRONG><a name="[60]"></a>MyTimer_PWM</STRONG> (Thumb, 120 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_PWM))
<BR><BR>[Called By]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_bordage
<P><STRONG><a name="[6b]"></a>MyTimer_PWM</STRONG> (Thumb, 120 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_PWM))
<BR><BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_bordage
</UL>
<P><STRONG><a name="[51]"></a>Roulis_Handler</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, bordage.o(i.Roulis_Handler))
<P><STRONG><a name="[55]"></a>Roulis_Handler</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, bordage.o(i.Roulis_Handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = Roulis_Handler &rArr; bordage &rArr; __aeabi_drsub &rArr; __aeabi_dadd &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
<BR>[Calls]<UL><LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
</UL>
<BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chavirement_handler
<BR>[Called By]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chavirement_handler
</UL>
<P><STRONG><a name="[53]"></a>SPI_activate_clock</STRONG> (Thumb, 54 bytes, Stack size 0 bytes, driver_spi.o(i.SPI_activate_clock))
<BR><BR>[Called By]<UL><LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_init_master
<P><STRONG><a name="[57]"></a>SPI_activate_clock</STRONG> (Thumb, 54 bytes, Stack size 0 bytes, driver_spi.o(i.SPI_activate_clock))
<BR><BR>[Called By]<UL><LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_init_master
</UL>
<P><STRONG><a name="[52]"></a>SPI_init_master</STRONG> (Thumb, 190 bytes, Stack size 8 bytes, driver_spi.o(i.SPI_init_master))
<P><STRONG><a name="[56]"></a>SPI_init_master</STRONG> (Thumb, 190 bytes, Stack size 8 bytes, driver_spi.o(i.SPI_init_master))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = SPI_init_master &rArr; MyGPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_activate_clock
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Set
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
<BR>[Calls]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_activate_clock
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Set
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chavirement_init
<BR>[Called By]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chavirement_init
</UL>
<P><STRONG><a name="[64]"></a>SPI_rcv</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, driver_spi.o(i.SPI_rcv))
<BR><BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;lire
<P><STRONG><a name="[70]"></a>SPI_rcv</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, driver_spi.o(i.SPI_rcv))
<BR><BR>[Called By]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;lire
</UL>
<P><STRONG><a name="[5d]"></a>SPI_send</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, driver_spi.o(i.SPI_send))
<BR><BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;lire
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ecrire
<P><STRONG><a name="[64]"></a>SPI_send</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, driver_spi.o(i.SPI_send))
<BR><BR>[Called By]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;lire
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ecrire
</UL>
<P><STRONG><a name="[58]"></a>Set_Duty_Cycle</STRONG> (Thumb, 76 bytes, Stack size 8 bytes, mytimer.o(i.Set_Duty_Cycle))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = Set_Duty_Cycle
<P><STRONG><a name="[5a]"></a>Set_Duty_Cycle</STRONG> (Thumb, 158 bytes, Stack size 32 bytes, mytimer.o(i.Set_Duty_Cycle))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = Set_Duty_Cycle &rArr; __aeabi_fmul
</UL>
<BR>[Called By]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
<BR>[Calls]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ui2f
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_fmul
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_fdiv
<LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2uiz
</UL>
<BR>[Called By]<UL><LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;bordage
</UL>
<P><STRONG><a name="[36]"></a>SystemInit</STRONG> (Thumb, 78 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SystemInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = SystemInit &rArr; SetSysClock &rArr; SetSysClockTo72
</UL>
<BR>[Calls]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
<BR>[Calls]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(.text)
</UL>
@ -548,123 +609,159 @@ Global Symbols
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[75]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[80]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[76]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[81]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[77]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[82]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[4e]"></a>bordage</STRONG> (Thumb, 88 bytes, Stack size 40 bytes, bordage.o(i.bordage))
<P><STRONG><a name="[52]"></a>bordage</STRONG> (Thumb, 78 bytes, Stack size 40 bytes, bordage.o(i.bordage))
<BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = bordage &rArr; __aeabi_drsub &rArr; __aeabi_dadd &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2d
<LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2uiz
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2d
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_drsub
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2f
<LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Duty_Cycle
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2d
<LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_drsub
<LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2f
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Set_Duty_Cycle
</UL>
<BR>[Called By]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IT_bordage_auto
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Roulis_Handler
<BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IT_bordage_auto
<LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Roulis_Handler
</UL>
<P><STRONG><a name="[4d]"></a>calcul_angle_voile</STRONG> (Thumb, 112 bytes, Stack size 32 bytes, bordage.o(i.calcul_angle_voile))
<BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = calcul_angle_voile &rArr; __aeabi_dmul &rArr; _double_epilogue &rArr; _double_round
<P><STRONG><a name="[51]"></a>calcul_angle_voile</STRONG> (Thumb, 170 bytes, Stack size 40 bytes, bordage.o(i.calcul_angle_voile))
<BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = calcul_angle_voile &rArr; __aeabi_dsub &rArr; __aeabi_dadd &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2d
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2iz
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2d
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dsub
<LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_drsub
<LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2f
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdrcmple
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdcmple
</UL>
<BR>[Called By]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IT_bordage_auto
<BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IT_bordage_auto
</UL>
<P><STRONG><a name="[39]"></a>chavirement_handler</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, chavirement.o(i.chavirement_handler))
<P><STRONG><a name="[3a]"></a>chavirement_handler</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, chavirement.o(i.chavirement_handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = chavirement_handler &rArr; Roulis_Handler &rArr; bordage &rArr; __aeabi_drsub &rArr; __aeabi_dadd &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Roulis_Handler
<LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;lire
<BR>[Calls]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Roulis_Handler
<LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;lire
</UL>
<BR>[Address Reference Count : 1]<UL><LI> tourniquet.o(.data)
</UL>
<P><STRONG><a name="[5a]"></a>chavirement_init</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, chavirement.o(i.chavirement_init))
<P><STRONG><a name="[61]"></a>chavirement_init</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, chavirement.o(i.chavirement_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = chavirement_init &rArr; lire
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;lire
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ecrire
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_init_master
<BR>[Calls]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;lire
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ecrire
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_init_master
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[5b]"></a>ecrire</STRONG> (Thumb, 54 bytes, Stack size 16 bytes, chavirement.o(i.ecrire))
<P><STRONG><a name="[66]"></a>convert_single</STRONG> (Thumb, 56 bytes, Stack size 0 bytes, myadc.o(i.convert_single))
<BR><BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_battery_level
</UL>
<P><STRONG><a name="[62]"></a>ecrire</STRONG> (Thumb, 54 bytes, Stack size 16 bytes, chavirement.o(i.ecrire))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = ecrire
</UL>
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_send
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Set
<LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Reset
<BR>[Calls]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_send
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Set
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Reset
</UL>
<BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chavirement_init
<BR>[Called By]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chavirement_init
</UL>
<P><STRONG><a name="[5e]"></a>init_bordage</STRONG> (Thumb, 58 bytes, Stack size 24 bytes, bordage.o(i.init_bordage))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = init_bordage &rArr; MyGPIO_Init
<P><STRONG><a name="[65]"></a>get_battery_level</STRONG> (Thumb, 56 bytes, Stack size 40 bytes, batterie.o(i.get_battery_level))
<BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = get_battery_level &rArr; __aeabi_dmul &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_PWM
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Base_Init
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
<BR>[Calls]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2d
<LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2f
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;convert_single
</UL>
<BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;handle_check_battery
</UL>
<P><STRONG><a name="[3b]"></a>handle_check_battery</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, batterie.o(i.handle_check_battery))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = handle_check_battery &rArr; get_battery_level &rArr; __aeabi_dmul &rArr; _double_epilogue &rArr; _double_round
</UL>
<BR>[Calls]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_battery_level
</UL>
<BR>[Address Reference Count : 1]<UL><LI> tourniquet.o(.data)
</UL>
<P><STRONG><a name="[67]"></a>init_battery</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, batterie.o(i.init_battery))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = init_battery &rArr; MyGPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyADC_Init
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[61]"></a>init_codeur_incr</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, bordage.o(i.init_codeur_incr))
<P><STRONG><a name="[69]"></a>init_bordage</STRONG> (Thumb, 68 bytes, Stack size 24 bytes, bordage.o(i.init_bordage))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = init_bordage &rArr; MyTimer_ActiveIT
</UL>
<BR>[Calls]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_PWM
<LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Base_Init
<LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_ActiveIT
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[6d]"></a>init_codeur_incr</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, bordage.o(i.init_codeur_incr))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = init_codeur_incr &rArr; MyGPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_exti_interrupt
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_EncoderMode_Conf
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
<BR>[Calls]<UL><LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_exti_interrupt
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_EncoderMode_Conf
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[62]"></a>init_exti_interrupt</STRONG> (Thumb, 92 bytes, Stack size 0 bytes, bordage.o(i.init_exti_interrupt))
<BR><BR>[Called By]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_codeur_incr
<P><STRONG><a name="[6e]"></a>init_exti_interrupt</STRONG> (Thumb, 92 bytes, Stack size 0 bytes, bordage.o(i.init_exti_interrupt))
<BR><BR>[Called By]<UL><LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_codeur_incr
</UL>
<P><STRONG><a name="[59]"></a>lire</STRONG> (Thumb, 58 bytes, Stack size 16 bytes, chavirement.o(i.lire))
<P><STRONG><a name="[60]"></a>lire</STRONG> (Thumb, 58 bytes, Stack size 16 bytes, chavirement.o(i.lire))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = lire
</UL>
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_send
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_rcv
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Set
<LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Reset
<BR>[Calls]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_send
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_rcv
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Set
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Reset
</UL>
<BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chavirement_handler
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chavirement_init
<BR>[Called By]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chavirement_handler
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chavirement_init
</UL>
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, principal.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = main &rArr; init_bordage &rArr; MyGPIO_Init
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, principal.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = main &rArr; init_bordage &rArr; MyTimer_ActiveIT
</UL>
<BR>[Calls]<UL><LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tourniquet_init
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_codeur_incr
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_bordage
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chavirement_init
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Activate
<BR>[Calls]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tourniquet_init
<LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_codeur_incr
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_bordage
<LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_battery
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chavirement_init
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyGPIO_Activate
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
<P><STRONG><a name="[38]"></a>tourniquet_handler</STRONG> (Thumb, 66 bytes, Stack size 8 bytes, tourniquet.o(i.tourniquet_handler))
<P><STRONG><a name="[39]"></a>tourniquet_handler</STRONG> (Thumb, 78 bytes, Stack size 8 bytes, tourniquet.o(i.tourniquet_handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = tourniquet_handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> tourniquet.o(i.tourniquet_init)
</UL>
<P><STRONG><a name="[66]"></a>tourniquet_init</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, tourniquet.o(i.tourniquet_init))
<P><STRONG><a name="[72]"></a>tourniquet_init</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, tourniquet.o(i.tourniquet_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = tourniquet_init &rArr; MyTimer_ActiveIT
</UL>
<BR>[Calls]<UL><LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_ActiveIT
<BR>[Calls]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_ActiveIT
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
@ -672,18 +769,18 @@ Global Symbols
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[54]"></a>SetSysClock</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SetSysClock))
<P><STRONG><a name="[58]"></a>SetSysClock</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SetSysClock))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = SetSysClock &rArr; SetSysClockTo72
</UL>
<BR>[Calls]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClockTo72
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClockTo72
</UL>
<BR>[Called By]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemInit
</UL>
<P><STRONG><a name="[55]"></a>SetSysClockTo72</STRONG> (Thumb, 214 bytes, Stack size 12 bytes, system_stm32f10x.o(i.SetSysClockTo72))
<P><STRONG><a name="[59]"></a>SetSysClockTo72</STRONG> (Thumb, 214 bytes, Stack size 12 bytes, system_stm32f10x.o(i.SetSysClockTo72))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = SetSysClockTo72
</UL>
<BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
<BR>[Called By]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
</UL>
<P>
<H3>

View file

@ -2,10 +2,12 @@
".\objects\driver_gpio.o"
".\objects\driver_spi.o"
".\objects\mytimer.o"
".\objects\myadc.o"
".\objects\principal.o"
".\objects\chavirement.o"
".\objects\bordage.o"
".\objects\tourniquet.o"
".\objects\batterie.o"
".\objects\startup_stm32f10x_md.o"
".\objects\system_stm32f10x.o"
--library_type=microlib --ro-base 0x08000000 --entry 0x08000000 --rw-base 0x20000000 --entry Reset_Handler --first __Vectors --strict --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols

View file

@ -11,7 +11,7 @@ I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cms
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F3392)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58259ADC)
F (..\Drivers\Driver_GPIO.h)(0x6155C0E0)()
F (..\Drivers\Driver_SPI.c)(0x6192261F)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\driver_spi.o --omf_browse .\objects\driver_spi.crf --depend .\objects\driver_spi.d)
F (..\Drivers\Driver_SPI.c)(0x61962A69)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\driver_spi.o --omf_browse .\objects\driver_spi.crf --depend .\objects\driver_spi.d)
I (..\Drivers\Driver_SPI.h)(0x6192261F)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58259ADC)
I (.\RTE\_CarteSTM\RTE_Components.h)(0x6192261F)
@ -23,8 +23,8 @@ I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cms
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58259ADC)
I (..\Drivers\Driver_GPIO.h)(0x6155C0E0)
F (..\Drivers\Driver_SPI.h)(0x6192261F)()
F (..\Drivers\MyTimer.c)(0x61924238)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mytimer.o --omf_browse .\objects\mytimer.crf --depend .\objects\mytimer.d)
I (..\Drivers\MyTimer.h)(0x6192261F)
F (..\Drivers\MyTimer.c)(0x61962F1F)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mytimer.o --omf_browse .\objects\mytimer.crf --depend .\objects\mytimer.d)
I (..\Drivers\MyTimer.h)(0x61962F3B)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58259ADC)
I (.\RTE\_CarteSTM\RTE_Components.h)(0x6192261F)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F3392)
@ -33,9 +33,20 @@ I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cms
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E836932)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F3392)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58259ADC)
F (..\Drivers\MyTimer.h)(0x6192261F)()
F (.\Local_Sources\principal.c)(0x61923E13)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\principal.o --omf_browse .\objects\principal.crf --depend .\objects\principal.d)
I (..\Sources\chavirement.h)(0x61923250)
F (..\Drivers\MyTimer.h)(0x61962F3B)()
F (..\Drivers\MyADC.c)(0x61962B82)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\myadc.o --omf_browse .\objects\myadc.crf --depend .\objects\myadc.d)
I (..\Drivers\MyADC.h)(0x618523FE)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58259ADC)
I (.\RTE\_CarteSTM\RTE_Components.h)(0x6192261F)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F3392)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F3392)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E836932)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F3392)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58259ADC)
F (..\Drivers\MyADC.h)(0x618523FE)()
F (.\Local_Sources\principal.c)(0x61962FBF)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\principal.o --omf_browse .\objects\principal.crf --depend .\objects\principal.d)
I (..\Sources\chavirement.h)(0x61962A6A)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58259ADC)
I (.\RTE\_CarteSTM\RTE_Components.h)(0x6192261F)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F3392)
@ -45,10 +56,11 @@ I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cms
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F3392)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58259ADC)
I (..\Drivers\Driver_GPIO.h)(0x6155C0E0)
I (..\Sources\bordage.h)(0x6192277A)
I (..\Sources\tourniquet.h)(0x6192261F)
F (..\Sources\chavirement.c)(0x61923EFE)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\chavirement.o --omf_browse .\objects\chavirement.crf --depend .\objects\chavirement.d)
I (..\Sources\chavirement.h)(0x61923250)
I (..\Sources\batterie.h)(0x61962E21)
I (..\Sources\bordage.h)(0x61962F7B)
I (..\Sources\tourniquet.h)(0x61962A6A)
F (..\Sources\chavirement.c)(0x61962A6A)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\chavirement.o --omf_browse .\objects\chavirement.crf --depend .\objects\chavirement.d)
I (..\Sources\chavirement.h)(0x61962A6A)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58259ADC)
I (.\RTE\_CarteSTM\RTE_Components.h)(0x6192261F)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F3392)
@ -59,9 +71,9 @@ I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cms
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58259ADC)
I (..\Drivers\Driver_GPIO.h)(0x6155C0E0)
I (..\Drivers\Driver_SPI.h)(0x6192261F)
I (..\Sources\bordage.h)(0x6192277A)
F (..\Sources\chavirement.h)(0x61923250)()
F (..\Sources\bordage.c)(0x61923F69)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\bordage.o --omf_browse .\objects\bordage.crf --depend .\objects\bordage.d)
I (..\Sources\bordage.h)(0x61962F7B)
F (..\Sources\chavirement.h)(0x61962A6A)()
F (..\Sources\bordage.c)(0x619631E9)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\bordage.o --omf_browse .\objects\bordage.crf --depend .\objects\bordage.d)
I (..\Drivers\Driver_GPIO.h)(0x6155C0E0)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58259ADC)
I (.\RTE\_CarteSTM\RTE_Components.h)(0x6192261F)
@ -71,12 +83,12 @@ I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cms
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E836932)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F3392)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58259ADC)
I (..\Drivers\MyTimer.h)(0x6192261F)
I (..\Drivers\MyTimer.h)(0x61962F3B)
I (..\Drivers\MyADC.h)(0x618523FE)
I (..\Sources\bordage.h)(0x6192277A)
F (..\Sources\bordage.h)(0x6192277A)()
F (..\Sources\tourniquet.c)(0x61922A2A)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\tourniquet.o --omf_browse .\objects\tourniquet.crf --depend .\objects\tourniquet.d)
I (..\Sources\chavirement.h)(0x61923250)
I (..\Sources\bordage.h)(0x61962F7B)
F (..\Sources\bordage.h)(0x61962F7B)()
F (..\Sources\tourniquet.c)(0x61963206)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\tourniquet.o --omf_browse .\objects\tourniquet.crf --depend .\objects\tourniquet.d)
I (..\Sources\chavirement.h)(0x61962A6A)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58259ADC)
I (.\RTE\_CarteSTM\RTE_Components.h)(0x6192261F)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F3392)
@ -85,9 +97,22 @@ I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cms
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E836932)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F3392)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58259ADC)
I (..\Sources\bordage.h)(0x6192277A)
I (..\Drivers\MyTimer.h)(0x6192261F)
F (..\Sources\tourniquet.h)(0x6192261F)()
I (..\Sources\batterie.h)(0x61962E21)
I (..\Sources\bordage.h)(0x61962F7B)
I (..\Drivers\MyTimer.h)(0x61962F3B)
F (..\Sources\tourniquet.h)(0x61962A6A)()
F (..\Sources\batterie.c)(0x61962DC9)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\batterie.o --omf_browse .\objects\batterie.crf --depend .\objects\batterie.d)
I (..\Drivers\Driver_GPIO.h)(0x6155C0E0)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58259ADC)
I (.\RTE\_CarteSTM\RTE_Components.h)(0x6192261F)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F3392)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F3392)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E836932)
I (C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F3392)
I (C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58259ADC)
I (..\Drivers\MyADC.h)(0x618523FE)
F (..\Sources\batterie.h)(0x61962E21)()
F (RTE\Device\STM32F103RB\RTE_Device.h)(0x6192261F)()
F (RTE\Device\STM32F103RB\startup_stm32f10x_md.s)(0x61923060)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 533" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list .\listings\startup_stm32f10x_md.lst --xref -o .\objects\startup_stm32f10x_md.o --depend .\objects\startup_stm32f10x_md.d)
F (RTE\Device\STM32F103RB\system_stm32f10x.c)(0x6192261F)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Includes -I ..\Sources -I ..\Drivers -I.\RTE\Device\STM32F103RB -I.\RTE\_CarteSTM -IC:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="533" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\system_stm32f10x.o --omf_browse .\objects\system_stm32f10x.crf --depend .\objects\system_stm32f10x.d)

Binary file not shown.

View file

@ -8,5 +8,6 @@
.\objects\tourniquet.o: C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h
.\objects\tourniquet.o: C:\Users\chauz\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h
.\objects\tourniquet.o: C:\Users\chauz\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h
.\objects\tourniquet.o: ..\Sources\batterie.h
.\objects\tourniquet.o: ..\Sources\bordage.h
.\objects\tourniquet.o: ..\Drivers\MyTimer.h

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -355,6 +355,16 @@
<WinNumber>1</WinNumber>
<ItemText>angle_girouette</ItemText>
</Ww>
<Ww>
<count>8</count>
<WinNumber>1</WinNumber>
<ItemText>battery_level_general</ItemText>
</Ww>
<Ww>
<count>9</count>
<WinNumber>1</WinNumber>
<ItemText>localvalue,0x0A</ItemText>
</Ww>
</WatchWindow1>
<Tracepoint>
<THDelay>0</THDelay>
@ -486,6 +496,30 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>7</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Drivers\MyADC.c</PathWithFileName>
<FilenameWithoutPath>MyADC.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>8</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Drivers\MyADC.h</PathWithFileName>
<FilenameWithoutPath>MyADC.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
@ -496,7 +530,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>7</FileNumber>
<FileNumber>9</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -516,7 +550,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>8</FileNumber>
<FileNumber>10</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -528,7 +562,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>9</FileNumber>
<FileNumber>11</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -540,7 +574,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>10</FileNumber>
<FileNumber>12</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -552,7 +586,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>11</FileNumber>
<FileNumber>13</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -564,7 +598,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>12</FileNumber>
<FileNumber>14</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -576,7 +610,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>13</FileNumber>
<FileNumber>15</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -586,6 +620,30 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>16</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Sources\batterie.c</PathWithFileName>
<FilenameWithoutPath>batterie.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>17</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Sources\batterie.h</PathWithFileName>
<FilenameWithoutPath>batterie.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>

View file

@ -413,6 +413,16 @@
<FileType>5</FileType>
<FilePath>..\Drivers\MyTimer.h</FilePath>
</File>
<File>
<FileName>MyADC.c</FileName>
<FileType>1</FileType>
<FilePath>..\Drivers\MyADC.c</FilePath>
</File>
<File>
<FileName>MyADC.h</FileName>
<FileType>5</FileType>
<FilePath>..\Drivers\MyADC.h</FilePath>
</File>
</Files>
</Group>
<Group>
@ -458,6 +468,16 @@
<FileType>5</FileType>
<FilePath>..\Sources\tourniquet.h</FilePath>
</File>
<File>
<FileName>batterie.c</FileName>
<FileType>1</FileType>
<FilePath>..\Sources\batterie.c</FilePath>
</File>
<File>
<FileName>batterie.h</FileName>
<FileType>5</FileType>
<FilePath>..\Sources\batterie.h</FilePath>
</File>
</Files>
</Group>
<Group>
@ -875,6 +895,16 @@
<FileType>5</FileType>
<FilePath>..\Drivers\MyTimer.h</FilePath>
</File>
<File>
<FileName>MyADC.c</FileName>
<FileType>1</FileType>
<FilePath>..\Drivers\MyADC.c</FilePath>
</File>
<File>
<FileName>MyADC.h</FileName>
<FileType>5</FileType>
<FilePath>..\Drivers\MyADC.h</FilePath>
</File>
</Files>
</Group>
<Group>
@ -920,6 +950,16 @@
<FileType>5</FileType>
<FilePath>..\Sources\tourniquet.h</FilePath>
</File>
<File>
<FileName>batterie.c</FileName>
<FileType>1</FileType>
<FilePath>..\Sources\batterie.c</FilePath>
</File>
<File>
<FileName>batterie.h</FileName>
<FileType>5</FileType>
<FilePath>..\Sources\batterie.h</FilePath>
</File>
</Files>
</Group>
<Group>

31
Sources/batterie.c Normal file
View file

@ -0,0 +1,31 @@
#ifndef MYGPIO_H
#include "Driver_GPIO.h"
#endif
#ifndef MYADC_H
#include "MyADC.h"
#endif
float* battery_level ;
void init_battery(float* bat_level) {
MyGPIO_Struct_TypeDef GPIO_Struct;
// Configuration de la broche PB.0
GPIO_Struct.GPIO = GPIOB;
GPIO_Struct.GPIO_Pin = 0;
GPIO_Struct.GPIO_Conf = In_Analog;
MyGPIO_Init(&GPIO_Struct);
MyADC_Init(8);
battery_level = bat_level ;
}
float get_battery_level() {
return ((convert_single()/4095.0)*3.3*13.0); // conversion
}
void handle_check_battery() {
*battery_level = get_battery_level();
}

12
Sources/batterie.h Normal file
View file

@ -0,0 +1,12 @@
#ifndef BATTERIE_H
#define BATTERIE_H
#include "stm32f10x.h"
void init_battery(float* );
float get_battery_level() ;
void handle_check_battery();
#endif

View file

@ -22,7 +22,6 @@
int tempo_chavirement = 0;
void IT_bordage_auto ( void) {
int angle_girouette;
if (tempo_chavirement > 0){
@ -52,10 +51,12 @@ void init_bordage ( void )
MyGPIO_Init(&GPIO_Struct);
MyTimer_PWM (TIMER_PWM, CANAL_PWM);
// Mise en place d'une interruption gérant le bordage toute les 20ms
MyTimer_ActiveIT(TIMER_PWM, 1, IT_bordage_auto);
}
int bordage ( int angle ) {
void bordage ( float angle ) {
float angle_servo = 90.0 - angle;
@ -63,8 +64,6 @@ int bordage ( int angle ) {
// Génération de la PWM
Set_Duty_Cycle(TIMER_PWM, CANAL_PWM, duty_cycle);
return 0;
}
void init_codeur_incr ( void ) {
@ -104,18 +103,18 @@ void EXTI9_5_IRQHandler ( void ) {
void Roulis_Handler ( void )
{
tempo_chavirement = 50; // 50 appels à 40ms = 2000 ms = 2 sec.
tempo_chavirement = 50; // 50 appels à 60ms = 3000 ms = 3 sec.
bordage(0);
}
int calcul_angle_voile ( int angle ) {
if (angle <= 45 || angle >= 360 - 45){
return 0;
float calcul_angle_voile ( float angle ) {
if (angle <= 45.0 || angle >= 360.0 - 45.0){
return 0.0;
}
else if ( angle > 45 && angle <= 180) {
return (angle - 45) * 90.0/135.0;
else if ( angle > 45.0 && angle <= 180.0) {
return (angle - 45.0) * 90.0/135.0;
}
else {
return (315 - angle) * 90.0/135.0;
return (315.0 - angle) * 90.0/135.0;
}
}
}

View file

@ -21,7 +21,7 @@ void init_bordage ( void );
* @Note -> appeler la fonction d'initialisation avant
*************************************************************************************************
*/
int bordage ( int angle );
void bordage ( float angle );
@ -40,6 +40,6 @@ void init_codeur_incr ( void );
void init_exti_interrupt ( void );
int calcul_angle_voile ( int angle );
float calcul_angle_voile ( float angle );
#endif
#endif

View file

@ -2,6 +2,9 @@
#include "chavirement.h"
#endif
#ifndef BATTERIE_H
#include "batterie.h"
#endif
#include "bordage.h"
@ -12,12 +15,14 @@ char maximum ;
void (* IT_TOURNIQUET_1) (void) = chavirement_handler;
void (* IT_TOURNIQUET_2) (void) = IT_bordage_auto;
void (* IT_TOURNIQUET_3) (void) = handle_check_battery;
void tourniquet_handler() {
switch(tourniquet_curseur) {
case 1: IT_TOURNIQUET_1(); break;
case 2: IT_TOURNIQUET_2(); break;
case 3: IT_TOURNIQUET_3(); break;
default: break;
}
@ -29,7 +34,7 @@ void tourniquet_handler() {
void tourniquet_init() {
tourniquet_curseur = 1;
maximum = 2;
maximum = 3;
// Mise en place d'une interruption tourniquet
MyTimer_ActiveIT(TIM3, 1, tourniquet_handler);
}