Garmin Fleet Management Controller
2.19.0
|
LogParser for packets sent/received by the FmiApplicationLayer. More...
#include <FmiLogParser.h>
Public Member Functions | |
FmiLogParser () | |
Constructor. More... | |
virtual | ~FmiLogParser () |
Destructor. More... | |
CString | getFilename () |
Get the path of the log file being parsed. More... | |
int | getLineCount () const |
Return the number of lines parsed so far. More... | |
virtual CString | getPacketDetail (int aLineNumber) |
Print a particular packet to the packet view. More... | |
virtual CString | getPacketTitle (int aLineNumber) |
Construct a packet title for the given log logLine. More... | |
void | init (const CString &aFilename) |
Initialize the LogParser to read a particular file. More... | |
BOOL | readLog () |
Reads from the log file starting from the end of the last read position and adds it to the display. More... | |
virtual void | resendPacket (int aLineNumber) |
Resend a packet to the client. More... | |
void | reset () |
Reset the log parser to initial state. More... | |
void | setRenderWidth (int aWidth) |
Set the number of pixels available for rendering text. More... | |
Protected Member Functions | |
CString | formatMultiLineHex (int aSize, uint8 *aData) |
Format bytes into a multi logLine hex dump format. More... | |
Protected Attributes | |
BOOL | mIsMorning |
If TRUE, the log was started in the mIsMorning (computed from log header) More... | |
int | mLineCount |
Number of lines that have been parsed so far. More... | |
std::map< int, std::streamoff > | mLineOffset |
Map of log items to the offset in the log file where the text line starts. More... | |
CString | mLogFilename |
File name of the currently open log file. More... | |
int | mLogStartHr |
Hour of the time when the log file was created (from log header) More... | |
int | mLogStartMillis |
Milliseconds of the time when the log file was created (from log header) More... | |
int | mLogStartMin |
Minutes of the time when the log file was created (from log header) More... | |
int | mLogStartSec |
Seconds of the time when the log file was created (from log header) More... | |
std::streamoff | mParseEndOffset |
Offset of the log file where parsing stopped. More... | |
int | mRenderWidth |
Available width in pixels to render the packet detail. More... | |
Private Member Functions | |
void | appendIFTADataModResultCode (CString &packet, uint8 result_code) |
CString | formatBoolean (boolean aBool) |
Translate a boolean to an equivalent string. More... | |
CString | formatFmiPacket (BOOL transmitted, uint16 aFmiPacketId, uint8 *aFmiPayload, uint8 aFmiPayloadSize) |
Interpret an FMI packet; appending the information to the text in the packet window. More... | |
CString | formatHosartPacket (BOOL transmitted, uint16 aPacketId, uint8 *aPayload, uint8 aPayloadSize) |
Interpret an HOSART packet; appending the information to the text in the packet window. More... | |
CString | formatLatitude (sint32 aSemicircles) |
Format latitude. More... | |
CString | formatLongitude (sint32 aSemicircles) |
Format longitude. More... | |
CString | formatMessageId (const uint8 *aMessageId, uint8 aMessageIdSize) |
Format a message ID in hex, with up to 8 bytes per line. More... | |
CString | formatText (const char *aText, int aMaxLength) |
Format a text string, with up to 29 characters per line. More... | |
CString | formatTime (time_type aTimestamp) |
Format Garmin UTC timestamp. More... | |
CString | getFmiPacketName (uint16 aPacketId) |
Translate an FMI packet ID into a string describing the packet name. More... | |
CString | getGarminCommandName (uint16 aCommandId) |
Translate a Garmin command ID into a string describing the command name. More... | |
CString | getGarminPacketName (uint8 aPacketId) |
Translate a Garmin packet ID into a string describing the packet name. More... | |
CString | getHosartPacketName (uint16 aPacketId) |
void | initFmiFeatureNames () |
Initialize the map of FMI packet IDs to text strings. More... | |
void | initFmiPacketNames () |
Initialize the map of FMI packet IDs to text strings. More... | |
void | initGarminCommandNames () |
Initialize the map of Garmin command IDs to text strings. More... | |
void | initGarminPacketNames () |
Initialize the map of Garmin packet IDs to text strings. More... | |
Private Attributes | |
std::map< uint16, CString > | mFmiFeatureNames |
Map of FMI feature IDs to display names for formatting. More... | |
std::map< uint16, CString > | mFmiPacketNames |
Map of FMI packet IDs to display names for formatting. More... | |
std::map< uint16, CString > | mGarminCommandNames |
Map of Garmin command IDs to display names for formatting. More... | |
std::map< uint8, CString > | mGarminPacketNames |
Map of Garmin packet IDs to display names for formatting. More... | |
std::map< uint16, CString > | mHosartPacketNames |
Map of HOSART packet IDs to display names for formatting. More... | |
LogParser for packets sent/received by the FmiApplicationLayer.
Parses and resends FMI packets, plus PVT and the command packets defined in the FMI Interface Control Specification.
Definition at line 22 of file FmiLogParser.h.
FmiLogParser::FmiLogParser | ( | ) |
Constructor.
Initialize the maps used to format packet and command IDs
Definition at line 42 of file FmiLogParser.cpp.
|
virtual |
|
private |
Definition at line 3906 of file FmiLogParser.cpp.
References FMI_IFTA_BUSY_ERROR, FMI_IFTA_DATA_GFS_WRITE_ERROR, FMI_IFTA_EXPORT_DATA_ERROR, FMI_IFTA_EXPORT_NO_DATA_FOUND, FMI_IFTA_GFS_DIR_OPEN_ERROR, FMI_IFTA_GFS_FSTAT_ERROR, FMI_IFTA_GFS_OPEN_ERROR, FMI_IFTA_GFS_READ_ERROR, FMI_IFTA_GFS_REMOVE_ERROR, FMI_IFTA_GZIP_ERROR, FMI_IFTA_MALLOC_ERROR, FMI_IFTA_MAX_DATA_SIZE_ERROR, FMI_IFTA_MIN_DATA_SIZE_ERROR, FMI_IFTA_NULL_INPUT_PTR_ERROR, FMI_IFTA_OK, FMI_IFTA_STATE_ERROR, and FMI_IFTA_TX_ERROR.
Referenced by getGarminCommandName().
|
private |
Translate a boolean to an equivalent string.
aBool | The boolean value to format |
Definition at line 590 of file FmiLogParser.cpp.
References formatLatitude().
Referenced by getPacketDetail().
|
private |
Interpret an FMI packet; appending the information to the text in the packet window.
transmitted | The direction of the packet true = transmitted, !true = received |
aFmiPacketId | The FMI packet ID |
aFmiPayload | The FMI payload |
aFmiPayloadSize | The size of the FMI payload in bytes. |
Definition at line 762 of file FmiLogParser.cpp.
References fmi_driver_profile_data_type_V2::adverse_condition_time, fmi_alert_popup_request::alert_text, speed_limit_data_type::alert_user, fmi_set_baud_request::baud_rate_type, fmi_set_baud_receipt::baud_rate_type, fmi_driver_profile_data_type::carrier_id, fmi_driver_profile_data_type_V2::carrier_id, fmi_driver_profile_data_type::carrier_name, fmi_driver_profile_data_type_V2::carrier_name, waypoint_data_type::cat, delete_by_category_rcpt_data_type::cat_id, speed_limit_alert_data_type::category, fmi_sensor_config_request::change_id, fmi_sensor_receipt::change_id, fmi_sensor_delete_request::change_id, fmi_sensor_update_request::change_id, fmi_sensor_query_display_index_request::change_id, fmi_sensor_query_display_index_receipt::change_id, fmi_dashcam_receipt_data_type::change_id, fmi_dashcam_set_config_request_data_type::change_id, fmi_dashcam_get_settings_request_data_type::change_id, fmi_dashcam_get_settings_response_data_type::change_id, fmi_dashcam_set_ntfctn_settings_data_type::change_id, fmi_dashcam_get_ntfctn_settings_data_type::change_id, fmi_dashcam_ntfctn_receipt_data_type::change_id, cMsToKph, cMsToMph, cnt_of_array, waypoint_data_type::comment, CONTAINS_DATA, delete_by_category_rcpt_data_type::count, file_end_data_type::crc, custom_form_position_ack_type::current_position, CUSTOM_AVOID_ERR_FEAT_NOT_ENBL, CUSTOM_AVOID_ERR_FULL, CUSTOM_AVOID_ERR_ID_OUT_OF_RANGE, CUSTOM_AVOID_ERR_NM_INUSE, CUSTOM_AVOID_ERR_NV, CUSTOM_AVOID_ID_NOT_FOUND, CUSTOM_AVOID_SUCCESS, DASHCAM_COLLISION_SENSITIVITY, DASHCAM_DATA_OVERLAY_DATE_TIME, DASHCAM_DATA_OVERLAY_LOCATION_SPEED, DASHCAM_FORWARD_COLLISION, DASHCAM_INCIDENT_DETECTION, DASHCAM_LANE_DEPARTURE, DASHCAM_RECORD_AFTER_POWER_LOSS, DASHCAM_RECORD_AUDIO, DASHCAM_RECORD_ON_STARTUP, DASHCAM_VIDEO_RESOLUTION, protocol_support_data_type::data, file_packet_data_type::data_length, data_deletion_data_type::data_type, fmi_sensor_update_request::description, fmi_sensor_config_request::display_index, fmi_sensor_query_display_index_receipt::display_index, stop_calc_ack_type::distance, eta_data_type::distance_to_destination, driver_id_data_type::driver_id, driver_id_D607_data_type::driver_id, driver_login_service_data_type::driver_id, fmi_driver_profile_type::driver_id, fmi_driver_profile_data_type::driver_id, fmi_ack_type::driver_id, fmi_driver_status_update_request_data_type::driver_id, fmi_driver_status_log_dnld_resp_data_type::driver_id, fmi_status_log_download_receipt_data_type::driver_id, fmi_driver_shipment_data_type::driver_id, fmi_shipment_download_receipt_data_type::driver_id, fmi_annotation_download_request_data_type::driver_id, fmi_driver_annotation_data_type::driver_id, fmi_driver_aobrd_ack_data_type::driver_id, fmi_driver_profile_data_type_V2::driver_id, fmi_logoff_driver_request::driver_id, fmi_logoff_driver_receipt::driver_id, driver_id_D607_data_type::driver_idx, driver_id_request_data_type::driver_idx, driver_id_receipt_data_type::driver_idx, driver_status_D607_data_type::driver_idx, driver_status_receipt_data_type::driver_idx, driver_status_request_data_type::driver_idx, driver_login_service_data_type::driver_password, driver_status_data_type::driver_status, driver_status_D607_data_type::driver_status, EMPTY_DATA, custom_avoid_feature_enable_type::enable, custom_avoid_type::enable, custom_avoid_enable_type::enable, fmi_hos_auto_status_update_feature::enable, fmi_hos_auto_status_update_feature_rcpt::enable, fmi_hos_set_settings_request_data_type::enable, fmi_dashcam_set_ntfctn_settings_data_type::enable_fcw_ntfctn, fmi_dashcam_get_ntfctn_settings_data_type::enable_fcw_ntfctn, fmi_dashcam_set_ntfctn_settings_data_type::enable_incident_ntfctn, fmi_dashcam_get_ntfctn_settings_data_type::enable_incident_ntfctn, fmi_dashcam_set_ntfctn_settings_data_type::enable_lane_departure_ntfctn, fmi_dashcam_get_ntfctn_settings_data_type::enable_lane_departure_ntfctn, fmi_hos_set_settings_receipt_data_type::enabled, fmi_ifta_data_fetch_request_type::end_time, fmi_ifta_data_delete_request_type::end_time, file_receipt_data_type::error_code_or_file_type_when_gpi, eta_data_type::eta_time, fmi_features_data_type::feature_count, FEATURE_ID_MASK, FEATURE_STATE_ENABLED, FEATURE_STATE_MASK, fmi_features_data_type::features, file_packet_data_type::file_data, file_info_data_type::file_size, file_info_data_type::file_type, file_receipt_from_srvr_data_type::file_type, file_info_data_type::file_version, file_info_data_type::file_version_length, long_text_msg_data_type::finished_flag, long_text_msg_receipt_data_type::finished_flag, fmi_driver_profile_data_type::first_name, fmi_driver_profile_data_type_V2::first_name, FMI_ALERT_ICON_BREAK_HOURS_COUNTER, FMI_ALERT_ICON_DAILY_HOURS_COUNTER, FMI_ALERT_ICON_DOOR_SENSOR, FMI_ALERT_ICON_DRIVER_BEHAVIOR, FMI_ALERT_ICON_EU_AVAILABLE, FMI_ALERT_ICON_EU_DRIVING, FMI_ALERT_ICON_EU_REST, FMI_ALERT_ICON_EU_WORK, FMI_ALERT_ICON_FUEL, FMI_ALERT_ICON_GENERAL_CONNECTIVITY, FMI_ALERT_ICON_GENERIC_SENSOR1, FMI_ALERT_ICON_GENERIC_SENSOR2, FMI_ALERT_ICON_GENERIC_SENSOR3, FMI_ALERT_ICON_INFORMATION, FMI_ALERT_ICON_NONE, FMI_ALERT_ICON_NUM_OUT_OF_RANGE, FMI_ALERT_ICON_OBD2_GENERIC_SENSOR, FMI_ALERT_ICON_REST_HOURS_COUNTER, FMI_ALERT_ICON_TASKS, FMI_ALERT_ICON_TEMPERATURE, FMI_ALERT_ICON_TIRE_PRESSURE, FMI_ALERT_ICON_VEHICLE_MAINTENANCE, FMI_ALERT_ICON_WEEKLY_HOURS_COUNTER, FMI_ALERT_ICON_WEIGHT, FMI_ALERT_MISSING_ALERT_TEXT_AND_ICON, FMI_ALERT_POPUP_RECEIPT, FMI_ALERT_POPUP_REQUEST, FMI_ALERT_POPUP_SUCCESS, FMI_ALERT_SEVERITY_OUT_OF_RANGE, FMI_ALERT_TEXT_TOO_LONG, FMI_ALERT_TIMEOUT_OUT_OF_RANGE, FMI_ANNOTATION_DOWNLOAD_RECEIPT, FMI_ANNOTATION_DOWNLOAD_REQUEST, FMI_ANNOTATION_DOWNLOAD_RESPONSE, FMI_AOBRD_DRIVER_LOGOFF_RECEIPT, FMI_AOBRD_DRIVER_LOGOFF_REQUEST, FMI_BAUD_NEW_RATE_REQUEST, FMI_BAUD_PLUG_ID_ERROR, FMI_BAUD_RATE_38400, FMI_BAUD_RATE_57600, FMI_BAUD_RATE_9600, FMI_BAUD_RATE_CLIENT_ERROR, FMI_BAUD_RATE_CONTROL_IS_DISABLED, FMI_BAUD_RATE_OK, FMI_BAUD_RATE_SERVER_ERROR, FMI_BAUD_RATE_SYNC_REQUEST, FMI_BAUD_REQUEST_TYPE_SERVER_ERROR, FMI_BAUD_SET_ERROR, FMI_CUSTOM_AVOID_ADD_RECEIPT, FMI_CUSTOM_AVOID_ADD_REQUEST, FMI_CUSTOM_AVOID_DEL_RECEIPT, FMI_CUSTOM_AVOID_DEL_REQUEST, FMI_CUSTOM_AVOID_ENABLE_FEATURE_RECEIPT, FMI_CUSTOM_AVOID_ENABLE_FEATURE_REQUEST, FMI_CUSTOM_AVOID_TOGGLE_RECEIPT, FMI_CUSTOM_AVOID_TOGGLE_REQUEST, FMI_CUSTOM_FORM_DEL_RECEIPT, FMI_CUSTOM_FORM_DEL_REQUEST, FMI_CUSTOM_FORM_GET_POS_RECEIPT, FMI_CUSTOM_FORM_GET_POS_REQUEST, FMI_CUSTOM_FORM_MOVE_RECEIPT, FMI_CUSTOM_FORM_MOVE_REQUEST, FMI_CUSTOM_FORM_SHOW_RECEIPT, FMI_CUSTOM_FORM_SHOW_REQUEST, FMI_DASHCAM_CONFIG_RECEIPT, FMI_DASHCAM_CONFIG_REQUEST, FMI_DASHCAM_GET_NTFCTN_SETTINGS_REQUEST, FMI_DASHCAM_GET_NTFCTN_SETTINGS_RESPONSE, FMI_DASHCAM_GET_SETTINGS_REQUEST, FMI_DASHCAM_GET_SETTINGS_RESPONSE, FMI_DASHCAM_INCDNT_FILE_NTFCTN_RECEIPT, FMI_DASHCAM_INCDNT_FILE_NTFCTN_REQUEST, FMI_DASHCAM_NTFCTN_RECEIPT, FMI_DASHCAM_NTFCTN_REQUEST, FMI_DASHCAM_SET_NTFCTN_RECEIPT, FMI_DASHCAM_SET_NTFCTN_REQUEST, FMI_DASHCAM_SETTINGS_LOCK_RECEIPT, FMI_DASHCAM_SETTINGS_LOCK_REQUEST, FMI_DOWNLOAD_SHIPMENTS_REQUEST, FMI_DRIVER_LOGIN_REQUEST, FMI_DRIVER_LOGIN_RESPONSE, FMI_DRIVER_PROFILE_DOWNLOAD_REQUEST, FMI_DRIVER_PROFILE_DOWNLOAD_RESPONSE, FMI_DRIVER_PROFILE_DOWNLOAD_RESPONSE_V2, FMI_DRIVER_PROFILE_UPDATE, FMI_DRIVER_PROFILE_UPDATE_RESPONSE, FMI_DRIVER_PROFILE_UPDATE_V2, FMI_DRIVER_STATUS_UPDATE_RECEIPT, FMI_DRIVER_STATUS_UPDATE_REQUEST, FMI_DRIVER_STATUS_UPDATE_RESPONSE, FMI_FILE_RESULT_BUSY, FMI_FILE_RESULT_CRC_ERROR, FMI_FILE_RESULT_FINALIZE_ERROR, FMI_FILE_RESULT_INVALID_FILE, FMI_FILE_RESULT_INVALID_FILE_TYPE, FMI_FILE_RESULT_INVALID_GPI_FILE, FMI_FILE_RESULT_LOW_MEM, FMI_FILE_RESULT_NO_TRANSFER, FMI_FILE_RESULT_NOT_PROCESSED, FMI_FILE_RESULT_RX_GZIP_ERROR, FMI_FILE_RESULT_SEVERE, FMI_FILE_RESULT_SUCCESS, FMI_FILE_START_CLOSE_ERROR, FMI_FILE_START_OPEN_ERROR, FMI_HOS_8_HOUR_RULE_ENABLE_RECEIPT, FMI_HOS_8_HOUR_RULE_ENABLE_REQUEST, FMI_HOS_AUTO_STATUS_FEATURE_RECEIPT, FMI_HOS_AUTO_STATUS_FEATURE_REQUEST, FMI_HOS_SET_SETTING_DATA_RECEIPT, FMI_HOS_SET_SETTING_DATA_REQUEST, FMI_HOS_SETTING_RESULT_FAIL, FMI_HOS_SETTING_RESULT_OK, FMI_HOS_SETTING_RESULT_SET_TO_MAX, FMI_HOS_SETTING_RESULT_SET_TO_MIN, FMI_ID_A602_STOP, FMI_ID_A603_STOP, FMI_ID_A604_OPEN_TEXT_MSG, FMI_ID_A604_OPEN_TEXT_MSG_RCPT, FMI_ID_A607_CLIENT_OPEN_TXT_MSG, FMI_ID_AUTO_ARRIVAL, FMI_ID_CANNED_RESP_LIST_RCPT, FMI_ID_CLIENT_OPEN_TXT_MSG, FMI_ID_CLIENT_TXT_MSG_RCPT, FMI_ID_CREATE_WAYPOINT_CAT, FMI_ID_CREATE_WAYPOINT_CAT_RCPT, FMI_ID_DATA_DELETION, FMI_ID_DEL_DRIVER_STATUS_LIST_ITEM_RCPT, FMI_ID_DELETE_CANNED_MSG, FMI_ID_DELETE_CANNED_MSG_RCPT, FMI_ID_DELETE_CANNED_RESPONSE, FMI_ID_DELETE_CANNED_RESPONSE_RCPT, FMI_ID_DELETE_DRIVER_STATUS_LIST_ITEM, FMI_ID_DELETE_WAYPOINT_CAT, FMI_ID_DELETE_WAYPOINT_CAT_RCPT, FMI_ID_DRIVER_ID_RCPT, FMI_ID_DRIVER_ID_REQUEST, FMI_ID_DRIVER_ID_UPDATE, FMI_ID_DRIVER_ID_UPDATE_D607, FMI_ID_DRIVER_STATUS_LIST_REFRESH, FMI_ID_DRIVER_STATUS_RCPT, FMI_ID_DRIVER_STATUS_REQUEST, FMI_ID_DRIVER_STATUS_UPDATE, FMI_ID_DRIVER_STATUS_UPDATE_D607, FMI_ID_ENABLE, FMI_ID_ETA_DATA, FMI_ID_ETA_DATA_RCPT, FMI_ID_ETA_DATA_REQUEST, FMI_ID_FILE_DATA_PACKET, FMI_ID_FILE_END_RCPT, FMI_ID_FILE_PACKET_RCPT, FMI_ID_FILE_START_RCPT, FMI_ID_FILE_TRANSFER_END, FMI_ID_FILE_TRANSFER_START, FMI_ID_GPI_FILE_INFORMATION, FMI_ID_GPI_FILE_INFORMATION_REQUEST, FMI_ID_LONG_TEXT_MSG, FMI_ID_LONG_TEXT_MSG_RCPT, FMI_ID_MSG_THROTTLING_COMMAND, FMI_ID_MSG_THROTTLING_QUERY, FMI_ID_MSG_THROTTLING_QUERY_RESPONSE, FMI_ID_MSG_THROTTLING_RESPONSE, FMI_ID_PING, FMI_ID_PING_RESPONSE, FMI_ID_PRODUCT_ID_DATA, FMI_ID_PROTOCOL_DATA, FMI_ID_REFRESH_CANNED_MSG_LIST, FMI_ID_REFRESH_CANNED_RESP_LIST, FMI_ID_SERVER_OK_ACK_TXT_MSG, FMI_ID_SERVER_OPEN_TXT_MSG, FMI_ID_SERVER_YES_NO_CONFIRM_MSG, FMI_ID_SET_CANNED_MSG, FMI_ID_SET_CANNED_MSG_RCPT, FMI_ID_SET_CANNED_RESP_LIST, FMI_ID_SET_CANNED_RESPONSE, FMI_ID_SET_CANNED_RESPONSE_RCPT, FMI_ID_SET_DRIVER_STATUS_LIST_ITEM, FMI_ID_SET_DRIVER_STATUS_LIST_ITEM_RCPT, FMI_ID_SORT_STOP_LIST, FMI_ID_SORT_STOP_LIST_ACK, FMI_ID_STOP_STATUS, FMI_ID_STOP_STATUS_RCPT, FMI_ID_STOP_STATUS_REQUEST, FMI_ID_TEXT_MSG_ACK, FMI_ID_TEXT_MSG_ACK_RCPT, FMI_ID_TEXT_MSG_DELETE_REQUEST, FMI_ID_TEXT_MSG_DELETE_RESPONSE, FMI_ID_TEXT_MSG_STATUS, FMI_ID_TEXT_MSG_STATUS_REQUEST, FMI_ID_USER_INTERFACE_TEXT, FMI_ID_USER_INTERFACE_TEXT_RCPT, FMI_ID_WAYPOINT, FMI_ID_WAYPOINT_DELETE, FMI_ID_WAYPOINT_DELETED, FMI_ID_WAYPOINT_DELETED_RCPT, FMI_ID_WAYPOINT_RCPT, FMI_IFTA_DATA_DELETE_RECEIPT, FMI_IFTA_DATA_DELETE_REQUEST, FMI_IFTA_DATA_FETCH_RECEIPT, FMI_IFTA_DATA_FETCH_REQUEST, FMI_LOGIN_ANNOTATION_DB_ERROR, FMI_LOGIN_INVALID_ID_SERVER_RESPONSE, FMI_LOGIN_NO_ERRORS, FMI_LOGIN_SHIPMENT_DB_ERROR, FMI_LOGIN_UNEXPECTED_RESPONSE_PACKET, FMI_LOGIN_WRONG_ID_SERVER_RESPONSE, FMI_SAFE_MODE, FMI_SAFE_MODE_RESP, FMI_SENSOR_CONFIG_RECEIPT, FMI_SENSOR_CONFIG_REQUEST, FMI_SENSOR_DELETE_RECEIPT, FMI_SENSOR_DELETE_REQUEST, FMI_SENSOR_ERR_DB, FMI_SENSOR_ERR_DESCR_TOO_LONG, FMI_SENSOR_ERR_ICON_NUM_OUT_OF_RANGE, FMI_SENSOR_ERR_ID_NOT_FOUND, FMI_SENSOR_ERR_MISSING_SENSOR_NAME, FMI_SENSOR_ERR_NAME_TOO_LONG, FMI_SENSOR_ERR_SEVERITY_OUT_OF_RANGE, FMI_SENSOR_ERR_STATUS_TOO_LONG, FMI_SENSOR_ERR_TOO_MANY_SENSORS, FMI_SENSOR_QUERY_DISPLAY_INDEX_RECEIPT, FMI_SENSOR_QUERY_DISPLAY_INDEX_REQUEST, FMI_SENSOR_SUCCESS, FMI_SENSOR_UPDATE_REQUEST, FMI_SET_BAUD_RECEIPT, FMI_SET_BAUD_REQUEST, FMI_SET_ODOMETER_REQUEST, FMI_SHIPMENT_DOWNLOAD_RECEIPT, FMI_SHIPMENT_DOWNLOAD_RESPONSE, FMI_SPEED_LIMIT_ALERT, FMI_SPEED_LIMIT_ALERT_RCPT, FMI_SPEED_LIMIT_RCPT, FMI_SPEED_LIMIT_SET, FMI_STOP_CALC_ACK_RECEIPT, FMI_STOP_CALC_ACK_REQUEST, custom_form_delete_ack_type::form_id, custom_form_move_type::form_id, custom_form_position_ack_type::form_id, custom_form_show_ack_type::form_id, getCustomFormErrorMsg(), getFmiPacketName(), HOS_SETTING_AUTO_STATUS_STOP_MOVING_THRESHOLD_SECONDS, HOS_SETTING_EIGHT_HOUR_RULE_ENABLE, HOS_SETTING_PERIODIC_STATUS_PERIOD_SECONDS, HOS_SETTING_START_TIME_OF_DAY, fmi_alert_popup_request::icon, fmi_sensor_config_request::icon, server_to_client_ack_text_msg_data_type::id, text_msg_ack_data_type::id, client_to_server_D607_open_text_msg_data_type::id, A604_server_to_client_open_text_msg_data_type::id, server_to_client_text_msg_receipt_data_type::id, canned_response_list_data_type::id, canned_response_list_receipt_data_type::id, message_status_request_data_type::id, message_status_data_type::id, text_msg_id_data_type::id, category_data_type::id, category_rcpt_data_type::id, delete_message_request_data_type::id, delete_message_response_data_type::id, long_text_msg_data_type::id, long_text_msg_receipt_data_type::id, server_to_client_ack_text_msg_data_type::id_size, text_msg_ack_data_type::id_size, client_to_server_D607_open_text_msg_data_type::id_size, A604_server_to_client_open_text_msg_data_type::id_size, server_to_client_text_msg_receipt_data_type::id_size, canned_response_list_data_type::id_size, canned_response_list_receipt_data_type::id_size, message_status_request_data_type::id_size, message_status_data_type::id_size, text_msg_id_data_type::id_size, delete_message_request_data_type::id_size, delete_message_response_data_type::id_size, long_text_msg_data_type::id_size, long_text_msg_receipt_data_type::id_size, fmi_dashcam_ntfctn_incident_req_data_type::incident_fname, fmi_driver_profile_data_type::last_name, fmi_driver_profile_data_type_V2::last_name, sc_position_type::lat, fmi_driver_profile_data_type_V2::load_type_rule_set, fmi_dashcam_lock_settings_request_data_type::lock_change, fmi_dashcam_lock_settings_request_data_type::lock_change_adas, sc_position_type::lon, fmi_driver_profile_data_type::long_term_rule_set, fmi_driver_profile_data_type_V2::long_term_rule_set, speed_limit_alert_data_type::max_speed, canned_message_data_type::message, canned_message_data_type::message_id, canned_message_delete_data_type::message_id, canned_message_receipt_data_type::message_id, MESSAGE_THROTTLE_STATE_DISABLE, MESSAGE_THROTTLE_STATE_ENABLE, MESSAGE_THROTTLE_STATE_ERROR, A604_server_to_client_open_text_msg_data_type::message_type, minval, speed_limit_data_type::mode, text_msg_ack_data_type::msg_ack_type, waypoint_data_type::name, category_data_type::name, custom_avoid_type::name, fmi_sensor_config_request::name, custom_form_move_type::new_position, message_throttling_data_type::new_state, user_interface_text_data_type::new_text, fmi_dashcam_settings_list::new_value, packet_receipt_data_type::next_offset, fmi_dashcam_ntfctn_req_data_type::ntfctn_type, fmi_dashcam_ntfctn_incident_req_data_type::ntfctn_type, set_odometer_request_data_type::odometer_value, file_packet_data_type::offset, packet_receipt_data_type::offset, offset_of, fmi_sensor_receipt::operation_mode, A602_server_to_client_open_text_msg_data_type::origination_time, server_to_client_ack_text_msg_data_type::origination_time, text_msg_ack_data_type::origination_time, client_to_server_open_text_msg_data_type::origination_time, client_to_server_D607_open_text_msg_data_type::origination_time, A603_stop_data_type::origination_time, A602_stop_data_type::origination_time, A604_server_to_client_open_text_msg_data_type::origination_time, server_to_client_text_msg_receipt_data_type::origination_time, long_text_msg_data_type::origination_time, long_text_msg_receipt_data_type::origination_time, custom_avoid_feature_enable_type::origination_time, fmi_dashcam_lock_settings_request_data_type::origination_time, fmi_dashcam_ntfctn_req_data_type::origination_time, fmi_dashcam_ntfctn_incident_req_data_type::origination_time, message_throttling_data_type::packet_id, driver_id_D607_data_type::password, fmi_driver_profile_data_type::pin, fmi_alert_popup_request::play_sound, fmi_sensor_update_request::play_sound, custom_avoid_type::point1, custom_avoid_type::point2, eta_data_type::position_of_destination, speed_limit_alert_data_type::posn, waypoint_data_type::posn, product_id_data_type::product_id, file_receipt_data_type::record_count_or_reserved_when_gpi, fmi_sensor_update_request::record_sensor, fmi_set_baud_request::request_type, fmi_set_baud_receipt::request_type, canned_response_list_data_type::response_count, request_canned_response_list_refresh_data_type::response_count, message_throttling_list_data_type::response_count, canned_response_data_type::response_id, canned_response_delete_data_type::response_id, canned_response_receipt_data_type::response_id, canned_response_list_data_type::response_id, message_throttling_list_data_type::response_list, canned_response_data_type::response_text, file_receipt_data_type::result_code, file_receipt_from_srvr_data_type::result_code, server_to_client_text_msg_receipt_data_type::result_code, canned_response_receipt_data_type::result_code, canned_response_list_receipt_data_type::result_code, driver_id_receipt_data_type::result_code, driver_status_list_item_receipt_data_type::result_code, driver_status_receipt_data_type::result_code, canned_message_receipt_data_type::result_code, user_interface_text_receipt_data_type::result_code, safe_mode_speed_receipt_data_type::result_code, speed_limit_receipt_data_type::result_code, waypoint_rcpt_data_type::result_code, category_rcpt_data_type::result_code, delete_message_response_data_type::result_code, driver_login_service_receipt::result_code, fmi_driver_profile_data_type::result_code, fmi_ack_type::result_code, fmi_driver_status_log_dnld_resp_data_type::result_code, fmi_status_log_download_receipt_data_type::result_code, fmi_shipment_download_receipt_data_type::result_code, fmi_driver_aobrd_ack_data_type::result_code, long_text_msg_receipt_data_type::result_code, stop_calc_ack_type::result_code, custom_avoid_rcpt_type::result_code, fmi_ifta_data_fetch_receipt_type::result_code, fmi_ifta_data_delete_receipt_type::result_code, fmi_driver_profile_data_type_V2::result_code, fmi_logoff_driver_receipt::result_code, fmi_set_baud_receipt::result_code, fmi_alert_popup_receipt::result_code, fmi_sensor_receipt::result_code, fmi_sensor_query_display_index_receipt::result_code, fmi_hos_set_settings_receipt_data_type::result_code, fmi_dashcam_receipt_data_type::result_code, fmi_dashcam_get_settings_response_data_type::result_code, fmi_dashcam_get_ntfctn_settings_data_type::result_code, fmi_hos_auto_status_update_feature_rcpt::result_type, custom_form_delete_ack_type::return_code, custom_form_position_ack_type::return_code, custom_form_show_ack_type::return_code, client_to_server_D607_open_text_msg_data_type::scposn, fmi_dashcam_ntfctn_req_data_type::scposn, fmi_dashcam_ntfctn_incident_req_data_type::scposn, long_text_msg_data_type::sequence_number, long_text_msg_receipt_data_type::sequence_number, fmi_driver_annotation_data_type::server_annotation, fmi_driver_shipment_data_type::server_commodity, fmi_driver_shipment_data_type::server_doc_number, fmi_driver_shipment_data_type::server_end_time, fmi_driver_annotation_data_type::server_end_time, fmi_driver_shipment_data_type::server_result_code, fmi_driver_annotation_data_type::server_result_code, fmi_driver_shipment_data_type::server_shipper_name, fmi_driver_shipment_data_type::server_start_time, fmi_driver_annotation_data_type::server_start_time, fmi_driver_shipment_data_type::server_timestamp, fmi_driver_annotation_data_type::server_timestamp, fmi_dashcam_settings_list::setting_id, fmi_dashcam_set_config_request_data_type::settings_count, fmi_dashcam_get_settings_response_data_type::settings_count, fmi_dashcam_set_config_request_data_type::settings_list, fmi_dashcam_get_settings_response_data_type::settings_list, fmi_hos_set_settings_request_data_type::settings_value, fmi_hos_set_settings_receipt_data_type::settings_value, fmi_alert_popup_request::severity, fmi_sensor_update_request::severity, product_id_data_type::software_version, safe_mode_speed_data_type::speed, speed_limit_alert_data_type::speed, speed_limit_alert_data_type::speed_limit, SPEED_LIMIT_ALERT_BEGIN, SPEED_LIMIT_ALERT_CHANGE, SPEED_LIMIT_ALERT_END, SPEED_LIMIT_ALERT_ERROR, SPEED_LIMIT_ALERT_INVALID, SPEED_LIMIT_MODE_CAR, SPEED_LIMIT_MODE_OFF, SPEED_LIMIT_MODE_TRUCK, SPEED_LIMIT_RESULT_ERROR, SPEED_LIMIT_RESULT_MODE_UNSUPPORTED, SPEED_LIMIT_RESULT_SUCCESS, fmi_ifta_data_fetch_request_type::start_time, fmi_ifta_data_delete_request_type::start_time, driver_status_list_item_data_type::status, fmi_driver_profile_data_type::status, fmi_driver_profile_data_type_V2::status, fmi_logoff_driver_receipt::status, fmi_sensor_update_request::status, driver_id_data_type::status_change_id, driver_id_D607_data_type::status_change_id, driver_id_receipt_data_type::status_change_id, driver_status_data_type::status_change_id, driver_status_D607_data_type::status_change_id, driver_status_receipt_data_type::status_change_id, driver_id_data_type::status_change_time, driver_id_D607_data_type::status_change_time, driver_status_data_type::status_change_time, driver_status_D607_data_type::status_change_time, message_status_data_type::status_code, driver_status_list_item_data_type::status_id, driver_status_list_item_receipt_data_type::status_id, driver_status_list_item_delete_data_type::status_id, auto_arrival_data_type::stop_distance, stop_status_data_type::stop_index_in_list, fmi_hos_auto_status_update_feature::stop_moving_threshold, fmi_hos_auto_status_update_feature_rcpt::stop_moving_threshold, A603_stop_data_type::stop_position, A602_stop_data_type::stop_position, stop_status_data_type::stop_status, auto_arrival_data_type::stop_time, waypoint_data_type::symbol, protocol_support_data_type::tag, fmi_hos_set_settings_request_data_type::tag, fmi_hos_set_settings_receipt_data_type::tag, A603_stop_data_type::text, A602_stop_data_type::text, user_interface_text_data_type::text_element_id, user_interface_text_receipt_data_type::text_element_id, A602_server_to_client_open_text_msg_data_type::text_message, server_to_client_ack_text_msg_data_type::text_message, client_to_server_open_text_msg_data_type::text_message, client_to_server_D607_open_text_msg_data_type::text_message, A604_server_to_client_open_text_msg_data_type::text_message, long_text_msg_data_type::text_message, speed_limit_data_type::threshold, speed_limit_data_type::time_over, speed_limit_data_type::time_under, fmi_driver_profile_data_type::time_zone, fmi_driver_profile_data_type_V2::time_zone, fmi_alert_popup_request::timeout, speed_limit_alert_data_type::timestamp, speed_limit_alert_receipt_data_type::timestamp, long_text_msg_data_type::type, driver_login_service_data_type::ui_timestamp, driver_login_service_receipt::ui_timestamp, client_to_server_open_text_msg_data_type::unique_id, client_to_server_text_msg_receipt_data_type::unique_id, client_to_server_D607_open_text_msg_data_type::unique_id, A603_stop_data_type::unique_id, stop_status_data_type::unique_id, stop_status_receipt_data_type::unique_id, eta_data_type::unique_id, eta_data_receipt_type::unique_id, waypoint_data_type::unique_id, waypoint_rcpt_data_type::unique_id, stop_calc_ack_type::unique_id, stop_calc_ack_rcpt_type::unique_id, custom_avoid_type::unique_id, custom_avoid_rcpt_type::unique_id, custom_avoid_delete_type::unique_id, custom_avoid_enable_type::unique_id, fmi_alert_popup_request::unique_id, fmi_alert_popup_receipt::unique_id, fmi_sensor_config_request::unique_id, fmi_sensor_delete_request::unique_id, fmi_sensor_update_request::unique_id, fmi_sensor_query_display_index_request::unique_id, UNKNOWN_DRIVER, UNSUPPORTED, UPDATE_ACCEPT, UPDATE_DECLINE, UPDATE_FAIL, UPDATE_INTERFACE_ERROR, UPDATE_NO_DATA, UPDATE_NOT_READY, UPDATE_RESULT_ERROR, UPDATE_STORAGE_ERROR, and UTIL_convert_semicircles_to_degrees().
Referenced by formatTime().
|
private |
Interpret an HOSART packet; appending the information to the text in the packet window.
transmitted | The direction of the packet true = transmitted, !true = received |
aPacketId | The HOSART packet ID |
aPayload | The HOSART payload |
aPayloadSize | The size of the HOSART payload in bytes. |
Definition at line 3727 of file FmiLogParser.cpp.
References hosart_change_status::driver_id, hosart_change_to_driving_warning::driver_id, hosart_violation_found::driver_id, getGarminPacketName(), HOSART_CHANGE_STATUS, HOSART_CHANGE_TO_DRIVING_WARNING, HOSART_SET_PS_TO_OFF, HOSART_VIOLATION_FOUND, HOSART_WARNING_FOUND, minval, hosart_change_status::new_status, hosart_change_to_driving_warning::timestamp, hosart_violation_found::timestamp, hosart_change_to_driving_warning::violation_type, hosart_violation_found::violation_type, and hosart_change_to_driving_warning::warning_type.
Referenced by getHosartPacketName().
|
private |
Format latitude.
aSemicircles | Semicircles |
Definition at line 603 of file FmiLogParser.cpp.
References formatLongitude(), and UTIL_convert_semicircles_to_degrees().
Referenced by formatBoolean().
|
private |
Format longitude.
aSemicircles | Semicircles |
Definition at line 629 of file FmiLogParser.cpp.
References formatMessageId(), and UTIL_convert_semicircles_to_degrees().
Referenced by formatLatitude().
Format a message ID in hex, with up to 8 bytes per line.
aMessageId | The message ID to format |
aMessageIdSize | The number of significant bytes in the message ID |
Definition at line 657 of file FmiLogParser.cpp.
References formatText(), and minval.
Referenced by formatLongitude().
|
protectedinherited |
Format bytes into a multi logLine hex dump format.
aSize | The number of bytes to format |
aData | The bytes to format |
Definition at line 165 of file LogParser.cpp.
Referenced by LogParser::setRenderWidth().
|
private |
Format a text string, with up to 29 characters per line.
aText | The text string to format |
aMaxLength | The maximum number of bytes to translate |
Definition at line 683 of file FmiLogParser.cpp.
References CODEPAGE_UNICODE, and formatTime().
Referenced by formatMessageId().
|
private |
Format Garmin UTC timestamp.
aTimestamp | Garmin UTC timestamp |
Definition at line 725 of file FmiLogParser.cpp.
References formatFmiPacket(), UTIL_convert_seconds_to_date_type(), UTIL_convert_seconds_to_time_type(), UTIL_convert_UTC_to_local(), UTIL_format_date_string(), and UTIL_format_time_string().
Referenced by formatText().
|
inherited |
Get the path of the log file being parsed.
Definition at line 204 of file LogParser.cpp.
|
private |
Translate an FMI packet ID into a string describing the packet name.
Uses the mFmiPacketNames map.
aPacketId | The FMI packet ID |
Definition at line 3677 of file FmiLogParser.cpp.
References getHosartPacketName().
Referenced by formatFmiPacket().
|
private |
Translate a Garmin command ID into a string describing the command name.
Uses the mGarminCommandNames map.
aCommandId | The Garmin command ID |
Definition at line 3886 of file FmiLogParser.cpp.
References appendIFTADataModResultCode().
Referenced by getGarminPacketName().
|
private |
Translate a Garmin packet ID into a string describing the packet name.
Uses the mGarminPacketNames map.
aPacketId | The FMI packet ID |
Definition at line 3858 of file FmiLogParser.cpp.
References getGarminCommandName().
Referenced by formatHosartPacket().
|
private |
Definition at line 3698 of file FmiLogParser.cpp.
References formatHosartPacket().
Referenced by getFmiPacketName().
|
inherited |
Return the number of lines parsed so far.
Definition at line 141 of file LogParser.cpp.
References LogParser::setRenderWidth().
|
virtual |
Print a particular packet to the packet view.
Opens the currently viewed log file, reads to the logLine requested, and prints the information to the packet view of the log dialog
aPacketNumber | The index of the packet data logLine to read. Note that this index does not include the log header; the first actual data packet logged has an index of 0. |
Implements LogParser.
Definition at line 232 of file FmiLogParser.cpp.
References pvt_data_type::altitude, date_time_data_type::date, date_time_data_type::_date::day, pvt_data_type::east_velocity, pvt_data_type::epe, pvt_data_type::eph, pvt_data_type::epv, formatBoolean(), date_time_data_type::_time::hour, ID_ACK_BYTE, ID_COMMAND_BYTE, ID_DATE_TIME_DATA, ID_DLE_BYTE, ID_ETX_BYTE, ID_FMI_PACKET, ID_HOSART_PACKET, ID_NAK_BYTE, ID_PRODUCT_DATA, ID_PVT_DATA, ID_SET_TIME_PACKET, ID_UNIT_ID, double_position_type::lat, pvt_data_type::leap_seconds, double_position_type::lon, MAX_PACKET_SIZE, MAX_PAYLOAD_SIZE, pvt_data_type::mean_sea_level_height, date_time_data_type::_time::minute, minval, date_time_data_type::_date::month, pvt_data_type::north_velocity, PACKET_STATUS_DLE_STUFF_ERROR, PACKET_STATUS_FRAMING_ERROR_ETX, PACKET_STATUS_FRAMING_ERROR_STX, PACKET_STATUS_OK, PACKET_STATUS_TOO_SHORT, pvt_data_type::position, product_id_data_type::product_id, date_time_data_type::_time::second, SIZE_OF_FOOTER, product_id_data_type::software_version, date_time_data_type::time, pvt_data_type::time_of_week, pvt_data_type::type_of_gps_fix, unit_id_data_type::unit_id, pvt_data_type::up_velocity, UTIL_convert_radians_to_degrees(), UTIL_convert_semicircles_to_degrees(), UTIL_hex_to_uint8(), pvt_data_type::week_number_days, and date_time_data_type::_date::year.
Referenced by getPacketTitle().
|
virtual |
Construct a packet title for the given log logLine.
The packet title is normally the Garmin packet name, but for FMI packets the FMI packet name is used, and for Garmin commands the Garmin command name is used.
aPacketNumber | The index of the packet to retrieve |
Implements LogParser.
Definition at line 77 of file FmiLogParser.cpp.
References getPacketDetail(), ID_COMMAND_BYTE, ID_DLE_BYTE, ID_FMI_PACKET, ID_HOSART_PACKET, ID_SET_TIME_PACKET, and UTIL_hex_to_uint8().
Referenced by ~FmiLogParser().
|
inherited |
Initialize the LogParser to read a particular file.
aFilename | The file to read |
Definition at line 193 of file LogParser.cpp.
|
private |
Initialize the map of FMI packet IDs to text strings.
Definition at line 4243 of file FmiLogParser.cpp.
References FEATURE_ID_A607_SUPPORT, FEATURE_ID_AOBRD_SUPPORT, FEATURE_ID_DRIVER_PASSWORDS, FEATURE_ID_MULTIPLE_DRIVERS, and FEATURE_ID_UNICODE.
|
private |
Initialize the map of FMI packet IDs to text strings.
Definition at line 4007 of file FmiLogParser.cpp.
References FMI_ALERT_POPUP_RECEIPT, FMI_ALERT_POPUP_REQUEST, FMI_ANNOTATION_DOWNLOAD_RECEIPT, FMI_ANNOTATION_DOWNLOAD_REQUEST, FMI_ANNOTATION_DOWNLOAD_RESPONSE, FMI_AOBRD_DRIVER_LOGOFF_RECEIPT, FMI_AOBRD_DRIVER_LOGOFF_REQUEST, FMI_CUSTOM_AVOID_ADD_RECEIPT, FMI_CUSTOM_AVOID_ADD_REQUEST, FMI_CUSTOM_AVOID_DEL_RECEIPT, FMI_CUSTOM_AVOID_DEL_REQUEST, FMI_CUSTOM_AVOID_ENABLE_FEATURE_RECEIPT, FMI_CUSTOM_AVOID_ENABLE_FEATURE_REQUEST, FMI_CUSTOM_AVOID_TOGGLE_RECEIPT, FMI_CUSTOM_AVOID_TOGGLE_REQUEST, FMI_CUSTOM_FORM_DEL_RECEIPT, FMI_CUSTOM_FORM_DEL_REQUEST, FMI_CUSTOM_FORM_GET_POS_RECEIPT, FMI_CUSTOM_FORM_GET_POS_REQUEST, FMI_CUSTOM_FORM_MOVE_RECEIPT, FMI_CUSTOM_FORM_MOVE_REQUEST, FMI_CUSTOM_FORM_SHOW_RECEIPT, FMI_CUSTOM_FORM_SHOW_REQUEST, FMI_DASHCAM_CONFIG_RECEIPT, FMI_DASHCAM_CONFIG_REQUEST, FMI_DASHCAM_GET_NTFCTN_SETTINGS_REQUEST, FMI_DASHCAM_GET_NTFCTN_SETTINGS_RESPONSE, FMI_DASHCAM_GET_SETTINGS_REQUEST, FMI_DASHCAM_GET_SETTINGS_RESPONSE, FMI_DASHCAM_INCDNT_FILE_NTFCTN_RECEIPT, FMI_DASHCAM_INCDNT_FILE_NTFCTN_REQUEST, FMI_DASHCAM_NTFCTN_RECEIPT, FMI_DASHCAM_NTFCTN_REQUEST, FMI_DASHCAM_SET_NTFCTN_RECEIPT, FMI_DASHCAM_SET_NTFCTN_REQUEST, FMI_DASHCAM_SETTINGS_LOCK_RECEIPT, FMI_DASHCAM_SETTINGS_LOCK_REQUEST, FMI_DOWNLOAD_SHIPMENTS_REQUEST, FMI_DRIVER_LOGIN_REQUEST, FMI_DRIVER_LOGIN_RESPONSE, FMI_DRIVER_PROFILE_DOWNLOAD_REQUEST, FMI_DRIVER_PROFILE_DOWNLOAD_RESPONSE, FMI_DRIVER_PROFILE_DOWNLOAD_RESPONSE_V2, FMI_DRIVER_PROFILE_UPDATE, FMI_DRIVER_PROFILE_UPDATE_RESPONSE, FMI_DRIVER_PROFILE_UPDATE_V2, FMI_DRIVER_STATUS_UPDATE_RECEIPT, FMI_DRIVER_STATUS_UPDATE_REQUEST, FMI_DRIVER_STATUS_UPDATE_RESPONSE, FMI_HOS_8_HOUR_RULE_ENABLE_RECEIPT, FMI_HOS_8_HOUR_RULE_ENABLE_REQUEST, FMI_HOS_AUTO_STATUS_FEATURE_RECEIPT, FMI_HOS_AUTO_STATUS_FEATURE_REQUEST, FMI_HOS_SET_SETTING_DATA_RECEIPT, FMI_HOS_SET_SETTING_DATA_REQUEST, FMI_ID_A602_STOP, FMI_ID_A603_STOP, FMI_ID_A604_OPEN_TEXT_MSG, FMI_ID_A604_OPEN_TEXT_MSG_RCPT, FMI_ID_A607_CLIENT_OPEN_TXT_MSG, FMI_ID_AUTO_ARRIVAL, FMI_ID_CANNED_RESP_LIST_RCPT, FMI_ID_CLIENT_OPEN_TXT_MSG, FMI_ID_CLIENT_TXT_MSG_RCPT, FMI_ID_CREATE_WAYPOINT_CAT, FMI_ID_CREATE_WAYPOINT_CAT_RCPT, FMI_ID_DATA_DELETION, FMI_ID_DEL_DRIVER_STATUS_LIST_ITEM_RCPT, FMI_ID_DELETE_CANNED_MSG, FMI_ID_DELETE_CANNED_MSG_RCPT, FMI_ID_DELETE_CANNED_RESPONSE, FMI_ID_DELETE_CANNED_RESPONSE_RCPT, FMI_ID_DELETE_DRIVER_STATUS_LIST_ITEM, FMI_ID_DELETE_WAYPOINT_CAT, FMI_ID_DELETE_WAYPOINT_CAT_RCPT, FMI_ID_DRIVER_ID_RCPT, FMI_ID_DRIVER_ID_REQUEST, FMI_ID_DRIVER_ID_UPDATE, FMI_ID_DRIVER_ID_UPDATE_D607, FMI_ID_DRIVER_STATUS_LIST_REFRESH, FMI_ID_DRIVER_STATUS_RCPT, FMI_ID_DRIVER_STATUS_REQUEST, FMI_ID_DRIVER_STATUS_UPDATE, FMI_ID_DRIVER_STATUS_UPDATE_D607, FMI_ID_ENABLE, FMI_ID_ETA_DATA, FMI_ID_ETA_DATA_RCPT, FMI_ID_ETA_DATA_REQUEST, FMI_ID_ETA_MODE_RCPT, FMI_ID_ETA_MODE_REQUEST, FMI_ID_FILE_DATA_PACKET, FMI_ID_FILE_END_RCPT, FMI_ID_FILE_PACKET_RCPT, FMI_ID_FILE_START_RCPT, FMI_ID_FILE_TRANSFER_END, FMI_ID_FILE_TRANSFER_START, FMI_ID_GPI_FILE_INFORMATION, FMI_ID_GPI_FILE_INFORMATION_REQUEST, FMI_ID_LONG_TEXT_MSG, FMI_ID_LONG_TEXT_MSG_RCPT, FMI_ID_MSG_THROTTLING_COMMAND, FMI_ID_MSG_THROTTLING_QUERY, FMI_ID_MSG_THROTTLING_QUERY_RESPONSE, FMI_ID_MSG_THROTTLING_RESPONSE, FMI_ID_PING, FMI_ID_PING_RESPONSE, FMI_ID_PRODUCT_ID_DATA, FMI_ID_PRODUCT_ID_SUPPORT_RQST, FMI_ID_PROTOCOL_DATA, FMI_ID_REFRESH_CANNED_MSG_LIST, FMI_ID_REFRESH_CANNED_RESP_LIST, FMI_ID_SERVER_OK_ACK_TXT_MSG, FMI_ID_SERVER_OPEN_TXT_MSG, FMI_ID_SERVER_YES_NO_CONFIRM_MSG, FMI_ID_SET_CANNED_MSG, FMI_ID_SET_CANNED_MSG_RCPT, FMI_ID_SET_CANNED_RESP_LIST, FMI_ID_SET_CANNED_RESPONSE, FMI_ID_SET_CANNED_RESPONSE_RCPT, FMI_ID_SET_DRIVER_STATUS_LIST_ITEM, FMI_ID_SET_DRIVER_STATUS_LIST_ITEM_RCPT, FMI_ID_SORT_STOP_LIST, FMI_ID_SORT_STOP_LIST_ACK, FMI_ID_STOP_STATUS, FMI_ID_STOP_STATUS_RCPT, FMI_ID_STOP_STATUS_REQUEST, FMI_ID_TEXT_MSG_ACK, FMI_ID_TEXT_MSG_ACK_RCPT, FMI_ID_TEXT_MSG_DELETE_REQUEST, FMI_ID_TEXT_MSG_DELETE_RESPONSE, FMI_ID_TEXT_MSG_STATUS, FMI_ID_TEXT_MSG_STATUS_REQUEST, FMI_ID_UNICODE_REQUEST, FMI_ID_UNICODE_RESPONSE, FMI_ID_USER_INTERFACE_TEXT, FMI_ID_USER_INTERFACE_TEXT_RCPT, FMI_ID_WAYPOINT, FMI_ID_WAYPOINT_DELETE, FMI_ID_WAYPOINT_DELETED, FMI_ID_WAYPOINT_DELETED_RCPT, FMI_ID_WAYPOINT_RCPT, FMI_IFTA_DATA_DELETE_RECEIPT, FMI_IFTA_DATA_DELETE_REQUEST, FMI_IFTA_DATA_FETCH_RECEIPT, FMI_IFTA_DATA_FETCH_REQUEST, FMI_REBOOT_DEVICE_REQUEST, FMI_SAFE_MODE, FMI_SAFE_MODE_RESP, FMI_SENSOR_CONFIG_RECEIPT, FMI_SENSOR_CONFIG_REQUEST, FMI_SENSOR_DELETE_RECEIPT, FMI_SENSOR_DELETE_REQUEST, FMI_SENSOR_QUERY_DISPLAY_INDEX_RECEIPT, FMI_SENSOR_QUERY_DISPLAY_INDEX_REQUEST, FMI_SENSOR_UPDATE_REQUEST, FMI_SET_BAUD_RECEIPT, FMI_SET_BAUD_REQUEST, FMI_SET_ODOMETER_REQUEST, FMI_SHIPMENT_DOWNLOAD_RECEIPT, FMI_SHIPMENT_DOWNLOAD_RESPONSE, FMI_SPEED_LIMIT_ALERT, FMI_SPEED_LIMIT_ALERT_RCPT, FMI_SPEED_LIMIT_RCPT, FMI_SPEED_LIMIT_SET, FMI_STOP_CALC_ACK_RECEIPT, FMI_STOP_CALC_ACK_REQUEST, HOSART_CHANGE_STATUS, HOSART_CHANGE_TO_DRIVING_WARNING, HOSART_SET_PS_TO_OFF, HOSART_VIOLATION_FOUND, and HOSART_WARNING_FOUND.
|
private |
Initialize the map of Garmin command IDs to text strings.
Definition at line 4288 of file FmiLogParser.cpp.
References COMMAND_REQ_DATE_TIME, COMMAND_REQ_UNIT_ID, COMMAND_TURN_OFF_PVT_DATA, COMMAND_TURN_ON_PVT_DATA, and resendPacket().
|
private |
Initialize the map of Garmin packet IDs to text strings.
Definition at line 4258 of file FmiLogParser.cpp.
References ID_ACK_BYTE, ID_COMMAND_BYTE, ID_FMI_PACKET, ID_HOSART_PACKET, ID_NAK_BYTE, ID_PRODUCT_DATA, ID_PRODUCT_RQST, ID_PROTOCOL_ARRAY, ID_PVT_DATA, ID_SET_TIME_PACKET, and ID_UNIT_ID.
|
inherited |
Reads from the log file starting from the end of the last read position and adds it to the display.
The display text is normally the Garmin packet name, but for FMI packets the FMI packet name is used, and for Garmin commands the Garmin command name is used.
Definition at line 44 of file LogParser.cpp.
References cnt_of_array, FALSE, and TRUE.
|
virtual |
Resend a packet to the client.
aLineNumber | The line number of tha packet to send |
Implements LogParser.
Definition at line 4302 of file FmiLogParser.cpp.
References FALSE, GarminTransportLayer::getInstance(), ID_DLE_BYTE, MAX_PACKET_SIZE, MAX_PAYLOAD_SIZE, GarminTransportLayer::tx(), and UTIL_hex_to_uint8().
Referenced by initGarminCommandNames().
|
inherited |
Reset the log parser to initial state.
Definition at line 130 of file LogParser.cpp.
|
inherited |
Set the number of pixels available for rendering text.
aWidth | The width of the packet detail area, in pixels |
Definition at line 151 of file LogParser.cpp.
References LogParser::formatMultiLineHex().
Referenced by LogParser::getLineCount().
|
private |
Map of FMI feature IDs to display names for formatting.
Definition at line 161 of file FmiLogParser.h.
|
private |
Map of FMI packet IDs to display names for formatting.
Definition at line 156 of file FmiLogParser.h.
|
private |
Map of Garmin command IDs to display names for formatting.
Definition at line 149 of file FmiLogParser.h.
|
private |
Map of Garmin packet IDs to display names for formatting.
Definition at line 152 of file FmiLogParser.h.
|
private |
Map of HOSART packet IDs to display names for formatting.
Definition at line 166 of file FmiLogParser.h.
|
protectedinherited |
If TRUE, the log was started in the mIsMorning (computed from log header)
Definition at line 89 of file LogParser.h.
|
protectedinherited |
Number of lines that have been parsed so far.
Definition at line 98 of file LogParser.h.
|
protectedinherited |
Map of log items to the offset in the log file where the text line starts.
Definition at line 95 of file LogParser.h.
|
protectedinherited |
File name of the currently open log file.
Definition at line 74 of file LogParser.h.
|
protectedinherited |
Hour of the time when the log file was created (from log header)
Definition at line 77 of file LogParser.h.
|
protectedinherited |
Milliseconds of the time when the log file was created (from log header)
Definition at line 86 of file LogParser.h.
|
protectedinherited |
Minutes of the time when the log file was created (from log header)
Definition at line 80 of file LogParser.h.
|
protectedinherited |
Seconds of the time when the log file was created (from log header)
Definition at line 83 of file LogParser.h.
|
protectedinherited |
Offset of the log file where parsing stopped.
Definition at line 92 of file LogParser.h.
|
protectedinherited |
Available width in pixels to render the packet detail.
Definition at line 101 of file LogParser.h.