diff --git a/demoIsoObject.cpp b/demoIsoObject.cpp index 2cb9c45..0f3e299 100644 --- a/demoIsoObject.cpp +++ b/demoIsoObject.cpp @@ -93,7 +93,7 @@ class myObject : public ISO22133::TestObject { ISO22133::TestObject(ip), dummyMember(0) { ObjectSettingsType osem; - osem.testMode = TEST_MODE_UNAVAILABLE; + osem.testMode = TEST_MODE_PREPLANNED; setMonr(1, 2, 3, 0.4, 5, 6); setObjectSettings(osem); } diff --git a/iso22133 b/iso22133 index 6bbcee7..bf8347b 160000 --- a/iso22133 +++ b/iso22133 @@ -1 +1 @@ -Subproject commit 6bbcee765aa503c8b6349ffb25b0f3c3253e1db8 +Subproject commit bf8347b8fcbd67d121081e33bbb5829e9282c3e3 diff --git a/src/iso22133object.cpp b/src/iso22133object.cpp index 2a0dafb..234b6f2 100644 --- a/src/iso22133object.cpp +++ b/src/iso22133object.cpp @@ -54,7 +54,7 @@ void TestObject::initialize() { initSpd.isLongitudinalValid = false; initAcc.isLateralValid = false; initAcc.isLongitudinalValid = false; - initTm = TEST_MODE_UNAVAILABLE; + initTm = TEST_MODE_PREPLANNED; this->setPosition(initPos); this->setSpeed(initSpd); this->setAcceleration(initAcc); @@ -332,7 +332,7 @@ int TestObject::handleMessage(std::vector& dataBuffer) { expectedMessageCounter = msgHeader.messageCounter + 1; switch (msgHeader.messageID) { case MESSAGE_ID_TRAJ: - bytesHandled = this->trajDecoder.DecodeTRAJ(dataBuffer, false); + bytesHandled = this->trajDecoder.DecodeTRAJ(dataBuffer, debug); if (bytesHandled < 0) { throw std::invalid_argument("Error decoding TRAJ"); } diff --git a/src/iso22133state.cpp b/src/iso22133state.cpp index 7bbe5a4..a07ce76 100644 --- a/src/iso22133state.cpp +++ b/src/iso22133state.cpp @@ -114,11 +114,11 @@ void ISO22133::State::handleOSEM(TestObject& obj, ObjectSettingsType& osem) { msg << "Got OSEM - set transmitter ID to " << obj.transmitterID << std::endl; std::cout << msg.str(); - obj.expectedHeartbeatPeriod = std::chrono::milliseconds(1000 / (uint)osem.rate.heab); - msg.str(std::string()); - msg << "Setting HEAB period to " << obj.expectedHeartbeatPeriod.count() << " ms. (" - << 1000 / obj.expectedHeartbeatPeriod.count() << " Hz) " << std::endl; - std::cout << msg.str(); + //obj.expectedHeartbeatPeriod = std::chrono::milliseconds((uint32_t)(osem.rate.communicationTimeout * 1000)); + //msg.str(std::string()); + //msg << "Setting HEAB period to " << obj.expectedHeartbeatPeriod.count() << " ms. (" + // << 1000 / obj.expectedHeartbeatPeriod.count() << " Hz) " << std::endl; + //std::cout << msg.str(); obj.heartbeatTimeout = 10 * obj.expectedHeartbeatPeriod; msg.str(std::string()); diff --git a/src/trajDecoder.cpp b/src/trajDecoder.cpp index 6cbcb12..21cd478 100644 --- a/src/trajDecoder.cpp +++ b/src/trajDecoder.cpp @@ -27,7 +27,7 @@ ssize_t TrajDecoder::DecodeTRAJ(std::vector& dataBuffer, bool debug) { } // Decode TRAJ waypoints - int const tmpSize{trajecoryHeader.nWaypoints - nPointsHandled}; + uint32_t const tmpSize{trajecoryHeader.nWaypoints - nPointsHandled}; TrajectoryWaypointType waypoint; for (int i = 0; i < tmpSize; i++) { diff --git a/tests/isoObject.cpp b/tests/isoObject.cpp index 2fdb99b..74446b3 100644 --- a/tests/isoObject.cpp +++ b/tests/isoObject.cpp @@ -105,10 +105,10 @@ class ControlCenterEmulator { TimeSetToCurrentSystemTime(&objSettings.currentTime); - objSettings.heabTimeout.tv_usec = 20000; - objSettings.heabTimeout.tv_sec = 0; + objSettings.communicationTimeout.tv_usec = 20000; + objSettings.communicationTimeout.tv_sec = 0; - objSettings.rate.heab = 10; + objSettings.rate.heabTimeout = 10; objSettings.rate.monr = 100; objSettings.rate.monr2 = 1; @@ -131,7 +131,7 @@ class ControlCenterEmulator { header.messageCounter = this->messageCounter; header.transmitterID = this->transmitterID; auto nBytesWritten = - encodeOSEMMessage(&header, &objSettings, transmitBuffer.data(), transmitBuffer.size(), false); + encodeOSEMMessage(&header, &objSettings, transmitBuffer.data(), transmitBuffer.size(), true); transmitBuffer.resize(nBytesWritten); sendTCP(transmitBuffer); }