| 
						
					 | 
					 | 
					@@ -3,7 +3,7 @@
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					DebugStatus_t DebuggerStatus[dbg_cntElements];
 | 
					 | 
					 | 
					 | 
					DebugStatus_t DebuggerStatus[dbg_cntElements];
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					String IpAddress2String(const IPAddress &ipAddress);
 | 
					 | 
					 | 
					 | 
					String IpAddress2String(const IPAddress &ipAddress);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void processCmdDebug();
 | 
					 | 
					 | 
					 | 
					void processCmdDebug(String command);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void Debug_formatCFG();
 | 
					 | 
					 | 
					 | 
					void Debug_formatCFG();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void Debug_formatPersistence();
 | 
					 | 
					 | 
					 | 
					void Debug_formatPersistence();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void Debug_printSystemInfo();
 | 
					 | 
					 | 
					 | 
					void Debug_printSystemInfo();
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -13,6 +13,7 @@ void Debug_dumpConfig();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void Debug_dumpPersistance();
 | 
					 | 
					 | 
					 | 
					void Debug_dumpPersistance();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void Debug_ShowDTCs();
 | 
					 | 
					 | 
					 | 
					void Debug_ShowDTCs();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void Debug_dumpGlobals();
 | 
					 | 
					 | 
					 | 
					void Debug_dumpGlobals();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void Debug_printHelp();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void initDebugger()
 | 
					 | 
					 | 
					 | 
					void initDebugger()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{
 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -22,15 +23,84 @@ void initDebugger()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Serial.setDebugOutput(false);
 | 
					 | 
					 | 
					 | 
					    Serial.setDebugOutput(false);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void Debug_Process()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    typedef enum InputProcessed_e
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        IDLE,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        CMD_COMPLETE,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        CMD_ABORT,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        CMD_OVERFLOW
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    } InputProcessed_t;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    static int inputCnt = 0;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    static char inputBuffer[32];
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    InputProcessed_t InputProcessed = IDLE;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    if (Serial.available())
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        char inputChar = Serial.read();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        switch (inputChar)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        case '\n':
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            inputBuffer[inputCnt] = 0; // terminate the String
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            inputCnt = 0;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            InputProcessed = CMD_COMPLETE;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            break;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        case 0x1B: // Esc
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            inputBuffer[0] = 0;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            inputCnt = 0;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            InputProcessed = CMD_ABORT;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            break;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        case 0x21 ... 0x7E: // its a real letter or sign and not some control-chars
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            inputBuffer[inputCnt] = inputChar;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            inputCnt++;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            break;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        default:
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            break;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        if (inputCnt > sizeof(inputBuffer))
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            inputCnt = 0;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            inputBuffer[sizeof(inputBuffer) - 1] = 0; // terminate the String
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            InputProcessed = CMD_OVERFLOW;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    switch (InputProcessed)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    case CMD_ABORT:
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        Debug_pushMessage("Abort\n");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        break;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    case CMD_COMPLETE:
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        processCmdDebug(String(inputBuffer));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        break;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    case CMD_OVERFLOW:
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        Debug_pushMessage("input Buffer overflow\n");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        break;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    default:
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        break;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    InputProcessed = IDLE;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void SetDebugportStatus(DebugPorts_t port, DebugStatus_t status)
 | 
					 | 
					 | 
					 | 
					void SetDebugportStatus(DebugPorts_t port, DebugStatus_t status)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{
 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if (status == disabled)
 | 
					 | 
					 | 
					 | 
					    if (status == disabled)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Debug_pushMessage("disable DebugPort %s", sDebugPorts[port]);
 | 
					 | 
					 | 
					 | 
					        Debug_pushMessage("disable DebugPort %s\n", sDebugPorts[port]);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    DebuggerStatus[port] = status;
 | 
					 | 
					 | 
					 | 
					    DebuggerStatus[port] = status;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if (status == enabled)
 | 
					 | 
					 | 
					 | 
					    if (status == enabled)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Debug_pushMessage("enabled DebugPort %s", sDebugPorts[port]);
 | 
					 | 
					 | 
					 | 
					        Debug_pushMessage("enabled DebugPort %s\n", sDebugPorts[port]);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void Debug_pushMessage(const char *format, ...)
 | 
					 | 
					 | 
					 | 
					void Debug_pushMessage(const char *format, ...)
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -81,7 +151,9 @@ void pushCANDebug(uint32_t id, uint8_t dlc, uint8_t *data)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void processCmdDebug(String command)
 | 
					 | 
					 | 
					 | 
					void processCmdDebug(String command)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{
 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if (command == "sysinfo")
 | 
					 | 
					 | 
					 | 
					    if (command == "help")
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        Debug_printHelp();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    else if (command == "sysinfo")
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Debug_printSystemInfo();
 | 
					 | 
					 | 
					 | 
					        Debug_printSystemInfo();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    else if (command == "netinfo")
 | 
					 | 
					 | 
					 | 
					    else if (command == "netinfo")
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Debug_printWifiInfo();
 | 
					 | 
					 | 
					 | 
					        Debug_printWifiInfo();
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -107,87 +179,91 @@ void processCmdDebug(String command)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Debug_ShowDTCs();
 | 
					 | 
					 | 
					 | 
					        Debug_ShowDTCs();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    else if (command == "dumpGlobals")
 | 
					 | 
					 | 
					 | 
					    else if (command == "dumpGlobals")
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Debug_dumpGlobals();
 | 
					 | 
					 | 
					 | 
					        Debug_dumpGlobals();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    else if (command == "sdbg")
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        SetDebugportStatus(dbg_Serial, enabled);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        Debug_pushMessage("unknown Command\n");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void Debug_formatCFG()
 | 
					 | 
					 | 
					 | 
					void Debug_formatCFG()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{
 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("Formatting Config-EEPROM and reseting to default");
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("Formatting Config-EEPROM and reseting to default\n");
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    FormatConfig_EEPROM();
 | 
					 | 
					 | 
					 | 
					    FormatConfig_EEPROM();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void Debug_formatPersistence()
 | 
					 | 
					 | 
					 | 
					void Debug_formatPersistence()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{
 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("Formatting Persistence-EEPROM and reseting to default");
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("Formatting Persistence-EEPROM and reseting to default\n");
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    FormatPersistence_EEPROM();
 | 
					 | 
					 | 
					 | 
					    FormatPersistence_EEPROM();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void RemotDebug_printSystemInfo()
 | 
					 | 
					 | 
					 | 
					void Debug_printSystemInfo()
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{
 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("Souko's ChainOiler Mk1");
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("Souko's ChainOiler Mk1\n");
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("Hostname: %s", globals.DeviceName);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("Hostname: %s\n", globals.DeviceName);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    FlashMode_t ideMode = ESP.getFlashChipMode();
 | 
					 | 
					 | 
					 | 
					    FlashMode_t ideMode = ESP.getFlashChipMode();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("Sdk version: %s", ESP.getSdkVersion());
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("Sdk version: %s\n", ESP.getSdkVersion());
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("Core Version: %s", ESP.getCoreVersion().c_str());
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("Core Version: %s\n", ESP.getCoreVersion().c_str());
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("Boot Version: %u", ESP.getBootVersion());
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("Boot Version: %u\n", ESP.getBootVersion());
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("Boot Mode: %u", ESP.getBootMode());
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("Boot Mode: %u\n", ESP.getBootMode());
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("CPU Frequency: %u MHz", ESP.getCpuFreqMHz());
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("CPU Frequency: %u MHz\n", ESP.getCpuFreqMHz());
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("Reset reason: %s", ESP.getResetReason().c_str());
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("Reset reason: %s\n", ESP.getResetReason().c_str());
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("Flash Size: %d", ESP.getFlashChipRealSize());
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("Flash Size: %d\n", ESP.getFlashChipRealSize());
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("Flash Size IDE: %d", ESP.getFlashChipSize());
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("Flash Size IDE: %d\n", ESP.getFlashChipSize());
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("Flash ide mode:  %s", (ideMode == FM_QIO ? "QIO" : ideMode == FM_QOUT ? "QOUT"
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("Flash ide mode:  %s\n", (ideMode == FM_QIO ? "QIO" : ideMode == FM_QOUT ? "QOUT"
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                                      : ideMode == FM_DIO    ? "DIO"
 | 
					 | 
					 | 
					 | 
					                                                                      : ideMode == FM_DIO    ? "DIO"
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                                      : ideMode == FM_DOUT   ? "DOUT"
 | 
					 | 
					 | 
					 | 
					                                                                      : ideMode == FM_DOUT   ? "DOUT"
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                                                                             : "UNKNOWN"));
 | 
					 | 
					 | 
					 | 
					                                                                                             : "UNKNOWN"));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("OTA-Pass: %s", QUOTE(ADMIN_PASSWORD));
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("OTA-Pass: %s\n", QUOTE(ADMIN_PASSWORD));
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("Git-Revison: %s", constants.GitHash);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("Git-Revison: %s\n", constants.GitHash);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("Sw-Version: %d.%02d", constants.FW_Version_major, constants.FW_Version_minor);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("Sw-Version: %d.%02d\n", constants.FW_Version_major, constants.FW_Version_minor);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void Debug_dumpConfig()
 | 
					 | 
					 | 
					 | 
					void Debug_dumpConfig()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{
 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("DistancePerLube_Default: %d", LubeConfig.DistancePerLube_Default);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("DistancePerLube_Default: %d\n", LubeConfig.DistancePerLube_Default);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("DistancePerLube_Rain: %d", LubeConfig.DistancePerLube_Rain);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("DistancePerLube_Rain: %d\n", LubeConfig.DistancePerLube_Rain);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("tankCapacity_ml: %d", LubeConfig.tankCapacity_ml);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("tankCapacity_ml: %d\n", LubeConfig.tankCapacity_ml);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("amountPerDose_microL: %d", LubeConfig.amountPerDose_microL);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("amountPerDose_microL: %d\n", LubeConfig.amountPerDose_microL);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("TankRemindAtPercentage: %d", LubeConfig.TankRemindAtPercentage);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("TankRemindAtPercentage: %d\n", LubeConfig.TankRemindAtPercentage);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("PulsePerRevolution: %d", LubeConfig.PulsePerRevolution);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("PulsePerRevolution: %d\n", LubeConfig.PulsePerRevolution);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("TireWidth_mm: %d", LubeConfig.TireWidth_mm);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("TireWidth_mm: %d\n", LubeConfig.TireWidth_mm);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("TireWidthHeight_Ratio: %d", LubeConfig.TireWidth_mm);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("TireWidthHeight_Ratio: %d\n", LubeConfig.TireWidth_mm);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("RimDiameter_Inch: %d", LubeConfig.RimDiameter_Inch);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("RimDiameter_Inch: %d\n", LubeConfig.RimDiameter_Inch);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("DistancePerRevolution_mm: %d", LubeConfig.DistancePerRevolution_mm);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("DistancePerRevolution_mm: %d\n", LubeConfig.DistancePerRevolution_mm);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("BleedingPulses: %d", LubeConfig.BleedingPulses);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("BleedingPulses: %d\n", LubeConfig.BleedingPulses);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("SpeedSource: %d", LubeConfig.SpeedSource);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("SpeedSource: %d\n", LubeConfig.SpeedSource);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifdef FEATURE_ENABLE_GPS
 | 
					 | 
					 | 
					 | 
					#ifdef FEATURE_ENABLE_GPS
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("GPSBaudRate: %d", LubeConfig.GPSBaudRate);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("GPSBaudRate: %d\n", LubeConfig.GPSBaudRate);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif
 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifdef FEATURE_ENABLE_CAN
 | 
					 | 
					 | 
					 | 
					#ifdef FEATURE_ENABLE_CAN
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("CANSource: %d", LubeConfig.CANSource);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("CANSource: %d\n", LubeConfig.CANSource);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif
 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("checksum: 0x%08X", LubeConfig.checksum);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("checksum: 0x%08X\n", LubeConfig.checksum);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void Debug_dumpGlobals()
 | 
					 | 
					 | 
					 | 
					void Debug_dumpGlobals()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{
 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("systemStatus: %d", globals.systemStatus);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("systemStatus: %d\n", globals.systemStatus);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("resumeStatus: %d", globals.resumeStatus);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("resumeStatus: %d\n", globals.resumeStatus);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("systemStatustxt: %s", globals.systemStatustxt);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("systemStatustxt: %s\n", globals.systemStatustxt);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("purgePulses: %d", globals.purgePulses);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("purgePulses: %d\n", globals.purgePulses);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("requestEEAction: %d", globals.requestEEAction);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("requestEEAction: %d\n", globals.requestEEAction);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("DeviceName: %s", globals.DeviceName);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("DeviceName: %s\n", globals.DeviceName);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("FlashVersion: %s", globals.FlashVersion);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("FlashVersion: %s\n", globals.FlashVersion);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("eePersistanceAdress: %d", globals.eePersistanceAdress);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("eePersistanceAdress: %d\n", globals.eePersistanceAdress);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("TankPercentage: %d", globals.TankPercentage);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("TankPercentage: %d\n", globals.TankPercentage);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("hasDTC: %d", globals.hasDTC);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("hasDTC: %d\n", globals.hasDTC);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void Debug_dumpPersistance()
 | 
					 | 
					 | 
					 | 
					void Debug_dumpPersistance()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{
 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("writeCycleCounter: %d", PersistenceData.writeCycleCounter);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("writeCycleCounter: %d\n", PersistenceData.writeCycleCounter);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("tankRemain_microL: %d", PersistenceData.tankRemain_microL);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("tankRemain_microL: %d\n", PersistenceData.tankRemain_microL);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("TravelDistance_highRes_mm: %d", PersistenceData.TravelDistance_highRes_mm);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("TravelDistance_highRes_mm: %d\n", PersistenceData.TravelDistance_highRes_mm);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("checksum: %d", PersistenceData.checksum);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("checksum: %d\n", PersistenceData.checksum);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    Debug_pushMessage("PSD Adress: 0x%04X", globals.eePersistanceAdress);
 | 
					 | 
					 | 
					 | 
					    Debug_pushMessage("PSD Adress: 0x%04X\n", globals.eePersistanceAdress);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void Debug_printWifiInfo()
 | 
					 | 
					 | 
					 | 
					void Debug_printWifiInfo()
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -247,7 +323,19 @@ void Debug_ShowDTCs()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            else
 | 
					 | 
					 | 
					 | 
					            else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                strcpy(buff_active, "none");
 | 
					 | 
					 | 
					 | 
					                strcpy(buff_active, "none");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            Debug_pushMessage("%s \t %6d \t %s \t %d", buff_timestamp, DTCStorage[i].Number, buff_active, DTCStorage[i].severity);
 | 
					 | 
					 | 
					 | 
					            Debug_pushMessage("%s \t %6d \t %s \t %d\n", buff_timestamp, DTCStorage[i].Number, buff_active, DTCStorage[i].severity);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					void Debug_printHelp()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    char buff[64];
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    for (int i = sizeof(helpCmd) / 63; i < sizeof(helpCmd) / 63; i++)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        memcpy_P(buff, (helpCmd + (i * 63)), 63);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        buff[63] = 0;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        Debug_pushMessage(buff);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 |