summaryrefslogtreecommitdiff
path: root/TODO.md
blob: 214240857532009b04a7e0a5a06f9520e09e37ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# 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

 * [X] Basic board ports (PineTime, DS-D6, 96Boards Nitrogen)
 * [X] OTA application update
 * [ ] OTA bootloader update
 * [X] Enable watchdog before starting the application
 * [X] Splash screen
 * [ ] Stay in bootloader after battery run down
 * [X] Ignore start button for first few seconds
  
## MicroPython

 * [X] Basic board ports (PineTime, DS-D6, 96Boards Nitrogen)
 * [ ] Long press reset (conditional feeding of the watchdog)
   - [X] Feed dog from REPL polling loop
   - [ ] Feed dog from a tick interrupt
 * [ ] Basic (WFI) power saving
 * [ ] Implement machine.RTC for nrf52
 
## WASP

 * [ ] Display driver
   - [X] Display initialization
   - [ ] Bitmap blitting
   - [X] RLE coder and decoder
   - [ ] Optimized RLE inner loops
 * [X] Backlight driver
 * [ ] Button driver (interrupt based)
 * [X] Battery/charger driver
 * [ ] Simple clock and battery level application

# 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

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

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

# 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