mirror of
https://github.com/yoboujon/dumber.git
synced 2025-06-08 05:40:49 +02:00
Batterie OK
This commit is contained in:
parent
23eac89c23
commit
134ff079fe
4 changed files with 77 additions and 73 deletions
|
@ -69,7 +69,7 @@ void LEDS_Tests();
|
|||
void APPLICATION_MainThread(void* params);
|
||||
void APPLICATION_TimeoutThread(void* params);
|
||||
void APPLICATION_StateMachine();
|
||||
LEDS_State APPLICATION_BatteryLevel(uint16_t voltage, char inCharge);
|
||||
LEDS_State APPLICATION_BatteryLevel(uint8_t voltage, APPLICATION_State state);
|
||||
void APPLICATION_PowerOff();
|
||||
void APPLICATION_TransitionToNewState(APPLICATION_State new_state);
|
||||
|
||||
|
@ -85,7 +85,7 @@ void APPLICATION_Init(void) {
|
|||
|
||||
/* Init de la partie RF / reception des messages */
|
||||
XBEE_Init();
|
||||
//BATTERIE_Init();
|
||||
BATTERIE_Init();
|
||||
MOTEURS_Init();
|
||||
|
||||
/* Create the task without using any dynamic memory allocation. */
|
||||
|
@ -231,15 +231,16 @@ void APPLICATION_StateMachine() {
|
|||
if (systemInfos.powerOffRequired)
|
||||
APPLICATION_PowerOff(); // system will halt here
|
||||
|
||||
if (systemInfos.inCharge) {
|
||||
if ((systemInfos.inCharge) && (systemInfos.state != stateInCharge)) {
|
||||
APPLICATION_TransitionToNewState(stateInCharge);
|
||||
}
|
||||
|
||||
if (systemInfos.batteryUpdate) {
|
||||
ledState = APPLICATION_BatteryLevel(systemInfos.batteryVoltage, systemInfos.state);
|
||||
|
||||
if (ledState == leds_niveau_bat_0)
|
||||
APPLICATION_TransitionToNewState(stateLowBatDisable);
|
||||
else if (systemInfos.state==stateStartup) {
|
||||
ledState = APPLICATION_BatteryLevel(systemInfos.batteryVoltage, systemInfos.inCharge);
|
||||
MESSAGE_SendMailbox(LEDS_Mailbox, MSG_ID_LED_ETAT, APPLICATION_Mailbox, (void*)&ledState);
|
||||
}
|
||||
}
|
||||
|
@ -388,14 +389,29 @@ void APPLICATION_TransitionToNewState(APPLICATION_State new_state) {
|
|||
systemInfos.state = new_state;
|
||||
}
|
||||
|
||||
LEDS_State APPLICATION_BatteryLevel(uint16_t voltage, char inCharge) {
|
||||
const uint8_t APPLICATION_NiveauBatteryNormal[5] = {
|
||||
0
|
||||
};
|
||||
|
||||
const uint8_t APPLICATION_NiveauBatteryCharge[5] = {
|
||||
0
|
||||
};
|
||||
|
||||
LEDS_State APPLICATION_BatteryLevel(uint8_t voltage, APPLICATION_State state) {
|
||||
LEDS_State ledState=leds_niveau_bat_0;
|
||||
|
||||
/* TODO: A faire
|
||||
* Pour l'instant, testons les niveaux de batterie
|
||||
*/
|
||||
ledState = leds_niveau_bat_5;
|
||||
return ledState;
|
||||
}
|
||||
|
||||
void APPLICATION_PowerOff() {
|
||||
HAL_GPIO_WritePin(SHUTDOWN_GPIO_Port, SHUTDOWN_Pin, GPIO_PIN_RESET);
|
||||
/*
|
||||
* TODO: a decommenter quand le code sera debuggé
|
||||
*/
|
||||
//HAL_GPIO_WritePin(SHUTDOWN_GPIO_Port, SHUTDOWN_Pin, GPIO_PIN_RESET);
|
||||
|
||||
while (1){
|
||||
__WFE(); // Attente infinie que le regulateur se coupe.
|
||||
|
|
|
@ -31,6 +31,9 @@
|
|||
#define XBEE_TX_SEMAPHORE_WAIT 500
|
||||
#define XBEE_RX_BUFFER_MAX_LENGTH 50
|
||||
|
||||
#define BATTERY_EMPTY_LEVEL 128
|
||||
#define BATTERY_LOW_LEVEL 140
|
||||
|
||||
/*
|
||||
* Revoir les délais : c'est en 100 ms, pas ms
|
||||
*/
|
||||
|
|
|
@ -649,7 +649,7 @@ static void MX_GPIO_Init(void)
|
|||
|
||||
/*Configure GPIO pin : BUTTON_SENSE_Pin */
|
||||
GPIO_InitStruct.Pin = BUTTON_SENSE_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(BUTTON_SENSE_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
|
|
|
@ -5,17 +5,6 @@ ADC.SamplingTime=ADC_SAMPLETIME_160CYCLES_5
|
|||
CAD.formats=
|
||||
CAD.pinconfig=
|
||||
CAD.provider=
|
||||
Dma.LPUART1_TX.0.Direction=DMA_MEMORY_TO_PERIPH
|
||||
Dma.LPUART1_TX.0.Instance=DMA1_Channel2
|
||||
Dma.LPUART1_TX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE
|
||||
Dma.LPUART1_TX.0.MemInc=DMA_MINC_ENABLE
|
||||
Dma.LPUART1_TX.0.Mode=DMA_NORMAL
|
||||
Dma.LPUART1_TX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
|
||||
Dma.LPUART1_TX.0.PeriphInc=DMA_PINC_DISABLE
|
||||
Dma.LPUART1_TX.0.Priority=DMA_PRIORITY_HIGH
|
||||
Dma.LPUART1_TX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
|
||||
Dma.Request0=LPUART1_TX
|
||||
Dma.RequestsNb=1
|
||||
FREERTOS.INCLUDE_pcTaskGetTaskName=1
|
||||
FREERTOS.INCLUDE_xEventGroupSetBitFromISR=1
|
||||
FREERTOS.INCLUDE_xTaskAbortDelay=1
|
||||
|
@ -38,61 +27,57 @@ LPUART1.WordLength=UART_WORDLENGTH_8B
|
|||
Mcu.CPN=STM32L071CBT3
|
||||
Mcu.Family=STM32L0
|
||||
Mcu.IP0=ADC
|
||||
Mcu.IP1=DMA
|
||||
Mcu.IP10=TIM22
|
||||
Mcu.IP2=FREERTOS
|
||||
Mcu.IP3=LPUART1
|
||||
Mcu.IP4=NVIC
|
||||
Mcu.IP5=RCC
|
||||
Mcu.IP6=SYS
|
||||
Mcu.IP7=TIM2
|
||||
Mcu.IP8=TIM3
|
||||
Mcu.IP9=TIM21
|
||||
Mcu.IPNb=11
|
||||
Mcu.IP1=FREERTOS
|
||||
Mcu.IP2=LPUART1
|
||||
Mcu.IP3=NVIC
|
||||
Mcu.IP4=RCC
|
||||
Mcu.IP5=SYS
|
||||
Mcu.IP6=TIM2
|
||||
Mcu.IP7=TIM3
|
||||
Mcu.IP8=TIM21
|
||||
Mcu.IPNb=9
|
||||
Mcu.Name=STM32L071C(B-Z)Tx
|
||||
Mcu.Package=LQFP48
|
||||
Mcu.Pin0=PA0
|
||||
Mcu.Pin1=PA1
|
||||
Mcu.Pin10=PB11
|
||||
Mcu.Pin11=PB12
|
||||
Mcu.Pin12=PB13
|
||||
Mcu.Pin13=PB14
|
||||
Mcu.Pin14=PB15
|
||||
Mcu.Pin15=PA8
|
||||
Mcu.Pin16=PA9
|
||||
Mcu.Pin17=PA10
|
||||
Mcu.Pin18=PA11
|
||||
Mcu.Pin19=PA12
|
||||
Mcu.Pin10=PB12
|
||||
Mcu.Pin11=PB13
|
||||
Mcu.Pin12=PB14
|
||||
Mcu.Pin13=PB15
|
||||
Mcu.Pin14=PA8
|
||||
Mcu.Pin15=PA9
|
||||
Mcu.Pin16=PA10
|
||||
Mcu.Pin17=PA11
|
||||
Mcu.Pin18=PA12
|
||||
Mcu.Pin19=PA13
|
||||
Mcu.Pin2=PA2
|
||||
Mcu.Pin20=PA13
|
||||
Mcu.Pin21=PA14
|
||||
Mcu.Pin22=PA15
|
||||
Mcu.Pin23=PB3
|
||||
Mcu.Pin24=PB4
|
||||
Mcu.Pin25=PB6
|
||||
Mcu.Pin26=PB7
|
||||
Mcu.Pin27=PB8
|
||||
Mcu.Pin28=PB9
|
||||
Mcu.Pin29=VP_FREERTOS_VS_CMSIS_V2
|
||||
Mcu.Pin3=PA4
|
||||
Mcu.Pin30=VP_SYS_VS_tim6
|
||||
Mcu.Pin31=VP_TIM2_VS_ClockSourceINT
|
||||
Mcu.Pin32=VP_TIM3_VS_ClockSourceINT
|
||||
Mcu.Pin33=VP_TIM21_VS_ClockSourceINT
|
||||
Mcu.Pin4=PA5
|
||||
Mcu.Pin5=PA6
|
||||
Mcu.Pin6=PA7
|
||||
Mcu.Pin7=PB0
|
||||
Mcu.Pin8=PB1
|
||||
Mcu.Pin9=PB10
|
||||
Mcu.PinsNb=34
|
||||
Mcu.Pin20=PA14
|
||||
Mcu.Pin21=PA15
|
||||
Mcu.Pin22=PB3
|
||||
Mcu.Pin23=PB4
|
||||
Mcu.Pin24=PB6
|
||||
Mcu.Pin25=PB7
|
||||
Mcu.Pin26=PB8
|
||||
Mcu.Pin27=PB9
|
||||
Mcu.Pin28=VP_FREERTOS_VS_CMSIS_V2
|
||||
Mcu.Pin29=VP_SYS_VS_tim6
|
||||
Mcu.Pin3=PA5
|
||||
Mcu.Pin30=VP_TIM2_VS_ClockSourceINT
|
||||
Mcu.Pin31=VP_TIM3_VS_ClockSourceINT
|
||||
Mcu.Pin32=VP_TIM21_VS_ClockSourceINT
|
||||
Mcu.Pin4=PA6
|
||||
Mcu.Pin5=PA7
|
||||
Mcu.Pin6=PB0
|
||||
Mcu.Pin7=PB1
|
||||
Mcu.Pin8=PB10
|
||||
Mcu.Pin9=PB11
|
||||
Mcu.PinsNb=33
|
||||
Mcu.ThirdPartyNb=0
|
||||
Mcu.UserConstants=
|
||||
Mcu.UserName=STM32L071CBTx
|
||||
MxCube.Version=6.7.0
|
||||
MxDb.Version=DB.6.0.70
|
||||
NVIC.ADC1_COMP_IRQn=true\:3\:0\:false\:false\:true\:true\:true\:true\:true
|
||||
NVIC.DMA1_Channel2_3_IRQn=true\:3\:0\:true\:false\:true\:true\:false\:true\:true
|
||||
NVIC.EXTI2_3_IRQn=true\:3\:0\:false\:false\:true\:true\:true\:true\:true
|
||||
NVIC.EXTI4_15_IRQn=true\:3\:0\:false\:false\:true\:true\:true\:true\:true
|
||||
NVIC.ForceEnableDMAVector=true
|
||||
|
@ -143,9 +128,6 @@ PA2.GPIOParameters=GPIO_Label
|
|||
PA2.GPIO_Label=ENC_PHA_DROIT
|
||||
PA2.Locked=true
|
||||
PA2.Signal=S_TIM21_CH1
|
||||
PA4.GPIOParameters=GPIO_Label
|
||||
PA4.GPIO_Label=ENC_PHB_DROIT
|
||||
PA4.Signal=S_TIM22_ETR
|
||||
PA5.GPIOParameters=GPIO_Label
|
||||
PA5.GPIO_Label=ENC_PHB_GAUCHE
|
||||
PA5.Locked=true
|
||||
|
@ -209,8 +191,9 @@ PB15.GPIO_Label=SHUTDOWN_ENCODERS
|
|||
PB15.Locked=true
|
||||
PB15.PinState=GPIO_PIN_SET
|
||||
PB15.Signal=GPIO_Output
|
||||
PB3.GPIOParameters=GPIO_Label
|
||||
PB3.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI
|
||||
PB3.GPIO_Label=BUTTON_SENSE
|
||||
PB3.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_FALLING
|
||||
PB3.Locked=true
|
||||
PB3.Signal=GPXTI3
|
||||
PB4.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI
|
||||
|
@ -264,7 +247,7 @@ ProjectManager.StackSize=0x200
|
|||
ProjectManager.TargetToolchain=STM32CubeIDE
|
||||
ProjectManager.ToolChainLocation=
|
||||
ProjectManager.UnderRoot=true
|
||||
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_LPUART1_UART_Init-LPUART1-false-HAL-true,5-MX_TIM2_Init-TIM2-false-HAL-true,6-MX_TIM3_Init-TIM3-false-HAL-true,7-MX_TIM21_Init-TIM21-false-HAL-true,8-MX_ADC_Init-ADC-false-HAL-true,9-MX_TIM22_Init-TIM22-false-HAL-true
|
||||
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_LPUART1_UART_Init-LPUART1-false-HAL-true,4-MX_TIM2_Init-TIM2-false-HAL-true,5-MX_TIM3_Init-TIM3-false-HAL-true,6-MX_TIM21_Init-TIM21-false-HAL-true,7-MX_ADC_Init-ADC-false-HAL-true
|
||||
RCC.ADCFreq_Value=4000000
|
||||
RCC.AHBFreq_Value=6000000
|
||||
RCC.APB1Freq_Value=6000000
|
||||
|
@ -306,8 +289,6 @@ SH.GPXTI4.0=GPIO_EXTI4
|
|||
SH.GPXTI4.ConfNb=1
|
||||
SH.S_TIM21_CH1.0=TIM21_CH1,PWM_Input_1
|
||||
SH.S_TIM21_CH1.ConfNb=1
|
||||
SH.S_TIM22_ETR.0=TIM22_ETR,ClockSourceETR_Mode2
|
||||
SH.S_TIM22_ETR.ConfNb=1
|
||||
SH.S_TIM2_CH1.0=TIM2_CH1,PWM_Input_1
|
||||
SH.S_TIM2_CH1.ConfNb=1
|
||||
SH.S_TIM3_CH1.0=TIM3_CH1,PWM Generation1 CH1
|
||||
|
@ -318,10 +299,14 @@ SH.S_TIM3_CH3.0=TIM3_CH3,PWM Generation3 CH3
|
|||
SH.S_TIM3_CH3.ConfNb=1
|
||||
SH.S_TIM3_CH4.0=TIM3_CH4,PWM Generation4 CH4
|
||||
SH.S_TIM3_CH4.ConfNb=1
|
||||
TIM2.IPParameters=Prescaler
|
||||
TIM2.Prescaler=9
|
||||
TIM21.IPParameters=Prescaler
|
||||
TIM21.Prescaler=9
|
||||
TIM2.ICFilter_1=3
|
||||
TIM2.ICFilter_2=3
|
||||
TIM2.IPParameters=Prescaler,ICFilter_1,ICFilter_2
|
||||
TIM2.Prescaler=0
|
||||
TIM21.ICFilter_1=3
|
||||
TIM21.ICFilter_2=3
|
||||
TIM21.IPParameters=Prescaler,ICFilter_1,ICFilter_2
|
||||
TIM21.Prescaler=0
|
||||
TIM3.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1
|
||||
TIM3.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2
|
||||
TIM3.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3
|
||||
|
|
Loading…
Add table
Reference in a new issue