From b909ae307561d0fd407452605a6d488f97446e46 Mon Sep 17 00:00:00 2001 From: alejopm03 Date: Mon, 9 May 2022 19:36:04 -0300 Subject: [PATCH] fix multiple definition for new versions of gcc --- firmware/src/can_app.c | 6 ++++++ firmware/src/can_app.h | 8 ++++---- firmware/src/chronometer.c | 3 +++ firmware/src/chronometer.h | 4 ++-- firmware/src/io.c | 2 ++ firmware/src/io.h | 2 +- firmware/src/machine.c | 16 ++++++++++++++++ firmware/src/machine.h | 20 ++++++++++---------- 8 files changed, 44 insertions(+), 17 deletions(-) diff --git a/firmware/src/can_app.c b/firmware/src/can_app.c index 1a1f128..9ab7575 100644 --- a/firmware/src/can_app.c +++ b/firmware/src/can_app.c @@ -1,5 +1,11 @@ #include "can_app.h" +uint8_t can_app_checks_without_mswi19_msg; +uint8_t can_app_send_state_clk_div; +uint8_t can_app_send_motor_clk_div; + +uint8_t can_app_send_mcs_clk_div; + /** * @brief Prints a can message via usart */ diff --git a/firmware/src/can_app.h b/firmware/src/can_app.h index 0645572..0f3de3d 100644 --- a/firmware/src/can_app.h +++ b/firmware/src/can_app.h @@ -42,10 +42,10 @@ void check_can(void); #define CAN_APP_CHECKS_WITHOUT_MIC19_MSG 200 // can_app_checks -uint8_t can_app_checks_without_mswi19_msg; -uint8_t can_app_send_state_clk_div; -uint8_t can_app_send_motor_clk_div; +extern uint8_t can_app_checks_without_mswi19_msg; +extern uint8_t can_app_send_state_clk_div; +extern uint8_t can_app_send_motor_clk_div; -uint8_t can_app_send_mcs_clk_div; +extern uint8_t can_app_send_mcs_clk_div; #endif /* ifndef CAN_APP_H */ diff --git a/firmware/src/chronometer.c b/firmware/src/chronometer.c index c4c8348..7717336 100644 --- a/firmware/src/chronometer.c +++ b/firmware/src/chronometer.c @@ -1,5 +1,8 @@ #include "chronometer.h" +volatile uint32_t chronometer_counter; +chronometers_t chronometers; + #define NUMBER_OF_CHRONOMETERS 3 static chronometer_t __chronometers[NUMBER_OF_CHRONOMETERS]; diff --git a/firmware/src/chronometer.h b/firmware/src/chronometer.h index 3da37f5..f2906d6 100644 --- a/firmware/src/chronometer.h +++ b/firmware/src/chronometer.h @@ -17,7 +17,7 @@ #include "dbg_vrb.h" #include "io.h" -volatile uint32_t chronometer_counter; +extern volatile uint32_t chronometer_counter; #define TIME_STRING_LEN 13 typedef enum{ @@ -72,7 +72,7 @@ typedef struct{ chronometer_t *current_lap; chronometer_t *last_lap; } chronometers_t; -chronometers_t chronometers; +extern chronometers_t chronometers; typedef struct{ uint8_t laps_counter; diff --git a/firmware/src/io.c b/firmware/src/io.c index 29d835a..32bda38 100644 --- a/firmware/src/io.c +++ b/firmware/src/io.c @@ -1,6 +1,8 @@ #include "io.h" #include "conf.h" +switches_t switches; + void leds_init(void) { #ifdef IO_ON diff --git a/firmware/src/io.h b/firmware/src/io.h index 8dfce96..aaafcbc 100644 --- a/firmware/src/io.h +++ b/firmware/src/io.h @@ -52,7 +52,7 @@ typedef union{ #define SW_PORT (((PORTD) << 8) | (PORTC)) #define SW_DDR (((DDRD) << 8) | (DDRC)) -switches_t switches; +extern switches_t switches; typedef union{ struct{ diff --git a/firmware/src/machine.c b/firmware/src/machine.c index 41e3b48..0dc3d6b 100644 --- a/firmware/src/machine.c +++ b/firmware/src/machine.c @@ -1,5 +1,21 @@ #include "machine.h" +// machine variables +volatile state_machine_t state_machine; +volatile system_flags_t system_flags; +volatile error_flags_t error_flags; + +volatile uint8_t machine_clk; +volatile uint8_t machine_clk_divider; +volatile uint8_t total_errors; // Contagem de ERROS + +// other variables +volatile uint8_t led_clk_div; +volatile uint8_t ui_clk_div; +volatile uint8_t ui_clk_div_2; +volatile uint16_t ui_timeout_clk_div; + + /** * @brief */ diff --git a/firmware/src/machine.h b/firmware/src/machine.h index 93f42ee..939c407 100644 --- a/firmware/src/machine.h +++ b/firmware/src/machine.h @@ -103,19 +103,19 @@ void set_state_reset(void); void ui_boat_info(void); // machine variables -volatile state_machine_t state_machine; -volatile system_flags_t system_flags; -volatile error_flags_t error_flags; +extern volatile state_machine_t state_machine; +extern volatile system_flags_t system_flags; +extern volatile error_flags_t error_flags; -volatile uint8_t machine_clk; -volatile uint8_t machine_clk_divider; -volatile uint8_t total_errors; // Contagem de ERROS +extern volatile uint8_t machine_clk; +extern volatile uint8_t machine_clk_divider; +extern volatile uint8_t total_errors; // Contagem de ERROS // other variables -volatile uint8_t led_clk_div; -volatile uint8_t ui_clk_div; -volatile uint8_t ui_clk_div_2; -volatile uint16_t ui_timeout_clk_div; +extern volatile uint8_t led_clk_div; +extern volatile uint8_t ui_clk_div; +extern volatile uint8_t ui_clk_div_2; +extern volatile uint16_t ui_timeout_clk_div; // ISRs ISR(TIMER2_COMPA_vect);