From c430b6caca1258fa86036b976a107b5cebbf2613 Mon Sep 17 00:00:00 2001
From: Gaya Mehenni <gaya.mehenni@polymtl.ca>
Date: Fri, 5 Nov 2021 00:09:33 +0000
Subject: [PATCH] fix pwm

---
 library/stm32f072xb/dma/abstract-dma/abstract-dma-init.hpp | 2 +-
 library/stm32f072xb/dma/abstract-dma/abstract-dma.cpp      | 2 +-
 library/stm32f072xb/dma/abstract-dma/abstract-dma.hpp      | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/library/stm32f072xb/dma/abstract-dma/abstract-dma-init.hpp b/library/stm32f072xb/dma/abstract-dma/abstract-dma-init.hpp
index 22a65d0..48223f1 100644
--- a/library/stm32f072xb/dma/abstract-dma/abstract-dma-init.hpp
+++ b/library/stm32f072xb/dma/abstract-dma/abstract-dma-init.hpp
@@ -15,7 +15,7 @@ struct AbstractDmaInit {
 	const DmaMemorySize memorySize;
 	const DmaPeripheralIncrement peripheralIncrement;
 	const DmaPeripheralSize peripheralSize;
-	const uint8_t* buffer;
+	volatile const uint8_t* buffer;
 	const uint16_t bufferSize;
 };
 
diff --git a/library/stm32f072xb/dma/abstract-dma/abstract-dma.cpp b/library/stm32f072xb/dma/abstract-dma/abstract-dma.cpp
index ad0f160..f4176d6 100644
--- a/library/stm32f072xb/dma/abstract-dma/abstract-dma.cpp
+++ b/library/stm32f072xb/dma/abstract-dma/abstract-dma.cpp
@@ -50,7 +50,7 @@ void AbstractDma::setPeripheral(DmaPeripheral peripheral) {
 	}
 }
 
-void AbstractDma::setMemory(const uint8_t* buffer) {
+void AbstractDma::setMemory(volatile const uint8_t* buffer) {
 	WRITE_REG(_dmaChannel->CMAR, (uint32_t)(buffer));
 }
 
diff --git a/library/stm32f072xb/dma/abstract-dma/abstract-dma.hpp b/library/stm32f072xb/dma/abstract-dma/abstract-dma.hpp
index 1a60dd5..c6987a3 100644
--- a/library/stm32f072xb/dma/abstract-dma/abstract-dma.hpp
+++ b/library/stm32f072xb/dma/abstract-dma/abstract-dma.hpp
@@ -18,7 +18,7 @@ class AbstractDma {
 
    private:
 	void setPeripheral(DmaPeripheral peripheral);
-	void setMemory(const uint8_t* buffer);
+	void setMemory(volatile const uint8_t* buffer);
 	void setNumberOfDataTransfer(uint16_t numberOfDataTransfer);
 	void setDirection(DmaDirection direction);
 	void setCircularMode(DmaCircularMode circularMode);
-- 
GitLab