1
0
forked from fsfw/fsfw

set sec header flag and add unit test for it

This commit is contained in:
2022-07-28 15:13:27 +02:00
parent 8f6f0e1d45
commit fc3412fa35
15 changed files with 75 additions and 64 deletions

View File

@ -16,20 +16,21 @@ TEST_CASE("PUS TC Creator", "[pus-tc-creator]") {
size_t serLen = 0;
SECTION("State") {
REQUIRE(creator.isTc());
REQUIRE(creator.getService() == 17);
REQUIRE(creator.getSubService() == 1);
REQUIRE(creator.getApid() == 0x02);
REQUIRE(creator.getPusVersion() == 2);
REQUIRE(creator.getAcknowledgeFlags() == 0b1111);
REQUIRE(creator.getSourceId() == 0x00);
REQUIRE(creator.getPacketSeqCtrlRaw() == 0xc034);
CHECK(creator.isTc());
CHECK(creator.hasSecHeader());
CHECK(creator.getService() == 17);
CHECK(creator.getSubService() == 1);
CHECK(creator.getApid() == 0x02);
CHECK(creator.getPusVersion() == 2);
CHECK(creator.getAcknowledgeFlags() == 0b1111);
CHECK(creator.getSourceId() == 0x00);
CHECK(creator.getPacketSeqCtrlRaw() == 0xc034);
// bytes CCSDS header, 5 bytes secondary header, 2 bytes CRC, 3 bytes app data
REQUIRE(creator.getFullPacketLen() == 13);
CHECK(creator.getFullPacketLen() == 13);
// The data length field is the full packet length minus the primary header minus 1
REQUIRE(creator.getPacketDataLen() == 6);
CHECK(creator.getPacketDataLen() == 6);
auto& paramsLocal = creator.getSpParams();
REQUIRE(paramsLocal.packetId == packetId);
CHECK(paramsLocal.packetId == packetId);
}
SECTION("Serialized") {

View File

@ -19,22 +19,23 @@ TEST_CASE("PUS TM Creator", "[pus-tm-creator]") {
size_t serLen = 0;
SECTION("State") {
REQUIRE(creator.isTm());
REQUIRE(creator.getApid() == 0xef);
REQUIRE(creator.getPusVersion() == 2);
REQUIRE(creator.getScTimeRefStatus() == 0);
REQUIRE(creator.getService() == 17);
REQUIRE(creator.getSubService() == 2);
REQUIRE(creator.getTimestamper() == &timeStamper);
REQUIRE(creator.getSequenceFlags() == ccsds::SequenceFlags::UNSEGMENTED);
REQUIRE(creator.getSequenceCount() == 22);
CHECK(creator.isTm());
CHECK(creator.hasSecHeader());
CHECK(creator.getApid() == 0xef);
CHECK(creator.getPusVersion() == 2);
CHECK(creator.getScTimeRefStatus() == 0);
CHECK(creator.getService() == 17);
CHECK(creator.getSubService() == 2);
CHECK(creator.getTimestamper() == &timeStamper);
CHECK(creator.getSequenceFlags() == ccsds::SequenceFlags::UNSEGMENTED);
CHECK(creator.getSequenceCount() == 22);
// 6 bytes CCSDS header, 7 bytes secondary header, 7 bytes CDS short timestamp,
// 0 bytes application data, 2 bytes CRC
REQUIRE(creator.getFullPacketLen() == 22);
CHECK(creator.getFullPacketLen() == 22);
// As specified in standard, the data length fields is the total size of the packet without
// the primary header minus 1
REQUIRE(creator.getPacketDataLen() == 15);
REQUIRE(timeStamper.getSizeCallCount == 1);
CHECK(creator.getPacketDataLen() == 15);
CHECK(timeStamper.getSizeCallCount == 1);
}
SECTION("SP Params") {