-
Zero2W serial logging
-
Zero2W USB UART
-
MSG_POKE (because absolutely shouldn't call it from interrupt handler)
-
Rework print queue - (?) check USB connected - (?) setvbuf
-
https://tinygo.org/docs/reference/microcontrollers/machine/waveshare-rp2040-zero/
On some boards, the XOSC can take longer than usual to stabilize. On such boards, this is needed to avoid a hard fault on boot/reset. Refer to PICO_XOSC_STARTUP_DELAY_MULTIPLIER in the Pico SDK for additional details.
-
set I2C GPIO slew rates and drive for 100kHz
-
Commonalise sys implementation into core::sys
-
(?) mutex around buffer push/pop - requires 'double' buffering otherwise pop will block interrupt reads - or use queue ?
-
CLI: trace interval
-
CLI: poke - system errors - system error messages
-
syserror - [x] red LED on any system error - [ ] log once on occurrence - (?) count up/down to auto-clear - (?) display in 'poke'
-
Use Pico optimized libraries - pico_mem_ops - pico_printf - pico_malloc - pico_stdio
-
doors should be unlocked on boot/power-off
-
move error handling to breakout.c
- GET
- [x] controller ID
- [x] version
- [ ] released
- [ ] ASN.1
- [x] packet_free: dynamic
- [x] vector_free
- [x] check field_free
- [ ] check slice_free
- [ ] field pool
- [x] write config to tmp file and move
- [x] get-controller
- [x] set-address
- [x] get-listener
- [x] set-listener
- [x] get-time
- [x] set-time
- [x] get-status
- [x] Move event listener and interval to controller MIB block
- [ ] API
- [x] UDP
- [x] TCP/IP
- [x] allow multiple requests
- [ ] TLS
- [x] CLI TLS
- [x] mutual auth
- [ ] allow multiple requests
- [ ] configuration
- [ ] Python CLI TCP socket not terminating/closing if no reply
- [ ] Terminate gracefully on CTRL-C
- [ ] exponential backoff
- [ ] RPC
- https://go.dev/blog/protobuf-opaque
- [x] go-rpc
- [ ] grpc
- [ ] unix domain sockets
- [ ] TCP/IP
- [ ] monitor
- [ ] daemonize
- [ ] idle poll
- [ ] cache
- [ ] tinygo
- https://di-marco.net/blog/it/2020-06-06-raspberry_pi_3_4_and_0_w_serial_port_usage/
- [ ] Nerves
- [ ] breakout-simulator
- [ ] cache controller ID
- Update on uhppoted-python release 0.8.10
- [ ] get-listener
- [ ] set-listener
- [x] controller ID
- [ ] RP2040 ID
- https://www.raspberrypi.com/documentation/pico-sdk/hardware.html#rpip2aed586200427c10f67f
- [ ] system errors
- [ ] system error messages
- [ ] use DATETIME, BOOLEAN, ENUMERATED etc
- [ ] Reduce power consumption
- https://hackaday.com/2024/10/03/pi-zero-power-optimization-leaves-no-stone-unturned
- https://kittenlabs.de/blog/2024/09/01/extreme-pi-boot-optimization
- [ ] NB: 24/7 operation - Cam said to ask him
- (?) Use Nerves
- https://blog.usedbytes.com/2021/12/pico-serial-bootloader/
- https://www.youtube.com/watch?v=4-dle5L9REs
- https://monocypher.org
- https://groupgets.com/products/pureconnect
- https://interrupt.memfault.com/blog/diving-into-jtag-part-6
- Pinout diagram
- (?) [WireViz] https://github.com/formatc1702/WireViz
- (?) https://github.com/cmfcmf/ic-pinout-diagram-generator
- (?) https://pinouts.vercel.app/board/nodemcu-v2
- (?) https://electronics.stackexchange.com/questions/73780/program-to-draw-pinouts-and-easily-visualize-pins-multiplexed-functions
- (?) https://www.youtube.com/watch?v=ndVs1UvK6AE
- (?) TeX
- (?) https://www.sparkfun.com/news/1947
- (?) https://www.flickr.com/photos/28521811@N04/
- (?) https://github.com/stevenj/GenPinoutSVG
- (?) https://yaqwsx.github.io/Pinion/
- https://github.com/yaqwsx/PcbDraw
- https://yaqwsx.github.io/Pinion/
- https://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol
- https://en.wikipedia.org/wiki/Zero-configuration_networking
- https://learn.sparkfun.com/tutorials/micromod-rp2040-processor-board-hookup-guide/all#introduction
- https://www.proto-advantage.com/store/product_info.php?products_id=2200040
- I2C pullups
- https://www.cnx-software.com/2021/12/09/raspberry-pi-zero-2-w-power-consumption
- https://raspi.tv/2017/how-much-power-does-pi-zero-w-use
- DC-DC converter modules:
- https://hackaday.com/2024/05/04/giving-your-kicad-pcb-repository-pretty-pictures/
- External flash
- https://forums.raspberrypi.com/viewtopic.php?t=327189
- https://hackaday.com/2024/04/17/human-interfacing-devices-hid-over-i2c 15, raspberrypi/pico-sdk#224
- raspberrypi/pico-sdk#997