Could a newbie to the VESC project get guidance on the throttle routines that the VESC firmware employees? Specifically, where to find them in the code base and best practices for modifying.
Background:
I am completely new to the VESC project but very excited about the potential application to underwater diver propulsion vehicles (DPVs -- commonly known as 'scooters'). Being an underwater device, throttle options are usually mechanical in nature and use reed sensors in conjunction with a mechanical trigger to allow throttle input across a waterproof fuselage. Throttle inputs are typically coded into a sequence of trigger taps and pre-determined throttle levels. For example, to increase the throttle setting, the user would issue two short releases of the throttle trigger within a time window. A single release would indicate a decrease in throttle. Etc.
My expectation is that to use a VESC controller on a DPV project, the simplest method would be to retain that mechanical trigger mechanism rather than introduce electronics into the throttle that must be waterproofed and/or passed through a waterproof bulkhead. Rewriting the throttle routines in the firmware seems easier than adapting a PPM or analog throttle singal.