MsgUtils

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates

Changeset 9d547159d805f3a0b0f2f6a11f4e34feb5117b65 does not exist.

LDT-5291: Cloud Communication - SW - 01 - Device-RT to Cloud - Integration - Demo Focus - R&I - 03: DEV - Feature Implementation & Code Document [& Diagnostics]

- Added MQTT message statistics (mqtt.stats) for tracking message publication and subscription times.

- Added CAN message receive statistics (can.stats).

- Updated MqttClient to change MqttClient::didMessageReceived signature to match QMqttClient.

- Update CANDumpPlayer to add per-frame, per-message, and total replay duration statistics.

- Fixed the debug build against the b2qt SDK by undefining _FORTIFY_SOURCE, which is baked into CXX in the SDK and errors during build under -Werror without optimization.

  1. … 9 more files in changeset.
LDT-5291: Cloud Communication - SW - 01 - Device-RT to Cloud - Integration - Demo Focus - R&I - 03: DEV - Feature Implementation & Code Document [& Diagnostics]

- Renamed message handling to CAN routing.

- Update MqttClient to simplify and move responsibility/functionality to class encapsulating it.

- Updated MqttClient::init() to verify that the CA, certificate and key files exist before use.

- Added CloudConnectController::loadConfig() and removed the config paths from the constructor.

- Added CloudConnectController inbound cloud message handling and decoding the protobuf.

- Removed the temporary protobuf capture-to-file code and its Capture INI section.

- Updated CloudConnect.ini format.

- Added logging categories config, proto, can.routing, mqtt, mqtt.stats and comms.types, and converted the bare qInfo/qWarning calls to categorized logging.

- Updated Types::getValue() and Types::getBits() to warn when the buffer is too short.

- Updated the protobuf Header to drop deviceSerialNum.

- Updated serializeProto() and canMessageToProtobufByteArray() to return bool and write the result through a QByteArray out-parameter.

- Updated CloudConnect.pro to add the Qt Mqtt module.

  1. … 26 more files in changeset.
LDT-5291: Cloud Communication - SW - 01 - Device-RT to Cloud - Integration - Demo Focus - R&I - 03: DEV - Feature Implementation & Code Document [& Diagnostics]

- Removed MqttPublisher, MqttTcpTransport and MqttTransport (to use QtMqtt instead).

- Added MqttClient (wrapping QMqttClient) for MQTT connection to DCS.

- Moved MqttPacket from Comms to tools/DCSsim since it is no longer needed by CloudConnect.

- Updated Comms build files to add the Qt Mqtt module dependency.

- Updated CloudConnectController to use MqttClient.

- Updated CloudConnect.ini to add TLS keys.

- Added SslTcpServer to DCSsim so the sim can accept TLS connections.

- Updated the C++ standard to c++17 in .qmake.conf, all .pro files and all CMakeLists.txt.

- Renamed codegen.pri to codegen_tools.pri.

  1. … 28 more files in changeset.
LDT-5277: Cloud Communication - SW - 01 - Device-RT to Cloud - DHS Agent migration - R&I - 03: DEV - Feature Implementation & Code Document [& Diagnostics]

- Updated so rpath is updated so shared libs are found during runtime.

  1. … 1 more file in changeset.
LDT-5277: Cloud Communication - SW - 01 - Device-RT to Cloud - DHS Agent migration - R&I - 03: DEV - Feature Implementation & Code Document [& Diagnostics]

- Updated so that build clean does not delete LeahiMsgHandling.ini.

- Updated to fix generateed file dependency for objects.

- Updated so that outputed lib files are deleted when doing a build clean.

- Updated so codegen.pri diagnostics reports missing python3-venv, venv left without an interpreter, and a missing protoc.

  1. … 2 more files in changeset.
LDT-5277: Cloud Communication - SW - 01 - Device-RT to Cloud - DHS Agent migration - R&I - 03: DEV - Feature Implementation & Code Document [& Diagnostics]

- Renamed LeahiRt to CloudConnect.

  1. … 26 more files in changeset.
LDT-5059: Cloud Communication - SW - 01 - AgentSim - LogUpload - R&I - 05: DEV - Feature Implementation

- Added qmake build.

- Moved the CAN comms sources from MsgUtils to Comms: CanMessage, FrameInterface, MessageBuilder, MessageDispatcher, crc, format, main, and types.

- Renamed AgentMessage -> RtMessage and AgentInterface -> RtInterface.

- Added RtServer and updated LeahiRtController to use it.

- Added LeahiRtMsgHandling.ini for per-message drop/send_always/send_delta handling and the outbound topic from configuration.

- Updated the SDD PlantUML diagrams.

  1. … 47 more files in changeset.
LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Updated LeahiRtController to load message handling INI and use it to determine how to handle/route messages to Agent.

- Moved MsgIni to MsgHandlingIni.

  1. … 15 more files in changeset.
LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Updated MsgIni.py to use jinja.

  1. … 4 more files in changeset.
LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Added scripts/MsgUtils/msgutils/MsgIni.py for reading/writing a message handling INI file.

- Added scripts/MsgUtils/GenerateMsgIni.py driver script for creating/updating a message handling INI file.

- Updated MsgUtils.cmake to add generate_message_ini() cmake function for adding message handling INI creation/updating to build process.

- Added missing lib/MsgUtils/include/MessageDispatcher.h.

    • -0
    • +202
    ./include/MessageDispatcher.h
  1. … 5 more files in changeset.
LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Added MsgProtoUtils_h.jinja and MsgProtoUtils_cpp.jinja templates generating struct <-> protobuf conversion utilities (LeahiMsgProtoUtils.h/.cpp).

- Added write_msg_proto_utils_header/source to MsgCpp.py and a --proto flag path in GenerateMsgDefsCpp.py to produce the new files.

- Removed the proto flag from write_msg_defs_header/source and the MsgDefs templates so MsgDefs no longer embeds protobuf utilities.

- Updated MsgUtils.cmake to declare the MsgProtoUtils outputs and template dependencies, and CMakeLists.txt to list the generated files.

- Removed the obsolete ProtoInterface.h/cpp.

- Updated LeahiRtController to include LeahiMsgProtoUtils.h.

- Added MessageDispatcher to MsgUtils.

- Updated LeahiRt main.cpp signal handling to use signalfd + QSocketNotifier for graceful shutdown inside the event loop.

- Updated tools/CMakeLists.txt to build AgentSim.

- Updated AgentSimController::handleMessage to output received message protobuf to console.

    • -0
    • +244
    ./src/MessageDispatcher.cpp
  1. … 16 more files in changeset.
LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Ported MessageDispatcher into MsgUtils for per-CAN-id multi-frame reassembly and wired it into LeahiRtController.

- Enabled MessageDispatcher.h/.cpp in MsgUtils CMakeLists.txt and removed the unused absl dependency.

- Fixed MsgData.py duplicate-ID/duplicate-name warning messages and msg_id parsing.

- Updated MsgDefs jinja templates to guard protobuf generation behind the proto flag, rename params to paramList, and fixed the static capture lambda.

- Reimplemented MessageBuilder::getActionId and added Types::BOOL alias.

- Renamed SDD CloudSyncRt.puml to RealtimeDataTransfer.puml.

  1. … 11 more files in changeset.
LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Added cmake/PythonVenv.cmake which creates a project-wide venv at ${CMAKE_BINARY_DIR}/.venv and provides a register_python_package() helper.

- Included PythonVenv.cmake from the top-level CMakeLists.txt so the venv is available before any subdirectory is added.

- Stripped per-component venv setup from lib/MsgUtils/CMakeLists.txt and replaced it with register_python_package(${MSGUTILS_SCRIPTS_DIR}).

- Replaced MSGUTILS_PYTHON references in lib/MsgUtils/cmake/MsgUtils.cmake with PROJECT_PYTHON.

- register_python_package re-runs pip install only when pyproject.toml changes, keyed off a stamp file under build/python-venv-stamps/.

  1. … 2 more files in changeset.
LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Moved lib/MsgUtils/scripts to scripts/MsgUtils.

- Updated lib/MsgUtils/CMakeLists.txt and associated files for move.

  1. … 17 more files in changeset.
LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Updated all CMakeLists.txt files to remove deprecated code.

- Updated MsgUtils/CMakeLists.txt to add package absl required for protobuf.

  1. … 4 more files in changeset.
LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Updated all CMakeLists.txt files to remove deprecated code.

- Updated MsgUtils/CMakeLists.txt to add package absl required for protobuf.

  1. … 5 more files in changeset.
LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Updated MsgUtils/CMakeLists.txt to use venv to setup user environment with MsgUtils module.

- Updated MsgUtils.cmake to use updated venv python.

- Removed MsgUtils/scripts/setup.py since no longer doing global pip install.

- Updated pyproject.toml for MsgUtil module definitions.

- Updated MessageBuilder.cpp and LeahiRt/main.cpp to fix compile errors.

  1. … 1 more file in changeset.
LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Moved AgentMessage.h/cpp from Comms lib to MsgUtils lib.

- Added AgentInterface to Comms lib for connect as client to Agent local socket.

- Updated LeahiRtController to use AgentInterface.

    • -0
    • +189
    ./include/AgentMessage.h
    • -0
    • +175
    ./src/AgentMessage.cpp
  1. … 10 more files in changeset.
LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Updaetd LeahiRtController.cpp to remove references to debug code.

- Updated lib/MsgUtils/CMakeLists.txt to reference correct Unhandled.conf.

  1. … 1 more file in changeset.
LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Updated lib/MsgUtils/CMakeLists.txt to install MsgUtils module, if necessary.

- Updated cmake/MsgUtils.cmake for modularization.

- Moved MsgCpp.py, MsgData.py, MsgProtobuf.py, and jinja templates to msgutils sub-directory for modularization.

- Updated GenerateMsgDefsCpp.py and GenerateProtobuf.py to use MsgUtils module.

- Added required python files for modularization.

    • -0
    • +176
    ./scripts/msgutils/MsgCpp.py
    • -0
    • +234
    ./scripts/msgutils/MsgData.py
    • -0
    • +42
    ./scripts/msgutils/MsgProtobuf.py
    • -0
    • +3
    ./scripts/msgutils/__init__.py
    • -0
    • +147
    ./scripts/msgutils/templates/MsgDefs_cpp.jinja
    • -0
    • +96
    ./scripts/msgutils/templates/MsgDefs_h.jinja
    • -0
    • +60
    ./scripts/msgutils/templates/MsgDefs_proto.jinja
  1. … 5 more files in changeset.
LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Updated MsgUtils.cmake to add generation functions using conf files.

- Updated GenerateMsgDefsCpp.py and GenerateProtobuf.py to use conf files.

- Updated MsgCpp.py and MsgData.py to load conf files.

- Updated MsgDefs_cpp.jinja to fix compiler warning.

- Updated format.cpp to compile with both Qt 5 and 6.

LDT-2852 - Cloud Communication - SW - 01 - Realtime data transfer - R&I - 05: DEV - Feature Implementation

- Initial commit for Real-time Data Transfer.

- Added MsgUtils library for handling CAN and protobuf messages.

- Added Comms library for handling communications on CAN bus and future protobuf interfaces.

- Added CloudSyncRt program for reading CAN messages and converting them to protobuf messages.

- Added CANDumpPlayer program for reading CAN dumps and sending read messages on CAN interface.

    • -0
    • +19
    ./MsgUtilsConfig.cmake.in
    • -0
    • +11
    ./MsgUtilsConfigVersion.cmake.in
    • -0
    • +146
    ./cmake/MsgUtils.cmake
    • -0
    • +198
    ./include/CanMessage.h
    • -0
    • +128
    ./include/FrameInterface.h
    • -0
    • +95
    ./include/MessageBuilder.h
    • -0
    • +184
    ./include/types.h
    • -0
    • +40
    ./scripts/GenerateMsgDefsCpp.py
    • -0
    • +35
    ./scripts/GenerateProtobuf.py
  1. … 34 more files in changeset.