1
0
forked from fsfw/fsfw

updating code from Flying Laptop

This is the framework of Flying Laptop OBSW version A.13.0.
This commit is contained in:
2018-07-12 16:29:32 +02:00
parent 1d22a6c97e
commit 575f70ba03
395 changed files with 12807 additions and 8404 deletions

View File

@ -1,10 +1,3 @@
/*
* TmStoreMessage.cpp
*
* Created on: 23.02.2015
* Author: baetz
*/
#include <framework/objectmanager/ObjectManagerIF.h>
#include <framework/tmstorage/TmStoreMessage.h>
@ -23,30 +16,30 @@ ReturnValue_t TmStoreMessage::setEnableStoringMessage(CommandMessage* cmd,
}
ReturnValue_t TmStoreMessage::setDeleteContentMessage(CommandMessage* cmd,
TmStoreFrontendIF::ApidSsc upTo) {
ApidSsc upTo) {
cmd->setCommand(DELETE_STORE_CONTENT);
cmd->setParameter((upTo.apid<<16) + upTo.ssc);
return HasReturnvaluesIF::RETURN_OK;
}
ReturnValue_t TmStoreMessage::setDownlinkContentMessage(CommandMessage* cmd,
TmStoreFrontendIF::ApidSsc fromPacket,
TmStoreFrontendIF::ApidSsc toPacket) {
ApidSsc fromPacket,
ApidSsc toPacket) {
cmd->setCommand(DOWNLINK_STORE_CONTENT);
cmd->setParameter((fromPacket.apid<<16) + fromPacket.ssc);
cmd->setParameter2((toPacket.apid<<16) + toPacket.ssc);
return HasReturnvaluesIF::RETURN_OK;
}
TmStoreFrontendIF::ApidSsc TmStoreMessage::getPacketId1(CommandMessage* cmd) {
TmStoreFrontendIF::ApidSsc temp;
ApidSsc TmStoreMessage::getPacketId1(CommandMessage* cmd) {
ApidSsc temp;
temp.apid = (cmd->getParameter() >> 16) & 0xFFFF;
temp.ssc = cmd->getParameter() & 0xFFFF;
return temp;
}
TmStoreFrontendIF::ApidSsc TmStoreMessage::getPacketId2(CommandMessage* cmd) {
TmStoreFrontendIF::ApidSsc temp;
ApidSsc TmStoreMessage::getPacketId2(CommandMessage* cmd) {
ApidSsc temp;
temp.apid = (cmd->getParameter2() >> 16) & 0xFFFF;
temp.ssc = cmd->getParameter2() & 0xFFFF;
return temp;
@ -67,13 +60,23 @@ void TmStoreMessage::clear(CommandMessage* cmd) {
switch(cmd->getCommand()) {
case SELECTION_DEFINITION_REPORT:
case STORE_CATALOGUE_REPORT:
case CHANGE_SELECTION_DEFINITION: {
case CHANGE_SELECTION_DEFINITION:
case INDEX_REPORT:
case DELETE_STORE_CONTENT_TIME:
case DOWNLINK_STORE_CONTENT_TIME: {
StorageManagerIF *ipcStore = objectManager->get<StorageManagerIF>(
objects::IPC_STORE);
if (ipcStore != NULL) {
ipcStore->deleteData(getStoreId(cmd));
}
}
/* NO BREAK falls through*/
case DELETE_STORE_CONTENT_BLOCKS:
case DOWNLINK_STORE_CONTENT_BLOCKS:
case REPORT_INDEX_REQUEST:
cmd->setCommand(UNKNOW_COMMAND);
cmd->setParameter(0);
cmd->setParameter2(0);
break;
default:
break;
@ -108,8 +111,55 @@ ReturnValue_t TmStoreMessage::setReportStoreCatalogueMessage(
return HasReturnvaluesIF::RETURN_OK;
}
void TmStoreMessage::setStoreCatalogueReportMessage(CommandMessage* cmd,
void TmStoreMessage::setStoreCatalogueReportMessage(CommandMessage* cmd, object_id_t objectId,
store_address_t storeId) {
cmd->setCommand(STORE_CATALOGUE_REPORT);
cmd->setParameter(objectId);
cmd->setParameter2(storeId.raw);
}
object_id_t TmStoreMessage::getObjectId(CommandMessage* cmd) {
return cmd->getParameter();
}
void TmStoreMessage::setDownlinkContentTimeMessage(CommandMessage* cmd,
store_address_t storeId) {
cmd->setCommand(DOWNLINK_STORE_CONTENT_TIME);
cmd->setParameter2(storeId.raw);
}
uint32_t TmStoreMessage::getAddressLow(CommandMessage* cmd){
return cmd->getParameter();
}
uint32_t TmStoreMessage::getAddressHigh(CommandMessage* cmd){
return cmd->getParameter2();
}
void TmStoreMessage::setDeleteContentTimeMessage(CommandMessage* cmd,
store_address_t storeId) {
cmd->setCommand(DELETE_STORE_CONTENT_TIME);
cmd->setParameter2(storeId.raw);
}
ReturnValue_t TmStoreMessage::setDeleteBlocksMessage(CommandMessage* cmd, uint32_t addressLow, uint32_t addressHigh){
cmd->setCommand(DELETE_STORE_CONTENT_BLOCKS);
cmd->setParameter(addressLow);
cmd->setParameter2(addressHigh);
return HasReturnvaluesIF::RETURN_OK;
}
ReturnValue_t TmStoreMessage::setDownlinkBlocksMessage(CommandMessage* cmd, uint32_t addressLow, uint32_t addressHigh){
cmd->setCommand(DOWNLINK_STORE_CONTENT_BLOCKS);
cmd->setParameter(addressLow);
cmd->setParameter2(addressHigh);
return HasReturnvaluesIF::RETURN_OK;
}
ReturnValue_t TmStoreMessage::setIndexRequestMessage(CommandMessage* cmd){
cmd->setCommand(REPORT_INDEX_REQUEST);
return HasReturnvaluesIF::RETURN_OK;
}
void TmStoreMessage::setIndexReportMessage(CommandMessage* cmd, store_address_t storeId){
cmd->setCommand(INDEX_REPORT);
cmd->setParameter2(storeId.raw);
}