Twiddle a bit for each and every RPM input event that can be scheduled from.
Per output pin options for each input event will be:
- Do nothing
- Turn pin on
- Turn pin off
- Invert pin state
- Pointer to the control register for the port being used
- Bit mask for pin
This will burn 256 bytes of linear flash (512 if we move to 8 outputs), which is nothing really, and provide some really powerful functionality, especially if you're running a high res wheel like 60-2.
This will need some config exclusion on the GPIO stuff too. IE, the port will need to be registered with the central pin registry.
For example, on a DSM or 4/1 CAS you could reasonably configure it to pulse 4 times per engine cycle, either longer on or longer off. Either possible config would work fine for a tacho, one will be better for knock.
Users with low res inputs and low cylinder/output counts could also use Sean's XG BB stuff for these functions and obtain higher resolution.
Fred.