Tom Hodson [Tue, 22 Nov 2022 13:30:24 +0000 (14:30 +0100)]
WIP: Add support for bicolor led in the simulator
I noticed that the bicolor led isn't supported in the simulator. Here is a quick mockup of how I would add support for it.
I added an SVG filter to the #light rectangle in the SVG which lets us multiply the colours by a matrix in code. I then insert values so that the original green colour gets mixed into the combination of red and green requested by `watch_set_led_color`
# Testing
So far I've only tested this with the standard firmware build but it seems to work.
# Possible issues
I wasn't 100% sure what to do when red + green > 255, current behaviour is that it gets clamped to 255 in the simulator.
James Haggerty [Tue, 15 Nov 2022 09:32:53 +0000 (20:32 +1100)]
Set bell indicator on reactivating countdown/tomato faces
If you moved away and back to these faces, you'd lose the indicator. Not that the indicator here
seems very valuable, since it's not displayed on simple_clock_face, but at least
this makes things more consistent.
TheOnePerson [Sun, 30 Oct 2022 08:32:20 +0000 (09:32 +0100)]
alarm-face: make indicator show active alarms in 24h time range and implement UI tweak
- switch indicators: use signal indicator instead of bell indicator
- make indicator show up only when there is an active alarm in the next 24 h
- Implement "hidden" UI tweak: extra long press of the alarm button in normal mode jumps back to alarm no. 1
- update comments to reflect latest changes
James Haggerty [Sat, 29 Oct 2022 22:01:05 +0000 (09:01 +1100)]
Make countdown face reset to 0 (#90)
* Make countdown face reset to 0
It was annoying to have countdowns less than DEFAULT_MINUTES.
Admittedly, this does make DEFAULT_MINUTES fairly useless, since
we only ever see it the first time...
TheOnePerson [Wed, 26 Oct 2022 02:57:53 +0000 (04:57 +0200)]
Add an Alarm face to movement (#96)
* Add movement_play_alarm_beeps() to movement.c and make alarm sounds customizable. Add alarm indicator to simple watch face.
* Add alarm face
* alarm_face: fix problem with disabling alarms for 00:00.
* Fix typos in comments and get rid of of unused variable warning
* remove unnecessary constant
* simple_clock_face: fix disappearing chime indicator after face switch, enable alarm indicator updates in app loop (for one-time alarms).
movement: handle situations where watch is in sleep mode and chimes fire off at the same time as alarms properly.
* alarm_face: tweak process of displaying things on the lcd. Add extra long and extra short alarms. Increase number of alarm slots to 16.
* alarm face: fix alarms playing one beeping round more than set.
* alarm face: add proper quick cycling of hour and minute setting
* alarm-face: correct am/pm indication and some minor tweaks. Reset movement_config.h to current main branch. simple-watch-face: Remove unnecessary check and swap indicators (alarm / hourly chime)
* alarm-face: reverse commit parts from another branch (accidentially commited logic depending on movement firmware auto firing the long press event)
James Haggerty [Mon, 24 Oct 2022 22:24:54 +0000 (09:24 +1100)]
Fix Linux Makefile parallelism
Makefile != bourne shell, I think.
At least on my systems, this was causing a raw -j, which meant
that make had no restriction on its parallelism
(i.e. tried to build everything at once).
James Haggerty [Tue, 11 Oct 2022 10:19:55 +0000 (21:19 +1100)]
Mention movement in the README (and link to website)
I know this is mostly going to be in the website, but I was initially
confused about how to get things going, and it seemed worth
having some simple 'getting started' here.
On a default debian 11 install there is no python binary, only python3.
Given that the uf2conv script is written for python 3 I think this is a
safe change to make
George Hahn [Thu, 19 May 2022 06:33:31 +0000 (00:33 -0600)]
Make submodule and directory rules order-only prerequisites on objects
This instructs make to run the tinyusb and directory rules before
building any objects. Docs: [1].
After this change, `make clean` started running
the tinyusb submodule rule before cleaning. This appears to have been
caused by one of the `build/*.d` files overlapping with the `tinyusb`
name, triggering that rule. I didn't trace this all the way down to a
root cause, but switching the include to something less broad solved the
issue. Roughly guided by [2].