dhb2normal #313
@ -10,6 +10,9 @@ list yields a list of all related PRs for each release.
|
|||||||
|
|
||||||
# [unreleased]
|
# [unreleased]
|
||||||
|
|
||||||
|
- Extended TM funnels to allow multiple TM recipients.
|
||||||
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/312
|
||||||
|
|
||||||
# [v1.15.0] 27.10.2022
|
# [v1.15.0] 27.10.2022
|
||||||
|
|
||||||
- Consistent device file naming
|
- Consistent device file naming
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include <fsfw/tmtcservices/PusServiceBase.h>
|
#include <fsfw/tmtcservices/PusServiceBase.h>
|
||||||
#include <mission/controller/ThermalController.h>
|
#include <mission/controller/ThermalController.h>
|
||||||
#include <mission/core/GenericFactory.h>
|
#include <mission/core/GenericFactory.h>
|
||||||
#include <mission/tmtc/TmFunnel.h>
|
#include <mission/tmtc/TmFunnelHandler.h>
|
||||||
#include <objects/systemObjectList.h>
|
#include <objects/systemObjectList.h>
|
||||||
#include <tmtc/pusIds.h>
|
#include <tmtc/pusIds.h>
|
||||||
|
|
||||||
@ -59,7 +59,9 @@ void Factory::setStaticFrameworkObjectIds() {
|
|||||||
|
|
||||||
void ObjectFactory::produce(void* args) {
|
void ObjectFactory::produce(void* args) {
|
||||||
Factory::setStaticFrameworkObjectIds();
|
Factory::setStaticFrameworkObjectIds();
|
||||||
ObjectFactory::produceGenericObjects();
|
PusTmFunnel* pusFunnel;
|
||||||
|
CfdpTmFunnel* cfdpFunnel;
|
||||||
|
ObjectFactory::produceGenericObjects(nullptr, &pusFunnel, &cfdpFunnel);
|
||||||
|
|
||||||
dummy::DummyCfg cfg;
|
dummy::DummyCfg cfg;
|
||||||
dummy::createDummies(cfg);
|
dummy::createDummies(cfg);
|
||||||
|
@ -91,11 +91,9 @@
|
|||||||
#include "mission/devices/devicedefinitions/RwDefinitions.h"
|
#include "mission/devices/devicedefinitions/RwDefinitions.h"
|
||||||
#include "mission/devices/devicedefinitions/SyrlinksDefinitions.h"
|
#include "mission/devices/devicedefinitions/SyrlinksDefinitions.h"
|
||||||
#include "mission/devices/devicedefinitions/payloadPcduDefinitions.h"
|
#include "mission/devices/devicedefinitions/payloadPcduDefinitions.h"
|
||||||
|
|
||||||
#include "mission/system/objects/AcsBoardAssembly.h"
|
#include "mission/system/objects/AcsBoardAssembly.h"
|
||||||
#include "mission/tmtc/CcsdsIpCoreHandler.h"
|
#include "mission/tmtc/CcsdsIpCoreHandler.h"
|
||||||
#include "mission/tmtc/TmFunnelHandler.h"
|
#include "mission/tmtc/TmFunnelHandler.h"
|
||||||
|
|
||||||
#include "mission/tmtc/VirtualChannel.h"
|
#include "mission/tmtc/VirtualChannel.h"
|
||||||
|
|
||||||
ResetArgs RESET_ARGS_GNSS;
|
ResetArgs RESET_ARGS_GNSS;
|
||||||
|
@ -18,16 +18,15 @@
|
|||||||
#include <mission/devices/SusHandler.h>
|
#include <mission/devices/SusHandler.h>
|
||||||
#include <mission/system/fdir/RtdFdir.h>
|
#include <mission/system/fdir/RtdFdir.h>
|
||||||
#include <mission/system/fdir/SusFdir.h>
|
#include <mission/system/fdir/SusFdir.h>
|
||||||
#include <mission/system/objects/SusAssembly.h>
|
|
||||||
#include <mission/system/objects/TcsBoardAssembly.h>
|
|
||||||
#include "mission/system/tree/acsModeTree.h"
|
|
||||||
|
|
||||||
#include "OBSWConfig.h"
|
#include "OBSWConfig.h"
|
||||||
#include "devConf.h"
|
#include "devConf.h"
|
||||||
#include "devices/addresses.h"
|
#include "devices/addresses.h"
|
||||||
#include "devices/gpioIds.h"
|
#include "devices/gpioIds.h"
|
||||||
#include "eive/definitions.h"
|
#include "eive/definitions.h"
|
||||||
|
#include "mission/system/objects/SusAssembly.h"
|
||||||
|
#include "mission/system/objects/TcsBoardAssembly.h"
|
||||||
|
#include "mission/system/tree/acsModeTree.h"
|
||||||
|
|
||||||
void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF,
|
void ObjectFactory::createSunSensorComponents(GpioIF* gpioComIF, SpiComIF* spiComIF,
|
||||||
PowerSwitchIF* pwrSwitcher, std::string spiDev) {
|
PowerSwitchIF* pwrSwitcher, std::string spiDev) {
|
||||||
|
@ -69,6 +69,7 @@ ReturnValue_t CfdpTmFunnel::handlePacket(TmTcMessage& msg) {
|
|||||||
store_address_t origStoreId = newStoreId;
|
store_address_t origStoreId = newStoreId;
|
||||||
for (unsigned int idx = 0; idx < destinations.size(); idx++) {
|
for (unsigned int idx = 0; idx < destinations.size(); idx++) {
|
||||||
const auto& destVcidPair = destinations[idx];
|
const auto& destVcidPair = destinations[idx];
|
||||||
|
if (destinations.size() > 1) {
|
||||||
if (idx <= destinations.size() - 1) {
|
if (idx <= destinations.size() - 1) {
|
||||||
// Create copy of data to ensure each TM recipient has its own copy. That way, we don't need
|
// Create copy of data to ensure each TM recipient has its own copy. That way, we don't need
|
||||||
// to bother with send order and where the data is deleted.
|
// to bother with send order and where the data is deleted.
|
||||||
@ -78,6 +79,7 @@ ReturnValue_t CfdpTmFunnel::handlePacket(TmTcMessage& msg) {
|
|||||||
} else {
|
} else {
|
||||||
msg.setStorageId(origStoreId);
|
msg.setStorageId(origStoreId);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
result = tmQueue->sendMessage(destVcidPair.first, &msg);
|
result = tmQueue->sendMessage(destVcidPair.first, &msg);
|
||||||
if (result != returnvalue::OK) {
|
if (result != returnvalue::OK) {
|
||||||
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
||||||
|
@ -50,6 +50,7 @@ ReturnValue_t PusTmFunnel::handlePacket(TmTcMessage &message) {
|
|||||||
|
|
||||||
for (unsigned int idx = 0; idx < destinations.size(); idx++) {
|
for (unsigned int idx = 0; idx < destinations.size(); idx++) {
|
||||||
const auto &destVcidPair = destinations[idx];
|
const auto &destVcidPair = destinations[idx];
|
||||||
|
if (destinations.size() > 1) {
|
||||||
if (idx <= destinations.size() - 1) {
|
if (idx <= destinations.size() - 1) {
|
||||||
// Create copy of data to ensure each TM recipient has its own copy. That way, we don't need
|
// Create copy of data to ensure each TM recipient has its own copy. That way, we don't need
|
||||||
// to bother with send order and where the data is deleted.
|
// to bother with send order and where the data is deleted.
|
||||||
@ -59,6 +60,7 @@ ReturnValue_t PusTmFunnel::handlePacket(TmTcMessage &message) {
|
|||||||
} else {
|
} else {
|
||||||
message.setStorageId(origStoreId);
|
message.setStorageId(origStoreId);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
result = tmQueue->sendMessage(destVcidPair.first, &message);
|
result = tmQueue->sendMessage(destVcidPair.first, &message);
|
||||||
if (result != returnvalue::OK) {
|
if (result != returnvalue::OK) {
|
||||||
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
||||||
|
Loading…
Reference in New Issue
Block a user