Skip to content

Latest commit

 

History

History
208 lines (148 loc) · 5.02 KB

TODO.rst

File metadata and controls

208 lines (148 loc) · 5.02 KB

Roadmap

For 0.4 we focus on improving the watch/phone integration whilst also taking steps to improve the general fit and finish.

Bootloader

  • [ ] Stay in bootloader after battery run down
  • [ ] Implement power off support (no splash screen)
  • [ ] Colour boot logo support

Micropython

  • [ ] Use SoftDevice sleep logic

Wasp-os

  • [X] Watch/phone integration with GadgetBridge
    • [X] Set date/time
    • [X] Fully fledged wasp-os device class
  • [ ] Look and feel
    • [X] Add a simple theming approach
    • [ ] Update icon for Music player
    • [ ] Introduce fwd/back/vol+/vol- buttons to the music player
    • [X] Update icon for Alarm app
    • [ ] Update art work for buttons in Confirmation view
    • [X] Reduce the size of the battery charge icon slightly (match bell)
  • [ ] Widgets
    • [ ] Add a button widget
    • [X] Add a checkbox widget
    • [X] Add a spinner widget
  • [ ] Applications
    • [X] Introduce an analog watch face
    • [ ] Add a sports/activity app (combined stopwatch and trip counter)
    • [ ] Add a boot configuration wizard to author new main.py as needed
  • [ ] Documentation
    • [ ] Describe how to upload pre-compiled modules

wasptool

  • [ ] Integrate a more powerful minifier into the wasptool paste() method

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

Reloader

  • [X] Pre-flash image verification
  • [X] Post-flash image verification
  • [X] Board identity check
  • [X] UICR update support
  • [X] Improve linker map (everything except linker table at +256K)
  • [X] mcuboot
    • [X] Reconfigurable entry point (allow reloader to run from mcuboot)
    • [X] Allow reloader to install mcuboot and flash app (from wasp-bootloader)
    • [X] Allow reloader to install wasp-os (from mcuboot)

Wasp-os

  • [X] Enable heart rate sensor
    • [X] HRS3300 driver
    • [X] HRS data post-processing
    • [X] Heart rate counter app
  • [X] Notifications
    • [X] BLE notification protocol
    • [X] Notification popups
    • [X] Notification app (show notification history)
    • [X] Add (out-of-tree) Gadgetbridge support
  • [X] Step counting
    • [X] BMA421 driver
    • [X] Step counter app
  • [X] Automatically enter SPI flash power saving mode
  • [X] Documentation
    • [X] Contributors guide (and code of conduct)
    • [X] Debugging and troubleshooting guide
    • [X] Screenshots for bootloader and all applications
    • [X] Improve the install guide
  • [X] Simulator
    • [X] Add a simple skin for better screenshots
    • [X] Full swipe detection (avoid keyboard)

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

  • [X] OTA bootloader update
  • [X] RTC time measurement whilst in bootloader

MicroPython

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

Wasp-os

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

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

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

MicroPython

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

Wasp-os

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