Index: .cproject
===================================================================
diff -u -r765d2c35118e202444e737c66c77faf9678cc87e -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- .cproject (.../.cproject) (revision 765d2c35118e202444e737c66c77faf9678cc87e)
+++ .cproject (.../.cproject) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -46,6 +46,7 @@
+
Index: .settings/org.eclipse.core.resources.prefs
===================================================================
diff -u -r765d2c35118e202444e737c66c77faf9678cc87e -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- .settings/org.eclipse.core.resources.prefs (.../org.eclipse.core.resources.prefs) (revision 765d2c35118e202444e737c66c77faf9678cc87e)
+++ .settings/org.eclipse.core.resources.prefs (.../org.eclipse.core.resources.prefs) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -5,6 +5,8 @@
encoding//Debug/App/Drivers/subdir_vars.mk=UTF-8
encoding//Debug/App/Modes/subdir_rules.mk=UTF-8
encoding//Debug/App/Modes/subdir_vars.mk=UTF-8
+encoding//Debug/App/Services/subdir_rules.mk=UTF-8
+encoding//Debug/App/Services/subdir_vars.mk=UTF-8
encoding//Debug/App/Tasks/subdir_rules.mk=UTF-8
encoding//Debug/App/Tasks/subdir_vars.mk=UTF-8
encoding//Debug/makefile=UTF-8
Index: App/Contollers/AlarmLamp.c
===================================================================
diff -u -rda32ce10db35ffba9532f44d0227954cbd60413f -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- App/Contollers/AlarmLamp.c (.../AlarmLamp.c) (revision da32ce10db35ffba9532f44d0227954cbd60413f)
+++ App/Contollers/AlarmLamp.c (.../AlarmLamp.c) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -76,8 +76,8 @@
}
/*************************************************************************
- * @brief ExecuteAlarmLamp
- * The ExecuteAlarmLamp function executes the alarm lamp service for the \n
+ * @brief execAlarmLamp
+ * The execAlarmLamp function executes the alarm lamp service for the \n
* current lamp pattern.
* @details
* Inputs : pendingLampPattern, currentLampPattern, lampPatternStepTimer, \n
@@ -86,7 +86,7 @@
* @param none
* @return none
*************************************************************************/
-void ExecuteAlarmLamp( void )
+void execAlarmLamp( void )
{
// if starting a new lamp pattern, reset pattern variables
if ( pendingLampPattern != currentLampPattern )
@@ -121,15 +121,15 @@
}
/*************************************************************************
- * @brief RequestLampPattern
- * The RequestLampPattern function sets a request for a new lamp pattern.
+ * @brief requestAlarmLampPattern
+ * The requestAlarmLampPattern function sets a request for a new lamp pattern.
* @details
* Inputs : none
* Outputs : pendingLampPattern
* @param lampPattern : new lamp pattern
* @return none
*************************************************************************/
-void RequestLampPattern( LAMP_PATTERN_T lampPattern )
+void requestAlarmLampPattern( LAMP_PATTERN_T lampPattern )
{
if ( lampPattern < NUM_OF_LAMP_PATTERNS )
{
@@ -142,6 +142,21 @@
}
/*************************************************************************
+ * @brief getCurrentAlarmLampPattern
+ * The getCurrentAlarmLampPattern function gets the current alarm lamp \n
+ * pattern in effect.
+ * @details
+ * Inputs : currentLampPattern
+ * Outputs : none
+ * @param none
+ * @return currentLampPattern
+ *************************************************************************/
+LAMP_PATTERN_T getCurrentAlarmLampPattern( void )
+{
+ return currentLampPattern;
+}
+
+/*************************************************************************
* @brief setAlarmLampToPatternStep
* The setAlarmLampToPatternStep function sets the lamps according to the \n
* current lamp pattern and lamp pattern step.
@@ -151,7 +166,7 @@
* @param lampPattern : new lamp pattern
* @return none
*************************************************************************/
-void setAlarmLampToPatternStep( void )
+static void setAlarmLampToPatternStep( void )
{
PIN_SIGNAL_STATE_T green = PIN_SIGNAL_LOW;
PIN_SIGNAL_STATE_T yellow = PIN_SIGNAL_LOW;
Index: App/Contollers/AlarmLamp.h
===================================================================
diff -u -r894b734327eb6e7cfa6bf651623576bc10214195 -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- App/Contollers/AlarmLamp.h (.../AlarmLamp.h) (revision 894b734327eb6e7cfa6bf651623576bc10214195)
+++ App/Contollers/AlarmLamp.h (.../AlarmLamp.h) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -34,7 +34,8 @@
// ********** public function prototypes **********
void initAlarmLamp( void );
-void ExecuteAlarmLamp( void );
-void RequestLampPattern( LAMP_PATTERN_T lampPattern );
+void execAlarmLamp( void );
+void requestAlarmLampPattern( LAMP_PATTERN_T lampPattern );
+LAMP_PATTERN_T getCurrentAlarmLampPattern( void );
#endif
Fisheye: Tag add7eb956a7d2c124434541e1f06ca5ae158716f refers to a dead (removed) revision in file `App/Contollers/SafetyShutdown.c'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag add7eb956a7d2c124434541e1f06ca5ae158716f refers to a dead (removed) revision in file `App/Contollers/SafetyShutdown.h'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag add7eb956a7d2c124434541e1f06ca5ae158716f refers to a dead (removed) revision in file `App/Contollers/WatchdogMgmt.c'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag add7eb956a7d2c124434541e1f06ca5ae158716f refers to a dead (removed) revision in file `App/Contollers/WatchdogMgmt.h'.
Fisheye: No comparison available. Pass `N' to diff?
Index: App/Modes/ModeInitPOST.c
===================================================================
diff -u -r894b734327eb6e7cfa6bf651623576bc10214195 -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 894b734327eb6e7cfa6bf651623576bc10214195)
+++ App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -51,7 +51,7 @@
void transitionToInitAndPOSTMode( void )
{
// temporary test code - solid red alarm lamp
- RequestLampPattern( LAMP_PATTERN_MANUAL );
+ requestAlarmLampPattern( LAMP_PATTERN_MANUAL );
setCPLDLampRed( PIN_SIGNAL_HIGH );
}
Index: App/Modes/ModeOpParams.c
===================================================================
diff -u -r894b734327eb6e7cfa6bf651623576bc10214195 -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- App/Modes/ModeOpParams.c (.../ModeOpParams.c) (revision 894b734327eb6e7cfa6bf651623576bc10214195)
+++ App/Modes/ModeOpParams.c (.../ModeOpParams.c) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -50,7 +50,7 @@
void transitionToOpParamsMode( void )
{
// temporary test code - alarm lamp fault
- RequestLampPattern( LAMP_PATTERN_FAULT );
+ requestAlarmLampPattern( LAMP_PATTERN_FAULT );
}
/*************************************************************************
Index: App/Modes/ModePostTreat.c
===================================================================
diff -u -r894b734327eb6e7cfa6bf651623576bc10214195 -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision 894b734327eb6e7cfa6bf651623576bc10214195)
+++ App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -50,7 +50,7 @@
void transitionToPostTreatmentMode( void )
{
// temporary test code - alarm lamp high alarm
- RequestLampPattern( LAMP_PATTERN_HIGH_ALARM );
+ requestAlarmLampPattern( LAMP_PATTERN_HIGH_ALARM );
}
/*************************************************************************
Index: App/Modes/ModePreTreat.c
===================================================================
diff -u -r765d2c35118e202444e737c66c77faf9678cc87e -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 765d2c35118e202444e737c66c77faf9678cc87e)
+++ App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -50,7 +50,7 @@
void transitionToPreTreatmentMode( void )
{
// temporary test code - alarm lamp low alarm
- RequestLampPattern( LAMP_PATTERN_LOW_ALARM );
+ requestAlarmLampPattern( LAMP_PATTERN_LOW_ALARM );
}
/*************************************************************************
Index: App/Modes/ModePrescription.c
===================================================================
diff -u -r894b734327eb6e7cfa6bf651623576bc10214195 -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- App/Modes/ModePrescription.c (.../ModePrescription.c) (revision 894b734327eb6e7cfa6bf651623576bc10214195)
+++ App/Modes/ModePrescription.c (.../ModePrescription.c) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -50,7 +50,7 @@
void transitionToPrescriptionMode( void )
{
// temporary test code - alarm lamp Off
- RequestLampPattern( LAMP_PATTERN_OFF );
+ requestAlarmLampPattern( LAMP_PATTERN_OFF );
}
/*************************************************************************
Index: App/Modes/ModeStandby.c
===================================================================
diff -u -r894b734327eb6e7cfa6bf651623576bc10214195 -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 894b734327eb6e7cfa6bf651623576bc10214195)
+++ App/Modes/ModeStandby.c (.../ModeStandby.c) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -49,7 +49,7 @@
void transitionToStandbyMode( void )
{
// temporary test code - alarm lamp OK
- RequestLampPattern( LAMP_PATTERN_OK );
+ requestAlarmLampPattern( LAMP_PATTERN_OK );
}
/*************************************************************************
Index: App/Modes/ModeTreatment.c
===================================================================
diff -u -r894b734327eb6e7cfa6bf651623576bc10214195 -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 894b734327eb6e7cfa6bf651623576bc10214195)
+++ App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -49,7 +49,7 @@
void transitionToTreatmentMode( void )
{
// temporary test code - alarm lamp medium alarm
- RequestLampPattern( LAMP_PATTERN_MED_ALARM );
+ requestAlarmLampPattern( LAMP_PATTERN_MED_ALARM );
}
/*************************************************************************
Index: App/Services/SafetyShutdown.c
===================================================================
diff -u
--- App/Services/SafetyShutdown.c (revision 0)
+++ App/Services/SafetyShutdown.c (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * Copyright Diality, Inc. 2019-2020. All Rights Reserved.
+ * 181 Technology, Ste. 150
+ * Irvine, CA 92618
+ *
+ * Project Denali
+ *
+ * @file SafetyShutdown.c
+ *
+ * @brief Controller for the safety shutdown signal.
+ *
+ * @date 20-Sep-2019
+ *
+ *************************************************************************/
+
+#include "gio.h"
+
+#include "Common.h"
+#include "SafetyShutdown.h"
+
+// ********** private definitions **********
+
+// GIO port A pin assignments for pins connected to CPLD
+#define SAFETY_GIO_PORT_PIN 5U
+
+// CPLD pin I/O macros
+#define SET_SAFETY_SHUTDOWN() gioSetBit( gioPORTA, SAFETY_GIO_PORT_PIN, PIN_SIGNAL_HIGH )
+#define CLR_SAFETY_SHUTDOWN() gioSetBit( gioPORTA, SAFETY_GIO_PORT_PIN, PIN_SIGNAL_LOW )
+
+/*************************************************************************
+ * @brief initSafetyShutdown
+ * The initSafetyShutdown function initializes the Buttons module.
+ * @details
+ * Inputs : none
+ * Outputs : Safety Shutdown module signal output set to initial state.
+ * @param none
+ * @return none
+ *************************************************************************/
+void initSafetyShutdown( void )
+{
+ CLR_SAFETY_SHUTDOWN();
+}
+
+/*************************************************************************
+ * @brief activateSafetyShutdown
+ * The activateSafetyShutdown function activates the safety shutdown signal.
+ * @details
+ * Inputs : none
+ * Outputs : Safety Shutdown signal output set to active state.
+ * @param none
+ * @return none
+ *************************************************************************/
+void activateSafetyShutdown( void )
+{
+ SET_SAFETY_SHUTDOWN();
+}
+
Index: App/Services/SafetyShutdown.h
===================================================================
diff -u
--- App/Services/SafetyShutdown.h (revision 0)
+++ App/Services/SafetyShutdown.h (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -0,0 +1,25 @@
+/***********************************************************************
+ *
+ * Copyright Diality, Inc. 2019-2020. All Rights Reserved.
+ * 181 Technology, Ste. 150
+ * Irvine, CA 92618
+ *
+ * Project Denali
+ *
+ * @file SafetyShutdown.h
+ *
+ * @brief Header file for Safety Shutdown Controller.
+ *
+ * @date 20-Sep-2019
+ *
+ *************************************************************************/
+
+#ifndef __SAFETY_SHUTDOWN_H__
+#define __SAFETY_SHUTDOWN_H__
+
+// ********** public function prototypes **********
+
+void initSafetyShutdown( void );
+void activateSafetyShutdown( void );
+
+#endif
Index: App/Services/Timers.c
===================================================================
diff -u
--- App/Services/Timers.c (revision 0)
+++ App/Services/Timers.c (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -0,0 +1,104 @@
+/*************************************************************************
+ *
+ * Copyright Diality, Inc. 2019-2020. All Rights Reserved.
+ * 181 Technology, Ste. 150
+ * Irvine, CA 92618
+ *
+ * Project Denali
+ *
+ * @file Timers.c
+ *
+ * @brief Timers service module. Provides miscellaneous timer functions.
+ *
+ * @date 25-Sep-2019
+ *
+ *************************************************************************/
+
+#include "Common.h"
+#include "Timers.h"
+
+// ********** private definitions **********
+
+// ********** private data **********
+
+static U32 msTimerCount = 0;
+
+/*************************************************************************
+ * @brief initTimers
+ * The initTimers function initializes the Timers module.
+ * @details
+ * Inputs : none
+ * Outputs : Timers module initialized.
+ * @param none
+ * @return none
+ *************************************************************************/
+void initTimers( void )
+{
+ msTimerCount = 0;
+}
+
+/*************************************************************************
+ * @brief incMSTimerCount
+ * The incMSTimerCount function increments the ms timer count.
+ * @details
+ * Inputs : none
+ * Outputs : msTimerCount incremented
+ * @param none
+ * @return none
+ *************************************************************************/
+void incMSTimerCount( void )
+{
+ msTimerCount++;
+}
+
+/*************************************************************************
+ * @brief getMSTimerCount
+ * The getMSTimerCount function returns the current ms timer count.
+ * @details
+ * Inputs : msTimerCount
+ * Outputs : none
+ * @param none
+ * @return msTimerCount
+ *************************************************************************/
+U32 getMSTimerCount( void )
+{
+ return msTimerCount;
+}
+
+/*************************************************************************
+ * @brief didTimeout
+ * The didTimeout function determines whether a timeout has occurred between \n
+ * a given start count and a given timeout period (in ms).
+ * @details
+ * Inputs : msTimerCount
+ * Outputs : none
+ * @param startMSCount : the ms count at the start of the timeout period
+ * @param timeoutPeriod : the period for the timeout (in ms)
+ * @return TRUE if a timeout has occurred, FALSE if not
+ *************************************************************************/
+BOOL didTimeout( U32 startMSCount, U32 timeoutPeriod )
+{
+ BOOL result = FALSE;
+ U32 currMSCount = msTimerCount;
+
+ // no wrap
+ if ( currMSCount >= startMSCount )
+ {
+ if ( ( currMSCount - startMSCount ) >= timeoutPeriod )
+ {
+ result = TRUE;
+ }
+ }
+ // counter wrapped
+ else
+ {
+ U32 deltaMSCount = ( 0xFFFFFFFF - startMSCount ) + currMSCount + 1;
+
+ if ( deltaMSCount >= timeoutPeriod )
+ {
+ result = TRUE;
+ }
+ }
+
+ return result;
+}
Index: App/Services/Timers.h
===================================================================
diff -u
--- App/Services/Timers.h (revision 0)
+++ App/Services/Timers.h (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -0,0 +1,29 @@
+/***********************************************************************
+ *
+ * Copyright Diality, Inc. 2019-2020. All Rights Reserved.
+ * 181 Technology, Ste. 150
+ * Irvine, CA 92618
+ *
+ * Project Denali
+ *
+ * @file Timers.h
+ *
+ * @brief header file for Timers service .
+ *
+ * @date 25-Sep-2019
+ *
+ *************************************************************************/
+
+#ifndef __TIMERS_H__
+#define __TIMERS_H__
+
+#include "Common.h"
+
+// ********** public function prototypes **********
+
+void initTimers( void );
+void incMSTimerCount( void );
+U32 getMSTimerCount( void );
+BOOL didTimeout( U32 startMSCount, U32 timeoutPeriod );
+
+#endif
Index: App/Services/WatchdogMgmt.c
===================================================================
diff -u
--- App/Services/WatchdogMgmt.c (revision 0)
+++ App/Services/WatchdogMgmt.c (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -0,0 +1,190 @@
+/*************************************************************************
+ *
+ * Copyright Diality, Inc. 2019-2020. All Rights Reserved.
+ * 181 Technology, Ste. 150
+ * Irvine, CA 92618
+ *
+ * Project Denali
+ *
+ * @file WatchdogMgmt.c
+ *
+ * @brief Monitor for the off and stop buttons.
+ *
+ * @date 20-Sep-2019
+ *
+ *************************************************************************/
+
+#include "Common.h"
+#include "CPLD.h"
+#include "Timers.h"
+#include "WatchdogMgmt.h"
+
+// ********** private definitions **********
+
+#define MIN_WATCHDOG_PET_INTERVAL_MS 45
+
+// ********** private data **********
+
+static BOOL watchdogExpired = FALSE;
+static BOOL lastWatchdogPetTime = 0;
+static BOOL watchdogTaskCheckedIn[NUM_OF_TASKS];
+
+// ********** private function prototypes **********
+
+static void resetWDTaskCheckIns( void );
+static BOOL haveAllTasksCheckedIn( void );
+static void petWatchdog( void );
+
+/*************************************************************************
+ * @brief initWatchdogMgmt
+ * The initWatchdogMgmt function initializes the watchdog mgmt. module.
+ * @details
+ * Inputs : none
+ * Outputs : Watchdog mgmt. module initialized.
+ * @param none
+ * @return none
+ *************************************************************************/
+void initWatchdogMgmt( void )
+{
+ watchdogExpired = FALSE;
+ lastWatchdogPetTime = getMSTimerCount();
+ resetWDTaskCheckIns();
+}
+
+/*************************************************************************
+ * @brief execWatchdogMgmt
+ * The execWatchdogMgmt function executes thewatchdog mgmt. service.
+ * @details
+ * Inputs : none
+ * Outputs :
+ * @param none
+ * @return none
+ *************************************************************************/
+void execWatchdogMgmt( void )
+{
+ BOOL allTasksCheckedIn = TRUE;
+
+ // called by background task, so give bg task credit for checking in
+ checkInWithWatchdogMgmt( TASK_BG );
+
+ // check to see if all monitored tasks have checked in
+ allTasksCheckedIn = haveAllTasksCheckedIn();
+
+ // if all monitored tasks checked in, pet watchdog and clear the slate
+ if ( ( TRUE == allTasksCheckedIn ) && ( didTimeout( lastWatchdogPetTime, MIN_WATCHDOG_PET_INTERVAL_MS ) ) )
+ {
+ petWatchdog();
+ resetWDTaskCheckIns();
+ }
+
+ // check to see if watchdog has expired
+ if ( getCPLDWatchdogExpired() == PIN_SIGNAL_HIGH )
+ {
+ watchdogExpired = TRUE;
+ }
+}
+
+/*************************************************************************
+ * @brief checkInWithWatchdogMgmt
+ * The checkInWithWatchdogMgmt function checks a given task in with the \n
+ * watchdog mgmt. service.
+ * @details
+ * Inputs : none
+ * Outputs : task is checked in with the watchdog mgmt..
+ * @param task : the task that is checking in with the watchdog mgmt.
+ * @return none
+ *************************************************************************/
+void checkInWithWatchdogMgmt( TASK_T task )
+{
+ if ( task < NUM_OF_TASKS )
+ {
+ watchdogTaskCheckedIn[task] = TRUE;
+ }
+}
+
+/*************************************************************************
+ * @brief hasWatchdogExpired
+ * The hasWatchdogExpired function determines whether the watchdog has /n
+ * expired.
+ * @details
+ * Inputs : watchdogExpired
+ * Outputs : none
+ * @param none
+ * @return TRUE if watchdog has expired, FALSE if not.
+ *************************************************************************/
+BOOL hasWatchdogExpired( void )
+{
+ return watchdogExpired;
+}
+
+/*************************************************************************
+ * @brief resetWDTaskCheckIns
+ * The resetWDTaskCheckIns function resets the task check-ins with the watchdog.
+ * @details
+ * Inputs : none
+ * Outputs : watchdogTaskCheckedIn[] array reset to all false.
+ * @param none
+ * @return none
+ *************************************************************************/
+static void resetWDTaskCheckIns( void )
+{
+ U32 i;
+
+ // initialize task check-ins to false
+ for ( i = 0; i < NUM_OF_TASKS; i++ )
+ {
+ watchdogTaskCheckedIn[i] = FALSE;
+ }
+}
+
+/*************************************************************************
+ * @brief haveAllTasksCheckedIn
+ * The haveAllTasksCheckedIn function determines whether all tasks have /n
+ * checked in with watchdog mgmt.
+ * @details
+ * Inputs : watchdogTaskCheckedIn[]
+ * Outputs : none
+ * @param none
+ * @return TRUE if all tasks have checked in since last watchdog pet, FALSE if not.
+ *************************************************************************/
+static BOOL haveAllTasksCheckedIn( void )
+{
+ BOOL result = TRUE;
+ U32 i;
+
+ // check that each task has checked in
+ for ( i = 0; i < NUM_OF_TASKS; i++ )
+ {
+ if ( FALSE == watchdogTaskCheckedIn[i] )
+ {
+ result = FALSE;
+ break;
+ }
+ }
+
+ return result;
+}
+
+/*************************************************************************
+ * @brief petWatchdog
+ * The petWatchdog function pets the watchdog by pulsing the CPLD WD pet /n
+ * signal.
+ * @details
+ * Inputs : none
+ * Outputs : CPLD WD pet signal is pulsed
+ * @param none
+ * @return none
+ *************************************************************************/
+static void petWatchdog( void )
+{
+ U32 d;
+
+ // pulse the watchdog signal
+ setCPLDWatchdog( PIN_SIGNAL_HIGH );
+ for ( d = 0; d < 1000; d++ )
+ ; // ok to block briefly because we're in the background (idle) task
+ setCPLDWatchdog( PIN_SIGNAL_LOW );
+
+ // remember when we last pet the watchdog
+ lastWatchdogPetTime = getMSTimerCount();
+}
Index: App/Services/WatchdogMgmt.h
===================================================================
diff -u
--- App/Services/WatchdogMgmt.h (revision 0)
+++ App/Services/WatchdogMgmt.h (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -0,0 +1,40 @@
+/***********************************************************************
+ *
+ * Copyright Diality, Inc. 2019-2020. All Rights Reserved.
+ * 181 Technology, Ste. 150
+ * Irvine, CA 92618
+ *
+ * Project Denali
+ *
+ * @file WatchdogMgmt.h
+ *
+ * @brief Header file for the watchdog management service.
+ *
+ * @date 20-Sep-2019
+ *
+ *************************************************************************/
+
+#ifndef __WATCHDOG_MGMT_H__
+#define __WATCHDOG_MGMT_H__
+
+#include "Common.h"
+
+// ********** public definitions **********
+
+typedef enum Tasks
+{
+ TASK_BG = 0, // Background
+ TASK_GENERAL, // General
+ TASK_PRIORITY, // Priority
+ TASK_TIMER, // Timer
+ NUM_OF_TASKS
+} TASK_T;
+
+// ********** public function prototypes **********
+
+void initWatchdogMgmt( void );
+void execWatchdogMgmt( void );
+void checkInWithWatchdogMgmt( TASK_T task );
+BOOL hasWatchdogExpired( void );
+
+#endif
Index: App/Tasks/TaskGeneral.c
===================================================================
diff -u -r894b734327eb6e7cfa6bf651623576bc10214195 -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- App/Tasks/TaskGeneral.c (.../TaskGeneral.c) (revision 894b734327eb6e7cfa6bf651623576bc10214195)
+++ App/Tasks/TaskGeneral.c (.../TaskGeneral.c) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -43,7 +43,7 @@
execOperationModes();
// control alarm lamp
- ExecuteAlarmLamp();
+ execAlarmLamp();
// check in with watchdog manager
checkInWithWatchdogMgmt( TASK_GENERAL );
Index: App/Tasks/TaskTimer.c
===================================================================
diff -u -r894b734327eb6e7cfa6bf651623576bc10214195 -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- App/Tasks/TaskTimer.c (.../TaskTimer.c) (revision 894b734327eb6e7cfa6bf651623576bc10214195)
+++ App/Tasks/TaskTimer.c (.../TaskTimer.c) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -17,6 +17,7 @@
#include "gio.h"
#include "WatchdogMgmt.h"
+#include "Timers.h"
#include "TaskTimer.h"
/*************************************************************************
@@ -30,10 +31,14 @@
*************************************************************************/
void taskTimer( void )
{
+ // increment ms timer count
+ incMSTimerCount();
+
// check in with watchdog manager
checkInWithWatchdogMgmt( TASK_TIMER );
// toggle GPIO to indicate timer task has executed
gioToggleBit( gioPORTA, 2 );
}
+
Index: Debug/App/Contollers/subdir_rules.mk
===================================================================
diff -u -r894b734327eb6e7cfa6bf651623576bc10214195 -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- Debug/App/Contollers/subdir_rules.mk (.../subdir_rules.mk) (revision 894b734327eb6e7cfa6bf651623576bc10214195)
+++ Debug/App/Contollers/subdir_rules.mk (.../subdir_rules.mk) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -6,7 +6,7 @@
App/Contollers/%.obj: ../App/Contollers/%.c $(GEN_OPTS) | $(GEN_FILES)
@echo 'Building file: "$<"'
@echo 'Invoking: ARM Compiler'
- "/home/fw/ti/ccs910/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/bin/armcl" -mv7R4 --code_state=32 --float_support=VFPv3D16 -me --include_path="/home/fw/workspace_HD/HD/hdproject/App" --include_path="/home/fw/workspace_HD/HD/hdproject/App/Tasks" --include_path="/home/fw/workspace_HD/HD/hdproject/App/Modes" --include_path="/home/fw/workspace_HD/HD/hdproject/App/Drivers" --include_path="/home/fw/workspace_HD/HD/hdproject/App/Contollers" --include_path="/home/fw/workspace_HD/HD/hdproject/App/Comm" --include_path="/home/fw/workspace_HD/HD/hdproject" --include_path="/home/fw/workspace_HD/HD/hdproject/include" --include_path="/home/fw/ti/ccs910/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi --preproc_with_compile --preproc_dependency="App/Contollers/$(basename $(> Linked Tue Sep 24 13:49:30 2019
+>> Linked Wed Sep 25 14:29:24 2019
OUTPUT FILE NAME:
ENTRY POINT SYMBOL: "_c_int00" address: 0000751c
@@ -12,23 +12,23 @@
name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
VECTORS 00000000 00000020 00000020 00000000 X
- FLASH0 00000020 0013ffe0 00008855 0013778b R X
+ FLASH0 00000020 0013ffe0 000089dd 00137603 R X
STACKS 08000000 00001500 00000000 00001500 RW
- RAM 08001500 0002eb00 000000cd 0002ea33 RW
+ RAM 08001500 0002eb00 00000069 0002ea97 RW
SEGMENT ALLOCATION MAP
run origin load origin length init length attrs members
---------- ----------- ---------- ----------- ----- -------
-00000000 00000000 00008878 00008878 r-x
+00000000 00000000 00008a00 00008a00 r-x
00000000 00000000 00000020 00000020 r-x .intvecs
- 00000020 00000020 000085b4 000085b4 r-x .text
- 000085d4 000085d4 00000251 00000251 r-- .const
- 00008828 00008828 00000050 00000050 r-- .cinit
-08001500 08001500 000000d0 00000000 rw-
- 08001500 08001500 00000099 00000000 rw- .data
- 0800159c 0800159c 00000034 00000000 rw- .bss
+ 00000020 00000020 000086ec 000086ec r-x .text
+ 0000870c 0000870c 000002c1 000002c1 r-- .const
+ 000089d0 000089d0 00000030 00000030 r-- .cinit
+08001500 08001500 0000006c 00000000 rw-
+ 08001500 08001500 00000035 00000000 rw- .data
+ 08001538 08001538 00000034 00000000 rw- .bss
SECTION ALLOCATION MAP
@@ -39,7 +39,7 @@
.intvecs 0 00000000 00000020
00000000 00000020 sys_intvecs.obj (.intvecs)
-.text 0 00000020 000085b4
+.text 0 00000020 000086ec
00000020 00002cdc sys_selftest.obj (.text)
00002cfc 00000b78 system.obj (.text)
00003874 00000a54 sys_vim.obj (.text)
@@ -54,73 +54,73 @@
00006f60 000002f0 OperationModes.obj (.text)
00007250 000002cc sys_vim.obj (.text:retain)
0000751c 00000290 sys_startup.obj (.text:retain)
- 000077ac 0000020c CPLD.obj (.text)
- 000079b8 00000208 AlarmLamp.obj (.text)
- 00007bc0 00000134 WatchdogMgmt.obj (.text)
- 00007cf4 00000114 esm.obj (.text:retain)
- 00007e08 000000e8 dabort.obj (.text)
- 00007ef0 000000e8 rti.obj (.text:retain)
- 00007fd8 000000e0 sys_pmu.obj (.text)
- 000080b8 000000a4 notification.obj (.text)
- 0000815c 0000009c rtsv7R4_T_le_v3D16_eabi.lib : memcpy_t2.asm.obj (.text)
- 000081f8 0000006c : copy_decompress_lzss.c.obj (.text:decompress:lzss:__TI_decompress_lzss)
- 00008264 00000068 TaskGeneral.obj (.text)
- 000082cc 00000060 sys_main.obj (.text)
- 0000832c 00000044 rtsv7R4_T_le_v3D16_eabi.lib : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit:__TI_auto_init_nobinit_nopinit)
- 00008370 00000040 ModeInitPOST.obj (.text)
- 000083b0 00000038 ModeOpParams.obj (.text)
- 000083e8 00000038 ModePostTreat.obj (.text)
- 00008420 00000038 ModePreTreat.obj (.text)
- 00008458 00000038 ModePrescription.obj (.text)
- 00008490 00000038 ModeStandby.obj (.text)
- 000084c8 00000038 ModeTreatment.obj (.text)
- 00008500 00000034 SafetyShutdown.obj (.text)
- 00008534 00000024 TaskPriority.obj (.text)
- 00008558 00000020 TaskTimer.obj (.text)
- 00008578 0000001c rtsv7R4_T_le_v3D16_eabi.lib : copy_zero_init.c.obj (.text:decompress:ZI:__TI_zero_init_nomemset:__TI_zero_init_nomemset)
- 00008594 0000000e : copy_decompress_none.c.obj (.text:decompress:none:__TI_decompress_none)
- 000085a2 00000002 --HOLE-- [fill = 0]
- 000085a4 0000000c ModeFault.obj (.text)
- 000085b0 0000000c ModeService.obj (.text)
- 000085bc 0000000c TaskBG.obj (.text)
- 000085c8 00000004 rtsv7R4_T_le_v3D16_eabi.lib : exit.c.obj (.text:abort:abort)
- 000085cc 00000004 sys_phantom.obj (.text:retain)
- 000085d0 00000004 sys_startup.obj (.text)
+ 000077ac 00000214 AlarmLamp.obj (.text)
+ 000079c0 0000020c CPLD.obj (.text)
+ 00007bcc 000001c8 WatchdogMgmt.obj (.text)
+ 00007d94 00000114 esm.obj (.text:retain)
+ 00007ea8 000000e8 dabort.obj (.text)
+ 00007f90 000000e8 rti.obj (.text:retain)
+ 00008078 000000e0 sys_pmu.obj (.text)
+ 00008158 000000bc Timers.obj (.text)
+ 00008214 000000a4 notification.obj (.text)
+ 000082b8 0000009c rtsv7R4_T_le_v3D16_eabi.lib : memcpy_t2.asm.obj (.text)
+ 00008354 0000006c : copy_decompress_lzss.c.obj (.text:decompress:lzss:__TI_decompress_lzss)
+ 000083c0 00000064 sys_main.obj (.text)
+ 00008424 00000044 rtsv7R4_T_le_v3D16_eabi.lib : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit:__TI_auto_init_nobinit_nopinit)
+ 00008468 00000040 ModeInitPOST.obj (.text)
+ 000084a8 0000003c TaskGeneral.obj (.text)
+ 000084e4 00000038 ModeOpParams.obj (.text)
+ 0000851c 00000038 ModePostTreat.obj (.text)
+ 00008554 00000038 ModePreTreat.obj (.text)
+ 0000858c 00000038 ModePrescription.obj (.text)
+ 000085c4 00000038 ModeStandby.obj (.text)
+ 000085fc 00000038 ModeTreatment.obj (.text)
+ 00008634 00000034 SafetyShutdown.obj (.text)
+ 00008668 00000024 TaskPriority.obj (.text)
+ 0000868c 00000024 TaskTimer.obj (.text)
+ 000086b0 0000001c rtsv7R4_T_le_v3D16_eabi.lib : copy_zero_init.c.obj (.text:decompress:ZI:__TI_zero_init_nomemset:__TI_zero_init_nomemset)
+ 000086cc 0000000e : copy_decompress_none.c.obj (.text:decompress:none:__TI_decompress_none)
+ 000086da 00000002 --HOLE-- [fill = 0]
+ 000086dc 0000000c ModeFault.obj (.text)
+ 000086e8 0000000c ModeService.obj (.text)
+ 000086f4 0000000c TaskBG.obj (.text)
+ 00008700 00000004 rtsv7R4_T_le_v3D16_eabi.lib : exit.c.obj (.text:abort:abort)
+ 00008704 00000004 sys_phantom.obj (.text:retain)
+ 00008708 00000004 sys_startup.obj (.text)
-.const 0 000085d4 00000251
- 000085d4 00000200 sys_vim.obj (.const:s_vim_init)
- 000087d4 00000051 OperationModes.obj (.const:MODE_TRANSITION_TABLE)
+.const 0 0000870c 000002c1
+ 0000870c 00000200 sys_vim.obj (.const:s_vim_init)
+ 0000890c 00000070 AlarmLamp.obj (.const:lampPatterns)
+ 0000897c 00000051 OperationModes.obj (.const:MODE_TRANSITION_TABLE)
-.cinit 0 00008828 00000050
- 00008828 00000027 (.cinit..data.load) [load image, compression = lzss]
- 0000884f 00000001 --HOLE-- [fill = 0]
- 00008850 0000000c (__TI_handler_table)
- 0000885c 00000004 --HOLE-- [fill = 0]
- 00008860 00000008 (.cinit..bss.load) [load image, compression = zero_init]
- 00008868 00000010 (__TI_cinit_table)
+.cinit 0 000089d0 00000030
+ 000089d0 0000000c (__TI_handler_table)
+ 000089dc 00000009 (.cinit..data.load) [load image, compression = lzss]
+ 000089e5 00000003 --HOLE-- [fill = 0]
+ 000089e8 00000008 (.cinit..bss.load) [load image, compression = zero_init]
+ 000089f0 00000010 (__TI_cinit_table)
-.data 0 08001500 00000099 UNINITIALIZED
- 08001500 00000070 AlarmLamp.obj (.data:lampPatterns)
- 08001570 00000018 Buttons.obj (.data)
- 08001588 0000000c AlarmLamp.obj (.data)
- 08001594 00000004 TaskGeneral.obj (.data)
- 08001598 00000001 OperationModes.obj (.data)
+.data 0 08001500 00000035 UNINITIALIZED
+ 08001500 00000018 Buttons.obj (.data)
+ 08001518 0000000c AlarmLamp.obj (.data)
+ 08001524 00000008 WatchdogMgmt.obj (.data)
+ 0800152c 00000004 TaskGeneral.obj (.data)
+ 08001530 00000004 Timers.obj (.data)
+ 08001534 00000001 OperationModes.obj (.data)
-.bss 0 0800159c 00000034 UNINITIALIZED
- 0800159c 00000024 OperationModes.obj (.bss:modeRequest)
- 080015c0 00000010 WatchdogMgmt.obj (.bss:watchdogTaskCheckedIn)
+.bss 0 08001538 00000034 UNINITIALIZED
+ 08001538 00000024 OperationModes.obj (.bss:modeRequest)
+ 0800155c 00000010 WatchdogMgmt.obj (.bss:watchdogTaskCheckedIn)
MODULE SUMMARY
Module code ro data rw data
------ ---- ------- -------
./App/Contollers/
Buttons.obj 832 0 24
- AlarmLamp.obj 520 0 124
- WatchdogMgmt.obj 308 0 16
- SafetyShutdown.obj 52 0 0
+ AlarmLamp.obj 532 112 12
+--+----------------------------+-------+---------+---------+
- Total: 1712 0 164
+ Total: 1364 112 36
./App/Drivers/
CPLD.obj 524 0 0
@@ -141,13 +141,20 @@
+--+----------------------------+-------+---------+---------+
Total: 1176 81 37
+ ./App/Services/
+ WatchdogMgmt.obj 456 0 24
+ Timers.obj 188 0 4
+ SafetyShutdown.obj 52 0 0
+ +--+----------------------------+-------+---------+---------+
+ Total: 696 0 28
+
./App/Tasks/
- TaskGeneral.obj 104 0 4
+ TaskGeneral.obj 60 0 4
TaskPriority.obj 36 0 0
- TaskTimer.obj 32 0 0
+ TaskTimer.obj 36 0 0
TaskBG.obj 12 0 0
+--+----------------------------+-------+---------+---------+
- Total: 184 0 4
+ Total: 144 0 4
./source/
sys_selftest.obj 11484 0 0
@@ -164,11 +171,11 @@
dabort.obj 232 0 0
sys_pmu.obj 224 0 0
notification.obj 164 0 0
- sys_main.obj 96 0 0
+ sys_main.obj 100 0 0
sys_intvecs.obj 32 0 0
sys_phantom.obj 4 0 0
+--+----------------------------+-------+---------+---------+
- Total: 30284 512 0
+ Total: 30288 512 0
/home/fw/ti/ccs910/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/lib/rtsv7R4_T_le_v3D16_eabi.lib
memcpy_t2.asm.obj 156 0 0
@@ -180,21 +187,21 @@
+--+----------------------------+-------+---------+---------+
Total: 378 0 0
- Linker Generated: 0 75 0
+ Linker Generated: 0 45 0
+--+----------------------------+-------+---------+---------+
- Grand Total: 34258 668 205
+ Grand Total: 34570 750 105
LINKER GENERATED COPY TABLES
-__TI_cinit_table @ 00008868 records: 2, size/record: 8, table size: 16
- .data: load addr=00008828, load size=00000027 bytes, run addr=08001500, run size=00000099 bytes, compression=lzss
- .bss: load addr=00008860, load size=00000008 bytes, run addr=0800159c, run size=00000034 bytes, compression=zero_init
+__TI_cinit_table @ 000089f0 records: 2, size/record: 8, table size: 16
+ .data: load addr=000089dc, load size=00000009 bytes, run addr=08001500, run size=00000035 bytes, compression=lzss
+ .bss: load addr=000089e8, load size=00000008 bytes, run addr=08001538, run size=00000034 bytes, compression=zero_init
LINKER GENERATED HANDLER TABLE
-__TI_handler_table @ 00008850 records: 3, size/record: 4, table size: 12
+__TI_handler_table @ 000089d0 records: 3, size/record: 4, table size: 12
index: 0, handler: __TI_zero_init
index: 1, handler: __TI_decompress_lzss
index: 2, handler: __TI_decompress_none
@@ -204,29 +211,27 @@
address name
------- ----
-000085c9 C$$EXIT
-000079ec ExecuteAlarmLamp
+00008701 C$$EXIT
00005bc8 IsdwdKeySequenceCorrect
-00007aac RequestLampPattern
UNDEFED SHT$$INIT_ARRAY$$Base
UNDEFED SHT$$INIT_ARRAY$$Limit
-00008868 __TI_CINIT_Base
-00008878 __TI_CINIT_Limit
-00008850 __TI_Handler_Table_Base
-0000885c __TI_Handler_Table_Limit
+000089f0 __TI_CINIT_Base
+00008a00 __TI_CINIT_Limit
+000089d0 __TI_Handler_Table_Base
+000089dc __TI_Handler_Table_Limit
00006c18 __TI_PINIT_Base
00006c1c __TI_PINIT_Limit
-0000832d __TI_auto_init_nobinit_nopinit
-000081f9 __TI_decompress_lzss
-00008595 __TI_decompress_none
+00008425 __TI_auto_init_nobinit_nopinit
+00008355 __TI_decompress_lzss
+000086cd __TI_decompress_none
ffffffff __TI_pprof_out_hndl
ffffffff __TI_prof_data_size
ffffffff __TI_prof_data_start
00000000 __TI_static_base__
-00008579 __TI_zero_init_nomemset
-0000815d __aeabi_memcpy
-0000815d __aeabi_memcpy4
-0000815d __aeabi_memcpy8
+000086b1 __TI_zero_init_nomemset
+000082b9 __aeabi_memcpy
+000082b9 __aeabi_memcpy4
+000082b9 __aeabi_memcpy8
ffffffff __binit__
ffffffff __c_args__
0000751c _c_int00
@@ -252,7 +257,7 @@
00006aec _coreGetInstructionFault_
000068d4 _coreInitRegisters_
000069e0 _coreInitStackPointer_
-00007e08 _dabort
+00007ea8 _dabort
00006b58 _disable_FIQ_interrupt_
00006b60 _disable_IRQ_interrupt_
00006b50 _disable_interrupt_
@@ -265,21 +270,21 @@
00006b70 _esmCcmErrorsClear_
00006a2c _getCPSRValue_
00006a34 _gotoCPUIdle_
-00008034 _pmuDisableCountersGlobal_
-00008024 _pmuEnableCountersGlobal_
-00008090 _pmuGetCycleCount_
-00008098 _pmuGetEventCount_
-000080a4 _pmuGetOverflow_
-00007fd8 _pmuInit_
-00008064 _pmuResetCounters_
-00008044 _pmuResetCycleCounter_
-00008054 _pmuResetEventCounters_
-00008084 _pmuSetCountEvent_
-00008074 _pmuStartCounters_
-0000807c _pmuStopCounters_
+000080d4 _pmuDisableCountersGlobal_
+000080c4 _pmuEnableCountersGlobal_
+00008130 _pmuGetCycleCount_
+00008138 _pmuGetEventCount_
+00008144 _pmuGetOverflow_
+00008078 _pmuInit_
+00008104 _pmuResetCounters_
+000080e4 _pmuResetCycleCounter_
+000080f4 _pmuResetEventCounters_
+00008124 _pmuSetCountEvent_
+00008114 _pmuStartCounters_
+0000811c _pmuStopCounters_
UNDEFED _system_post_cinit
-000085c9 abort
-00008518 activateSafetyShutdown
+00008701 abort
+0000864c activateSafetyShutdown
0000126c adc1ParityCheck
00001358 adc2ParityCheck
ffffffff binit
@@ -293,7 +298,7 @@
00001c18 checkClockMonitor
00000d18 checkFlashECC
00001cf4 checkFlashEEPROMECC
-00007c7c checkInWithWatchdogMgmt
+00007c54 checkInWithWatchdogMgmt
00001e8c checkPLL1Slip
00001f8c checkPLL2Slip
00002050 checkRAMAddrParity
@@ -304,8 +309,9 @@
00000dfc cpuSelfTestFail
00003794 customTrimLPO
00000df4 custom_dabort
+00008188 didTimeout
00002b58 disableParity
-00008148 dmaGroupANotification
+000082a4 dmaGroupANotification
00000eac dmaParityCheck
00005c30 dwdClearFlag
00005b64 dwdCounterEnable
@@ -335,66 +341,73 @@
000062fc esmGetConfigValue
00006168 esmGetStatus
000061ec esmGetStatusBuffer
-000080b8 esmGroup1Notification
-000080c8 esmGroup2Notification
-00007cf4 esmHighInterrupt
+00008214 esmGroup1Notification
+00008224 esmGroup2Notification
+00007d94 esmHighInterrupt
00005e94 esmInit
000062ac esmSelfTestStatus
00006148 esmSetCounterPreloadValue
00006078 esmSetInterruptLevel
00006008 esmTriggerErrorPinReset
+000077e0 execAlarmLamp
00006c84 execButtons
-000085ac execFaultMode
-0000838c execInitAndPOSTMode
-000083c4 execOpParamsMode
+000086e4 execFaultMode
+00008484 execInitAndPOSTMode
+000084f8 execOpParamsMode
00006fdc execOperationModes
-000083fc execPostTreatmentMode
-00008434 execPreTreatmentMode
-0000846c execPrescriptionMode
-000085b8 execServiceMode
-000084a4 execStandbyMode
-000084dc execTreatmentMode
-00007bcc execWatchdogMgmt
+00008530 execPostTreatmentMode
+00008568 execPreTreatmentMode
+000085a0 execPrescriptionMode
+000086f0 execServiceMode
+000085d8 execStandbyMode
+00008610 execTreatmentMode
+00007bf0 execWatchdogMgmt
000022c4 fmcBus1ParityCheck
0000085c fmcBus2Check
00000898 fmcECCcheck
-00007970 getCPLDOffButton
-0000798c getCPLDStopButton
-0000784c getCPLDWatchdogExpired
+00007b84 getCPLDOffButton
+00007ba0 getCPLDStopButton
+00007a60 getCPLDWatchdogExpired
+000078cc getCurrentAlarmLampPattern
00007104 getCurrentOperationMode
+0000817c getMSTimerCount
000066b0 gioDisableNotification
00006648 gioEnableNotification
000065b0 gioGetBit
00006718 gioGetConfigValue
000065d8 gioGetPort
00006450 gioInit
-00008120 gioNotification
+0000827c gioNotification
00006540 gioSetBit
00006520 gioSetDirection
00006590 gioSetPort
000065f0 gioToggleBit
-000085d0 handlePLLLockFail
+00008708 handlePLLLockFail
+00007c80 hasWatchdogExpired
00000f58 het1ParityCheck
000010c0 het2ParityCheck
00001004 htu1ParityCheck
000011bc htu2ParityCheck
-000079b8 initAlarmLamp
+00008168 incMSTimerCount
+000077ac initAlarmLamp
00006c20 initButtons
-000077ac initCPLD
-000085a4 initFaultMode
-00008370 initInitAndPOSTMode
-000083b0 initOpParamsMode
+000079c0 initCPLD
+000086dc initFaultMode
+00008468 initInitAndPOSTMode
+000084e4 initOpParamsMode
00006f60 initOperationModes
-000083e8 initPostTreatmentMode
-00008420 initPreTreatmentMode
-00008458 initPrescriptionMode
-00008500 initSafetyShutdown
-000085b0 initServiceMode
-00008490 initStandbyMode
-000084c8 initTreatmentMode
-00007bc0 initWatchdogMgmt
+0000851c initPostTreatmentMode
+00008554 initPreTreatmentMode
+0000858c initPrescriptionMode
+00008634 initSafetyShutdown
+000086e8 initServiceMode
+000085c4 initStandbyMode
+00008158 initTimers
+000085fc initTreatmentMode
+00007bcc initWatchdogMgmt
00006d14 isButtonPressedRaw
00006ce4 isStopButtonPressed
+0000890c lampPatterns
0000518c linClearStatusFlag
00004f50 linDisableLoopback
00004f8c linDisableNotification
@@ -408,20 +421,20 @@
00004b7c linInit
00004e24 linIsRxReady
00004d3c linIsTxReady
-00008134 linNotification
+00008290 linNotification
00004d8c linSend
00004c90 linSendHeader
00004cc0 linSendWakupSignal
00004c70 linSetFunctional
00004d58 linSetLength
00004d0c linSoftwareReset
00004e40 linTxRxError
-000082cc main
+000083c0 main
00002e6c mapClocks
-0000815d memcpy
+000082b9 memcpy
00000174 memoryInit
-000080d8 memoryPort0TestFailNotification
-000080f4 memoryPort1TestFailNotification
+00008234 memoryPort0TestFailNotification
+00008250 memoryPort1TestFailNotification
00001684 mibspi1ParityCheck
0000178c mibspi3ParityCheck
000018b0 mibspi5ParityCheck
@@ -435,30 +448,31 @@
000002cc pbistSelfCheck
00000578 pbistStop
00002e18 periphInit
-000085cc phantomInterrupt
+00008704 phantomInterrupt
0000477c pinmuxGetConfigValue
+000078a0 requestAlarmLampPattern
000070d4 requestNewOperationMode
00000000 resetEntry
-00007ef0 rtiCompare0Interrupt
-00007f3c rtiCompare1Interrupt
-00007f88 rtiCompare3Interrupt
+00007f90 rtiCompare0Interrupt
+00007fdc rtiCompare1Interrupt
+00008028 rtiCompare3Interrupt
00005cf0 rtiDisableNotification
00005cc8 rtiEnableNotification
00005d0c rtiGetConfigValue
00005a5c rtiGetCurrentTick
00005a34 rtiGetPeriod
0000585c rtiInit
-00008110 rtiNotification
+0000826c rtiNotification
000059a8 rtiResetCounter
00005a0c rtiSetPeriod
00005950 rtiStartCounter
0000597c rtiStopCounter
00000020 selftestFailNotification
-0000787c setCPLDLampGreen
-000078f8 setCPLDLampRed
-000078b8 setCPLDLampYellow
-00007934 setCPLDOffRequest
-00007810 setCPLDWatchdog
+00007a90 setCPLDLampGreen
+00007b0c setCPLDLampRed
+00007acc setCPLDLampYellow
+00007b48 setCPLDOffRequest
+00007a24 setCPLDWatchdog
00002dd8 setupFlash
00002cfc setupPLL
00003658 sramGetConfigValue
@@ -468,20 +482,20 @@
00003090 systemGetConfigValue
00002f94 systemInit
00003060 systemPowerDown
-000085bc taskBackground
-00008264 taskGeneral
-00008534 taskPriority
-00008558 taskTimer
+000086f4 taskBackground
+000084a8 taskGeneral
+00008668 taskPriority
+0000868c taskTimer
000034ac tcmflashGetConfigValue
-000085a8 transitionToFaultMode
-00008374 transitionToInitAndPOSTMode
-000083b4 transitionToOpParamsMode
-000083ec transitionToPostTreatmentMode
-00008424 transitionToPreTreatmentMode
-0000845c transitionToPrescriptionMode
-000085b4 transitionToServiceMode
-00008494 transitionToStandbyMode
-000084cc transitionToTreatmentMode
+000086e0 transitionToFaultMode
+0000846c transitionToInitAndPOSTMode
+000084e8 transitionToOpParamsMode
+00008520 transitionToPostTreatmentMode
+00008558 transitionToPreTreatmentMode
+00008590 transitionToPrescriptionMode
+000086ec transitionToServiceMode
+000085c8 transitionToStandbyMode
+00008600 transitionToTreatmentMode
00002d5c trimLPO
00006d80 userConfirmOffButton
00003948 vimChannelMap
@@ -685,96 +699,103 @@
00007104 getCurrentOperationMode
00007250 vimParityErrorHandler
0000751c _c_int00
-000077ac initCPLD
-00007810 setCPLDWatchdog
-0000784c getCPLDWatchdogExpired
-0000787c setCPLDLampGreen
-000078b8 setCPLDLampYellow
-000078f8 setCPLDLampRed
-00007934 setCPLDOffRequest
-00007970 getCPLDOffButton
-0000798c getCPLDStopButton
-000079b8 initAlarmLamp
-000079ec ExecuteAlarmLamp
-00007aac RequestLampPattern
-00007bc0 initWatchdogMgmt
-00007bcc execWatchdogMgmt
-00007c7c checkInWithWatchdogMgmt
-00007cf4 esmHighInterrupt
-00007e08 _dabort
-00007ef0 rtiCompare0Interrupt
-00007f3c rtiCompare1Interrupt
-00007f88 rtiCompare3Interrupt
-00007fd8 _pmuInit_
-00008024 _pmuEnableCountersGlobal_
-00008034 _pmuDisableCountersGlobal_
-00008044 _pmuResetCycleCounter_
-00008054 _pmuResetEventCounters_
-00008064 _pmuResetCounters_
-00008074 _pmuStartCounters_
-0000807c _pmuStopCounters_
-00008084 _pmuSetCountEvent_
-00008090 _pmuGetCycleCount_
-00008098 _pmuGetEventCount_
-000080a4 _pmuGetOverflow_
-000080b8 esmGroup1Notification
-000080c8 esmGroup2Notification
-000080d8 memoryPort0TestFailNotification
-000080f4 memoryPort1TestFailNotification
-00008110 rtiNotification
-00008120 gioNotification
-00008134 linNotification
-00008148 dmaGroupANotification
-0000815d __aeabi_memcpy
-0000815d __aeabi_memcpy4
-0000815d __aeabi_memcpy8
-0000815d memcpy
-000081f9 __TI_decompress_lzss
-00008264 taskGeneral
-000082cc main
-0000832d __TI_auto_init_nobinit_nopinit
-00008370 initInitAndPOSTMode
-00008374 transitionToInitAndPOSTMode
-0000838c execInitAndPOSTMode
-000083b0 initOpParamsMode
-000083b4 transitionToOpParamsMode
-000083c4 execOpParamsMode
-000083e8 initPostTreatmentMode
-000083ec transitionToPostTreatmentMode
-000083fc execPostTreatmentMode
-00008420 initPreTreatmentMode
-00008424 transitionToPreTreatmentMode
-00008434 execPreTreatmentMode
-00008458 initPrescriptionMode
-0000845c transitionToPrescriptionMode
-0000846c execPrescriptionMode
-00008490 initStandbyMode
-00008494 transitionToStandbyMode
-000084a4 execStandbyMode
-000084c8 initTreatmentMode
-000084cc transitionToTreatmentMode
-000084dc execTreatmentMode
-00008500 initSafetyShutdown
-00008518 activateSafetyShutdown
-00008534 taskPriority
-00008558 taskTimer
-00008579 __TI_zero_init_nomemset
-00008595 __TI_decompress_none
-000085a4 initFaultMode
-000085a8 transitionToFaultMode
-000085ac execFaultMode
-000085b0 initServiceMode
-000085b4 transitionToServiceMode
-000085b8 execServiceMode
-000085bc taskBackground
-000085c9 C$$EXIT
-000085c9 abort
-000085cc phantomInterrupt
-000085d0 handlePLLLockFail
-00008850 __TI_Handler_Table_Base
-0000885c __TI_Handler_Table_Limit
-00008868 __TI_CINIT_Base
-00008878 __TI_CINIT_Limit
+000077ac initAlarmLamp
+000077e0 execAlarmLamp
+000078a0 requestAlarmLampPattern
+000078cc getCurrentAlarmLampPattern
+000079c0 initCPLD
+00007a24 setCPLDWatchdog
+00007a60 getCPLDWatchdogExpired
+00007a90 setCPLDLampGreen
+00007acc setCPLDLampYellow
+00007b0c setCPLDLampRed
+00007b48 setCPLDOffRequest
+00007b84 getCPLDOffButton
+00007ba0 getCPLDStopButton
+00007bcc initWatchdogMgmt
+00007bf0 execWatchdogMgmt
+00007c54 checkInWithWatchdogMgmt
+00007c80 hasWatchdogExpired
+00007d94 esmHighInterrupt
+00007ea8 _dabort
+00007f90 rtiCompare0Interrupt
+00007fdc rtiCompare1Interrupt
+00008028 rtiCompare3Interrupt
+00008078 _pmuInit_
+000080c4 _pmuEnableCountersGlobal_
+000080d4 _pmuDisableCountersGlobal_
+000080e4 _pmuResetCycleCounter_
+000080f4 _pmuResetEventCounters_
+00008104 _pmuResetCounters_
+00008114 _pmuStartCounters_
+0000811c _pmuStopCounters_
+00008124 _pmuSetCountEvent_
+00008130 _pmuGetCycleCount_
+00008138 _pmuGetEventCount_
+00008144 _pmuGetOverflow_
+00008158 initTimers
+00008168 incMSTimerCount
+0000817c getMSTimerCount
+00008188 didTimeout
+00008214 esmGroup1Notification
+00008224 esmGroup2Notification
+00008234 memoryPort0TestFailNotification
+00008250 memoryPort1TestFailNotification
+0000826c rtiNotification
+0000827c gioNotification
+00008290 linNotification
+000082a4 dmaGroupANotification
+000082b9 __aeabi_memcpy
+000082b9 __aeabi_memcpy4
+000082b9 __aeabi_memcpy8
+000082b9 memcpy
+00008355 __TI_decompress_lzss
+000083c0 main
+00008425 __TI_auto_init_nobinit_nopinit
+00008468 initInitAndPOSTMode
+0000846c transitionToInitAndPOSTMode
+00008484 execInitAndPOSTMode
+000084a8 taskGeneral
+000084e4 initOpParamsMode
+000084e8 transitionToOpParamsMode
+000084f8 execOpParamsMode
+0000851c initPostTreatmentMode
+00008520 transitionToPostTreatmentMode
+00008530 execPostTreatmentMode
+00008554 initPreTreatmentMode
+00008558 transitionToPreTreatmentMode
+00008568 execPreTreatmentMode
+0000858c initPrescriptionMode
+00008590 transitionToPrescriptionMode
+000085a0 execPrescriptionMode
+000085c4 initStandbyMode
+000085c8 transitionToStandbyMode
+000085d8 execStandbyMode
+000085fc initTreatmentMode
+00008600 transitionToTreatmentMode
+00008610 execTreatmentMode
+00008634 initSafetyShutdown
+0000864c activateSafetyShutdown
+00008668 taskPriority
+0000868c taskTimer
+000086b1 __TI_zero_init_nomemset
+000086cd __TI_decompress_none
+000086dc initFaultMode
+000086e0 transitionToFaultMode
+000086e4 execFaultMode
+000086e8 initServiceMode
+000086ec transitionToServiceMode
+000086f0 execServiceMode
+000086f4 taskBackground
+00008701 C$$EXIT
+00008701 abort
+00008704 phantomInterrupt
+00008708 handlePLLLockFail
+0000890c lampPatterns
+000089d0 __TI_Handler_Table_Base
+000089dc __TI_Handler_Table_Limit
+000089f0 __TI_CINIT_Base
+00008a00 __TI_CINIT_Limit
ffffffff __TI_pprof_out_hndl
ffffffff __TI_prof_data_size
ffffffff __TI_prof_data_start
@@ -785,4 +806,4 @@
UNDEFED SHT$$INIT_ARRAY$$Limit
UNDEFED _system_post_cinit
-[287 symbols]
+[294 symbols]
Index: Debug/HD.out
===================================================================
diff -u -r894b734327eb6e7cfa6bf651623576bc10214195 -radd7eb956a7d2c124434541e1f06ca5ae158716f
Binary files differ
Index: Debug/HD_linkInfo.xml
===================================================================
diff -u -r894b734327eb6e7cfa6bf651623576bc10214195 -radd7eb956a7d2c124434541e1f06ca5ae158716f
--- Debug/HD_linkInfo.xml (.../HD_linkInfo.xml) (revision 894b734327eb6e7cfa6bf651623576bc10214195)
+++ Debug/HD_linkInfo.xml (.../HD_linkInfo.xml) (revision add7eb956a7d2c124434541e1f06ca5ae158716f)
@@ -2,7 +2,7 @@
TI ARM Linker Unix v18.12.2.LTS
Copyright (c) 1996-2018 Texas Instruments Incorporated
- 0x5d8a815a
+ 0x5d8bdc34
0x0
HD.out
@@ -23,287 +23,293 @@
Buttons.obj
- ./App/Contollers/
- object
- SafetyShutdown.obj
- SafetyShutdown.obj
-
-
- ./App/Contollers/
- object
- WatchdogMgmt.obj
- WatchdogMgmt.obj
-
-
./App/Drivers/
object
CPLD.obj
CPLD.obj
-
+
./App/Modes/
object
ModeFault.obj
ModeFault.obj
-
+
./App/Modes/
object
ModeInitPOST.obj
ModeInitPOST.obj
-
+
./App/Modes/
object
ModeOpParams.obj
ModeOpParams.obj
-
+
./App/Modes/
object
ModePostTreat.obj
ModePostTreat.obj
-
+
./App/Modes/
object
ModePreTreat.obj
ModePreTreat.obj
-
+
./App/Modes/
object
ModePrescription.obj
ModePrescription.obj
-
+
./App/Modes/
object
ModeService.obj
ModeService.obj
-
+
./App/Modes/
object
ModeStandby.obj
ModeStandby.obj
-
+
./App/Modes/
object
ModeTreatment.obj
ModeTreatment.obj
-
+
./App/Modes/
object
OperationModes.obj
OperationModes.obj
+
+ ./App/Services/
+ object
+ SafetyShutdown.obj
+ SafetyShutdown.obj
+
+
+ ./App/Services/
+ object
+ Timers.obj
+ Timers.obj
+
+ ./App/Services/
+ object
+ WatchdogMgmt.obj
+ WatchdogMgmt.obj
+
+
./App/Tasks/
object
TaskBG.obj
TaskBG.obj
-
+
./App/Tasks/
object
TaskGeneral.obj
TaskGeneral.obj
-
+
./App/Tasks/
object
TaskPriority.obj
TaskPriority.obj
-
+
./App/Tasks/
object
TaskTimer.obj
TaskTimer.obj
-
+
./source/
object
dabort.obj
dabort.obj
-
+
./source/
object
errata_SSWF021_45.obj
errata_SSWF021_45.obj
-
+
./source/
object
esm.obj
esm.obj
-
+
./source/
object
gio.obj
gio.obj
-
+
./source/
object
lin.obj
lin.obj
-
+
./source/
object
notification.obj
notification.obj
-
+
./source/
object
pinmux.obj
pinmux.obj
-
+
./source/
object
rti.obj
rti.obj
-
+
./source/
object
sys_core.obj
sys_core.obj
-
+
./source/
object
sys_dma.obj
sys_dma.obj
-
+
./source/
object
sys_intvecs.obj
sys_intvecs.obj
-
+
./source/
object
sys_main.obj
sys_main.obj
-
+
./source/
object
sys_mpu.obj
sys_mpu.obj
-
+
./source/
object
sys_pcr.obj
sys_pcr.obj
-
+
./source/
object
sys_phantom.obj
sys_phantom.obj
-
+
./source/
object
sys_pmm.obj
sys_pmm.obj
-
+
./source/
object
sys_pmu.obj
sys_pmu.obj
-
+
./source/
object
sys_selftest.obj
sys_selftest.obj
-
+
./source/
object
sys_startup.obj
sys_startup.obj
-
+
./source/
object
sys_vim.obj
sys_vim.obj
-
+
./source/
object
system.obj
system.obj
-
+
object
<internal>
<internal>
-
+
/home/fw/ti/ccs910/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/lib/
archive
rtsv7R4_T_le_v3D16_eabi.lib
autoinit.c.obj
-
+
/home/fw/ti/ccs910/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/lib/
archive
rtsv7R4_T_le_v3D16_eabi.lib
cpy_tbl.c.obj
-
+
/home/fw/ti/ccs910/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/lib/
archive
rtsv7R4_T_le_v3D16_eabi.lib
copy_zero_init.c.obj
-
+
/home/fw/ti/ccs910/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/lib/
archive
rtsv7R4_T_le_v3D16_eabi.lib
copy_decompress_none.c.obj
-
+
/home/fw/ti/ccs910/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/lib/
archive
rtsv7R4_T_le_v3D16_eabi.lib
copy_decompress_lzss.c.obj
-
+
/home/fw/ti/ccs910/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/lib/
archive
rtsv7R4_T_le_v3D16_eabi.lib
exit.c.obj
-
+
/home/fw/ti/ccs910/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/lib/
archive
rtsv7R4_T_le_v3D16_eabi.lib
_lock.c.obj
-
+
/home/fw/ti/ccs910/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/lib/
archive
rtsv7R4_T_le_v3D16_eabi.lib
memset_t2.asm.obj
-
+
/home/fw/ti/ccs910/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/lib/
archive
rtsv7R4_T_le_v3D16_eabi.lib
@@ -316,3461 +322,3531 @@
0x0
0x0
0x20
-
+
.text
0x20
0x20
0x2cdc
-
+
.text
0x2cfc
0x2cfc
0xb78
-
+
.text
0x3874
0x3874
0xa54
-
+
.text
0x42c8
0x42c8
0x8b4
-
+
-
+
.text
0x4b7c
0x4b7c
0x67c
-
+
.text
0x51f8
0x51f8
0x664
-
+
-
+
.text
0x585c
0x585c
0x638
-
+
.text
0x5e94
0x5e94
0x5bc
-
+
-
+
.text
0x6450
0x6450
0x484
-
+
.text
0x68d4
0x68d4
0x34c
-
+
-
+
.text
0x6c20
0x6c20
0x340
-
+
.text
0x6f60
0x6f60
0x2f0
-
+
.text:retain
0x7250
0x7250
0x2cc
-
+
.text:retain
0x751c
0x751c
0x290
-
+
-
+
.text
0x77ac
0x77ac
- 0x20c
-
+ 0x214
+
-
+
.text
- 0x79b8
- 0x79b8
- 0x208
-
+ 0x79c0
+ 0x79c0
+ 0x20c
+
-
+
.text
- 0x7bc0
- 0x7bc0
- 0x134
-
+ 0x7bcc
+ 0x7bcc
+ 0x1c8
+
.text:retain
- 0x7cf4
- 0x7cf4
+ 0x7d94
+ 0x7d94
0x114
-
+
.text
- 0x7e08
- 0x7e08
+ 0x7ea8
+ 0x7ea8
0xe8
-
+
.text:retain
- 0x7ef0
- 0x7ef0
+ 0x7f90
+ 0x7f90
0xe8
-
+
.text
- 0x7fd8
- 0x7fd8
+ 0x8078
+ 0x8078
0xe0
-
+
+
+ .text
+ 0x8158
+ 0x8158
+ 0xbc
+
+
.text
- 0x80b8
- 0x80b8
+ 0x8214
+ 0x8214
0xa4
-
+
.text
- 0x815c
- 0x815c
+ 0x82b8
+ 0x82b8
0x9c
-
+
.text:decompress:lzss:__TI_decompress_lzss
- 0x81f8
- 0x81f8
+ 0x8354
+ 0x8354
0x6c
-
+
-
- .text
- 0x8264
- 0x8264
- 0x68
-
-
.text
- 0x82cc
- 0x82cc
- 0x60
-
+ 0x83c0
+ 0x83c0
+ 0x64
+
.text:__TI_auto_init_nobinit_nopinit:__TI_auto_init_nobinit_nopinit
- 0x832c
- 0x832c
+ 0x8424
+ 0x8424
0x44
-
+
-
+
.text
- 0x8370
- 0x8370
+ 0x8468
+ 0x8468
0x40
-
+
-
+
.text
- 0x83b0
- 0x83b0
+ 0x84a8
+ 0x84a8
+ 0x3c
+
+
+
+ .text
+ 0x84e4
+ 0x84e4
0x38
-
+
-
+
.text
- 0x83e8
- 0x83e8
+ 0x851c
+ 0x851c
0x38
-
+
-
+
.text
- 0x8420
- 0x8420
+ 0x8554
+ 0x8554
0x38
-
+
-
+
.text
- 0x8458
- 0x8458
+ 0x858c
+ 0x858c
0x38
-
+
-
+
.text
- 0x8490
- 0x8490
+ 0x85c4
+ 0x85c4
0x38
-
+
-
+
.text
- 0x84c8
- 0x84c8
+ 0x85fc
+ 0x85fc
0x38
-
+
-
+
.text
- 0x8500
- 0x8500
+ 0x8634
+ 0x8634
0x34
-
+
.text
- 0x8534
- 0x8534
+ 0x8668
+ 0x8668
0x24
-
+
.text
- 0x8558
- 0x8558
- 0x20
-
+ 0x868c
+ 0x868c
+ 0x24
+
.text:decompress:ZI:__TI_zero_init_nomemset:__TI_zero_init_nomemset
- 0x8578
- 0x8578
+ 0x86b0
+ 0x86b0
0x1c
-
+
.text:decompress:none:__TI_decompress_none
- 0x8594
- 0x8594
+ 0x86cc
+ 0x86cc
0xe
-
+
-
+
.text
- 0x85a4
- 0x85a4
+ 0x86dc
+ 0x86dc
0xc
-
+
-
+
.text
- 0x85b0
- 0x85b0
+ 0x86e8
+ 0x86e8
0xc
-
+
.text
- 0x85bc
- 0x85bc
+ 0x86f4
+ 0x86f4
0xc
-
+
-
+
.text:abort:abort
- 0x85c8
- 0x85c8
+ 0x8700
+ 0x8700
0x4
-
+
.text:retain
- 0x85cc
- 0x85cc
+ 0x8704
+ 0x8704
0x4
-
+
.text
- 0x85d0
- 0x85d0
+ 0x8708
+ 0x8708
0x4
-
+
.const:s_vim_init
- 0x85d4
- 0x85d4
+ 0x870c
+ 0x870c
0x200
-
+
-
+
+ .const:lampPatterns
+ 0x890c
+ 0x890c
+ 0x70
+
+
+
.const:MODE_TRANSITION_TABLE
- 0x87d4
- 0x87d4
+ 0x897c
+ 0x897c
0x51
-
+
-
- .cinit..data.load
- 0x8828
- 0x8828
- 0x27
-
-
+
__TI_handler_table
- 0x8850
- 0x8850
+ 0x89d0
+ 0x89d0
0xc
-
+
+ .cinit..data.load
+ 0x89dc
+ 0x89dc
+ 0x9
+
+
.cinit..bss.load
- 0x8860
- 0x8860
+ 0x89e8
+ 0x89e8
0x8
-
+
__TI_cinit_table
- 0x8868
- 0x8868
+ 0x89f0
+ 0x89f0
0x10
-
- .bss:watchdogTaskCheckedIn
- true
- 0x80015c0
- 0x10
-
-
-
+
.bss:modeRequest
true
- 0x800159c
+ 0x8001538
0x24
-
+
-
+
+ .bss:watchdogTaskCheckedIn
+ true
+ 0x800155c
+ 0x10
+
+
+
.data
- 0x8001588
- 0x8001588
+ 0x8001518
+ 0x8001518
0xc
-
- .data:lampPatterns
+
+ .data
0x8001500
0x8001500
- 0x70
-
-
-
- .data
- 0x8001570
- 0x8001570
0x18
-
+
.data
- 0x8001598
- 0x8001598
+ 0x8001534
+ 0x8001534
0x1
+
+
+
+ .data
+ 0x8001530
+ 0x8001530
+ 0x4
-
+
.data
- 0x8001594
- 0x8001594
+ 0x8001524
+ 0x8001524
+ 0x8
+
+
+
+ .data
+ 0x800152c
+ 0x800152c
0x4
-
+
-
+
.debug_info
0x0
0x0
- 0x328
+ 0x32d
-
+
.debug_info
- 0x328
- 0x328
+ 0x32d
+ 0x32d
0x19a
-
+
.debug_info
- 0x4c2
- 0x4c2
- 0xe6
+ 0x4c7
+ 0x4c7
+ 0xe7
-
+
.debug_info
- 0x5a8
- 0x5a8
- 0x3be
+ 0x5ae
+ 0x5ae
+ 0x455
-
+
.debug_info
- 0x966
- 0x966
+ 0xa03
+ 0xa03
0x26b
.debug_info
- 0xbd1
- 0xbd1
+ 0xc6e
+ 0xc6e
0x157
-
+
.debug_info
- 0xd28
- 0xd28
+ 0xdc5
+ 0xdc5
0x82
-
+
.debug_info
- 0xdaa
- 0xdaa
+ 0xe47
+ 0xe47
0xb3
-
+
.debug_info
- 0xe5d
- 0xe5d
+ 0xefa
+ 0xefa
0xca
.debug_info
- 0xf27
- 0xf27
+ 0xfc4
+ 0xfc4
0x8b
-
+
.debug_info
- 0xfb2
- 0xfb2
+ 0x104f
+ 0x104f
0x297
-
+
.debug_info
- 0x1249
- 0x1249
+ 0x12e6
+ 0x12e6
0xbb
-
+
.debug_info
- 0x1304
- 0x1304
+ 0x13a1
+ 0x13a1
0x266
-
+
.debug_info
- 0x156a
- 0x156a
+ 0x1607
+ 0x1607
0x692
-
+
.debug_info
- 0x1bfc
- 0x1bfc
+ 0x1c99
+ 0x1c99
0x55
-
+
.debug_info
- 0x1c51
- 0x1c51
+ 0x1cee
+ 0x1cee
0x55
-
+
.debug_info
- 0x1ca6
- 0x1ca6
+ 0x1d43
+ 0x1d43
0x9d
-
+
.debug_info
- 0x1d43
- 0x1d43
- 0x2ad
+ 0x1de0
+ 0x1de0
+ 0x356
-
+
.debug_info
- 0x1ff0
- 0x1ff0
- 0x205
+ 0x2136
+ 0x2136
+ 0x6a5
+
+ .debug_info
+ 0x27db
+ 0x27db
+ 0x67
+
+
.debug_info
- 0x21f5
- 0x21f5
+ 0x2842
+ 0x2842
0x86
-
+
.debug_info
- 0x227b
- 0x227b
+ 0x28c8
+ 0x28c8
0x1f9
-
+
.debug_info
- 0x2474
- 0x2474
+ 0x2ac1
+ 0x2ac1
0x12a
-
+
.debug_info
- 0x259e
- 0x259e
- 0x2ab
-
+ 0x2beb
+ 0x2beb
+ 0x2bc
+
-
+
.debug_info
- 0x2849
- 0x2849
- 0xfb
-
+ 0x2ea7
+ 0x2ea7
+ 0x186
+
-
+
.debug_info
- 0x2944
- 0x2944
- 0x3df
+ 0x302d
+ 0x302d
+ 0x212
-
+
.debug_info
- 0x2d23
- 0x2d23
- 0x67
-
-
-
- .debug_info
- 0x2d8a
- 0x2d8a
- 0x356
+ 0x323f
+ 0x323f
+ 0x2c8
-
+
.debug_info
- 0x30e0
- 0x30e0
- 0x6a5
-
-
-
- .debug_info
- 0x3785
- 0x3785
- 0x2bc
-
-
-
- .debug_info
- 0x3a41
- 0x3a41
- 0x186
-
-
-
- .debug_info
- 0x3bc7
- 0x3bc7
- 0x212
+ 0x3507
+ 0x3507
+ 0x2a1
-
+
.debug_info
- 0x3dd9
- 0x3dd9
- 0x2c3
+ 0x37a8
+ 0x37a8
+ 0x2c6
-
+
.debug_info
- 0x409c
- 0x409c
- 0x29c
+ 0x3a6e
+ 0x3a6e
+ 0x2b9
-
+
.debug_info
- 0x4338
- 0x4338
- 0x2c1
+ 0x3d27
+ 0x3d27
+ 0x2d5
-
+
.debug_info
- 0x45f9
- 0x45f9
- 0x2b4
+ 0x3ffc
+ 0x3ffc
+ 0x22c
-
+
.debug_info
- 0x48ad
- 0x48ad
- 0x2d0
+ 0x4228
+ 0x4228
+ 0x294
-
+
.debug_info
- 0x4b7d
- 0x4b7d
- 0x22c
+ 0x44bc
+ 0x44bc
+ 0x2ae
-
+
.debug_info
- 0x4da9
- 0x4da9
- 0x28f
+ 0x476a
+ 0x476a
+ 0x7ba
-
+
.debug_info
- 0x5038
- 0x5038
- 0x2a9
+ 0x4f24
+ 0x4f24
+ 0xe4
+
+
+
+ .debug_info
+ 0x5008
+ 0x5008
+ 0xe4
+
+
+
+ .debug_info
+ 0x50ec
+ 0x50ec
+ 0xf8
+
+
+
+ .debug_info
+ 0x51e4
+ 0x51e4
+ 0x7d5
+
+
+
+ .debug_info
+ 0x59b9
+ 0x59b9
+ 0x1fb
-
+
.debug_info
- 0x52e1
- 0x52e1
- 0x7ba
+ 0x5bb4
+ 0x5bb4
+ 0xe1
-
+
.debug_info
- 0x5a9b
- 0x5a9b
- 0xe4
+ 0x5c95
+ 0x5c95
+ 0x361
-
+
.debug_info
- 0x5b7f
- 0x5b7f
- 0xe4
-
+ 0x5ff6
+ 0x5ff6
+ 0x33a
+
-
+
.debug_info
- 0x5c63
- 0x5c63
- 0xf8
-
+ 0x6330
+ 0x6330
+ 0x123
+
-
+
.debug_info
- 0x5d5b
- 0x5d5b
- 0x7d5
-
+ 0x6453
+ 0x6453
+ 0xf9
+
+
+ .debug_info
+ 0x654c
+ 0x654c
+ 0x5de
+
+
.debug_info
- 0x6530
- 0x6530
+ 0x6b2a
+ 0x6b2a
0x136
-
+
-
+
.debug_info
- 0x6666
- 0x6666
+ 0x6c60
+ 0x6c60
0xdf
-
+
.debug_info
- 0x6745
- 0x6745
- 0x1a2
-
+ 0x6d3f
+ 0x6d3f
+ 0x18c
+
.debug_info
- 0x68e7
- 0x68e7
+ 0x6ecb
+ 0x6ecb
0x176
-
+
.debug_info
- 0x6a5d
- 0x6a5d
- 0x155
-
+ 0x7041
+ 0x7041
+ 0x16b
+
.debug_info
- 0x6bb2
- 0x6bb2
+ 0x71ac
+ 0x71ac
0xf3
-
+
-
+
.debug_info
- 0x6ca5
- 0x6ca5
+ 0x729f
+ 0x729f
0x2b2
-
+
.debug_info
- 0x6f57
- 0x6f57
+ 0x7551
+ 0x7551
0x633
-
+
.debug_info
- 0x758a
- 0x758a
+ 0x7b84
+ 0x7b84
0x84
-
+
.debug_info
- 0x760e
- 0x760e
+ 0x7c08
+ 0x7c08
0x9e7
-
+
.debug_info
- 0x7ff5
- 0x7ff5
+ 0x85ef
+ 0x85ef
0x30a
-
+
.debug_info
- 0x82ff
- 0x82ff
+ 0x88f9
+ 0x88f9
0xb1f
-
+
.debug_info
- 0x8e1e
- 0x8e1e
+ 0x9418
+ 0x9418
0x17f
-
+
.debug_info
- 0x8f9d
- 0x8f9d
+ 0x9597
+ 0x9597
0x18c
-
+
-
+
.debug_info
- 0x9129
- 0x9129
+ 0x9723
+ 0x9723
0x1de
-
+
.debug_info
- 0x9307
- 0x9307
+ 0x9901
+ 0x9901
0x129
-
+
-
+
.debug_info
- 0x9430
- 0x9430
+ 0x9a2a
+ 0x9a2a
0x2d0
-
+
-
+
.debug_info
- 0x9700
- 0x9700
+ 0x9cfa
+ 0x9cfa
0x28d
-
+
-
+
.debug_info
- 0x998d
- 0x998d
+ 0x9f87
+ 0x9f87
0x6d7
-
+
-
+
.debug_info
- 0xa064
- 0xa064
+ 0xa65e
+ 0xa65e
0x2b9
-
+
-
+
.debug_info
- 0xa31d
- 0xa31d
+ 0xa917
+ 0xa917
0xccd
-
+
-
+
.debug_info
- 0xafea
- 0xafea
+ 0xb5e4
+ 0xb5e4
0x4a1
-
+
.debug_info
- 0xb48b
- 0xb48b
+ 0xba85
+ 0xba85
0x7bc
-
+
-
+
.debug_info
- 0xbc47
- 0xbc47
+ 0xc241
+ 0xc241
0x791
-
+
-
+
.debug_info
- 0xc3d8
- 0xc3d8
+ 0xc9d2
+ 0xc9d2
0x4de
-
+
-
+
.debug_info
- 0xc8b6
- 0xc8b6
+ 0xceb0
+ 0xceb0
0x3ce
-
+
-
+
.debug_info
- 0xcc84
- 0xcc84
+ 0xd27e
+ 0xd27e
0x306
-
+
-
+
.debug_info
- 0xcf8a
- 0xcf8a
+ 0xd584
+ 0xd584
0x7cd
-
+
-
+
.debug_info
- 0xd757
- 0xd757
+ 0xdd51
+ 0xdd51
0x673
-
+
-
+
.debug_info
- 0xddca
- 0xddca
+ 0xe3c4
+ 0xe3c4
0x2c
-
+
-
+
.debug_info
- 0xddf6
- 0xddf6
+ 0xe3f0
+ 0xe3f0
0x437
-
+
-
+
.debug_info
- 0xe22d
- 0xe22d
+ 0xe827
+ 0xe827
0x37b
-
+
-
+
.debug_info
- 0xe5a8
- 0xe5a8
+ 0xeba2
+ 0xeba2
0x1d4
-
+
-
+
.debug_info
- 0xe77c
- 0xe77c
+ 0xed76
+ 0xed76
0x1ca
-
+
-
+
.debug_info
- 0xe946
- 0xe946
+ 0xef40
+ 0xef40
0x435
-
+
-
+
.debug_info
- 0xed7b
- 0xed7b
+ 0xf375
+ 0xf375
0x551
-
+
-
+
.debug_info
- 0xf2cc
- 0xf2cc
+ 0xf8c6
+ 0xf8c6
0x3d3
-
+
-
+
.debug_info
- 0xf69f
- 0xf69f
+ 0xfc99
+ 0xfc99
0x1de
-
+
-
+
.debug_info
- 0xf87d
- 0xf87d
+ 0xfe77
+ 0xfe77
0x17a
-
+
-
+
.debug_info
- 0xf9f7
- 0xf9f7
+ 0xfff1
+ 0xfff1
0x6a6
-
+
-
+
.debug_info
- 0x1009d
- 0x1009d
+ 0x10697
+ 0x10697
0x13e
-
+
-
+
.debug_info
- 0x101db
- 0x101db
+ 0x107d5
+ 0x107d5
0x274
-
+
.debug_info
- 0x1044f
- 0x1044f
+ 0x10a49
+ 0x10a49
0x1dd
-
+
-
+
.debug_info
- 0x1062c
- 0x1062c
+ 0x10c26
+ 0x10c26
0x508
-
+
-
+
.debug_info
- 0x10b34
- 0x10b34
+ 0x1112e
+ 0x1112e
0x43c
-
+
-
+
.debug_info
- 0x10f70
- 0x10f70
+ 0x1156a
+ 0x1156a
0x335
-
+
-
+
.debug_info
- 0x112a5
- 0x112a5
+ 0x1189f
+ 0x1189f
0xd1b
-
+
.debug_info
- 0x11fc0
- 0x11fc0
+ 0x125ba
+ 0x125ba
0x270
-
+
.debug_info
- 0x12230
- 0x12230
+ 0x1282a
+ 0x1282a
0x7e8
-
+
.debug_info
- 0x12a18
- 0x12a18
+ 0x13012
+ 0x13012
0xfb
-
+
.debug_info
- 0x12b13
- 0x12b13
- 0x314
-
+ 0x1310d
+ 0x1310d
+ 0x325
+
-
+
.debug_info
- 0x12e27
- 0x12e27
+ 0x13432
+ 0x13432
0x293
-
+
-
+
.debug_info
- 0x130ba
- 0x130ba
+ 0x136c5
+ 0x136c5
0x242
-
+
-
+
.debug_info
- 0x132fc
- 0x132fc
+ 0x13907
+ 0x13907
0x2af
-
+
.debug_info
- 0x135ab
- 0x135ab
+ 0x13bb6
+ 0x13bb6
0x130
-
+
.debug_info
- 0x136db
- 0x136db
+ 0x13ce6
+ 0x13ce6
0x35a
-
+
.debug_info
- 0x13a35
- 0x13a35
+ 0x14040
+ 0x14040
0x663
-
+
.debug_info
- 0x14098
- 0x14098
+ 0x146a3
+ 0x146a3
0x2e82
-
+
.debug_info
- 0x16f1a
- 0x16f1a
+ 0x17525
+ 0x17525
0x5d6
-
+
.debug_info
- 0x174f0
- 0x174f0
+ 0x17afb
+ 0x17afb
0x129
-
+
.debug_info
- 0x17619
- 0x17619
+ 0x17c24
+ 0x17c24
0x4cf
-
+
.debug_info
- 0x17ae8
- 0x17ae8
+ 0x180f3
+ 0x180f3
0xd8
-
+
.debug_info
- 0x17bc0
- 0x17bc0
+ 0x181cb
+ 0x181cb
0x46a
-
+
.debug_info
- 0x1802a
- 0x1802a
+ 0x18635
+ 0x18635
0x1f3
-
+
-
+
.debug_info
- 0x1821d
- 0x1821d
+ 0x18828
+ 0x18828
0x4f
-
+
.debug_info
- 0x1826c
- 0x1826c
+ 0x18877
+ 0x18877
0x510
-
+
.debug_info
- 0x1877c
- 0x1877c
+ 0x18d87
+ 0x18d87
0x7cd
-
+
-
+
.debug_info
- 0x18f49
- 0x18f49
+ 0x19554
+ 0x19554
0x4b4
-
+
-
+
.debug_info
- 0x193fd
- 0x193fd
+ 0x19a08
+ 0x19a08
0x1a7
-
+
-
+
.debug_info
- 0x195a4
- 0x195a4
+ 0x19baf
+ 0x19baf
0x39
-
+
-
+
.debug_info
- 0x195dd
- 0x195dd
+ 0x19be8
+ 0x19be8
0x39
-
+
-
+
.debug_info
- 0x19616
- 0x19616
+ 0x19c21
+ 0x19c21
0x39
-
+
-
+
.debug_info
- 0x1964f
- 0x1964f
+ 0x19c5a
+ 0x19c5a
0xcd
-
+
.debug_info
- 0x1971c
- 0x1971c
+ 0x19d27
+ 0x19d27
0x2d5
-
+
-
+
.debug_info
- 0x199f1
- 0x199f1
+ 0x19ffc
+ 0x19ffc
0x1d3
-
+
.debug_info
- 0x19bc4
- 0x19bc4
+ 0x1a1cf
+ 0x1a1cf
0x46
-
+
.debug_info
- 0x19c0a
- 0x19c0a
+ 0x1a215
+ 0x1a215
0x2a4
-
+
.debug_info
- 0x19eae
- 0x19eae
+ 0x1a4b9
+ 0x1a4b9
0x1d6
-
+
.debug_info
- 0x1a084
- 0x1a084
+ 0x1a68f
+ 0x1a68f
0x46
-
+
.debug_info
- 0x1a0ca
- 0x1a0ca
+ 0x1a6d5
+ 0x1a6d5
0x2c
-
+
.debug_info
- 0x1a0f6
- 0x1a0f6
+ 0x1a701
+ 0x1a701
0x29f
-
+
-
+
.debug_info
- 0x1a395
- 0x1a395
+ 0x1a9a0
+ 0x1a9a0
0x251
-
+
.debug_info
- 0x1a5e6
- 0x1a5e6
+ 0x1abf1
+ 0x1abf1
0x60
-
+
-
+
.debug_info
- 0x1a646
- 0x1a646
+ 0x1ac51
+ 0x1ac51
0x46
-
+
.debug_info
- 0x1a68c
- 0x1a68c
+ 0x1ac97
+ 0x1ac97
0x39
-
+
-
+
.debug_info
- 0x1a6c5
- 0x1a6c5
+ 0x1acd0
+ 0x1acd0
0x123
-
+
.debug_info
- 0x1a7e8
- 0x1a7e8
+ 0x1adf3
+ 0x1adf3
0x11a
-
+
-
+
.debug_info
- 0x1a902
- 0x1a902
+ 0x1af0d
+ 0x1af0d
0x9a
-
+
.debug_line
0x0
0x0
0x59
-
+
.debug_line
0x59
0x59
0x41
-
+
.debug_line
0x9a
0x9a
0x41
-
+
.debug_line
0xdb
0xdb
- 0xe9
+ 0x104
-
+
.debug_line
- 0x1c4
- 0x1c4
+ 0x1df
+ 0x1df
0x75
.debug_line
- 0x239
- 0x239
+ 0x254
+ 0x254
0x5d
-
+
.debug_line
- 0x296
- 0x296
+ 0x2b1
+ 0x2b1
0x41
-
+
.debug_line
- 0x2d7
- 0x2d7
+ 0x2f2
+ 0x2f2
0x41
-
+
.debug_line
- 0x318
- 0x318
+ 0x333
+ 0x333
0x53
.debug_line
- 0x36b
- 0x36b
+ 0x386
+ 0x386
0x20
-
+
.debug_line
- 0x38b
- 0x38b
+ 0x3a6
+ 0x3a6
0x79
-
+
.debug_line
- 0x404
- 0x404
+ 0x41f
+ 0x41f
0x76
-
+
.debug_line
- 0x47a
- 0x47a
+ 0x495
+ 0x495
0x3f
-
+
.debug_line
- 0x4b9
- 0x4b9
+ 0x4d4
+ 0x4d4
0x186
-
+
.debug_line
- 0x63f
- 0x63f
+ 0x65a
+ 0x65a
0x3f
-
+
.debug_line
- 0x67e
- 0x67e
+ 0x699
+ 0x699
0x3f
-
+
.debug_line
- 0x6bd
- 0x6bd
+ 0x6d8
+ 0x6d8
0x61
-
+
.debug_line
- 0x71e
- 0x71e
- 0x54
+ 0x739
+ 0x739
+ 0x116
-
+
.debug_line
- 0x772
- 0x772
- 0x75
+ 0x84f
+ 0x84f
+ 0x166
+
+ .debug_line
+ 0x9b5
+ 0x9b5
+ 0x62
+
+
.debug_line
- 0x7e7
- 0x7e7
+ 0xa17
+ 0xa17
0x5b
-
+
.debug_line
- 0x842
- 0x842
+ 0xa72
+ 0xa72
0x58
-
+
.debug_line
- 0x89a
- 0x89a
+ 0xaca
+ 0xaca
0x54
-
+
.debug_line
- 0x8ee
- 0x8ee
- 0x59
-
+ 0xb1e
+ 0xb1e
+ 0x58
+
-
+
.debug_line
- 0x947
- 0x947
- 0x44
-
+ 0xb76
+ 0xb76
+ 0x54
+
-
+
.debug_line
- 0x98b
- 0x98b
- 0xe6
+ 0xbca
+ 0xbca
+ 0x72
-
+
.debug_line
- 0xa71
- 0xa71
- 0x44
-
-
-
- .debug_line
- 0xab5
- 0xab5
- 0x118
+ 0xc3c
+ 0xc3c
+ 0x89
-
+
.debug_line
- 0xbcd
- 0xbcd
- 0x166
-
-
-
- .debug_line
- 0xd33
- 0xd33
- 0x58
-
-
-
- .debug_line
- 0xd8b
- 0xd8b
- 0x54
-
-
-
- .debug_line
- 0xddf
- 0xddf
- 0x72
+ 0xcc5
+ 0xcc5
+ 0x88
-
+
.debug_line
- 0xe51
- 0xe51
+ 0xd4d
+ 0xd4d
0x89
-
+
.debug_line
- 0xeda
- 0xeda
+ 0xdd6
+ 0xdd6
0x88
-
+
.debug_line
- 0xf62
- 0xf62
- 0x89
+ 0xe5e
+ 0xe5e
+ 0x8c
-
+
.debug_line
- 0xfeb
- 0xfeb
- 0x88
+ 0xeea
+ 0xeea
+ 0x74
-
+
.debug_line
- 0x1073
- 0x1073
- 0x8c
+ 0xf5e
+ 0xf5e
+ 0x87
-
+
.debug_line
- 0x10ff
- 0x10ff
- 0x74
+ 0xfe5
+ 0xfe5
+ 0x89
-
+
.debug_line
- 0x1173
- 0x1173
- 0x87
+ 0x106e
+ 0x106e
+ 0x138
-
+
.debug_line
- 0x11fa
- 0x11fa
- 0x89
-
+ 0x11a6
+ 0x11a6
+ 0x41
+
-
+
.debug_line
- 0x1283
- 0x1283
- 0x138
-
+ 0x11e7
+ 0x11e7
+ 0x41
+
-
+
.debug_line
- 0x13bb
- 0x13bb
+ 0x1228
+ 0x1228
0x41
-
+
-
+
.debug_line
- 0x13fc
- 0x13fc
- 0x41
-
+ 0x1269
+ 0x1269
+ 0x164
+
-
+
.debug_line
- 0x143d
- 0x143d
- 0x41
+ 0x13cd
+ 0x13cd
+ 0x73
+
+
+
+ .debug_line
+ 0x1440
+ 0x1440
+ 0x3c
-
+
.debug_line
- 0x147e
- 0x147e
- 0x164
+ 0x147c
+ 0x147c
+ 0xbd
+
+ .debug_line
+ 0x1539
+ 0x1539
+ 0x75
+
+
+
+ .debug_line
+ 0x15ae
+ 0x15ae
+ 0x42
+
+
+
+ .debug_line
+ 0x15f0
+ 0x15f0
+ 0x42
+
+
+
+ .debug_line
+ 0x1632
+ 0x1632
+ 0x140
+
+
.debug_line
- 0x15e2
- 0x15e2
+ 0x1772
+ 0x1772
0x51
-
+
-
+
.debug_line
- 0x1633
- 0x1633
+ 0x17c3
+ 0x17c3
0x3e
-
+
.debug_line
- 0x1671
- 0x1671
- 0x5c
-
+ 0x1801
+ 0x1801
+ 0x57
+
.debug_line
- 0x16cd
- 0x16cd
+ 0x1858
+ 0x1858
0x56
-
+
.debug_line
- 0x1723
- 0x1723
- 0x52
-
+ 0x18ae
+ 0x18ae
+ 0x53
+
.debug_line
- 0x1775
- 0x1775
+ 0x1901
+ 0x1901
0x78
-
+
-
+
.debug_line
- 0x17ed
- 0x17ed
+ 0x1979
+ 0x1979
0x20
-
+
.debug_line
- 0x180d
- 0x180d
+ 0x1999
+ 0x1999
0x1fb
-
+
.debug_line
- 0x1a08
- 0x1a08
+ 0x1b94
+ 0x1b94
0x20
-
+
.debug_line
- 0x1a28
- 0x1a28
+ 0x1bb4
+ 0x1bb4
0x67
-
+
-
+
.debug_line
- 0x1a8f
- 0x1a8f
+ 0x1c1b
+ 0x1c1b
0x54
-
+
.debug_line
- 0x1ae3
- 0x1ae3
+ 0x1c6f
+ 0x1c6f
0x289
-
+
.debug_line
- 0x1d6c
- 0x1d6c
+ 0x1ef8
+ 0x1ef8
0x6e
-
+
.debug_line
- 0x1dda
- 0x1dda
+ 0x1f66
+ 0x1f66
0x58
-
+
-
+
.debug_line
- 0x1e32
- 0x1e32
+ 0x1fbe
+ 0x1fbe
0x58
-
+
.debug_line
- 0x1e8a
- 0x1e8a
+ 0x2016
+ 0x2016
0x54
-
+
-
+
.debug_line
- 0x1ede
- 0x1ede
+ 0x206a
+ 0x206a
0x58
-
+
-
+
.debug_line
- 0x1f36
- 0x1f36
+ 0x20c2
+ 0x20c2
0x20
-
+
-
+
.debug_line
- 0x1f56
- 0x1f56
+ 0x20e2
+ 0x20e2
0x196
-
+
-
+
.debug_line
- 0x20ec
- 0x20ec
+ 0x2278
+ 0x2278
0x20
-
+
-
+
.debug_line
- 0x210c
- 0x210c
+ 0x2298
+ 0x2298
0x2c0
-
+
-
+
.debug_line
- 0x23cc
- 0x23cc
+ 0x2558
+ 0x2558
0x20
-
+
.debug_line
- 0x23ec
- 0x23ec
+ 0x2578
+ 0x2578
0xe8
-
+
-
+
.debug_line
- 0x24d4
- 0x24d4
+ 0x2660
+ 0x2660
0x58
-
+
-
+
.debug_line
- 0x252c
- 0x252c
+ 0x26b8
+ 0x26b8
0x5b
-
+
-
+
.debug_line
- 0x2587
- 0x2587
+ 0x2713
+ 0x2713
0x58
-
+
-
+
.debug_line
- 0x25df
- 0x25df
+ 0x276b
+ 0x276b
0x58
-
+
-
+
.debug_line
- 0x2637
- 0x2637
+ 0x27c3
+ 0x27c3
0x58
-
+
-
+
.debug_line
- 0x268f
- 0x268f
+ 0x281b
+ 0x281b
0x58
-
+
-
+
.debug_line
- 0x26e7
- 0x26e7
+ 0x2873
+ 0x2873
0x71
-
+
-
+
.debug_line
- 0x2758
- 0x2758
+ 0x28e4
+ 0x28e4
0x58
-
+
-
+
.debug_line
- 0x27b0
- 0x27b0
+ 0x293c
+ 0x293c
0x5d
-
+
-
+
.debug_line
- 0x280d
- 0x280d
+ 0x2999
+ 0x2999
0x54
-
+
-
+
.debug_line
- 0x2861
- 0x2861
+ 0x29ed
+ 0x29ed
0x58
-
+
-
+
.debug_line
- 0x28b9
- 0x28b9
+ 0x2a45
+ 0x2a45
0x5a
-
+
-
+
.debug_line
- 0x2913
- 0x2913
+ 0x2a9f
+ 0x2a9f
0x57
-
+
-
+
.debug_line
- 0x296a
- 0x296a
+ 0x2af6
+ 0x2af6
0x58
-
+
-
+
.debug_line
- 0x29c2
- 0x29c2
+ 0x2b4e
+ 0x2b4e
0x5a
-
+
-
+
.debug_line
- 0x2a1c
- 0x2a1c
+ 0x2ba8
+ 0x2ba8
0x58
-
+
-
+
.debug_line
- 0x2a74
- 0x2a74
+ 0x2c00
+ 0x2c00
0x5b
-
+
-
+
.debug_line
- 0x2acf
- 0x2acf
+ 0x2c5b
+ 0x2c5b
0x5a
-
+
-
+
.debug_line
- 0x2b29
- 0x2b29
+ 0x2cb5
+ 0x2cb5
0x20
-
+
.debug_line
- 0x2b49
- 0x2b49
+ 0x2cd5
+ 0x2cd5
0xd7
-
+
-
+
.debug_line
- 0x2c20
- 0x2c20
+ 0x2dac
+ 0x2dac
0x5b
-
+
-
+
.debug_line
- 0x2c7b
- 0x2c7b
+ 0x2e07
+ 0x2e07
0x57
-
+
-
+
.debug_line
- 0x2cd2
- 0x2cd2
+ 0x2e5e
+ 0x2e5e
0x10d
-
+
-
+
.debug_line
- 0x2ddf
- 0x2ddf
+ 0x2f6b
+ 0x2f6b
0x2f2
-
+
.debug_line
- 0x30d1
- 0x30d1
+ 0x325d
+ 0x325d
0x8d
-
+
.debug_line
- 0x315e
- 0x315e
+ 0x32ea
+ 0x32ea
0x2e4
-
+
.debug_line
- 0x3442
- 0x3442
+ 0x35ce
+ 0x35ce
0x4f
-
+
.debug_line
- 0x3491
- 0x3491
- 0xaa
-
+ 0x361d
+ 0x361d
+ 0xac
+
-
+
.debug_line
- 0x353b
- 0x353b
+ 0x36c9
+ 0x36c9
0x20
-
+
-
+
.debug_line
- 0x355b
- 0x355b
+ 0x36e9
+ 0x36e9
0x58
-
+
-
+
.debug_line
- 0x35b3
- 0x35b3
+ 0x3741
+ 0x3741
0x58
-
+
.debug_line
- 0x360b
- 0x360b
+ 0x3799
+ 0x3799
0x4b
-
+
.debug_line
- 0x3656
- 0x3656
+ 0x37e4
+ 0x37e4
0x125
-
+
-
+
.debug_line
- 0x377b
- 0x377b
+ 0x3909
+ 0x3909
0xce
-
+
.debug_line
- 0x3849
- 0x3849
+ 0x39d7
+ 0x39d7
0xd30
-
+
.debug_line
- 0x4579
- 0x4579
+ 0x4707
+ 0x4707
0x103
-
+
.debug_line
- 0x467c
- 0x467c
+ 0x480a
+ 0x480a
0x50
-
+
-
+
.debug_line
- 0x46cc
- 0x46cc
+ 0x485a
+ 0x485a
0x8c
-
+
.debug_line
- 0x4758
- 0x4758
+ 0x48e6
+ 0x48e6
0x37
-
+
.debug_line
- 0x478f
- 0x478f
+ 0x491d
+ 0x491d
0x1c5
-
+
.debug_line
- 0x4954
- 0x4954
+ 0x4ae2
+ 0x4ae2
0xb2
-
+
-
+
.debug_line
- 0x4a06
- 0x4a06
+ 0x4b94
+ 0x4b94
0x37
-
+
-
+
.debug_line
- 0x4a3d
- 0x4a3d
+ 0x4bcb
+ 0x4bcb
0xcd
-
+
.debug_line
- 0x4b0a
- 0x4b0a
+ 0x4c98
+ 0x4c98
0x253
-
+
-
+
.debug_line
- 0x4d5d
- 0x4d5d
+ 0x4eeb
+ 0x4eeb
0xbf
-
+
-
+
.debug_line
- 0x4e1c
- 0x4e1c
+ 0x4faa
+ 0x4faa
0x75
-
+
-
+
.debug_line
- 0x4e91
- 0x4e91
+ 0x501f
+ 0x501f
0x2e
-
+
-
+
.debug_line
- 0x4ebf
- 0x4ebf
+ 0x504d
+ 0x504d
0x9a
-
+
-
+
.debug_line
- 0x4f59
- 0x4f59
+ 0x50e7
+ 0x50e7
0x97
-
+
-
+
.debug_line
- 0x4ff0
- 0x4ff0
+ 0x517e
+ 0x517e
0x93
-
+
-
+
.debug_line
- 0x5083
- 0x5083
+ 0x5211
+ 0x5211
0x92
-
+
-
+
.debug_line
- 0x5115
- 0x5115
+ 0x52a3
+ 0x52a3
0x53
-
+
.debug_line
- 0x5168
- 0x5168
+ 0x52f6
+ 0x52f6
0x34
-
+
.debug_line
- 0x519c
- 0x519c
+ 0x532a
+ 0x532a
0x20
-
+
.debug_line
- 0x51bc
- 0x51bc
+ 0x534a
+ 0x534a
0x58
-
+
.debug_line
- 0x5214
- 0x5214
+ 0x53a2
+ 0x53a2
0x3a
-
+
.debug_line
- 0x524e
- 0x524e
+ 0x53dc
+ 0x53dc
0x92
-
+
-
+
.debug_line
- 0x52e0
- 0x52e0
+ 0x546e
+ 0x546e
0x20
-
+
-
+
.debug_line
- 0x5300
- 0x5300
+ 0x548e
+ 0x548e
0xb2
-
+
.debug_line
- 0x53b2
- 0x53b2
+ 0x5540
+ 0x5540
0x3a
-
+
-
+
.debug_line
- 0x53ec
- 0x53ec
+ 0x557a
+ 0x557a
0x9a
-
+
.debug_line
- 0x5486
- 0x5486
+ 0x5614
+ 0x5614
0x96
-
+
-
+
.debug_line
- 0x551c
- 0x551c
+ 0x56aa
+ 0x56aa
0x3c
-
+
.debug_line
- 0x5558
- 0x5558
+ 0x56e6
+ 0x56e6
0x88
-
+
-
+
.debug_frame
0x0
0x0
- 0x9c
+ 0xb0
-
+
.debug_frame
- 0x9c
- 0x9c
+ 0xb0
+ 0xb0
0xf8
-
+