Program flow
By: Jeremy Leach
Initialization:
This consists of:
1.
Making the ShiftLight flash 3 times to confirm it's
functional.
2.
Getting the DIP switch setting to confirm the
number of cylinders.
3.
Initializing the display and Timer1.
Get a sample:
This consists of:
1.
Reading the RPM
2.
Calculating a new moving average
3.
Setting or resetting
the shift light and PWMout
4.
Regulating the Sample interval by pausing if
necessary
Check Time and Refresh:
This contains the checks to see if a Display
Refresh is due, including prediction to ensure a regular Display Refresh.
The display is updated with the appropriate value
or indicator.
Brightness Control:
The brightness of the unit can be adjusted by the
user pressing a control button.