aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/hal/include/hal_dac.h6
-rw-r--r--os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.h6
-rw-r--r--os/hal/src/hal_dac.c6
-rw-r--r--os/hal/templates/hal_dac_lld.h6
-rw-r--r--readme.txt2
-rw-r--r--testhal/STM32/STM32F3xx/DAC/main.c5
-rw-r--r--testhal/STM32/STM32F4xx/DAC/main.c5
-rw-r--r--testhal/STM32/STM32F4xx/DAC_DUAL/main.c5
-rw-r--r--testhal/STM32/STM32L1xx/DAC/main.c5
9 files changed, 24 insertions, 22 deletions
diff --git a/os/hal/include/hal_dac.h b/os/hal/include/hal_dac.h
index f7b609a94..04f005a1f 100644
--- a/os/hal/include/hal_dac.h
+++ b/os/hal/include/hal_dac.h
@@ -243,14 +243,14 @@ extern "C" {
dacchannel_t channel,
dacsample_t sample);
void dacStartConversion(DACDriver *dacp, const DACConversionGroup *grpp,
- const dacsample_t *samples, size_t depth);
+ dacsample_t *samples, size_t depth);
void dacStartConversionI(DACDriver *dacp, const DACConversionGroup *grpp,
- const dacsample_t *samples, size_t depth);
+ dacsample_t *samples, size_t depth);
void dacStopConversion(DACDriver *dacp);
void dacStopConversionI(DACDriver *dacp);
#if DAC_USE_WAIT
msg_t dacConvert(DACDriver *dacp, const DACConversionGroup *grpp,
- const dacsample_t *samples, size_t depth);
+ dacsample_t *samples, size_t depth);
#endif
#if DAC_USE_MUTUAL_EXCLUSION
void dacAcquireBus(DACDriver *dacp);
diff --git a/os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.h b/os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.h
index e062a1faf..5ae8f28f0 100644
--- a/os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.h
+++ b/os/hal/ports/STM32/LLD/DACv1/hal_dac_lld.h
@@ -305,9 +305,7 @@ typedef enum {
* @param[in] n number of buffer rows available starting from @p buffer
* callback
*/
-typedef void (*daccallback_t)(DACDriver *dacp,
- const dacsample_t *buffer,
- size_t n);
+typedef void (*daccallback_t)(DACDriver *dacp, dacsample_t *buffer, size_t n);
/**
* @brief ADC error callback type.
@@ -392,7 +390,7 @@ struct DACDriver {
/**
* @brief Samples buffer pointer.
*/
- const dacsample_t *samples;
+ dacsample_t *samples;
/**
* @brief Samples buffer size.
*/
diff --git a/os/hal/src/hal_dac.c b/os/hal/src/hal_dac.c
index 0297f9bd4..39cb48124 100644
--- a/os/hal/src/hal_dac.c
+++ b/os/hal/src/hal_dac.c
@@ -166,7 +166,7 @@ void dacPutChannelX(DACDriver *dacp, dacchannel_t channel, dacsample_t sample) {
*/
void dacStartConversion(DACDriver *dacp,
const DACConversionGroup *grpp,
- const dacsample_t *samples,
+ dacsample_t *samples,
size_t depth) {
osalSysLock();
@@ -194,7 +194,7 @@ void dacStartConversion(DACDriver *dacp,
*/
void dacStartConversionI(DACDriver *dacp,
const DACConversionGroup *grpp,
- const dacsample_t *samples,
+ dacsample_t *samples,
size_t depth) {
osalDbgCheckClassI();
@@ -295,7 +295,7 @@ void dacStopConversionI(DACDriver *dacp) {
*/
msg_t dacConvert(DACDriver *dacp,
const DACConversionGroup *grpp,
- const dacsample_t *samples,
+ dacsample_t *samples,
size_t depth) {
msg_t msg;
diff --git a/os/hal/templates/hal_dac_lld.h b/os/hal/templates/hal_dac_lld.h
index d35d321d9..12c75ea6a 100644
--- a/os/hal/templates/hal_dac_lld.h
+++ b/os/hal/templates/hal_dac_lld.h
@@ -95,9 +95,7 @@ typedef enum {
* @param[in] n number of buffer rows available starting from @p buffer
* callback
*/
-typedef void (*daccallback_t)(DACDriver *dacp,
- const dacsample_t *buffer,
- size_t n);
+typedef void (*daccallback_t)(DACDriver *dacp, dacsample_t *buffer, size_t n);
/**
* @brief ADC error callback type.
@@ -150,7 +148,7 @@ struct DACDriver {
/**
* @brief Samples buffer pointer.
*/
- const dacsample_t *samples;
+ dacsample_t *samples;
/**
* @brief Samples buffer size.
*/
diff --git a/readme.txt b/readme.txt
index 13d4a94cc..50a0d3fcc 100644
--- a/readme.txt
+++ b/readme.txt
@@ -157,6 +157,8 @@
- RT: Merged RT4.
- NIL: Merged NIL2.
- NIL: Added STM32F7 demo.
+- HAL: Fixed DAC driver problem with API signature (bug #817)(backported
+ to 16.1.8).
- HAL: Fixed STM32 OTGv1 driver not serving interrupts for endpoints > 5
(bug #816)(backported to 16.1.8).
- HAL: Fixed STM32 MAC driver needs __DSB() for STM32F7 when operating in
diff --git a/testhal/STM32/STM32F3xx/DAC/main.c b/testhal/STM32/STM32F3xx/DAC/main.c
index d7ccfc4af..b5988383f 100644
--- a/testhal/STM32/STM32F3xx/DAC/main.c
+++ b/testhal/STM32/STM32F3xx/DAC/main.c
@@ -59,7 +59,7 @@ static const dacsample_t dac_buffer[DAC_BUFFER_SIZE] = {
* DAC streaming callback.
*/
size_t nx = 0, ny = 0, nz = 0;
-static void end_cb1(DACDriver *dacp, const dacsample_t *buffer, size_t n) {
+static void end_cb1(DACDriver *dacp, dacsample_t *buffer, size_t n) {
(void)dacp;
@@ -140,7 +140,8 @@ int main(void) {
/*
* Starting a continuous conversion.
*/
- dacStartConversion(&DACD1, &dacgrpcfg1, dac_buffer, DAC_BUFFER_SIZE);
+ dacStartConversion(&DACD1, &dacgrpcfg1,
+ (dacsample_t *)dac_buffer, DAC_BUFFER_SIZE);
gptStartContinuous(&GPTD6, 2U);
/*
diff --git a/testhal/STM32/STM32F4xx/DAC/main.c b/testhal/STM32/STM32F4xx/DAC/main.c
index 9a72ba0e0..817ad4a6e 100644
--- a/testhal/STM32/STM32F4xx/DAC/main.c
+++ b/testhal/STM32/STM32F4xx/DAC/main.c
@@ -59,7 +59,7 @@ static const dacsample_t dac_buffer[DAC_BUFFER_SIZE] = {
* DAC streaming callback.
*/
size_t nx = 0, ny = 0, nz = 0;
-static void end_cb1(DACDriver *dacp, const dacsample_t *buffer, size_t n) {
+static void end_cb1(DACDriver *dacp, dacsample_t *buffer, size_t n) {
(void)dacp;
@@ -140,7 +140,8 @@ int main(void) {
/*
* Starting a continuous conversion.
*/
- dacStartConversion(&DACD1, &dacgrpcfg1, dac_buffer, DAC_BUFFER_SIZE);
+ dacStartConversion(&DACD1, &dacgrpcfg1,
+ (dacsample_t *)dac_buffer, DAC_BUFFER_SIZE);
gptStartContinuous(&GPTD6, 2U);
/*
diff --git a/testhal/STM32/STM32F4xx/DAC_DUAL/main.c b/testhal/STM32/STM32F4xx/DAC_DUAL/main.c
index 7ce676bf2..bb67abaf3 100644
--- a/testhal/STM32/STM32F4xx/DAC_DUAL/main.c
+++ b/testhal/STM32/STM32F4xx/DAC_DUAL/main.c
@@ -59,7 +59,7 @@ static const dacsample_t dac_buffer[DAC_BUFFER_SIZE] = {
* DAC streaming callback.
*/
size_t nx = 0, ny = 0, nz = 0;
-static void end_cb1(DACDriver *dacp, const dacsample_t *buffer, size_t n) {
+static void end_cb1(DACDriver *dacp, dacsample_t *buffer, size_t n) {
(void)dacp;
@@ -143,7 +143,8 @@ int main(void) {
* Note, the buffer size is divided by two because two elements are fetched
* for each transfer.
*/
- dacStartConversion(&DACD1, &dacgrpcfg1, dac_buffer, DAC_BUFFER_SIZE / 2U);
+ dacStartConversion(&DACD1, &dacgrpcfg1,
+ (dacsample_t *)dac_buffer, DAC_BUFFER_SIZE / 2U);
gptStartContinuous(&GPTD6, 2U);
/*
diff --git a/testhal/STM32/STM32L1xx/DAC/main.c b/testhal/STM32/STM32L1xx/DAC/main.c
index fe4420a02..316f1f905 100644
--- a/testhal/STM32/STM32L1xx/DAC/main.c
+++ b/testhal/STM32/STM32L1xx/DAC/main.c
@@ -59,7 +59,7 @@ static const dacsample_t dac_buffer[DAC_BUFFER_SIZE] = {
* DAC streaming callback.
*/
size_t nx = 0, ny = 0, nz = 0;
-static void end_cb1(DACDriver *dacp, const dacsample_t *buffer, size_t n) {
+static void end_cb1(DACDriver *dacp, dacsample_t *buffer, size_t n) {
(void)dacp;
@@ -140,7 +140,8 @@ int main(void) {
/*
* Starting a continuous conversion.
*/
- dacStartConversion(&DACD1, &dacgrpcfg1, dac_buffer, DAC_BUFFER_SIZE);
+ dacStartConversion(&DACD1, &dacgrpcfg1,
+ (dacsample_t *)dac_buffer, DAC_BUFFER_SIZE);
gptStartContinuous(&GPTD6, 2U);
/*