diff --git a/receivers/native/arduino/src/main/c++/arduino/i2c-module/channels/I2cChannel.hpp b/receivers/native/arduino/src/main/c++/arduino/i2c-module/channels/I2cChannel.hpp index 3aeae13a2..3c178d95b 100644 --- a/receivers/native/arduino/src/main/c++/arduino/i2c-module/channels/I2cChannel.hpp +++ b/receivers/native/arduino/src/main/c++/arduino/i2c-module/channels/I2cChannel.hpp @@ -143,12 +143,16 @@ const uint8_t I2cOutStream::SmBusAlertAddr = 0x0C; template uint8_t I2cOutStream::outBuffer[ZP::i2cChannelOutputBufferSize]; + template uint16_t I2cOutStream::writePos = 0; + template uint16_t I2cOutStream::readPos = 0; + template uint8_t I2cOutStream::addr = 0; + template bool I2cOutStream::usingMagicAddr = false; @@ -252,12 +256,16 @@ class I2cChannel : public ZscriptChannel { template GenericCore::TokenRingBuffer I2cChannel::tBuffer(I2cChannel::buffer, ZP::i2cBufferSize); + template ZscriptTokenizer I2cChannel::tokenizer(I2cChannel::tBuffer.getWriter(), 2); + template uint8_t I2cChannel::buffer[ZP::i2cBufferSize]; + template uint8_t I2cChannel::tmp = 0; + template bool I2cChannel::usingTmp = false; diff --git a/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/GeneralI2cAction.hpp b/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/GeneralI2cAction.hpp index 469dbfc65..fa08107f8 100644 --- a/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/GeneralI2cAction.hpp +++ b/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/GeneralI2cAction.hpp @@ -275,8 +275,8 @@ class GeneralI2cAction { return digitalRead(SDA); } - }; + } #endif /* SRC_MAIN_CPP_ARDUINO_I2C_MODULE_COMMANDS_GENERALI2CACTION_HPP_ */ diff --git a/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cCapabilitiesCommand.hpp b/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cCapabilitiesCommand.hpp index 4885c5f8f..fd27dbb30 100644 --- a/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cCapabilitiesCommand.hpp +++ b/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cCapabilitiesCommand.hpp @@ -48,8 +48,8 @@ class ZscriptI2cCapabilitiesCommand { #endif #endif } - }; + } #endif /* SRC_MAIN_CPP_ARDUINO_I2C_MODULE_COMMANDS_ZSCRIPTI2CCAPABILITIESCOMMAND_HPP_ */ diff --git a/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cChannelInfo.hpp b/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cChannelInfo.hpp index 7ca468f5c..2e0f6be63 100644 --- a/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cChannelInfo.hpp +++ b/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cChannelInfo.hpp @@ -54,8 +54,8 @@ class ZscriptI2cChannelInfoCommand { out.writeField(RespChannelCount__N, 1); out.writeField(RespAddress__A, I2cModule::channel.getAddress()); } - }; + } #endif //SRC_MAIN_CPP_ARDUINO_I2C_MODULE_COMMANDS_ZSCRIPTI2CCHANNELINFOCOMMAND_HPP_ diff --git a/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cChannelSetup.hpp b/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cChannelSetup.hpp index a637b43df..2143270a7 100644 --- a/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cChannelSetup.hpp +++ b/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cChannelSetup.hpp @@ -50,9 +50,8 @@ class ZscriptI2cChannelSetupCommand { } I2cModule::channel.setAddress(address & 0x7F); } - } - }; + } #endif //SRC_MAIN_CPP_ARDUINO_I2C_MODULE_COMMANDS_ZSCRIPTI2CCHANNELSETUPCOMMAND_HPP_ diff --git a/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cSetupCommand.hpp b/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cSetupCommand.hpp index 00c04bf07..4e8c9c2e0 100644 --- a/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cSetupCommand.hpp +++ b/receivers/native/arduino/src/main/c++/arduino/i2c-module/commands/I2cSetupCommand.hpp @@ -85,6 +85,7 @@ class ZscriptI2cSetupCommand { #endif } }; + } #endif /* SRC_MAIN_CPP_ARDUINO_I2C_MODULE_COMMANDS_ZSCRIPTI2CSETUPCOMMAND_HPP_ */ diff --git a/receivers/native/arduino/src/main/c++/arduino/i2c-module/notifications/I2cNotification.hpp b/receivers/native/arduino/src/main/c++/arduino/i2c-module/notifications/I2cNotification.hpp index 7c020ecd4..f6013dd6c 100644 --- a/receivers/native/arduino/src/main/c++/arduino/i2c-module/notifications/I2cNotification.hpp +++ b/receivers/native/arduino/src/main/c++/arduino/i2c-module/notifications/I2cNotification.hpp @@ -17,6 +17,7 @@ namespace Zscript { template class ZscriptI2cNotification { static const uint8_t SMBUS_ALERT_ADDR = 0xC; + public: static void notification(ZscriptNotificationContext ctx, bool moveAlong, bool isAddressing) { (void) moveAlong; diff --git a/receivers/native/arduino/src/main/c++/arduino/uart-module/UartModule.hpp b/receivers/native/arduino/src/main/c++/arduino/uart-module/UartModule.hpp index fa8a9f755..375014822 100644 --- a/receivers/native/arduino/src/main/c++/arduino/uart-module/UartModule.hpp +++ b/receivers/native/arduino/src/main/c++/arduino/uart-module/UartModule.hpp @@ -42,7 +42,6 @@ namespace Zscript { template class UartModule : public ZscriptModule { - public: #ifdef ZSCRIPT_HAVE_UART_CHANNEL static UartChannel channel; @@ -84,6 +83,7 @@ class UartModule : public ZscriptModule { template UartChannel UartModule::channel; #endif + } #endif /* SRC_MAIN_CPP_ARDUINO_UART_MODULE_ZSCRIPTUARTMODULE_HPP_ */ diff --git a/receivers/native/arduino/src/main/c++/arduino/uart-module/channels/UartChannel.hpp b/receivers/native/arduino/src/main/c++/arduino/uart-module/channels/UartChannel.hpp index 8df5d7648..6b32d0631 100644 --- a/receivers/native/arduino/src/main/c++/arduino/uart-module/channels/UartChannel.hpp +++ b/receivers/native/arduino/src/main/c++/arduino/uart-module/channels/UartChannel.hpp @@ -153,8 +153,7 @@ class UartChannel : public ZscriptChannel { } } } - - }; + } #endif /* SRC_MAIN_CPP_ARDUINO_SERIAL_MODULE_CHANNELS_ZSCRIPTSERIALCHANNEL_HPP_ */ diff --git a/receivers/native/arduino/src/main/c++/arduino/uart-module/commands/UartCapabilitiesCommand.hpp b/receivers/native/arduino/src/main/c++/arduino/uart-module/commands/UartCapabilitiesCommand.hpp index fcd78affe..290a67b65 100644 --- a/receivers/native/arduino/src/main/c++/arduino/uart-module/commands/UartCapabilitiesCommand.hpp +++ b/receivers/native/arduino/src/main/c++/arduino/uart-module/commands/UartCapabilitiesCommand.hpp @@ -48,7 +48,6 @@ class ZscriptUartCapabilitiesCommand: public Capabilities_CommandDefs { out.writeField(RespAddressingSupported__A, 0); #endif } - }; } diff --git a/receivers/native/arduino/src/main/c++/arduino/uart-module/commands/UartChannelSetup.hpp b/receivers/native/arduino/src/main/c++/arduino/uart-module/commands/UartChannelSetup.hpp index 134ce4ed6..dad0a9dba 100644 --- a/receivers/native/arduino/src/main/c++/arduino/uart-module/commands/UartChannelSetup.hpp +++ b/receivers/native/arduino/src/main/c++/arduino/uart-module/commands/UartChannelSetup.hpp @@ -63,7 +63,6 @@ class ZscriptUartChannelSetupCommand : public ChannelSetup_CommandDefs { } UartUtil::writeFrequencySelection(ctx.getOutStream(), channelOut->getFrequencyIndex()); } - }; } diff --git a/receivers/native/arduino/src/main/c++/arduino/uart-module/commands/UartUtil.hpp b/receivers/native/arduino/src/main/c++/arduino/uart-module/commands/UartUtil.hpp index 979969e63..dd18755b5 100644 --- a/receivers/native/arduino/src/main/c++/arduino/uart-module/commands/UartUtil.hpp +++ b/receivers/native/arduino/src/main/c++/arduino/uart-module/commands/UartUtil.hpp @@ -19,7 +19,6 @@ class UartUtil { uint8_t maxBaudBytes[4]{(maxBaud >> 24) & 0xff, (maxBaud >> 16) & 0xff, (maxBaud >> 8) & 0xff, (maxBaud) & 0xff}; out.writeBigHex(maxBaudBytes, 4); } - }; }