Kenny Levinsen
f66842c020
Split up main a bit
2020-10-18 01:19:47 +02:00
Kenny Levinsen
fdcdb04023
Remove clamp from color_math.h
2020-10-18 00:45:36 +02:00
Kenny Levinsen
75b0a71d99
Simplify speedrun code a bit
2020-10-18 00:36:52 +02:00
Kenny Levinsen
e14e8efcf3
Gracefully handle midnight sun/polar night
...
The sun trajectory calculation previously emitted garbage if midnight
sun or polar night phenomena was in effect. To fix this, the calculation
is overhauled to report if the computation failed, and if so, which
specific phenomena was the cause.
Timing recalulation uses this information to change out of the normal
state that uses the four sun position timings, into a static state where
wlsunset simply waits a day at a time for a normal sun trajectory
pattern to be restored. In this state, a fixedc high/low temperature is
set as appropriate for the phenomena.
A transition phase replicating the previous day's sunrise is used to
smooth out entry into a midnight sun, which would otherwise cause a
jarring instant-daylight setting.
2020-10-18 00:36:52 +02:00
Kenny Levinsen
7bd167e9d3
Split state from config, cleanup
2020-10-14 17:57:34 +02:00
Kenny Levinsen
67896358cf
Precalculate animation step timings
2020-10-14 15:50:25 +02:00
Kenny Levinsen
9922bdeeef
Cleanup dawn-overflowing deadline
2020-10-07 22:02:02 +02:00
Kenny Levinsen
3186967e1d
Simplify state management
2020-10-07 21:55:46 +02:00
Kenny Levinsen
7c22eade9a
Change twilight interval to -3 to 6
2020-10-04 19:51:25 +02:00
Kenny Levinsen
601e15080e
Perform absolute sleeps
2020-10-04 19:49:45 +02:00
Kenny Levinsen
1dfefe2b51
Update temperature log
2020-10-04 15:33:00 +02:00
Kenny Levinsen
cb294e1735
Prefix registry log output
2020-10-04 15:31:17 +02:00
Kenny Levinsen
46b9010b76
Warn about speedrun mode
2020-10-04 15:30:58 +02:00
Kenny Levinsen
83d90d2bea
Calculate dawn and dusk times
2020-10-04 15:30:45 +02:00
Kenny Levinsen
ddbb8f9912
Rename states to dawn, day, dusk and night
2020-10-04 15:26:47 +02:00
Kenny Levinsen
caba0d8dcc
Clean up gamma_control on failure
2020-10-04 15:24:54 +02:00
Kenny Levinsen
f8269d8754
Improve speedrun time, increase to x1000 time
2020-10-04 15:23:49 +02:00
Kenny Levinsen
55bd086b51
Better log output
2020-10-04 01:03:23 +02:00
Kenny Levinsen
01779f7349
Break out of poll on signal
2020-10-04 00:56:51 +02:00
Kenny Levinsen
daf27a5f11
Free output on removal, log add/remove
2020-10-04 00:56:17 +02:00
Kenny Levinsen
5761b05c1b
Use wlsunset in anonymous file template
2020-10-04 00:55:25 +02:00
Kenny Levinsen
0128fb535f
Check for zero-value in recalc_stops
2020-09-27 16:08:56 +02:00
Kenny Levinsen
a74f7fd44f
Allow direct high-to-low state transition
2020-09-26 19:37:52 +02:00
Kenny Levinsen
25ab690fa9
Recalculate next day immediately after sunset
2020-09-26 19:30:21 +02:00
Kenny Levinsen
39b211da95
Start high-to-low animation before sunset
...
Low-to-high animation runs from sunrise to sunrise+duration. However,
high-to-low animation ran from sunset to sunset+duration.
Run high-to-low animation at sunset-duration to sunset.
2020-09-26 19:27:48 +02:00
Kenny Levinsen
07f2f1d3ce
Only print hour/min/sec during speedrun
2020-09-20 17:53:50 +02:00
Kenny Levinsen
3353efc0ae
Silence erroneous uninitialized value warning
...
The compiler is confused by the circular switch, and thinks that temp
might become uniniitalized. This is clearly false, as it is set at all
switch breaks.
Silence the warning by explicitly initializing it to zero.
2020-09-20 17:29:56 +02:00
Kenny Levinsen
f2f11dada2
Add SPEEDRUN mode, improve sleep timing
...
Add a SPEEDRUN define which, if set, will run wlsunset at 200x
super-realtime to aid testing.
Sleep timing calculations were approximated and often off. These have
been adjusted from testing using the SPEEDRUN feature.
2020-09-20 17:26:27 +02:00
Kenny Levinsen
20a40d450b
Error if high/low temp is identical
2020-09-20 17:25:38 +02:00
Kenny Levinsen
81d87e3c47
readme: Add IRC and mailing list note
2020-09-20 03:54:16 +02:00
Kenny Levinsen
9df941cfd1
Allow complete state fallthrough
2020-09-20 03:52:32 +02:00
Kenny Levinsen
940cf08226
Account when forcing high/low state
2020-09-20 03:50:47 +02:00
Kenny Levinsen
71f0f904e2
Increase animation resolution
2020-09-20 03:49:42 +02:00
Kenny Levinsen
c7e004c65b
Handle sun times ahead of wallclock
2020-09-20 03:49:27 +02:00
Kenny Levinsen
ef117f0a1f
Typo in calculation message
2020-09-15 11:59:58 +02:00
Kenny Levinsen
efa5b63ebd
readme: Fix xkcd ref
2020-09-14 11:20:23 +02:00
Kenny Levinsen
e2921c8efb
Reduce precision in lat/long examples
2020-09-14 11:15:42 +02:00
Kenny Levinsen
235887e6e9
ci: Build on alpine
2020-09-13 22:07:19 +02:00
Kenny Levinsen
88a6d1dd17
Fix stricter build errors
2020-09-13 21:38:56 +02:00
Kenny Levinsen
208fc141fb
These trailing whitespaces were not invited
2020-09-13 21:33:52 +02:00
Kenny Levinsen
98148d6610
Remove year_radian
2020-09-13 21:22:17 +02:00
Kenny Levinsen
5ebc0bd70c
Add readme
2020-09-13 21:20:19 +02:00
Kenny Levinsen
526b390abc
Update help and default duration
2020-09-13 21:19:02 +02:00
Kenny Levinsen
a89ae834be
Use sun trajectory
2020-09-13 21:12:44 +02:00
Kenny Levinsen
4d339c70d2
Make display_dispatch_with_timeout static
2020-09-13 03:23:12 +02:00
Kenny Levinsen
4f8559405f
Move math out of main
2020-09-13 03:22:18 +02:00
Kenny Levinsen
b2ebdea44a
Implement time ramp
2020-09-13 03:18:14 +02:00
Kenny Levinsen
45dec286c5
Clamp before gamma correction
2020-09-12 21:14:28 +02:00
Kenny Levinsen
b45f5b7d31
Add license
2020-09-12 20:56:26 +02:00
Kenny Levinsen
09e4710ae2
Initial commit
2020-09-12 20:13:28 +02:00