diff --git a/.travis.yml b/.travis.yml index 8452609..93834a7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,8 +13,6 @@ - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" cache: directories: - - ~/arduino_ide - - ~/.arduino15/packages/ git: depth: false quiet: true @@ -36,6 +34,7 @@ - language: cpp os: linux env: + - ARDUINO_IDE_VERSION="1.8.11" cache: directories: - ~/arduino_ide @@ -52,13 +51,15 @@ - sed -i 's#compiler.warning_level=all#compiler.warning_level=default#' ~/.arduino15/preferences.txt # changes for bsec lib # samd - - sed -ri 's#(recipe.c.combine.pattern=[^$]*\{archive_file\}")( -Wl,--end-group)#\1 {compiler.libraries.ldflags}\2#' ~/.arduino15/packages/arduino/hardware/samd/1.8.4/platform.txt - - sed -i 's#compiler.elf2hex.extra_flags=#compiler.elf2hex.extra_flags=\ncompiler.libraries.ldflags=#' ~/.arduino15/packages/arduino/hardware/samd/1.8.4/platform.txt + - ls -l ~/.arduino15/packages/arduino/hardware/samd + - sed -ri 's#(recipe.c.combine.pattern=[^$]*\{archive_file\}")( -Wl,--end-group)#\1 {compiler.libraries.ldflags}\2#' ~/.arduino15/packages/arduino/hardware/samd/1.8.6/platform.txt + - sed -i 's#compiler.elf2hex.extra_flags=#compiler.elf2hex.extra_flags=\ncompiler.libraries.ldflags=#' ~/.arduino15/packages/arduino/hardware/samd/1.8.6/platform.txt # esp8266 - - sed -ri 's#(recipe.c.combine.pattern=[^$]*\{compiler.c.elf.libs\})( -Wl,--end-group "-L\{build.path\}")#\1 {compiler.libraries.ldflags}\2#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/platform.txt - - sed -i 's#compiler.elf2hex.extra_flags=#compiler.elf2hex.extra_flags=\ncompiler.libraries.ldflags=#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/platform.txt - - sed -i '/^.*libalgobsec.*$/d' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/sdk/ld/eagle.app.v6.common.ld.h - - sed -ri 's#(\*libwps\.a:\(\.literal\.\* \.text\.\*\))#\1\n *libalgobsec.a:(.literal.* .text.*)#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools/sdk/ld/eagle.app.v6.common.ld.h + - ls -l ~/.arduino15/packages/esp8266/hardware/esp8266 + - sed -ri 's#(recipe.c.combine.pattern=[^$]*\{compiler.c.elf.libs\})( -Wl,--end-group "-L\{build.path\}")#\1 {compiler.libraries.ldflags}\2#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.7.0/platform.txt + - sed -i 's#compiler.elf2hex.extra_flags=#compiler.elf2hex.extra_flags=\ncompiler.libraries.ldflags=#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.7.0/platform.txt + - sed -i '/^.*libalgobsec.*$/d' ~/.arduino15/packages/esp8266/hardware/esp8266/2.7.0/tools/sdk/ld/eagle.app.v6.common.ld.h + - sed -ri 's#(\*libwps\.a:\(\.literal\.\* \.text\.\*\))#\1\n *libalgobsec.a:(.literal.* .text.*)#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.7.0/tools/sdk/ld/eagle.app.v6.common.ld.h # the HDC100X lib is not properly set up in githup so move things around a bit - rm -rf $HOME/arduino_ide/libraries/HDC100X_Arduino_Library-master @@ -79,7 +80,7 @@ # Test build for PlatformIO based projects - language: python python: - - "2.7" + - "3.8" cache: directories: - "~/.platformio" diff --git a/examples/knx-usb/platformio-ci.ini b/examples/knx-usb/platformio-ci.ini index aaaa387..0dd3625 100644 --- a/examples/knx-usb/platformio-ci.ini +++ b/examples/knx-usb/platformio-ci.ini @@ -19,10 +19,10 @@ board_build.usb_product="KNX RF - USB Interface" lib_deps = SPI - Adafruit TinyUSB Library + Adafruit TinyUSB Library@0.7.1 https://github.com/thelsing/FlashStorage.git knx - + build_flags = -DMEDIUM_TYPE=2 -DUSE_USB diff --git a/src/knx/application_layer.cpp b/src/knx/application_layer.cpp index 2e2403e..74f99d8 100644 --- a/src/knx/application_layer.cpp +++ b/src/knx/application_layer.cpp @@ -429,7 +429,7 @@ void ApplicationLayer::systemNetworkParameterReadResponse(Priority priority, Hop //TODO: ApplicationLayer::domainAddressSerialNumberWriteRequest() //TODO: ApplicationLayer::domainAddressSerialNumberReadRequest() void ApplicationLayer::domainAddressSerialNumberReadResponse(Priority priority, HopCountType hopType, uint8_t* rfDoA, - uint8_t* knxSerialNumber) + const uint8_t* knxSerialNumber) { CemiFrame frame(13); APDU& apdu = frame.apdu(); diff --git a/src/knx/application_layer.h b/src/knx/application_layer.h index 9d7223f..401a653 100644 --- a/src/knx/application_layer.h +++ b/src/knx/application_layer.h @@ -134,7 +134,7 @@ class ApplicationLayer uint16_t propertyId, uint8_t* testInfo, uint16_t testInfoLength, uint8_t* testResult, uint16_t testResultLength); void domainAddressSerialNumberReadResponse(Priority priority, HopCountType hopType, uint8_t* rfDoA, - uint8_t* knxSerialNumber); + const uint8_t* knxSerialNumber); void IndividualAddressSerialNumberReadResponse(Priority priority, HopCountType hopType, uint8_t* rfDoA, uint8_t* knxSerialNumber); #pragma endregion diff --git a/src/knx/bau27B0.cpp b/src/knx/bau27B0.cpp index 4b5884c..1f4e130 100644 --- a/src/knx/bau27B0.cpp +++ b/src/knx/bau27B0.cpp @@ -119,8 +119,8 @@ void Bau27B0::loop() #endif } -void Bau27B0::domainAddressSerialNumberWriteIndication(Priority priority, HopCountType hopType, uint8_t* rfDoA, - uint8_t* knxSerialNumber) +void Bau27B0::domainAddressSerialNumberWriteIndication(Priority priority, HopCountType hopType, const uint8_t* rfDoA, + const uint8_t* knxSerialNumber) { // If the received serial number matches our serial number // then store the received RF domain address in the RF medium object @@ -128,7 +128,7 @@ void Bau27B0::domainAddressSerialNumberWriteIndication(Priority priority, HopCou _rfMediumObj.rfDomainAddress(rfDoA); } -void Bau27B0::domainAddressSerialNumberReadIndication(Priority priority, HopCountType hopType, uint8_t* knxSerialNumber) +void Bau27B0::domainAddressSerialNumberReadIndication(Priority priority, HopCountType hopType, const uint8_t* knxSerialNumber) { // If the received serial number matches our serial number // then send a response with the current RF domain address stored in the RF medium object diff --git a/src/knx/bau27B0.h b/src/knx/bau27B0.h index 91f1466..8b270b6 100644 --- a/src/knx/bau27B0.h +++ b/src/knx/bau27B0.h @@ -26,13 +26,13 @@ class Bau27B0 : public BauSystemB #ifdef USE_CEMI_SERVER CemiServer _cemiServer; CemiServerObject _cemiServerObject; -#endif +#endif - void domainAddressSerialNumberWriteIndication(Priority priority, HopCountType hopType, uint8_t* rfDoA, - uint8_t* knxSerialNumber); - void domainAddressSerialNumberReadIndication(Priority priority, HopCountType hopType, uint8_t* knxSerialNumber); + void domainAddressSerialNumberWriteIndication(Priority priority, HopCountType hopType, const uint8_t* rfDoA, + const uint8_t* knxSerialNumber) override; + void domainAddressSerialNumberReadIndication(Priority priority, HopCountType hopType, const uint8_t* knxSerialNumber) override; void individualAddressSerialNumberWriteIndication(Priority priority, HopCountType hopType, uint16_t newIndividualAddress, - uint8_t* knxSerialNumber); - void individualAddressSerialNumberReadIndication(Priority priority, HopCountType hopType, uint8_t* knxSerialNumber); + uint8_t* knxSerialNumber) override; + void individualAddressSerialNumberReadIndication(Priority priority, HopCountType hopType, uint8_t* knxSerialNumber) override; }; #endif \ No newline at end of file diff --git a/src/knx/rf_medium_object.cpp b/src/knx/rf_medium_object.cpp index 42f37e4..c86372d 100644 --- a/src/knx/rf_medium_object.cpp +++ b/src/knx/rf_medium_object.cpp @@ -117,7 +117,7 @@ uint8_t* RfMediumObject::rfDomainAddress() return _rfDomainAddress; } -void RfMediumObject::rfDomainAddress(uint8_t* value) +void RfMediumObject::rfDomainAddress(const uint8_t* value) { pushByteArray(value, 6, _rfDomainAddress); } diff --git a/src/knx/rf_medium_object.h b/src/knx/rf_medium_object.h index e0685d8..6742a85 100644 --- a/src/knx/rf_medium_object.h +++ b/src/knx/rf_medium_object.h @@ -15,7 +15,7 @@ public: uint16_t saveSize() override; uint8_t* rfDomainAddress(); - void rfDomainAddress(uint8_t* value); + void rfDomainAddress(const uint8_t* value); protected: uint8_t propertyDescriptionCount() override;