diff --git a/Makefile b/Makefile index d931fc8994..891cda0b27 100644 --- a/Makefile +++ b/Makefile @@ -210,6 +210,7 @@ CFLAGS += $(ARCH_FLAGS) \ -Wall -Wextra -Wunsafe-loop-optimizations -Wdouble-promotion \ -ffunction-sections \ -fdata-sections \ + -fno-common \ -pedantic \ $(DEVICE_FLAGS) \ -D_GNU_SOURCE \ diff --git a/src/main/cms/cms.h b/src/main/cms/cms.h index 18efcec23a..18d73b4cd6 100644 --- a/src/main/cms/cms.h +++ b/src/main/cms/cms.h @@ -38,7 +38,8 @@ extern bool cmsInMenu; // Device management bool cmsDisplayPortRegister(displayPort_t *pDisplay); -displayPort_t *pCurrentDisplay; + +extern displayPort_t *pCurrentDisplay; // For main.c and scheduler void cmsInit(void); diff --git a/src/main/drivers/bus_spi_ll.c b/src/main/drivers/bus_spi_ll.c index 826be73092..41cf4579b5 100644 --- a/src/main/drivers/bus_spi_ll.c +++ b/src/main/drivers/bus_spi_ll.c @@ -36,8 +36,6 @@ #include "drivers/nvic.h" #include "drivers/rcc.h" -spiDevice_t spiDevice[SPIDEV_COUNT]; - #ifndef SPI2_SCK_PIN #define SPI2_NSS_PIN PB12 #define SPI2_SCK_PIN PB13 diff --git a/src/main/drivers/bus_spi_stdperiph.c b/src/main/drivers/bus_spi_stdperiph.c index beda822348..86bdb86e51 100644 --- a/src/main/drivers/bus_spi_stdperiph.c +++ b/src/main/drivers/bus_spi_stdperiph.c @@ -33,8 +33,6 @@ #include "drivers/io.h" #include "drivers/rcc.h" -spiDevice_t spiDevice[SPIDEV_COUNT]; - void spiInitDevice(SPIDevice device) { spiDevice_t *spi = &(spiDevice[device]); diff --git a/src/main/drivers/usb_msc_f7xx.c b/src/main/drivers/usb_msc_f7xx.c index 776e8a47db..27049456ad 100644 --- a/src/main/drivers/usb_msc_f7xx.c +++ b/src/main/drivers/usb_msc_f7xx.c @@ -39,6 +39,7 @@ #include "drivers/io.h" #include "drivers/light_led.h" #include "drivers/nvic.h" +#include "drivers/serial_usb_vcp.h" #include "drivers/time.h" #include "drivers/usb_msc.h" @@ -51,8 +52,6 @@ #include "usbd_msc.h" #include "msc/usbd_storage.h" -USBD_HandleTypeDef USBD_Device; - #define DEBOUNCE_TIME_MS 20 static IO_t mscButton; diff --git a/src/main/flight/servos.h b/src/main/flight/servos.h index 409b8c3177..683918663c 100644 --- a/src/main/flight/servos.h +++ b/src/main/flight/servos.h @@ -41,7 +41,7 @@ enum { INPUT_GIMBAL_PITCH, INPUT_GIMBAL_ROLL, INPUT_SOURCE_COUNT -} inputSource_e; +}; // target servo channels typedef enum { diff --git a/src/main/io/displayport_hott.h b/src/main/io/displayport_hott.h index 43df02061e..c1e5026905 100644 --- a/src/main/io/displayport_hott.h +++ b/src/main/io/displayport_hott.h @@ -19,7 +19,8 @@ #include "drivers/display.h" displayPort_t *displayPortHottInit(); -displayPort_t hottDisplayPort; + +extern displayPort_t hottDisplayPort; void hottDisplayportRegister(); void hottCmsOpen(); diff --git a/src/main/io/displayport_srxl.h b/src/main/io/displayport_srxl.h index 5547205208..8702cc1b2f 100644 --- a/src/main/io/displayport_srxl.h +++ b/src/main/io/displayport_srxl.h @@ -21,4 +21,5 @@ #pragma once displayPort_t *displayPortSrxlInit(); -displayPort_t srxlDisplayPort; + +extern displayPort_t srxlDisplayPort; diff --git a/src/main/io/ledstrip.c b/src/main/io/ledstrip.c index d668c04407..f9eef78df2 100644 --- a/src/main/io/ledstrip.c +++ b/src/main/io/ledstrip.c @@ -77,6 +77,10 @@ PG_REGISTER_WITH_RESET_FN(ledStripConfig_t, ledStripConfig, PG_LED_STRIP_CONFIG, 0); +hsvColor_t *colors; +const modeColorIndexes_t *modeColors; +specialColorIndexes_t specialColors; + static bool ledStripInitialised = false; static bool ledStripEnabled = true; diff --git a/src/main/io/ledstrip.h b/src/main/io/ledstrip.h index 3f4d3b9840..07641492df 100644 --- a/src/main/io/ledstrip.h +++ b/src/main/io/ledstrip.h @@ -157,9 +157,9 @@ typedef struct ledStripConfig_s { PG_DECLARE(ledStripConfig_t, ledStripConfig); -hsvColor_t *colors; -const modeColorIndexes_t *modeColors; -specialColorIndexes_t specialColors; +extern hsvColor_t *colors; +extern const modeColorIndexes_t *modeColors; +extern specialColorIndexes_t specialColors; #define LF(name) LED_FUNCTION_ ## name #define LO(name) LED_FLAG_OVERLAY(LED_OVERLAY_ ## name) diff --git a/src/main/io/rcdevice_cam.h b/src/main/io/rcdevice_cam.h index d03a114a7e..f8fc924705 100644 --- a/src/main/io/rcdevice_cam.h +++ b/src/main/io/rcdevice_cam.h @@ -43,8 +43,3 @@ void rcdeviceInit(void); void rcdeviceUpdate(timeUs_t currentTimeUs); bool rcdeviceIsEnabled(void); - -// used for unit test -rcdeviceSwitchState_t switchStates[BOXCAMERA3 - BOXCAMERA1 + 1]; - -void rcdeviceSend5KeyOSDCableSimualtionEvent(rcdeviceCamSimulationKeyEvent_e key); diff --git a/src/main/vcpf4/usbd_cdc_vcp.c b/src/main/vcpf4/usbd_cdc_vcp.c index b9cdab30e6..40605aa614 100644 --- a/src/main/vcpf4/usbd_cdc_vcp.c +++ b/src/main/vcpf4/usbd_cdc_vcp.c @@ -29,6 +29,8 @@ #include "stdbool.h" #include "drivers/time.h" +__ALIGN_BEGIN USB_OTG_CORE_HANDLE USB_OTG_dev __ALIGN_END; + LINE_CODING g_lc; extern __IO uint8_t USB_Tx_State; diff --git a/src/main/vcpf4/usbd_cdc_vcp.h b/src/main/vcpf4/usbd_cdc_vcp.h index 0a046ad1b7..fc27a6d98e 100644 --- a/src/main/vcpf4/usbd_cdc_vcp.h +++ b/src/main/vcpf4/usbd_cdc_vcp.h @@ -34,7 +34,7 @@ #include "usbd_usr.h" #include "usbd_desc.h" -__ALIGN_BEGIN USB_OTG_CORE_HANDLE USB_OTG_dev __ALIGN_END; +extern USB_OTG_CORE_HANDLE USB_OTG_dev; uint32_t CDC_Send_DATA(const uint8_t *ptrBuffer, uint32_t sendLength); uint32_t CDC_Send_FreeBytes(void); diff --git a/src/test/unit/rcdevice_unittest.cc b/src/test/unit/rcdevice_unittest.cc index 29687cdce5..cb8c072ed1 100644 --- a/src/test/unit/rcdevice_unittest.cc +++ b/src/test/unit/rcdevice_unittest.cc @@ -74,6 +74,8 @@ extern "C" { uint32_t millis(void); int minTimeout = 180; + + void rcdeviceSend5KeyOSDCableSimualtionEvent(rcdeviceCamSimulationKeyEvent_e key); } #define MAX_RESPONSES_COUNT 10