4a66223542
don't pass along already-ignored pin level to button handler
2020-11-03 09:34:21 -08:00
fbb7dea664
simplify hue locking with local cell rather than global atomic
2020-11-03 09:33:54 -08:00
641fd5ae38
turn on patio light if off when doorbelled
2020-10-29 09:13:16 -07:00
9b147e05b4
Locking for hue control
2020-10-29 09:06:58 -07:00
0ae116acc3
slight refactoring of hacky hue routine
2020-10-29 08:13:05 -07:00
6e7e74205e
Hacky hue flashing-- no locking multiple presses
2020-10-29 07:48:52 -07:00
1730f55d21
relax futures-util version constraint
2020-10-29 06:42:03 -07:00
429f8258bc
reorder functions
2020-10-29 06:41:40 -07:00
85a69b2420
factor chime play into separate function
2020-10-29 06:40:51 -07:00
ab961382ba
Move audio playback to toplevel, out of sse stream generation
2020-10-29 06:30:20 -07:00
f4d2280680
Factor warp config into separate function
2020-10-29 06:06:48 -07:00
a0e3b256fb
protect fragile animation-end callbacks
...
If a second ring came in, the old callbacks would clear. If this
happened after the first part of the animation (likely), the callback
counter would never hit its target.
2020-10-29 05:11:14 -07:00
5f60cd2a1b
Prompt user for interaction to enable sound when block by browser
2020-10-29 04:59:20 -07:00
ab81bdb708
send ring events even if audio is playing
...
Multiple clients won't get events if the handler to the first one
starts the audio stream before the other handlers check. Later
handlers always see audio.
2020-10-29 03:33:26 -07:00
b70f92f6f4
leave some extra space above status box
2020-10-29 03:05:08 -07:00
4bdcbcad20
flash background on ring event
2020-10-29 03:00:48 -07:00
55ff48e6a3
{dis}connection beeps for sse stream
2020-10-28 22:04:32 -07:00
1fb5b37949
tabular layout for status box
2020-10-28 21:52:16 -07:00
59e0643902
Format status box
2020-10-28 21:41:29 -07:00
be65559f87
play indoor chime on ring
2020-10-28 20:21:26 -07:00
941038eece
Outdoor chime filename as global constant
2020-10-28 18:22:47 -07:00
743d5f231c
Check if audio is busy in separate function
2020-10-28 18:05:21 -07:00
e173f58da1
Outdoor doorbell chime
2020-10-28 18:01:54 -07:00
9e8543610b
ignore emacs desktop files
2020-10-28 13:23:11 -07:00
13f1203a65
Reconnect on error. Show connection status. Use JQuery.
2020-10-22 15:22:30 -07:00
2050daae13
shorten ping time
2020-10-22 12:24:38 -07:00
4f59b256f5
simplify client Vec management
2020-10-22 12:23:08 -07:00
117979704c
Use standard pullup instead of pulldown to match debounce circuit
2020-10-19 21:14:45 -07:00
fdac5e4848
Use unreleased version of 'rppal' w/ RPi 4 GPIO Pullup/down support
2020-10-19 21:14:18 -07:00
c752289af1
send explicit pings to client
2020-10-15 11:58:48 -07:00
dfbbe01a24
Log client disconnected on ring sse
...
This is only detected when ring sse attempts to send on the closed
channel. It is not detected when the client actually
disconnects. Lower layers in the stack do notice the disconnect and
drop the sse stream so pings will stop being sent, but we don't have
any drop handler on the ring substream so we don't notice until we try
to use it.
2020-10-15 11:58:48 -07:00
f39303175c
Timestamps in log lines
2020-10-15 11:58:48 -07:00
71c62dc6a2
Enqueue sse ring directly from interrupt. SmallVec for client list
2020-10-15 11:58:39 -07:00
069099c7bb
button presses -> sse -> web display
2020-10-15 11:57:40 -07:00
3b86c9fe21
use async interrupt. blank web service.
2020-10-13 13:32:32 -07:00
6d3d0fee0f
Register button presses
2020-10-13 11:44:02 -07:00
5b52c6a78e
cross-build for arm/rpi
2020-10-12 17:42:41 -07:00
b7ec56c394
New project: doorbell
2020-10-12 16:18:24 -07:00