ok, update, I simplified the code and added a LED toggle from TWR demo...
#include "mc9s08pt60.h"#include "TWR-60.h"// Steps in Display sequencetypedef enum { Display_State_Idle = 0, Display_State_Init = 1, Display_State_Normal = 2, Display_State_LRV = 3, Display_State_HRV = 4, Display_State_EU = 5, Display_State_Clo = 6, Dispaly_State_Chi = 7, Display_State_Lcd = 8, Display_State_End = 9, Display_State_Err = 10, Display_State_Delay = 11, Display_State_UpdateLCD = 12} EDisplayStates;// Steps in Substate sequencetypedef enum{ Substate_Idle = 0, Substate_Main = 1, Substate_CurrentValue = 2, Substate_Leading_1 = 3, Substate_First_Digit = 4, Substate_Second_Digit = 5, Substate_Third_Digit = 6, Substate_DP = 7, Substate_Trailing_Zero = 8, Substate_K = 9, Substate_Minus = 10, Substate_Units = 11, Substate_AllOn = 12, Substate_AllOff = 13, Substate_Cleanup = 14, Substate_Yes = 15, Substate_Err = -1} ESubstates;// Steps in LCD Init sequencetypedef enum{ Init_Idle = 0, Init_AllOn, Init_Delay, Init_AllOff} EInitStates;// User Switch events, after debounce and buffering typedef enum { Left, Right, none} ESwitchEvents;EDisplayStates mDisplayState = 0; //possible statesESubstates mSubstate = 0; //possible substatesEInitStates mInitState = Init_Idle; //LCD init statesESwitchEvents mSwitchEvent = none; //user switch events buffervoid InitLCD(void); // toggle all LCD segments on for 6 seconds, then off.void ProcessRangeValue(UINT8);void ProcessEngineeringUnits(void);void ProcessCalibrateLow(void);void ProcessCalibrateHigh(void);void DisplayBuffer(void);void FormatDisplay(void){ switch(mDisplayState) { case Display_State_Idle: LED0_Toggle(); mDisplayState++; break; case Display_State_Init: LED0_Toggle(); InitLCD(); break; case Display_State_Normal: LED0_Toggle(); switch(mSwitchEvent) { case Left: mDisplayState++; break; case Right: break; case none:break; } mSwitchEvent=0; break; case Display_State_LRV: LED0_Toggle(); break; case Display_State_End: //display "End" on LCD switch(mSwitchEvent) { case Right: mDisplayState = Display_State_Normal; break; case Left: mDisplayState = Display_State_LRV; break; default:break; } mSwitchEvent=0; break; case Display_State_Err: break; default: mDisplayState = Display_State_Normal; break; } //RTS return; }void InitLCD(void){ LED0_Toggle(); switch(mInitState) { case Init_Idle: LED0_Toggle(); mInitState++; break; case Init_AllOn: LED0_Toggle(); mInitState++; break; case Init_Delay: LED0_Toggle(); break; case Init_AllOff: LED0_Toggle(); mInitState=0; mDisplayState = Display_State_Normal; break; } return;}whats funny now, is that even though my Enums are init'ed, in debug they do not come up at state 0, mSubstate is at 3, and mInitState is -1! And I still can't get the LED to toggle at each step!