I plugged some oddball PWM values into a test firmware, and flashed it to a test mule F6DD driver (FET, momentary switch). Relevant bits of the FW:
// PWM Mode #define PHASE 0b00000001 #define FAST 0b00000011
/*
- =========================================================================
- Settings to modify per driver
*/
#define LOW_TO_HIGH 1 // order in fast-tap mode (long-press will go the opposite direction)
#define VOLTAGE_MON // Comment out to disable - ramp down and eventual shutoff when battery is low
#define MODES 0,1,1,3,3,12,12,40,40,125,125,254,254,255
#define MODE_PWM 0,PHASE,FAST,PHASE,FAST,PHASE,FAST,PHASE,FAST,PHASE,FAST,PHASE,FAST,PHASE
This is the signal at the FET's gate with those modes...
The behavior of phase-correct putting out less light than fast-PWM reverses here, actually somewhere between this mode and the last one. After that point where the on-time is long enough for the FET to reach the fully on state, the fast-PWM is the one that puts out slightly less light (it's noticeable by eye, so I guess it's technically more than 'slightly').
Phase-correct is starting to get noisy...
No visible difference at 254.
Didn't bother with both versions at 255, on is on, it would look and work the same.
These were all done with exactly the same scope settings, just cycling through the modes and taking screencaps. I'll do some later with different settings that show more detail.