Skip to content
Merged
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
f853ccb
Added led-blinker workflow for aarch64-linux platform
moisesmata May 29, 2025
b542ecb
Update runner label
moisesmata May 29, 2025
ecd1bf9
Added Tags to RPI self hosted workflows, sparse-checkout-cone-mode false
moisesmata May 29, 2025
4cd3832
Add subtopologies to Svc/ restructing of Ref to include CDH subtopology
moisesmata Jun 4, 2025
5625dfe
Merge branch 'nasa:devel' into add-subtopologies
moisesmata Jun 4, 2025
8cc262d
CDHCore Subtopology added under Svc and integrated into Ref
moisesmata Jun 5, 2025
3e165b1
Merge branch 'add-subtopologies' of https://github.com/moisesmata/fpr…
moisesmata Jun 5, 2025
7bdd72a
Health instance within CDHCore references CDHCoreConfig for queue size
moisesmata Jun 5, 2025
99f9dee
Update metadata
moisesmata Jun 5, 2025
55bd645
Added AssertFatalAdapter Version PassiveTextLogger to Subtopology, co…
moisesmata Jun 6, 2025
747d8de
Comms subtopology without cmdSeq created, integrated in Ref
moisesmata Jun 6, 2025
06802d3
Added cmdSeq to Comms Subtopology, integrated into Ref
moisesmata Jun 6, 2025
102bfc2
Add FileHandling Subtopology, initial structure
moisesmata Jun 6, 2025
910c775
Fixed Spelling, Flie -> File
moisesmata Jun 7, 2025
7a1d68c
Update metadata
moisesmata Jun 7, 2025
954f32c
Added working FileHandling, DataProducts subtopology, integrated into…
moisesmata Jun 9, 2025
d39aa5d
prmDb part of FileHandling, fatalHandler part of CDHCore
moisesmata Jun 9, 2025
84c922d
Update metadata
moisesmata Jun 9, 2025
c05a942
Update comment for clarity
moisesmata Jun 9, 2025
b0deda5
Initial move to phasing components
moisesmata Jun 9, 2025
db052fb
Merge branch 'add-subtopologies' of https://github.com/moisesmata/fpr…
moisesmata Jun 10, 2025
5dc46cf
Fixing Phasing: Adding initial Phasing for CDHCore, DataProducts, Fil…
moisesmata Jun 10, 2025
03f158c
Renaming topologydefs.hpp, phasing fully working on all four subtopol…
moisesmata Jun 10, 2025
3bbc055
Cleanup with Ports_ComPacketQueue, definition only in Comms.fpp now
moisesmata Jun 11, 2025
b956751
CDHCore subtopology added and integrated within Ref deployment
moisesmata Jun 11, 2025
5b1ef91
Merge branch 'devel' into add-cdhcore-subtopology
moisesmata Jun 11, 2025
fb517e5
Fixed to work with CCSDS, added comment on RefPackets, fatalHandler w…
moisesmata Jun 11, 2025
8fde1c2
Merge branch 'devel' into add-cdhcore-subtopology
moisesmata Jun 12, 2025
fa1f45d
Add correct stackSize in CDHCoreconfig
moisesmata Jun 12, 2025
0ca9878
CDHCore Subtopology, parameterization done through config overrides
moisesmata Jun 12, 2025
c31f0a3
Fixed priority values in CDHCoreConfig, removed FatalHandler from CDH…
moisesmata Jun 12, 2025
2e6f642
Update metadata
moisesmata Jun 12, 2025
1b761a2
Added CDHCore as a dependency for TestDeployment, in CMakeLists.txt
moisesmata Jun 13, 2025
3bfe9ad
Changed Structure in RefTopologyDefs.hpp to make simpler
moisesmata Jun 16, 2025
939d111
Reverted to prior RefTopologydefs.hpp Structure
moisesmata Jun 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 5 additions & 14 deletions .github/actions/spelling/expect.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@ arduino
ARef
argcomplete
ARGN
argname
argtype
ARINC
arpa
ASize
Expand All @@ -40,8 +38,6 @@ bfree
bibtex
Bies
BINDIR
binrel
Bitfields
bitmaps
bocchino
boolt
Expand Down Expand Up @@ -70,6 +66,7 @@ CComponent
ccsds
ccsparc
CDH
CDHCORESUBTOPOLOGY
cerrno
CFDP
cff
Expand Down Expand Up @@ -100,6 +97,7 @@ COMBUFFER
comlogger
COMMANDDISPATCHERIMPL
COMMANDDISPATCHERIMPLCFG
COMMSSUBTOPOLOGY
COMPACKET
COMPACKETQUEUEIN
COMQUEUE
Expand Down Expand Up @@ -135,6 +133,7 @@ ctu
culates
cuz
CYCLEOUT
DATAPRODUCTSSUBTOPOLOGY
DATAROOTDIR
DDDTHH
Debian
Expand Down Expand Up @@ -214,6 +213,7 @@ ffff
Ffs
FILEDOWNLINK
FILEDOWNLINKCFG
FILEHANDLINGSUBTOPOLOGY
FILEID
FILEOPENERROR
FILEWRITEERROR
Expand Down Expand Up @@ -345,11 +345,6 @@ LINEEVENT
LINEHANDLE
linelength
lineoffset
lineroo
linux
listdir
Listst
LJR
lld
llu
LOCALSTATEDIR
Expand All @@ -371,7 +366,6 @@ MCT
MDFILE
MEMALLOCATOR
MEMB
membername
memcheck
MEMTEST
mentations
Expand Down Expand Up @@ -538,9 +532,6 @@ RGD
RHH
Rizvi
ROOTDIR
ror
rowspan
rpaetz
rpi
RPIDEMO
RPIDEMOCOMPONENTIMPLCFG
Expand Down Expand Up @@ -710,4 +701,4 @@ xdffe
xsltproc
xxxx
XXYY
zimri
zimri
1 change: 1 addition & 0 deletions RPI/Top/topology.fpp
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ module RPI {
fileUplink.bufferSendOut -> fprimeRouter.fileBufferReturnIn
}


}

}
2 changes: 1 addition & 1 deletion Ref/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/FPrime.cmake")
# NOTE: register custom targets between these two lines
fprime_setup_included_code()
##
# Section 3: Components and Topology
# Section 3: Components and Topology and Subtopologies
#
# This section includes deployment specific directories. This allows use of non-
# core components in the topology, which is also added here.
Expand Down
1 change: 1 addition & 0 deletions Ref/Top/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
add_compile_options(
-Wno-shadow
)

set(SOURCE_FILES
"${CMAKE_CURRENT_LIST_DIR}/instances.fpp"
"${CMAKE_CURRENT_LIST_DIR}/topology.fpp"
Expand Down
54 changes: 27 additions & 27 deletions Ref/Top/RefPackets.fppi
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
telemetry packets RefPackets {

packet CDH id 1 group 1 {
Ref.cmdDisp.CommandsDispatched
CDHCore.cmdDisp.CommandsDispatched
Ref.rateGroup1Comp.RgMaxTime
Ref.rateGroup2Comp.RgMaxTime
Ref.rateGroup3Comp.RgMaxTime
Expand All @@ -19,7 +19,7 @@ telemetry packets RefPackets {
Ref.fileManager.CommandsExecuted
Ref.comQueue.comQueueDepth
Ref.comQueue.buffQueueDepth
# Ref.tlmSend.SendLevel
#CDHCore.tlmSend.SendLevel
}

packet CDHErrors id 2 group 1 {
Expand All @@ -29,7 +29,7 @@ telemetry packets RefPackets {
Ref.cmdSeq.CS_Errors
Ref.fileUplink.Warnings
Ref.fileDownlink.Warnings
Ref.$health.PingLateWarnings
CDHCore.$health.PingLateWarnings
Ref.fileManager.Errors
Ref.commsBufferManager.NoBuffs
Ref.commsBufferManager.EmptyBuffs
Expand Down Expand Up @@ -194,75 +194,75 @@ telemetry packets RefPackets {
}

packet Version1 id 22 group 2 {
Ref.version.FrameworkVersion
Ref.version.ProjectVersion
CDHCore.version.FrameworkVersion
CDHCore.version.ProjectVersion
}

packet Version_Library1 id 23 group 2 {
Ref.version.LibraryVersion01
Ref.version.LibraryVersion02
CDHCore.version.LibraryVersion01
CDHCore.version.LibraryVersion02
}

packet Version_Library2 id 24 group 2 {
Ref.version.LibraryVersion03
Ref.version.LibraryVersion04
CDHCore.version.LibraryVersion03
CDHCore.version.LibraryVersion04
}

packet Version_Library3 id 25 group 2 {
Ref.version.LibraryVersion05
Ref.version.LibraryVersion06
CDHCore.version.LibraryVersion05
CDHCore.version.LibraryVersion06
}

packet Version_Library4 id 26 group 2 {
Ref.version.LibraryVersion07
Ref.version.LibraryVersion08
CDHCore.version.LibraryVersion07
CDHCore.version.LibraryVersion08
}

packet Version_Library5 id 27 group 2 {
Ref.version.LibraryVersion09
Ref.version.LibraryVersion10
CDHCore.version.LibraryVersion09
CDHCore.version.LibraryVersion10
}

packet Version_Custom1 id 28 group 2 {
Ref.version.CustomVersion01
CDHCore.version.CustomVersion01
}

packet Version_Custom2 id 29 group 2 {
Ref.version.CustomVersion02
CDHCore.version.CustomVersion02
}

packet Version_Custom3 id 30 group 2 {
Ref.version.CustomVersion03
CDHCore.version.CustomVersion03
}

packet Version_Custom4 id 31 group 2 {
Ref.version.CustomVersion04
CDHCore.version.CustomVersion04
}

packet Version_Custom5 id 32 group 2 {
Ref.version.CustomVersion05
CDHCore.version.CustomVersion05
}

packet Version_Custom6 id 33 group 2 {
Ref.version.CustomVersion06
CDHCore.version.CustomVersion06
}

packet Version_Custom7 id 34 group 2 {
Ref.version.CustomVersion07
CDHCore.version.CustomVersion07
}

packet Version_Custom8 id 35 group 2 {
Ref.version.CustomVersion08
CDHCore.version.CustomVersion08
}

packet Version_Custom9 id 36 group 2 {
Ref.version.CustomVersion09
CDHCore.version.CustomVersion09
}

packet Version_Custom10 id 37 group 2 {
Ref.version.CustomVersion10
CDHCore.version.CustomVersion10
}

} omit {
Ref.cmdDisp.CommandErrors
}
CDHCore.cmdDisp.CommandErrors
}
9 changes: 5 additions & 4 deletions Ref/Top/RefTopology.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
// Used for 1Hz synthetic cycling
#include <Os/Mutex.hpp>


// Allows easy reference to objects in FPP/autocoder required namespaces
using namespace Ref;

Expand Down Expand Up @@ -54,7 +55,7 @@ enum TopologyConstants {
FILE_DOWNLINK_COOLDOWN = 1000,
FILE_DOWNLINK_CYCLE_TIME = 1000,
FILE_DOWNLINK_FILE_QUEUE_DEPTH = 10,
HEALTH_WATCHDOG_CODE = 0x123,
//HEALTH_WATCHDOG_CODE = 0x123,
COMM_PRIORITY = 100,
// Buffer manager for Uplink/Downlink
COMMS_BUFFER_MANAGER_STORE_SIZE = 2048,
Expand Down Expand Up @@ -96,8 +97,8 @@ void configureTopology() {
prmDb.readParamFile();

// Health is supplied a set of ping entires.
health.setPingEntries(ConfigObjects::Ref_health::pingEntries,
FW_NUM_ARRAY_ELEMENTS(ConfigObjects::Ref_health::pingEntries), HEALTH_WATCHDOG_CODE);
//CDHCore::health.setPingEntries(ConfigObjects::CDHCore_health::pingEntries,
//FW_NUM_ARRAY_ELEMENTS(ConfigObjects::CDHCore_health::pingEntries), HEALTH_WATCHDOG_CODE);

// Buffer managers need a configured set of buckets and an allocator used to allocate memory for those buckets.
Svc::BufferManager::BufferBins commsBuffMgrBins;
Expand Down Expand Up @@ -165,7 +166,7 @@ void setupTopology(const TopologyState& state) {
// Autocoded task kick-off (active components). Function provided by autocoder.
startTasks(state);
// Startup TLM and Config verbosity for Versions
version.config(true);
//version.config(true);
// Initialize socket client communication if and only if there is a valid specification
if (state.hostname != nullptr && state.port != 0) {
Os::TaskString name("ReceiveTask");
Expand Down
1 change: 1 addition & 0 deletions Ref/Top/RefTopology.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
// autocoder, but are also used in this hand-coded topology.
#include <Ref/Top/RefTopologyDefs.hpp>


// Remove unnecessary Ref:: qualifications
using namespace Ref;
namespace Ref {
Expand Down
93 changes: 35 additions & 58 deletions Ref/Top/RefTopologyDefs.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,22 @@
#include "Ref/Top/FppConstantsAc.hpp"
#include "Svc/Health/Health.hpp"

// Definitions are placed within a namespace named after the deployment
namespace Ref {
// Subtopology PingEntries includes
#include "Svc/Subtopologies/CDHCore/PingEntries.hpp"

/**
* \brief required type definition to carry state
*
* The topology autocoder requires an object that carries state with the name `Ref::TopologyState`. Only the type
* definition is required by the autocoder and the contents of this object are otherwise opaque to the autocoder. The
* contents are entirely up to the definition of the project. This reference application specifies hostname and port
* fields, which are derived by command line inputs.
*/
struct TopologyState {
const char* hostname;
U16 port;
};
namespace PingEntries {
namespace Ref_blockDrv {enum { WARN = 3, FATAL = 5 };}
namespace Ref_cmdSeq {enum { WARN = 3, FATAL = 5 };}
namespace Ref_fileDownlink {enum { WARN = 3, FATAL = 5 };}
namespace Ref_fileManager {enum { WARN = 3, FATAL = 5 };}
namespace Ref_fileUplink {enum { WARN = 3, FATAL = 5 };}
namespace Ref_pingRcvr {enum { WARN = 3, FATAL = 5 };}
namespace Ref_prmDb {enum { WARN = 3, FATAL = 5 };}
namespace Ref_rateGroup1Comp {enum { WARN = 3, FATAL = 5 };}
namespace Ref_rateGroup2Comp {enum { WARN = 3, FATAL = 5 };}
namespace Ref_rateGroup3Comp {enum { WARN = 3, FATAL = 5 };}
namespace Ref_dpCat {enum { WARN = 3, FATAL = 5 };}
} // namespace PingEntries

/**
* \brief required ping constants
Expand All @@ -51,49 +52,25 @@ struct TopologyState {
* }
* ```
*/
namespace PingEntries {
namespace Ref_blockDrv {
enum { WARN = 3, FATAL = 5 };
}
namespace Ref_tlmSend {
enum { WARN = 3, FATAL = 5 };
}
namespace Ref_cmdDisp {
enum { WARN = 3, FATAL = 5 };
}
namespace Ref_cmdSeq {
enum { WARN = 3, FATAL = 5 };
}
namespace Ref_eventLogger {
enum { WARN = 3, FATAL = 5 };
}
namespace Ref_fileDownlink {
enum { WARN = 3, FATAL = 5 };
}
namespace Ref_fileManager {
enum { WARN = 3, FATAL = 5 };
}
namespace Ref_fileUplink {
enum { WARN = 3, FATAL = 5 };
}
namespace Ref_pingRcvr {
enum { WARN = 3, FATAL = 5 };
}
namespace Ref_prmDb {
enum { WARN = 3, FATAL = 5 };
}
namespace Ref_rateGroup1Comp {
enum { WARN = 3, FATAL = 5 };
}
namespace Ref_rateGroup2Comp {
enum { WARN = 3, FATAL = 5 };
}
namespace Ref_rateGroup3Comp {
enum { WARN = 3, FATAL = 5 };
}
namespace Ref_dpCat {
enum { WARN = 3, FATAL = 5 };
}
} // namespace PingEntries

// Definitions are placed within a namespace named after the deployment
namespace Ref {

/**
* \brief required type definition to carry state
*
* The topology autocoder requires an object that carries state with the name `Ref::TopologyState`. Only the type
* definition is required by the autocoder and the contents of this object are otherwise opaque to the autocoder. The
* contents are entirely up to the definition of the project. This reference application specifies hostname and port
* fields, which are derived by command line inputs.
*/
struct TopologyState {
const char* hostname;
U16 port;
};

namespace PingEntries = ::PingEntries;

} // namespace Ref

#endif
Loading
Loading