aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabien Poussin <fabien.poussin@gmail.com>2019-09-17 19:43:24 +0200
committerFabien Poussin <fabien.poussin@gmail.com>2019-09-18 11:49:12 +0200
commit6736a9099b184ba3fed01fb36e915d86ffa4f0da (patch)
treefc619a867cf39bc3a6a5f19dcf58cc296c9e2e8d
parenta8bd0ca9da23f75897fe466db179c3da34a8a946 (diff)
downloadChibiOS-Contrib-6736a9099b184ba3fed01fb36e915d86ffa4f0da.tar.gz
ChibiOS-Contrib-6736a9099b184ba3fed01fb36e915d86ffa4f0da.tar.bz2
ChibiOS-Contrib-6736a9099b184ba3fed01fb36e915d86ffa4f0da.zip
Fixes for STM32L4, Comp and eeprom.
-rw-r--r--os/hal/include/hal_eeprom.h2
-rw-r--r--os/hal/ports/STM32/LLD/COMPv1/hal_comp_lld.c20
-rw-r--r--os/hal/src/hal_ee24xx.c4
3 files changed, 20 insertions, 6 deletions
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;
}
/**