Two Sofirn flashlights I own have a ramping option. The ramping is perceptually not quite smooth.
Anduril ramping is reported to work better. Would anybody know what function it uses to achieve it?
p.s. This may be naive, but I figured that the normalised current should increase as roughly the 4th power of the normalised ramping time (normalised being scaled from min to max as 0 to 1 or 100%) to make brightness changes more perceptually satisfying.
Based on FC11C current/lumens measurements and the assumption that inverse gamma function can satisfactorily map luminance to perceived brightness.
The shape depends on the driver because the response of the driver might be different. There is a level_calc script in the repository that can help you with calculating the ramp values. Often it is used multiple times for different parts of the ramp.
It seems to me that Anduril ramping uses [NormCurrent] = [NormRampTime]^3 by default.
This is not that far off from the exponent of 4 that I suggested based on nesting measured lumens vs amps relationship for Nichia 519a and gamma 2.2 mapping lumens to perceived brightness.