STR extensions #798

Merged
muellerr merged 32 commits from str-extensions into main 2023-10-27 13:50:13 +02:00
3 changed files with 22 additions and 8 deletions
Showing only changes of commit 0beac793a1 - Show all commits

View File

@ -671,6 +671,10 @@ ReturnValue_t StarTrackerHandler::buildCommandFromCommand(DeviceCommandId_t devi
result = prepareRequestBlobsTm(); result = prepareRequestBlobsTm();
return result; return result;
} }
case(startracker::REQ_AUTO_BLOB): {
result = prepareRequestAutoBlobTm();
return returnvalue::OK;
}
case (startracker::REQ_MATCHING): { case (startracker::REQ_MATCHING): {
result = prepareRequestMatchingParams(); result = prepareRequestMatchingParams();
return result; return result;
@ -1484,6 +1488,8 @@ ReturnValue_t StarTrackerHandler::initializeLocalDataPool(localpool::DataPool& l
localDataPoolMap.emplace(startracker::CHKSUM, new PoolEntry<uint32_t>({0})); localDataPoolMap.emplace(startracker::CHKSUM, new PoolEntry<uint32_t>({0}));
localDataPoolMap.emplace(startracker::TICKS_AUTO_BLOB, new PoolEntry<uint32_t>());
localDataPoolMap.emplace(startracker::TIME_AUTO_BLOB, new PoolEntry<uint64_t>());
localDataPoolMap.emplace(startracker::AUTO_BLOB_THRESHOLD, new PoolEntry<float>()); localDataPoolMap.emplace(startracker::AUTO_BLOB_THRESHOLD, new PoolEntry<float>());
localDataPoolMap.emplace(startracker::PoolIds::NUM_MATCHED_CENTROIDS, new PoolEntry<uint8_t>()); localDataPoolMap.emplace(startracker::PoolIds::NUM_MATCHED_CENTROIDS, new PoolEntry<uint8_t>());
@ -2351,6 +2357,7 @@ ReturnValue_t StarTrackerHandler::handleAutoBlobTm(const uint8_t* rawFrame) {
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
return result; return result;
} }
rawFrame += TICKS_OFFSET;
size_t remainingLen = fullPacketLen; size_t remainingLen = fullPacketLen;
PoolReadGuard pg(&autoBlobSet); PoolReadGuard pg(&autoBlobSet);
result = pg.getReadResult(); result = pg.getReadResult();
@ -2381,6 +2388,7 @@ ReturnValue_t StarTrackerHandler::handleMatchedCentroidTm(const uint8_t* rawFram
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
return result; return result;
} }
rawFrame += TICKS_OFFSET;
size_t remainingLen = fullPacketLen; size_t remainingLen = fullPacketLen;
PoolReadGuard pg(&matchedCentroidsSet); PoolReadGuard pg(&matchedCentroidsSet);
result = pg.getReadResult(); result = pg.getReadResult();
@ -2440,6 +2448,7 @@ ReturnValue_t StarTrackerHandler::handleBlobTm(const uint8_t* rawFrame) {
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
return result; return result;
} }
rawFrame += TICKS_OFFSET;
size_t remainingLen = fullPacketLen; size_t remainingLen = fullPacketLen;
PoolReadGuard pg(&blobsSet); PoolReadGuard pg(&blobsSet);
result = pg.getReadResult(); result = pg.getReadResult();
@ -2470,6 +2479,7 @@ ReturnValue_t StarTrackerHandler::handleBlobsTm(const uint8_t* rawFrame) {
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
return result; return result;
} }
rawFrame += TICKS_OFFSET;
size_t remainingLen = fullPacketLen; size_t remainingLen = fullPacketLen;
PoolReadGuard pg(&blobsSet); PoolReadGuard pg(&blobsSet);
result = pg.getReadResult(); result = pg.getReadResult();
@ -2522,6 +2532,7 @@ ReturnValue_t StarTrackerHandler::handleCentroidTm(const uint8_t* rawFrame) {
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
return result; return result;
} }
rawFrame += TICKS_OFFSET;
size_t remainingLen = fullPacketLen; size_t remainingLen = fullPacketLen;
PoolReadGuard pg(&centroidsSet); PoolReadGuard pg(&centroidsSet);
result = pg.getReadResult(); result = pg.getReadResult();
@ -2553,6 +2564,7 @@ ReturnValue_t StarTrackerHandler::handleCentroidsTm(const uint8_t* rawFrame) {
if (result != returnvalue::OK) { if (result != returnvalue::OK) {
return result; return result;
} }
rawFrame += TICKS_OFFSET;
size_t remainingLen = fullPacketLen; size_t remainingLen = fullPacketLen;
PoolReadGuard pg(&centroidsSet); PoolReadGuard pg(&centroidsSet);
result = pg.getReadResult(); result = pg.getReadResult();

View File

@ -274,6 +274,8 @@ enum PoolIds : lp_id_t {
DEBUG_CAMERA_TIMING, DEBUG_CAMERA_TIMING,
DEBUG_CAMERA_TEST, DEBUG_CAMERA_TEST,
TICKS_AUTO_BLOB,
TIME_AUTO_BLOB,
AUTO_BLOB_THRESHOLD, AUTO_BLOB_THRESHOLD,
TICKS_MATCHED_CENTROIDS, TICKS_MATCHED_CENTROIDS,
@ -1441,10 +1443,10 @@ class AutoBlobSet : public StaticLocalDataSet<3> {
AutoBlobSet(HasLocalDataPoolIF* owner) : StaticLocalDataSet(owner, AUTO_BLOB_SET_ID) {} AutoBlobSet(HasLocalDataPoolIF* owner) : StaticLocalDataSet(owner, AUTO_BLOB_SET_ID) {}
// Ticks timestamp // Ticks timestamp
lp_var_t<uint32_t> ticks = lp_var_t<uint32_t> ticks =
lp_var_t<uint32_t>(sid.objectId, PoolIds::TICKS_MATCHED_CENTROIDS, this); lp_var_t<uint32_t>(sid.objectId, PoolIds::TICKS_AUTO_BLOB, this);
// Unix time stamp // Unix time stamp
lp_var_t<uint64_t> timeUs = lp_var_t<uint64_t> timeUs =
lp_var_t<uint64_t>(sid.objectId, PoolIds::TIME_MATCHED_CENTROIDS, this); lp_var_t<uint64_t>(sid.objectId, PoolIds::TIME_AUTO_BLOB, this);
lp_var_t<float> threshold = lp_var_t<float>(sid.objectId, PoolIds::AUTO_BLOB_THRESHOLD, this); lp_var_t<float> threshold = lp_var_t<float>(sid.objectId, PoolIds::AUTO_BLOB_THRESHOLD, this);
private: private:
@ -1466,15 +1468,15 @@ class MatchedCentroidsSet : public StaticLocalDataSet<20> {
lp_var_t<uint8_t> numberOfMatchedCentroids = lp_var_t<uint8_t> numberOfMatchedCentroids =
lp_var_t<uint8_t>(sid.objectId, PoolIds::NUM_MATCHED_CENTROIDS, this); lp_var_t<uint8_t>(sid.objectId, PoolIds::NUM_MATCHED_CENTROIDS, this);
lp_vec_t<uint32_t, 16> starIds = lp_vec_t<uint32_t, 16> starIds =
lp_vec_t<uint32_t, 16>(sid.objectId, PoolIds::MATCHED_CENTROIDS_STAR_IDS); lp_vec_t<uint32_t, 16>(sid.objectId, PoolIds::MATCHED_CENTROIDS_STAR_IDS, this);
lp_vec_t<float, 16> xCoords = lp_vec_t<float, 16> xCoords =
lp_vec_t<float, 16>(sid.objectId, PoolIds::MATCHED_CENTROIDS_X_COORDS); lp_vec_t<float, 16>(sid.objectId, PoolIds::MATCHED_CENTROIDS_X_COORDS, this);
lp_vec_t<float, 16> yCoords = lp_vec_t<float, 16> yCoords =
lp_vec_t<float, 16>(sid.objectId, PoolIds::MATCHED_CENTROIDS_Y_COORDS); lp_vec_t<float, 16>(sid.objectId, PoolIds::MATCHED_CENTROIDS_Y_COORDS, this);
lp_vec_t<float, 16> xErrors = lp_vec_t<float, 16> xErrors =
lp_vec_t<float, 16>(sid.objectId, PoolIds::MATCHED_CENTROIDS_X_ERRORS); lp_vec_t<float, 16>(sid.objectId, PoolIds::MATCHED_CENTROIDS_X_ERRORS, this);
lp_vec_t<float, 16> yErrors = lp_vec_t<float, 16> yErrors =
lp_vec_t<float, 16>(sid.objectId, PoolIds::MATCHED_CENTROIDS_Y_ERRORS); lp_vec_t<float, 16>(sid.objectId, PoolIds::MATCHED_CENTROIDS_Y_ERRORS, this);
private: private:
}; };

2
tmtc

@ -1 +1 @@
Subproject commit c4598ff05858952d0107d4f6f61cbef8ff2de691 Subproject commit 97b529318dbc654ec55fd765f892bff212918f39