Skip to content

Latest commit

 

History

History
165 lines (144 loc) · 5.6 KB

TODO.md

File metadata and controls

165 lines (144 loc) · 5.6 KB

TODO

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

SSMP

- 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

emulator

- [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

Driver

- [ ] breakout-simulator
- [ ] cache controller ID

CLI

- Update on uhppoted-python release 0.8.10
  - [ ] get-listener
  - [ ] set-listener

MIB

- [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

PiZeroW

- [ ] 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

OTA

- 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

R&D

Rust

Notes

  1. https://github.com/yaqwsx/PcbDraw
  2. https://yaqwsx.github.io/Pinion/
  3. https://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol
  4. https://en.wikipedia.org/wiki/Zero-configuration_networking
  5. https://learn.sparkfun.com/tutorials/micromod-rp2040-processor-board-hookup-guide/all#introduction
  6. https://www.proto-advantage.com/store/product_info.php?products_id=2200040
  7. I2C pullups
  8. https://www.cnx-software.com/2021/12/09/raspberry-pi-zero-2-w-power-consumption
  9. https://raspi.tv/2017/how-much-power-does-pi-zero-w-use
  10. DC-DC converter modules:
  11. https://hackaday.com/2024/05/04/giving-your-kicad-pcb-repository-pretty-pictures/
  12. External flash
  13. https://forums.raspberrypi.com/viewtopic.php?t=327189
  14. https://hackaday.com/2024/04/17/human-interfacing-devices-hid-over-i2c 15, raspberrypi/pico-sdk#224
  15. raspberrypi/pico-sdk#997