diff --git a/.travis.yml b/.travis.yml index 7dc694cfc..1e1a0e362 100644 --- a/.travis.yml +++ b/.travis.yml @@ -82,6 +82,7 @@ addons: # secure: "Qkmp4VrQJtKgZ/pz65SNnCDiF4slgFfQS/3whyLXLcDbFb1Hv1oj7Hqz9EVDUSO2eEhgQGaOKkRc0CfAAOBwW6OvhE0xh7P1CJEjzOp6+3gI/LyZUNsqa+awVRZTsfm1YZaOPaPWJ7cI0uz3/OoSUeIecs4PDWPrQMGRlsrq7Q8=" branches: - "2.2" + - .*/sonar script: - build-wrapper-linux-x86-64 --out-dir bw_output ./tools/commit-tests.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index a6a66a5a3..caa24179a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,7 +27,7 @@ endif() set(CMAKE_COLOR_MAKEFILE ON) -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 14) set(RADIO_DIRECTORY ${PROJECT_SOURCE_DIR}/radio) set(RADIO_SRC_DIRECTORY ${RADIO_DIRECTORY}/src) diff --git a/cmake/Macros.cmake b/cmake/Macros.cmake index c8ca02aa0..f3bc9c2fd 100644 --- a/cmake/Macros.cmake +++ b/cmake/Macros.cmake @@ -42,11 +42,11 @@ macro(git_id RESULT) endif() endmacro(git_id) -macro(use_cxx11) +macro(use_cxx14) if (CMAKE_VERSION VERSION_LESS "3.1" AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - set (CMAKE_CXX_FLAGS "--std=gnu++11 ${CMAKE_CXX_FLAGS}") + set (CMAKE_CXX_FLAGS "--std=c++14 ${CMAKE_CXX_FLAGS}") endif () -endmacro(use_cxx11) +endmacro(use_cxx14) macro(PrintTargetReport targetName) if(CMAKE_CXX_COMPILER MATCHES "/cl\\.exe$") diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt index 9343d71b9..6b3eb1ffb 100644 --- a/companion/src/CMakeLists.txt +++ b/companion/src/CMakeLists.txt @@ -96,7 +96,7 @@ endif() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS}") -use_cxx11() # ensure gnu++11 in CXX_FLAGS with CMake < 3.1 +use_cxx14() # ensure c++14 in CXX_FLAGS with CMake < 3.1 include_directories( ${CMAKE_BINARY_DIR} diff --git a/companion/src/modeledit/setup.cpp b/companion/src/modeledit/setup.cpp index f6b38b80a..836ae0618 100644 --- a/companion/src/modeledit/setup.cpp +++ b/companion/src/modeledit/setup.cpp @@ -523,7 +523,6 @@ void ModulePanel::update() ui->label_option->setText(qApp->translate("Multiprotocols", qPrintable(pdef.optionsstr))); } - // Failsafes ui->label_failsafeMode->setVisible(mask & MASK_FAILSAFES); ui->failsafeMode->setVisible(mask & MASK_FAILSAFES); diff --git a/radio/src/CMakeLists.txt b/radio/src/CMakeLists.txt index 987dd83ae..21374e181 100644 --- a/radio/src/CMakeLists.txt +++ b/radio/src/CMakeLists.txt @@ -393,7 +393,7 @@ endforeach() add_definitions(-DCORRECT_NEGATIVE_SHIFTS) if(NOT MSVC) - set(WARNING_FLAGS "${WARNING_FLAGS} -Wall -Wno-strict-aliasing -Wformat -Wreturn-type -Wunused -Wuninitialized -Wunknown-pragmas -Wno-switch -Wtype-limits") + set(WARNING_FLAGS "${WARNING_FLAGS} -Wall -Wno-strict-aliasing -Wformat -Wreturn-type -Wunused -Wuninitialized -Wunknown-pragmas -Wno-switch -Wtype-limits -Wno-attributes") if(WARNINGS_AS_ERRORS) set(WARNING_FLAGS "${WARNING_FLAGS} -Werror") endif(WARNINGS_AS_ERRORS) @@ -443,7 +443,7 @@ set(CMAKE_EXE_LINKER_FLAGS "") set(CMAKE_C_LINK_EXECUTABLE " -o ") set(CMAKE_CXX_LINK_EXECUTABLE " -o ") -use_cxx11() # ensure gnu++11 in CXX_FLAGS with CMake < 3.1 +use_cxx14() # ensure c++14 in CXX_FLAGS with CMake < 3.1 find_program(BASH bash HINTS "c:/cygwin/bin/" "c:/msys/bin/" DOC "bash shell for firmware size report (eg. c:/cygwin/bin/bash.exe on Windows).") diff --git a/radio/src/gui/480x272/menu_model.cpp b/radio/src/gui/480x272/menu_model.cpp index b0ec425e9..c595be026 100644 --- a/radio/src/gui/480x272/menu_model.cpp +++ b/radio/src/gui/480x272/menu_model.cpp @@ -118,7 +118,7 @@ void editName(coord_t x, coord_t y, char * name, uint8_t size, event_t event, ui killEvents(event); break; } - // no break + [[fallthrough]]; case EVT_KEY_LONG(KEY_LEFT): case EVT_KEY_LONG(KEY_RIGHT): diff --git a/radio/src/gui/480x272/model_setup.cpp b/radio/src/gui/480x272/model_setup.cpp index 71e9ced48..3f33f708e 100644 --- a/radio/src/gui/480x272/model_setup.cpp +++ b/radio/src/gui/480x272/model_setup.cpp @@ -88,19 +88,19 @@ enum MenuModelSetupItems { ITEM_MODEL_SETUP_MAX }; -#define MODEL_SETUP_2ND_COLUMN 200 -#define MODEL_SETUP_3RD_COLUMN 270 -#define MODEL_SETUP_4TH_COLUMN 350 -#define MODEL_SETUP_BIND_OFS 40 -#define MODEL_SETUP_RANGE_OFS 80 -#define MODEL_SETUP_SET_FAILSAFE_OFS 100 -#define MODEL_SETUP_SLIDPOT_SPACING 45 +#define MODEL_SETUP_2ND_COLUMN 200 +#define MODEL_SETUP_3RD_COLUMN 270 +#define MODEL_SETUP_4TH_COLUMN 350 +#define MODEL_SETUP_BIND_OFS 40 +#define MODEL_SETUP_RANGE_OFS 80 +#define MODEL_SETUP_SET_FAILSAFE_OFS 100 +#define MODEL_SETUP_SLIDPOT_SPACING 45 -#define CURRENT_MODULE_EDITED(k) (k>=ITEM_MODEL_TRAINER_LABEL ? TRAINER_MODULE : (k>=ITEM_MODEL_EXTERNAL_MODULE_LABEL ? EXTERNAL_MODULE : INTERNAL_MODULE)) +#define CURRENT_MODULE_EDITED(k) (k>=ITEM_MODEL_TRAINER_LABEL ? TRAINER_MODULE : (k>=ITEM_MODEL_EXTERNAL_MODULE_LABEL ? EXTERNAL_MODULE : INTERNAL_MODULE)) void onBindMenu(const char * result) { - uint8_t moduleIdx = CURRENT_MODULE_EDITED(menuVerticalPosition); + uint8_t moduleIdx = (menuVerticalPosition >= ITEM_MODEL_EXTERNAL_MODULE_LABEL ? EXTERNAL_MODULE : INTERNAL_MODULE); if (result == STR_BINDING_25MW_CH1_8_TELEM_OFF) { g_model.moduleData[moduleIdx].pxx.power = R9M_LBT_POWER_25; diff --git a/radio/src/targets/horus/audio_spi_driver.cpp b/radio/src/targets/horus/audio_spi_driver.cpp index 79c35fbbe..807f957cc 100644 --- a/radio/src/targets/horus/audio_spi_driver.cpp +++ b/radio/src/targets/horus/audio_spi_driver.cpp @@ -22,41 +22,41 @@ #if !defined(SIMU) -#define VS_WRITE_COMMAND 0x02 -#define VS_READ_COMMAND 0x03 +#define VS_WRITE_COMMAND 0x02 +#define VS_READ_COMMAND 0x03 -#define SPI_MODE 0x00 -#define SPI_STATUS 0x01 -#define SPI_BASS 0x02 -#define SPI_CLOCKF 0x03 -#define SPI_DECODE_TIME 0x04 -#define SPI_AUDATA 0x05 -#define SPI_WRAM 0x06 -#define SPI_WRAMADDR 0x07 -#define SPI_HDAT0 0x08 -#define SPI_HDAT1 0x09 -#define SPI_AIADDR 0x0a -#define SPI_VOL 0x0b -#define SPI_AICTRL0 0x0c -#define SPI_AICTRL1 0x0d -#define SPI_AICTRL2 0x0e -#define SPI_AICTRL3 0x0f +#define SPI_MODE 0x00 +#define SPI_STATUS 0x01 +#define SPI_BASS 0x02 +#define SPI_CLOCKF 0x03 +#define SPI_DECODE_TIME 0x04 +#define SPI_AUDATA 0x05 +#define SPI_WRAM 0x06 +#define SPI_WRAMADDR 0x07 +#define SPI_HDAT0 0x08 +#define SPI_HDAT1 0x09 +#define SPI_AIADDR 0x0a +#define SPI_VOL 0x0b +#define SPI_AICTRL0 0x0c +#define SPI_AICTRL1 0x0d +#define SPI_AICTRL2 0x0e +#define SPI_AICTRL3 0x0f -#define SM_DIFF 0x01 -#define SM_LAYER12 0x02 -#define SM_RESET 0x04 -#define SM_CANCEL 0x08 -#define SM_EARSPEAKER_LO 0x10 -#define SM_TESTS 0x20 -#define SM_STREAM 0x40 -#define SM_EARSPEAKER_HI 0x80 -#define SM_DACT 0x100 -#define SM_SDIORD 0x200 -#define SM_SDISHARE 0x400 -#define SM_SDINEW 0x800 -#define SM_ADPCM 0x1000 -#define SM_LINE1 0x4000 -#define SM_CLK_RANGE 0x8000 +#define SM_DIFF 0x01 +#define SM_LAYER12 0x02 +#define SM_RESET 0x04 +#define SM_CANCEL 0x08 +#define SM_EARSPEAKER_LO 0x10 +#define SM_TESTS 0x20 +#define SM_STREAM 0x40 +#define SM_EARSPEAKER_HI 0x80 +#define SM_DACT 0x100 +#define SM_SDIORD 0x200 +#define SM_SDISHARE 0x400 +#define SM_SDINEW 0x800 +#define SM_ADPCM 0x1000 +#define SM_LINE1 0x4000 +#define SM_CLK_RANGE 0x8000 #define SPI_SPEED_2 0 #define SPI_SPEED_4 1 @@ -136,34 +136,34 @@ void audioSpiInit(void) void audioSpiSetSpeed(uint8_t speed) { - AUDIO_SPI->CR1 &= 0XFFC7; // Fsck=Fcpu/256 - switch(speed) { + AUDIO_SPI->CR1 &= 0xFFC7; // Fsck=Fcpu/256 + switch (speed) { case SPI_SPEED_2: - AUDIO_SPI->CR1 |= 0<<3; // Fsck=Fpclk/2=36Mhz + AUDIO_SPI->CR1 |= 0x00 << 3; // Fsck=Fpclk/2=36Mhz break; case SPI_SPEED_4: - AUDIO_SPI->CR1 |= 1<<3; // Fsck=Fpclk/4=18Mhz + AUDIO_SPI->CR1 |= 0x01 << 3; // Fsck=Fpclk/4=18Mhz break; case SPI_SPEED_8: - AUDIO_SPI->CR1 |= 2<<3; // Fsck=Fpclk/8=9Mhz + AUDIO_SPI->CR1 |= 0x02 << 3; // Fsck=Fpclk/8=9Mhz break; case SPI_SPEED_16: - AUDIO_SPI->CR1 |= 3<<3; // Fsck=Fpclk/16=4.5Mhz + AUDIO_SPI->CR1 |= 0x03 << 3; // Fsck=Fpclk/16=4.5Mhz break; case SPI_SPEED_32: - AUDIO_SPI->CR1 |= 4<<3; // Fsck=Fpclk/32=2.25Mhz + AUDIO_SPI->CR1 |= 0x04 << 3; // Fsck=Fpclk/32=2.25Mhz break; case SPI_SPEED_64: - AUDIO_SPI->CR1 |= 5<<3; // Fsck=Fpclk/16=1.125Mhz + AUDIO_SPI->CR1 |= 0x05 << 3; // Fsck=Fpclk/16=1.125Mhz break; case SPI_SPEED_128: - AUDIO_SPI->CR1 |= 6<<3; // Fsck=Fpclk/16=562.5Khz + AUDIO_SPI->CR1 |= 0x06 << 3; // Fsck=Fpclk/16=562.5Khz break; case SPI_SPEED_256: - AUDIO_SPI->CR1 |= 7<<3; // Fsck=Fpclk/16=281.25Khz + AUDIO_SPI->CR1 |= 0x07 << 3; // Fsck=Fpclk/16=281.25Khz break; } - AUDIO_SPI->CR1 |= 1<<6; + AUDIO_SPI->CR1 |= 0x01 << 6; } uint8_t audioSpiReadWriteByte(uint8_t value) diff --git a/radio/src/targets/simu/CMakeLists.txt b/radio/src/targets/simu/CMakeLists.txt index 332c3b78d..a4e98d8de 100644 --- a/radio/src/targets/simu/CMakeLists.txt +++ b/radio/src/targets/simu/CMakeLists.txt @@ -77,7 +77,7 @@ endif() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS}") -use_cxx11() # ensure gnu++11 in CXX_FLAGS with CMake < 3.1 +use_cxx14() # ensure c++14 in CXX_FLAGS with CMake < 3.1 if(FOX_FOUND) if(SIMU_DISKIO) diff --git a/radio/src/targets/simu/simufatfs.cpp b/radio/src/targets/simu/simufatfs.cpp index 7e6c1a4a6..4f7e96588 100644 --- a/radio/src/targets/simu/simufatfs.cpp +++ b/radio/src/targets/simu/simufatfs.cpp @@ -371,8 +371,10 @@ TCHAR * f_gets (TCHAR* buff, int len, FIL* fil) FRESULT f_lseek (FIL* fil, DWORD offset) { - if (fil && fil->obj.fs) fseek((FILE*)fil->obj.fs, offset, SEEK_SET); - fil->fptr = offset; + if (fil && fil->obj.fs) { + fseek((FILE*)fil->obj.fs, offset, SEEK_SET); + fil->fptr = offset; + } return FR_OK; } @@ -425,7 +427,9 @@ FRESULT f_opendir (DIR * rep, const TCHAR * name) FRESULT f_closedir (DIR * rep) { TRACE_SIMPGMSPACE("f_closedir(%p)", rep); - if (rep->obj.fs) simu::closedir((simu::DIR *)rep->obj.fs); + if (rep->obj.fs) { + simu::closedir((simu::DIR *)rep->obj.fs); + } return FR_OK; } diff --git a/radio/src/tests/CMakeLists.txt b/radio/src/tests/CMakeLists.txt index a8b0941e2..ec5fd0066 100644 --- a/radio/src/tests/CMakeLists.txt +++ b/radio/src/tests/CMakeLists.txt @@ -35,7 +35,7 @@ if(GTEST_INCDIR AND GTEST_SRCDIR AND Qt5Widgets_FOUND) set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0") - use_cxx11() # ensure gnu++11 in CXX_FLAGS with CMake < 3.1 + use_cxx14() # ensure c++14 in CXX_FLAGS with CMake < 3.1 add_executable(gtests EXCLUDE_FROM_ALL ${TEST_SRC_FILES} ${CMAKE_CURRENT_SOURCE_DIR}/location.h ${RADIO_SRC} ../targets/simu/simpgmspace.cpp ../targets/simu/simueeprom.cpp ../targets/simu/simufatfs.cpp) qt5_use_modules(gtests Core Widgets) diff --git a/radio/src/tests/lua.cpp b/radio/src/tests/lua.cpp index a23568c84..845d49f45 100644 --- a/radio/src/tests/lua.cpp +++ b/radio/src/tests/lua.cpp @@ -62,17 +62,17 @@ TEST(Lua, testPanicProtection) bool passed = false; PROTECT_LUA() { PROTECT_LUA() { - //simulate panic + // simulate panic longjmp(global_lj->b, 1); } else { - //we should come here + // we should come here passed = true; } UNPROTECT_LUA(); } else { - // an not here + // and not here // TRACE("testLuaProtection: test 1 FAILED"); FAIL() << "Failed test 1"; } @@ -85,15 +85,15 @@ TEST(Lua, testPanicProtection) PROTECT_LUA() { PROTECT_LUA() { int a = 5; - a = a; // avoids the warning + UNUSED(a); } else { - //we should not come here + // we should not come here // TRACE("testLuaProtection: test 2 FAILED"); FAIL() << "Failed test 2"; } UNPROTECT_LUA() - //simulate panic + // simulate panic longjmp(global_lj->b, 1); } else {