OpenJAUS SDK 2019-06 Change Log

org.openjaus.sdk.cpp v6.0.0

  • Bug Fix: AccessControl timeout caused Exception/segfault on linux.
  • Bug Fix: PrimitiveEndEffector (Manipulator v1.0) incorrectly processed SetEndEffectorEffort messages in
    AccessControl::Controlled state instead of Management::Ready state.
  • Bug Fix: Fixed memory leak when sending ReportEvents message.
  • Bug Fix: Fixing bug in Events timeout.
  • Feature: Adding ability to completely disable automatically sending of the QueryIdentification message from the
  • Feature: Adding ability to use the JTS method for JAUS ID to IP address resolution.
  • Bug Fix: Incorrect use of FLOOR rounding function in primitive driver service. Corrected to use of ROUND function.
  • Deprecated: Disabled manipulator v1.0 library. Library can be re-enabled using –include_manipulator_v1_0 premake4 option.
  • Feature: Added FilePathManager class which can be used to hardcode the directory for the config files.
  • Feature: Added –ojfiledir command line argument which can be used to specify the location of the all internally
    used config files.
  • Feature: Added –ojconfigname command line argument which replaces the –ojconf command line argument. This argument
    is used to specify the name of the config file to be used. The location of the file is assumed to be
    in the current working directory or the specified –ojfiledir location.
  • Feature: Added –ojconfigpath command line argument which replaces the –ojconf command line argument. This argument
    is used to specify the full path of the config file to be used. When this parameter is used the –ojfiledir
    location will be ignored for the config file.
  • Deprecated: –ojconf file which is replaced by –ojconfigname and –ojconfigpath. Using –ojconf will have the same
    behavior of –ofconfigpath, and will ignore any location specified by –ojfiledir.
  • Feature: Added OjManagedList class which allows creation and manipulation of a linked list of ElementRecord
    object types.
  • Feature: Added OjListManager class. This is an implementation of the List Manager service.
  • Bug Fix: Incorrect use of FLOOR rounding function in environment sensing service set. Corrected to use of ROUND function.
  • Feature: Adding ability to specify the Subsystem identification in the ojconf file with key ‘_GLOBAL_.Discovery.SystemName’.
  • Bug Fix: ReportIdentification will now be sent in response to a QueryIdentification(SUBSYSTEM) message.
  • Bug Fix: Fixing bug where ReportServices message always contained all nodes/components on the queried subsystem regardless of
    the field values in the incoming QueryServices message.
  • Feature: Adding max queue size for incoming messages. When queue reaches max size it will be automatically flushed to
    reduce processing of old messages.
  • Feature: Adding initial support for specifying a filter file which can be used control the rate and priority of incoming messages.
  • API Change: Queue::timedWait method renamed to Queue::timedWait_ms. Removed signal and signalAll methods. Added wakeAll method
    which will wake all threads blocked in the Queue:timedWait_ms method.
  • API Change: Condition::timedQueue method renamed to Condition::timedWait_ms. Condition::timedWait_ms method takes a system::Mutex
    object which will be unlocked and re-locked when Condition is signaled or times out.
  • Bug Fix: Fixed bug where request id values where incorrectly being reused in CreateEvent message.
  • Bug Fix/API Change: ElementData field in ElementRec record in ListManager::SetElement message was incorrectly defined.
    ElementRecord::getElementData method return type changed from model::Message* to ElementDataBlob&.
  • Bug Fix: Fixed bugs with the Management service reporting the wrong response code for a RejectControl when in the
    Emergency state.
  • Improvement: Improved the system::Callback class. Added equals methods to check if two Callbacks are the same.
    Added OJ_CALLBACK macro as a generic Callback helper.
  • Deprecated: Management::onPopFromEmergency and Management::onPushToEmergency methods were deprecated.
    Management::onPopFromControlledEmergency, Management::onPopFromNotControlledEmergency, Management::onPushToControlledEmergency,
    or Management::onPushToNotControlledEmergency should be used instead.
  • Feature: Added ability to resubscribe to an event using the EventID, this can be used for re-establishing an event if the event source is restarted.

org.openjaus.manipulator_v2_0.cpp v6.0.0

  • Bug/API Change: Fixing duplicated ScaledIntegers for Revolute and Prismatic joints in the ManipulatorJointMotionProfile service.
  • Bug: Adding missing guard on PrimitiveManipulator which allowed SetJointEffort commands from a non-controlling client.
  • Info: Removed unused ojss file.

org.openjaus.iop-v3.cpp v1.0.0

  • Initial release

org.openjaus.aeodrs-v1.4.1.cpp v6.0.0

  • Feature: Adding common AEODRS components: OjCommunicationComponent, OjBasicPropertiesComponent, and OjMountSitePropertiesComponent.
    Components can be instantiated directly in jaus node application.
  • Feature: Added ComLinkSubsystemIdBroker which implements the COM-LINK Subsystem ID Assignment process. ID broker can be added to a
    Component and enabled by using the Custom ID Assignment mode.
  • Update: Updating to depend on org.openjaus.iop-v3.cpp. All overlapping services between AEODRS v1.4.1 and IOP v3 were
    removed from this library and can be referenced from the iop-v3 library.
  • Update: Dependency on org.openjaus.iop-v3.cpp also adds dependency on org.openjaus.manipulator_v2_0.cpp.