From f9cf208020e38a06e285594c15a616d223f7ed87 Mon Sep 17 00:00:00 2001 From: RobertGawron Date: Sat, 10 Aug 2019 13:40:38 +0100 Subject: [PATCH 1/2] downgrade to c95 --- software/Firmware/CMakeLists.txt | 4 ++-- software/Firmware/Src/MeassurementFrame.c | 3 ++- .../Firmware/Src/VoltageSensorActualValue.c | 24 ++++++++++++------- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/software/Firmware/CMakeLists.txt b/software/Firmware/CMakeLists.txt index b791361..4ca9e1c 100644 --- a/software/Firmware/CMakeLists.txt +++ b/software/Firmware/CMakeLists.txt @@ -7,7 +7,7 @@ set(CMAKE_SYSTEM_NAME Generic) # No linux target etc set(CMAKE_C_FLAGS_INIT "") set(CMAKE_EXE_LINKER_FLAGS_INIT "") project(STM8Blink C) -SET(CMAKE_C_FLAGS "-mstm8 --std-c99 -DSTM8S003 -D__SDCC__ -DUSE_STDPERIPH_DRIVER") +SET(CMAKE_C_FLAGS "-mstm8 --std-c95 -DSTM8S003 -D__SDCC__ -DUSE_STDPERIPH_DRIVER") # Flash targets #add_custom_target(flash ALL COMMAND stm8flash -c stlink -p stm8s105c6 -w main.ihx) @@ -46,7 +46,7 @@ add_executable(IonizationChamber STM8S_StdPeriph_Lib/src/stm8s_uart1.c) # flash targets -add_custom_target(flash ALL COMMAND stm8flash -c stlink -p stm8s003f3 -w IonizationChamber.ihx) +#add_custom_target(flash ALL COMMAND stm8flash -c stlink -p stm8s003f3 -w IonizationChamber.ihx) # generate doxygen docs and dependency graphs diff --git a/software/Firmware/Src/MeassurementFrame.c b/software/Firmware/Src/MeassurementFrame.c index f7e9076..0e3749a 100644 --- a/software/Firmware/Src/MeassurementFrame.c +++ b/software/Firmware/Src/MeassurementFrame.c @@ -35,7 +35,8 @@ void MeassurementFrame_Create(uint8_t configuration, uint16_t data) bool MeassurementFrame_Send(void (*sendFunction)(uint8_t)) { - for(uint8_t i = 0; i < MAX_FRAME_LENGTH; i++) + uint8_t i = 0; + for(i = 0; i < MAX_FRAME_LENGTH; i++) { sendFunction(buffer[i]); } diff --git a/software/Firmware/Src/VoltageSensorActualValue.c b/software/Firmware/Src/VoltageSensorActualValue.c index 34544e3..578dec8 100644 --- a/software/Firmware/Src/VoltageSensorActualValue.c +++ b/software/Firmware/Src/VoltageSensorActualValue.c @@ -9,6 +9,7 @@ #include "PinoutConfiguration.h" #include "UserInterface.h" #include "stm8s_i2c.h" +#include "stm8s.h" #define I2C_MASTER_ADDRESS 0x10 @@ -97,6 +98,14 @@ static void write(uint8_t registerId) static uint16_t read(uint8_t registerId) { + uint16_t registerMSB = 0; + uint16_t registerLSB = 0; + uint16_t registerLSB1 = 0; + uint16_t registerLSB2 = 0; + uint16_t registerLSB3 = 0; + uint16_t registerLSB4 = 0; + uint16_t registerValue = 0; + I2C_GenerateSTART(ENABLE); while(!I2C_CheckEvent(I2C_EVENT_MASTER_MODE_SELECT)); @@ -105,26 +114,25 @@ static uint16_t read(uint8_t registerId) while(!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_RECEIVED)); - uint16_t registerMSB = I2C_ReceiveData(); + registerMSB = I2C_ReceiveData(); while(!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_RECEIVED)); - uint16_t registerLSB = I2C_ReceiveData(); + registerLSB = I2C_ReceiveData(); while(!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_RECEIVED)); - uint16_t registerLSB1 = I2C_ReceiveData(); + registerLSB1 = I2C_ReceiveData(); while(!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_RECEIVED)); - uint16_t registerLSB2 = I2C_ReceiveData(); + registerLSB2 = I2C_ReceiveData(); while(!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_RECEIVED)); - uint16_t registerLSB3 = I2C_ReceiveData(); + registerLSB3 = I2C_ReceiveData(); while(!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_RECEIVED)); - uint16_t registerLSB4 = I2C_ReceiveData(); + registerLSB4 = I2C_ReceiveData(); while(!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_RECEIVED)); - I2C_AcknowledgeConfig(DISABLE); I2C_GenerateSTOP(ENABLE); @@ -137,7 +145,7 @@ static uint16_t read(uint8_t registerId) Logger_Print( registerLSB3); */ - uint16_t registerValue = (registerMSB << 8) + registerLSB; + registerValue = (registerMSB << 8) + registerLSB; return registerValue; } From 4ee9f1911dba11d43989c4815a0be163a2513a2e Mon Sep 17 00:00:00 2001 From: RobertGawron Date: Sat, 10 Aug 2019 13:45:41 +0100 Subject: [PATCH 2/2] fixes after review --- software/Firmware/CMakeLists.txt | 2 +- software/Firmware/Src/VoltageSensorActualValue.c | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/software/Firmware/CMakeLists.txt b/software/Firmware/CMakeLists.txt index 4ca9e1c..4fb0a26 100644 --- a/software/Firmware/CMakeLists.txt +++ b/software/Firmware/CMakeLists.txt @@ -7,7 +7,7 @@ set(CMAKE_SYSTEM_NAME Generic) # No linux target etc set(CMAKE_C_FLAGS_INIT "") set(CMAKE_EXE_LINKER_FLAGS_INIT "") project(STM8Blink C) -SET(CMAKE_C_FLAGS "-mstm8 --std-c95 -DSTM8S003 -D__SDCC__ -DUSE_STDPERIPH_DRIVER") +SET(CMAKE_C_FLAGS "-mstm8 -DSTM8S003 -D__SDCC__ -DUSE_STDPERIPH_DRIVER") # Flash targets #add_custom_target(flash ALL COMMAND stm8flash -c stlink -p stm8s105c6 -w main.ihx) diff --git a/software/Firmware/Src/VoltageSensorActualValue.c b/software/Firmware/Src/VoltageSensorActualValue.c index 578dec8..b9eef37 100644 --- a/software/Firmware/Src/VoltageSensorActualValue.c +++ b/software/Firmware/Src/VoltageSensorActualValue.c @@ -9,7 +9,6 @@ #include "PinoutConfiguration.h" #include "UserInterface.h" #include "stm8s_i2c.h" -#include "stm8s.h" #define I2C_MASTER_ADDRESS 0x10