Mercurial > public > ostc4
view Small_CPU/Inc/spi.h @ 228:f9ba924d188e div-fixes-4-1
Bugfix: set battery percentage correctly after RTE update
When the RTE is rebooted, the battery percentage on the display is zeroed.
However, when selecting SYS2-reboot-maintenance, the previously known
battery percentage can be manually restored. Interestingly, when
the restore reported a percentage A, choosing that resulted in a
percentage B to be displayed again. With B much smaller than A.
So, rebooting the RTE multiple times resulted in an seemingly
empty battery, while it definitely is not.
The reason for this is a relatively simple bug in the RTE code. This
commit fixes the conversion between the internal LTC2941 registers
and the percentage value to be displayed. Obviously, from and to
the internal registers need to be symmetrical.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
author | Jan Mulder <jlmulder@xs4all.nl> |
---|---|
date | Tue, 02 Apr 2019 14:53:15 +0200 |
parents | 8117802894a4 |
children | b3685fbada3b |
line wrap: on
line source
/** ****************************************************************************** * @file spi.h * @author heinrichs weikamp gmbh * @version V0.0.1 * @date 16-Sept-2014 * @brief Header file for spi control ****************************************************************************** * @attention * * <h2><center>© COPYRIGHT(c) 2014 heinrichs weikamp</center></h2> * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef SPI_H #define SPI_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "stm32f4xx_hal.h" extern SPI_HandleTypeDef hspi1; void MX_SPI1_Init(void); //void SPI_Start_single_TxRx_with_Master_and_Stop_ChipSelectControl(void); void SPI_Start_single_TxRx_with_Master(void); void SPI_synchronize_with_Master(void); void SPI_Evaluate_RX_Data(void); /*process the data received during last 100ms cycle */ void MX_SPI_DeInit(void); /* button adjust */ void MX_SPI3_Init(void); void MX_SPI3_DeInit(void); uint8_t SPI3_ButtonAdjust(uint8_t *arrayInput, uint8_t *arrayOutput); void MX_SPI_DeInit(void); #ifdef __cplusplus } #endif #endif /* SPI_H */ /** * @} */ /** * @} */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/