anduril: party strobe pulses have inconsistent duty cycle
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Flashlight Firmware Repository |
Confirmed
|
Medium
|
Unassigned |
Bug Description
The party strobe mode uses very short pulses, and the duration of those pulses varies enough that it looks weird sometimes. This happens because it can only really turn on or off at the edge of a PWM cycle, but the control logic isn't synced to that cycle. So sometimes it'll be on for 4 cycles, sometimes 5. (or maybe 3 and 4, not sure) This makes some pulses significantly brighter than others.
This could be fixed by syncing to the PWM cycle, or it could be fixed by turning off PWM entirely and using the pins as binary outputs. I'm leaning more toward the former though, because it's more generic and less hardware-dependent. I expect the binary-output approach may become tricky as more types of power circuits are supported, since it would need code to handle each type individually.
Could this be related to the following behaviour? On my SP10 Pro running gchart's latest hex (admittedly not the latest Andruil - it's dated 2022-10-21), the party strobe doesn't have a stable frequency. Instead, it periodicly alternates between two different frequencies, making it impossible to properly freeze periodic motion / rotating objects.
Here's what it looks like: https:/ /youtu. be/6W_6K2RFDcQ