-
Notifications
You must be signed in to change notification settings - Fork 109
Open
Description
This issue is to track the progress of the Movement 2.0 refactor. The high-level goals:
- Refactor the internals to pay down technical debt, migrating from brittle Atmel Start boilerplate to the more flexible gossamer framework.
- With this flexibility, add support for new products like Sensor Watch Pro, the custom LCD and the accelerometer.
- Streamline watch face creation and maintenance by cleaning up the API.
- Once these tasks are complete: improve core Movement features.
Refactor the internals
Each of these check marks indicate a task related to tearing out old Atmel Start code and reimplementing the feature with the gossamer framework. Items that are unchecked do not currently work in Second Movement — but will soon!
- GPIO functions
- LED backlight control
- Piezo buzzer
- Real-time clock
- External interrupt controller
- Segment LCD
- Analog to Digital Converter
- USB CDC
- RWW Flash memory / Little File System / shell interface
- I²C interface
- SPI interface
- UART
There's the major issue of simulator support; this is going to require some upstream work in gossamer to support the emscripten workflow, but it's a must have before general release.
- Simulator support
Add support for new products
Sensor Watch Pro
- Board definition
- Light sensing
- Piezo volume control (possible??)
Custom LCD
- New segment mapping
- Functions for semantic string display with fallback
- Functions for semantic use of indicators
- New sleep mode indicator
Accelerometer Sensor
- Accelerometer driver
- Interrupt count watch face (for testing)
- Refactor buzzer sequence and "Stock Stopwatch" to use TC0 and TC1 (free up TC2 and TC3 for accelerometer)
- Add new events for tap
and double tap - Wake on motion
API Cleanup
- Watch face callbacks: clean up function signatures
- Store Movement settings on Little File System (not backup registers)
- Seek feedback on new string display functions before finalizing
- Unify style around enums, variable types and names
Movement improvements
- Implement time zones with utz
- Improve secondary carousel experience (array of watch face arrays, not just two?)
- Expose LFS as a USB mass storage device?
- WebSerial configuration interface?
mcguirepr89, crahan, c4software, dromar, Antonin-Deniau and 2 morematheusmoreira, c4software, Antonin-Deniau and kusmi
Metadata
Metadata
Assignees
Labels
No labels