1
0
Fork 0
wasp-os/TODO.md
2020-04-14 20:06:19 +01:00

2.8 KiB

Roadmap

M1: Dumb watch feature parity

The focus for M1 is to get WASP 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

  • 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
  • Stay in bootloader after battery run down
  • Implement power off support (no splash screen)
  • RTC time measurement whilst in bootloader

MicroPython

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

WASP

  • 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
    • Write full docstring documentation for all WASP 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.

WASP

  • 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