wasp-os/TODO.md
2020-05-15 09:09:12 +01:00

3.1 KiB

Roadmap

M1: Dumb watch feature parity

The focus for M1 is to get wasp-os both to meet feature parity with a dumb watch and to have a bootloader and watchdog strategy that is robust enough to allow a PineTime case to be confidently glued shut.

Bootloader

  • Basic board ports (PineTime, DS-D6, 96Boards Nitrogen)
  • OTA application update
  • Enable watchdog before starting the application
  • Splash screen
  • Ignore start button for first few seconds

MicroPython

  • Basic board ports (PineTime, DS-D6, 96Boards Nitrogen)
  • Long press reset (conditional feeding of the watchdog)
    • Feed dog from REPL polling loop
    • Feed dog from a tick interrupt

Wasp-os

  • Display driver
    • Display initialization
    • Bitmap blitting
    • RLE coder and decoder
    • Optimized RLE inner loops
  • Backlight driver
  • Button driver (polling)
  • Battery/charger driver
  • Simple clock and battery level application
  • Basic (WFI) power saving
  • Implement simple RTC for nrf52

M2: Great developer experience

The focus for M2 is to make development faster and easier by providing a file system and file transfer code. This allows much faster development cycles compared to full downloads of frozen modules. Additionally support for multiple event-driven applications will be added during M2 to further help developers by providing example applications.

Bootloader

  • OTA bootloader update
  • RTC time measurement whilst in bootloader

MicroPython

  • SPI FLASH driver
  • Enable LittleFS on SPI FLASH (at boot)
  • BLE file transfer

Wasp-os

  • Add dd/mm/yyyy support to RTC
  • Button driver (interrupt based)
  • Touch sensor driver
  • Event driven application framework
  • Stopwatch app
  • Settings app
  • PC-hosted simulation platform
  • Documentation
    • Sphinx framework and integration with github.io
    • Document bootloader protocols
    • Application writer's guide
    • Write full docstring documentation for all wasp-os components
  • Application Launcher
  • Debug notifications
  • [o] Multi-colour RLE images
    • Optimized "2-bit" RLE encoder and decoder
    • Logarithmic RBG332 <-> RGB56516bit color space conversion

M3: Smartwatch

At M3 we start to build out full fitness tracking and notification functionality.

Bootloader

  • Stay in bootloader after battery run down
  • Implement power off support (no splash screen)

Micropython

  • Use SoftDevice sleep logic
  • Automatically enter SPI flash power saving mode

Wasp-os

  • Enable heart rate sensor
    • HRS3300 driver
    • HRS data post-processing
    • Heart rate counter app
  • Notifications
    • BLE notification protocol
    • Notification popups
    • Notification app (show notification history)
    • Find a recommended Android app
  • Step counting
    • BMA421 driver
    • Step counter app
  • Documentation
    • Debugging and troubleshooting guide
    • Screenshots for bootloader and all applications
    • Improve the install guide