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