Index: firmware/App/Modes/ModeInitPOST.c =================================================================== diff -u -r30f049651877229042e3f8700c8596e5b9a1e0f4 -r8910c1a21976afcc84fe1d9504916efbc192325d --- firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 30f049651877229042e3f8700c8596e5b9a1e0f4) +++ firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 8910c1a21976afcc84fe1d9504916efbc192325d) @@ -88,7 +88,13 @@ U32 execInitAndPOSTMode( void ) { SELF_TEST_STATUS_T testStatus = SELF_TEST_STATUS_IN_PROGRESS; + BOOL stop = isStopButtonPressed(); + if ( TRUE == stop ) + { + // Ignore stop button in this mode. + } + // TODO - send POST status on CAN // Execute current POST state *Note - these switch cases must be in same order as enum HD_POST_States @@ -97,8 +103,12 @@ case POST_STATE_START: postState = POST_STATE_WATCHDOG; #ifdef SKIP_POST - postState = POST_STATE_VALVES; + postState = POST_STATE_COMPLETED; #endif +#ifdef DONT_SKIP_NV_POST + // Only run NVDataMgmt POST + postState = POST_STATE_NVDATAMGMT; +#endif break; case POST_STATE_WATCHDOG: @@ -131,25 +141,30 @@ postState = handlePOSTStatus( testStatus ); break; - case POST_STATE_ACCELEROMETER: -#ifndef DISABLE_ACCELS - testStatus = execAccelTest(); -#else - testStatus = SELF_TEST_STATUS_PASSED; -#endif - postState = handlePOSTStatus( testStatus ); - break; - case POST_STATE_VALVES: testStatus = execValvesSelfTest(); postState = handlePOSTStatus( testStatus ); break; case POST_STATE_ALARM_LAMP: +#ifdef DONT_SKIP_NV_POST + // Skip the rest of the POSTs + postState = POST_STATE_COMPLETED; +#else testStatus = execAlarmLampTest(); postState = handlePOSTStatus( testStatus ); +#endif break; + case POST_STATE_ACCELEROMETER: +#ifndef DISABLE_ACCELS + testStatus = execAccelTest(); +#else + testStatus = SELF_TEST_STATUS_PASSED; +#endif + postState = handlePOSTStatus( testStatus ); + break; + // Should be last POST case POST_STATE_STUCK_BUTTON: testStatus = execStuckButtonTest();