Open-Acidification / Open-Acidification/TankControllerPico
View Device Address - Additional Functionality
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2
- Forks
- 1
- Avg merge
- 2h 22m
- Merged PRs (30d)
- 2
Description
Review the new key-press handling implementation on the Pico platform and compare it against the previous C++ behavior. The original design included two Watchdog Timer (WDT) operations and a MAC-address reset action.
Goals
- Verify whether watchdog timer operations (
wdt_disable(),wdt_enable()) are required, supported, or should be replaced on the Pico. - Review the behavior of key-triggered actions (
#,B,C) and update them for platform compatibility. - Confirm whether
readMac()is needed in this UI context on the new architecture. - Ensure the UI/state controller does not cause unexpected resets or hangs on the Pico.
Reference: Original AVR Key Handling
case '#': // Disable Watchdog Timer (is reboot from this?)
wdt_disable();
break;
case 'B': // Infinite loop to test Watchdog Timer
wdt_disable();
wdt_enable(WDTO_15MS);
do {
} while (true);
break;
case 'C': // Reset MAC address
Ethernet_TC::instance()->readMac(true);
start();
break;
readMac definition
void Ethernet_TC::readMac(bool forceReset) {
uint8_t bytes[6];
EEPROM_TC::instance()->getMac(bytes);
if (forceReset || bytes[0] != '#') {
randomSeed(analogRead(0) + millis());
bytes[0] = '#';
bytes[3] = random(256);
bytes[4] = random(256);
bytes[5] = random(256);
EEPROM_TC::instance()->setMac(bytes);
}
mac[3] = bytes[3];
mac[4] = bytes[4];
mac[5] = bytes[5];
serial(F("MAC address is %02x:%02x:%02x:%02x:%02x:%02x"), mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No Pico source file or test is named. Locate the Pico key-press handling and UI/state controller, then compare them with the referenced AVR cases and readMac implementation; done means the supported watchdog and MAC-reset behavior is settled and key actions cannot cause unexpected resets or hangs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100