P1298 - First Pass at Fast Restart

Split the startup function into Fast/Normal Startup and Common
Components.

Restart is still about to 10ms.

The functions that initialize the power supplies take a long time to
execute.

The function that writes to the ADC takes an order of magnitude too
long.
P1298 - 2nd Pass at fast restart

Serial Command to force restart
Looks for pin status at startup to determine fast/normal startup
added new startup function for LTC2656
P1298 - Updated for complier 3.31

Updated to use the latest compiler
Added all ".h" files to the repository
P1298 - MCU Version 0x0030 - Working Fast Restart

Changes made debugging the fast restart.
Getting the processor to enter fast restart correctly
Dealing with issues related to the Magnet Supply Restarting
NOTE! This also requires a hardware change to keep the magnet supply
from restarting
P1298 - MCU 0x0031 - Merged A/B Mode Fixes

Manually Merged in changes from the "Develop-for-John" branch that fixed
A/B mode operation.
Previously, the A/B mode select was made in the main loop.  It could
take up to 1.5ms to get to this point.  By this time, the lambda had
already reached EOC so if you were going from high to low energy you
would be stuck in high energy mode.
Move the A/B mode select to the trigger interrupt so that it always
happens directly after a pulse as intended.
P1298 - MCU 0x0032 -

Fixed Bug - The use of PIN = !PIN was causing a long process to change
the PIN value when compiled.  If an interrupt happened durring this
process and changes made to a pin on the port durring the interrupt
would be overwritten.  Change the C so that it compiled to code that
only affect a single PIN.

Added some debugging information
* Timing Error in INT1 Interrupt
* Number of fast restarts
P1298 - MCU 0x0033 Trying and stabilize system

Lots of little changes
1) Changed the WDT from 32ms to 4ms.  This is because some resets it
also requires a WDT mode.  This will make that reset faster.  Also, the
"fast reset" capacitor was discharing durring that 32ms.
Added more ClrWdt so that we don't have wdt resets durring operation
Also moved when the fast restart cap gets charged to earlier in the
lambda on process

2) Changed the LTC2656 DAC to not use the dac_clear line.  This becomes
an input on the pic and is wired high on the board

3) Changed the state that drives the Magnet Supply on off.  This
requires the dip switch on the magnet supply to be flipped as well

4) Faults - Removed all the magnet current faults for debugging and
running in local mode

4b) Faults - Removed the unused Lambda_VPeak under/over voltage from the
active faults
P1298 - MCU 0x0034 Fixed Compiler Warnings

Made changes to fixed compiler warnings (removed "volatile" directive
from arrays that get passed to subrouties

Changed the Data Type of stored Data from unsigned int to signed int to
work with default EEPROM functions

Added more ClrWdt()
P1298 - MCU 0x0034 - Fixed A/B Select Problem

Fixed the problem with A/B data problem.  Was selected B mode voltage
when in mode A and A mode voltage when in mode B.

Also set the default config to NOT be in benchtop mode
P1298 - MCU 0x0037 - Fixed Fast Restart

Attempted to Fix the Fast Restart
Set the Magnet Supply Enable Polarity to match the (incorrect) setting
up the dip switch of the unit in lab
P1298 - MCU 0x00038 - Fast Restart Fixes

This is a "better" fix for the fast restart.  It is logically more
complete and will handle restarts on subsequent pulses.
P1298 - MCU 0x0039 - Changes to Faults

Extended the window for magnet/filament faults
Extended the max filament voltage
Removed all Magnet faults except for the Hardware OOR fault
Remove the interlock fault (Thyratron over temp) which was no longer
being used and was just a jumper on the board edge
Remove the cosecutive arc fault
P1298 - MCU 0x003A - Serial Interface Updates

Changed Polarity of the Magnet Supply Enable
Added Support for Software Skip Warmup
Added Serial Commands to support all error data.
Removed the software reset command