TABLE OF CONTENTS


SDK 2021.0 [May 2021]


org.openjaus.sdk.cpp [8.0.0]


Added

  • New logging framework compiled into libopenjaus under the openjaus::logging namespace which allows for sending logs to the Console, a File, or to a Remote viewer, or some combination. Configuration of how and which log messages will be output can be done using an ojlogconfig file.
  • Throw exceptions if the loaded ojconf file is missing settings for a component. Minimizes ability for application to run with a bad configuration leading to unknown behavior.
  • Ability to inject a JsonConfiguration with the application settings instead of loading from the ojconf file.
  • Derived openjaus::system::Exception classes, which can be caught and handled vs generic system::Exception with a description string.
  • DateStamp::setYearOffset function which takes an offset from 2000 and can be used in lieu of the previous setYear behavior
  • openjaus::toUpper method to openjaus/system/String.h
  • Out of the box support for cmake

Changed

  • Renamed premake generated project name from org.openjaus.sdk.cpp to openjaus-sdk
  • Renamed apps folder to examples
  • Renamed BaseDemo to BasicExample
  • [BREAKING] Typo in ImageStabilization enum in ReportVisualSensorConfiguration message fixed which resulted in needed to rename both ImageStabilization enums
    • ImageStablizationEnumeration --> ImageStabilizationConfigurationEnumeration
    • ImageStabilizationEnumeration --> ImageStabilizationCapabilityEnumeration
  • [BREAKING] Fixed incorrect usages of Ref in field names. Results in the following class name changes:
    • AnalogVideoSensorConfigurationListRefArray --> AnalogVideoSensorConfigurationList
    • ConfirmSensorListRefArray --> ConfirmSensorList
    • DataCompressionRefEnumeration --> DataCompressionEnumeration
    • DigitalVideoSensorConfigurationListRefArray --> DigitalVideoSensorConfigurationList
    • FrameSizeRefEnumeration --> FrameSizeEnumeration
    • GeometricPropertiesListRefArray --> GeometricPropertiesList
    • RangeSensorConfigurationListRefArray --> RangeSensorConfigurationList
    • RangeSensorDataErrorRecRefRecord --> RangeSensorDataErrorRecord
    • ReportCoordinateSystemRefEnumeration --> ReportCoordinateSystemEnumeration
    • RequestIdRecRefRecord --> RequestIdRecord
    • SensorIdListRefArray --> SensorIdList
    • SensorPositionRefArray --> SensorPositionArray
    • StillImageSensorConfigurationListRefArray --> StillImageSensorConfigurationList
    • UnitQuaternionRefArray --> UnitQuaternionArray
    • VisualSensorConfigurationRefArray --> VisualSensorConfigurationList
    • ElementListRefArray --> ElementList
    • MagneticVariationRefScaledInteger --> MagneticVariationScaledInteger
    • PathToleranceRefScaledInteger --> PathToleranceScaledInteger
    • WaypointToleranceRefScaledInteger --> WaypointToleranceScaledInteger
    • WeightingFactorRefScaledInteger --> WeightingFactorScaledInteger
    • StabilizerIDListRefArray --> StabilizerIDList
  • [BREAKING] DateStamp::setYear function takes the full year (eg. 2021) instead of an offset from 2000 (eg. 21)
  • Replaced ChangeLog.txt with CHANGELOG.md for tracking code changes
  • Updated internal log messages to use new logging system.

Removed

  • OpenJAUS Service Studio (OJSS) models (.ojss files). Models have been consolidated and only released as part of OJSS.
  • Almost all examples; except for the BasicExample (previously called BaseDemo) (examples will be released separately)
  • ojlibs, ojutils, ojbase, and ojall premake4 options.
  • [BREAKING] Previously deprecated legacy segments of codebase (core, mobility, etc).
  • [BREAKING] Previously deprecated manipulator_v1_0 code.
  • [BREAKING] "catch-all" header files:
    • openjaus.h
    • openjaus/core_v1_1.h
    • openjaus/environment_v1_0.h
    • openjaus/mobility_v1_0.h
    • openjaus/model.h
    • openjaus/system.h
    • openjaus/transport.h
    • openjaus/transport/AS5669.h
  • [BREAKING] Previously deprecated services::Events methods
    • bool publish(openjaus::model::Message *message)
    • bool unpublish(openjaus::model::Message *message)
    • bool publish(uint16 messageId)
  • [BREAKING] Previously deprecated LOG_EXCEPTION, THROW_EXCEPTION, and RETURN_AFTER_EXCEPTION macros
  • [BREAKING] OJ_LOG_EXCEPTION macro.

Fixed

  • Incorrect service versions for Transport, Liveness, and Discovery. Update EventsClient and DiscoveryClient versions to match corresponding service.
  • Events didn't correctly send the ConfirmEventRequest message on Timeout in Linux
  • Added ListManager to core_v1_1 to align with AS5710A.
  • ugv_v1_0::ReportPowerPlantStatus::DieselEngineStatus RemainingFuel and OilPressure fields incorrectly serialized as unsigned shorts instead of unsigned bytes.

org.openjaus.manipulator-v2.0.cpp [7.0.0]


Added

  • Out of the box support for cmake

Changed

  • [BREAKING] Use core_v1_1::ListManager instead of mobility_v1_0::ListManager
  • Installation folder changed from org.openjaus.manipulator_v2_0 to org.openjaus.manipulator-v2.0
  • Replaced ChangeLog.txt with CHANGELOG.md for tracking code changes

Fixed

  • [BREAKING] Fix incorrect input parameter to ManipulatorEndEffectorPoseListDriver::getReportCommandedEndEffectorPose

Removed

  • OpenJAUS Service Studio (OJSS) models (.ojss files). Models have been consolidated and only released as part of OJSS.
  • [BREAKING] Remove "catch-all" header openjaus/manipulator_v2_0.h

org.openjaus.iop-v3.cpp [2.0.0]


Added

  • Support for specifing a custom Component ID Assignment method
  • Out of the box support for cmake

Changed

  • [BREAKING] Updated awkward class names:
    • CommsLostPolicyVarVariant --> CommsLostPolicyVariant
    • CostMap2DDataVarVariant --> CostMap2DDataVariant
    • CostMap2DPoseVarVariant --> CostMap2DPoseVariant
    • PathVarVariant --> PathVariant
    • PresetPositionsVarVariant --> PresetPositionsVariant
    • QueryCostMap2DCenterVarVariant --> QueryCostMap2DCenterVariant
    • ReportCurrentPoseVarVariant --> ReportCurrentPoseVariant
    • VertexVarVariant --> VertexVariant
  • Updates to support changes in org.openjaus.sdk.cpp v8.0.0

Fixed

  • [BREAKING] Fixed incorrect SupportBehaviorBitField definition in multiple places due to name conflict
  • Exception when custom Node ID Assignment method is specified
  • Corrected message_id for ReportMilitaryIlluminationMode
  • Add mask in serialization function when casting to integer value for Enumeration types. Without the mask, Windows Run-Time Check Failure #1 can occur.

Removed

  • OpenJAUS Service Studio (OJSS) models (.ojss files). Models have been consolidated and only released as part of OJSS.
  • Moved File class into org.openjaus.sdk.cpp dependency.
  • API Change: Remove "catch-all" header openjaus/iop_v3.h