From e202e00c304ced1dae3bc865e793d406efea7cc8 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sat, 18 Jul 2026 21:19:07 +0200 Subject: [PATCH] [P129] Bugfix: Pre-read so initial read returns valid data --- src/src/PluginStructs/P129_data_struct.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/src/PluginStructs/P129_data_struct.cpp b/src/src/PluginStructs/P129_data_struct.cpp index 8d67c3e90..66e6dcdfd 100644 --- a/src/src/PluginStructs/P129_data_struct.cpp +++ b/src/src/PluginStructs/P129_data_struct.cpp @@ -13,7 +13,6 @@ P129_data_struct::P129_data_struct(int8_t dataPin, uint8_t chipCount) : _dataPin(dataPin), _clockPin(clockPin), _enablePin(enablePin), _loadPin(loadPin), _chipCount(chipCount) {} - bool P129_data_struct::plugin_init(struct EventStruct *event) { if (isInitialized()) { for (uint8_t i = 0; i < P129_MAX_CHIP_COUNT; ++i) { // Clear entire buffer @@ -29,6 +28,7 @@ bool P129_data_struct::plugin_init(struct EventStruct *event) { if (validGpio(_enablePin)) { DIRECT_pinWrite(_enablePin, HIGH); } + plugin_read(event); // Prime data return true; } return false; @@ -74,6 +74,7 @@ enum class p129_subcommands_e { setchipcount, samplefrequency, eventperpin + }; bool P129_data_struct::plugin_write(struct EventStruct *event, @@ -91,7 +92,8 @@ bool P129_data_struct::plugin_write(struct EventStruct *event, return false; } - switch (static_cast(command_i)) { + switch (static_cast(command_i)) + { case p129_subcommands_e::pinevent: { // ShiftIn,pinevent,,<0|1> const uint8_t pin = event->Par2 - 1;