diff --git a/src/libraries/icubmod/embObjLib/diagnosticInfoParsers.cpp b/src/libraries/icubmod/embObjLib/diagnosticInfoParsers.cpp index 06aa8de805..3e5920d469 100644 --- a/src/libraries/icubmod/embObjLib/diagnosticInfoParsers.cpp +++ b/src/libraries/icubmod/embObjLib/diagnosticInfoParsers.cpp @@ -41,6 +41,12 @@ void DefaultParser::parseInfo() } +void DefaultParser::printBaseInfo() +{ + char str[512] = {0}; + snprintf(str, sizeof(str), "%s", m_dnginfo.baseMessage.c_str()); + m_dnginfo.baseInfo.finalMessage.append(str); +} /**************************************************************************************************************************/ @@ -206,7 +212,7 @@ void ConfigParser::parseInfo() ); m_dnginfo.baseInfo.finalMessage.append(str); - for(i=1; i<15; i++) + for(int i=1; i<15; i++) { uint64_t val = (invalidmask >> (4*i)) & 0x0f; if(0 != val) @@ -420,10 +426,8 @@ void ConfigParser::parseInfo() case eoerror_value_CFG_bat_not_verified_yet: case eoerror_value_CFG_bat_using_onboard_config: case eoerror_value_CFG_bat_failed_notsupported: - //case eoerror_value_CFG_encoders_ok: { - snprintf(str, sizeof(str), "%s", m_dnginfo.baseMessage.c_str()); - m_dnginfo.baseInfo.finalMessage.append(str); + printBaseInfo(); } break; // p16&0xf000: number of joint; primary encs: failure mask in p16&0x000f and errorcodes in p64&0x0000ffff; secondary encs: failure mask in p16&0x00f0 and errorcodes in p64&0xffff0000"}, @@ -659,11 +663,10 @@ void SkinParser::parseInfo() switch (value) { - case eoerror_value_SYS_unspecified: + case eoerror_value_SK_unspecified: case eoerror_value_SK_obsoletecommand: { - snprintf(str, sizeof(str), "%s", m_dnginfo.baseMessage.c_str()); - m_dnginfo.baseInfo.finalMessage.append(str); + printBaseInfo(); } break; case eoerror_value_SK_arrayofcandataoverflow: @@ -752,8 +755,7 @@ void HwErrorParser::parseInfo() case eoerror_value_HW_encoder_crc: case eoerror_value_HW_encoder_not_connected: { - snprintf(str, sizeof(str), " %s", m_dnginfo.baseMessage.c_str()); - m_dnginfo.baseInfo.finalMessage.append(str); + printBaseInfo(); } break; @@ -1098,23 +1100,23 @@ void SysParser::parseInfo() case eoerror_value_SYS_canservices_boards_lostcontact: //TODO: DONE (see eomn_servicecategory2string) make a specific message.need some translation from enum to string case eoerror_value_SYS_canservices_boards_retrievedcontact://TODO: DONE (see eomn_servicecategory2string) make a specific message.need some translation from enum to string { - eOmn_serv_category_t serv_category = m_dnginfo.param16; + eOmn_serv_category_t serv_category = (eOmn_serv_category_t)m_dnginfo.param16; uint16_t lostMaskcan2 = (m_dnginfo.param64 & 0x00000000ffff0000) >> 16; uint16_t lostMaskcan1 = (m_dnginfo.param64 & 0x000000000000ffff); char lostCanBoards1[64] = {0}; char lostCanBoards2[64] = {0}; - for(i=1; i<15; i++) + for(int i=1; i<15; i++) { if ( (lostMaskcan1 & (1<> 16; uint16_t foundMaskcan1 = (m_dnginfo.param64 & 0x000000000000ffff); char foundCanBoards1[64] = {0}; char foundCanBoards2[64] = {0}; - for(i=1; i<15; i++) + for(int i=1; i<15; i++) { if ( (foundMaskcan1 & (1<> 16; uint16_t lostMaskcan1 = (m_dnginfo.param64 & 0x000000000000ffff); uint64_t timeLastContact = (m_dnginfo.param64 & 0xffff000000000000) >> 48; char lostCanBoards1[64] = {0}; char lostCanBoards2[64] = {0}; - for(i=1; i<15; i++) + for(int i=1; i<15; i++) { if ( (lostMaskcan1 & (1<> 16; uint16_t lostMaskcan1 = (m_dnginfo.param64 & 0x000000000000ffff); uint64_t totDisappTime = (m_dnginfo.param64 & 0xffff000000000000) >> 48; @@ -1223,22 +1225,22 @@ void SysParser::parseInfo() char lostCanBoards1[64] = {0}; char lostCanBoards2[64] = {0}; - for(i=1; i<15; i++) + for(int i=1; i<15; i++) { if ( (lostMaskcan1 & (1<