From 6736a9099b184ba3fed01fb36e915d86ffa4f0da Mon Sep 17 00:00:00 2001 From: Fabien Poussin Date: Tue, 17 Sep 2019 19:43:24 +0200 Subject: Fixes for STM32L4, Comp and eeprom. --- os/hal/include/hal_eeprom.h | 2 +- os/hal/ports/STM32/LLD/COMPv1/hal_comp_lld.c | 20 ++++++++++++++++---- os/hal/src/hal_ee24xx.c | 4 +++- 3 files changed, 20 insertions(+), 6 deletions(-) (limited to 'os') diff --git a/os/hal/include/hal_eeprom.h b/os/hal/include/hal_eeprom.h index 25e03bd..c4af268 100644 --- a/os/hal/include/hal_eeprom.h +++ b/os/hal/include/hal_eeprom.h @@ -68,7 +68,7 @@ uint16_t pagesize; \ /* Time needed by IC for single byte/page writing. */ \ systime_t write_time; - + typedef uint32_t fileoffset_t; typedef struct { diff --git a/os/hal/ports/STM32/LLD/COMPv1/hal_comp_lld.c b/os/hal/ports/STM32/LLD/COMPv1/hal_comp_lld.c index 49bc6a7..b1dde2f 100644 --- a/os/hal/ports/STM32/LLD/COMPv1/hal_comp_lld.c +++ b/os/hal/ports/STM32/LLD/COMPv1/hal_comp_lld.c @@ -34,6 +34,14 @@ /* Driver local definitions. */ /*===========================================================================*/ +#ifndef COMP_CSR_EN +#define COMP_CSR_EN COMP_CSR_COMPxEN +#endif + +#ifndef COMP_CSR_POLARITY +#define COMP_CSR_POLARITY COMP_CSR_COMPxPOL +#endif + /*===========================================================================*/ /* Driver exported variables. */ /*===========================================================================*/ @@ -191,6 +199,8 @@ void comp_lld_init(void) { } +#if STM32_COMP_USE_INTERRUPTS + /** * @brief COMP1, COMP2, COMP3 interrupt handler. * @@ -369,6 +379,8 @@ void comp_ext_lld_channel_disable(COMPDriver *compp, uint32_t channel) { #endif } +#endif + /** * @brief Configures and activates the COMP peripheral. * @@ -379,11 +391,11 @@ void comp_ext_lld_channel_disable(COMPDriver *compp, uint32_t channel) { void comp_lld_start(COMPDriver *compp) { // Apply CSR Execpt the enable bit. - compp->reg->CSR = compp->config->csr & ~COMP_CSR_COMPxEN; + compp->reg->CSR = compp->config->csr & ~COMP_CSR_EN; // Inverted output if (compp->config->output_mode == COMP_OUTPUT_INVERTED) - compp->reg->CSR |= COMP_CSR_COMPxPOL; + compp->reg->CSR |= COMP_CSR_POLARITY; #if STM32_COMP_USE_INTERRUPTS #if STM32_COMP_USE_COMP1 @@ -500,7 +512,7 @@ void comp_lld_stop(COMPDriver *compp) { */ void comp_lld_enable(COMPDriver *compp) { - compp->reg->CSR |= COMP_CSR_COMPxEN; /* Enable */ + compp->reg->CSR |= COMP_CSR_EN; /* Enable */ } /** @@ -512,7 +524,7 @@ void comp_lld_enable(COMPDriver *compp) { */ void comp_lld_disable(COMPDriver *compp) { - compp->reg->CSR &= ~COMP_CSR_COMPxEN; /* Disable */ + compp->reg->CSR &= ~COMP_CSR_EN; /* Disable */ } #endif /* HAL_USE_COMP */ diff --git a/os/hal/src/hal_ee24xx.c b/os/hal/src/hal_ee24xx.c index 1df1b9f..a415f2d 100644 --- a/os/hal/src/hal_ee24xx.c +++ b/os/hal/src/hal_ee24xx.c @@ -198,7 +198,7 @@ static size_t __clamp_size(void *ip, size_t n) { /** * @brief Write data that can be fitted in one page boundary */ -static void __fitted_write(void *ip, const uint8_t *data, size_t len, uint32_t *written) { +static msg_t __fitted_write(void *ip, const uint8_t *data, size_t len, uint32_t *written) { msg_t status = MSG_RESET; @@ -210,6 +210,8 @@ static void __fitted_write(void *ip, const uint8_t *data, size_t len, uint32_t * *written += len; eepfs_lseek(ip, eepfs_getposition(ip) + len); } + + return status; } /** -- cgit v1.2.3