Also includes an update to set power limits from other threads (like a display) and
prepares support for PAS torque sensors.
Signed-off-by: Marcos Chaparro <mchaparro@powerdesigns.ca>
For gearless electric bicycles, riding up the slope and during start,
good torque support from the motor helps the rider ride with less
effort. Pedal assist based on cadence provides higher torque with higher
pedalling speed. In the situations mentioned above, where user naturally
pedals slow, aid from cadence based system is less. On a geared setup,
changing to low gear comes to the rider's help.
Here another control type is provided - Constant Torque, whenever the
rider pedals, motor would provide constant torque. The torque value can
be set using 'PAS max current' setting thus acting as fine PAS assist
level.
This type of control is similar to 'Basic PAS, constant throttle' of
'PAS Control Schemes' [1], with the difference that throttle setting
in that article corresponds to speed, while here torque.
Also riding experience on some of the popular (not high end) e-bicycles
having PAS indicates they might be having this kind of control
internally.
[1] https://ebikes.ca/learn/pedal-assist.html
This commit enables cadence-based pedal assist for ebikes using
quadrature-style pedal speed sensors.
There are 2 operation modes:
* PAS only: Motor current is based only on pedal feedback
* ADC + PAS: The code will use both ADC and pedal feedback and use
the strongest command to provide seamless overlap when the user is
pedalling and requests extra torque with the throttle.
Signed-off-by: Marcos Chaparro <mchaparro@powerdesigns.ca>