F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
TlmPacketizerCfg.hpp
Go to the documentation of this file.
1 /*
2  * TlmPacketizerComponentImplCfg.hpp
3  *
4  * Created on: Dec 10, 2017
5  * Author: tim
6  */
7 
8 // \copyright
9 // Copyright 2009-2015, by the California Institute of Technology.
10 // ALL RIGHTS RESERVED. United States Government Sponsorship
11 // acknowledged.
12 
13 #ifndef SVC_TLMPACKETIZER_TLMPACKETIZERCOMPONENTIMPLCFG_HPP_
14 #define SVC_TLMPACKETIZER_TLMPACKETIZERCOMPONENTIMPLCFG_HPP_
15 
16 #include <Fw/FPrimeBasicTypes.hpp>
17 
18 namespace Svc {
19 static const FwChanIdType MAX_PACKETIZER_PACKETS = 200;
20 
21 // Works best when set to about twice the number of components producing telemetry
22 static const FwChanIdType TLMPACKETIZER_NUM_TLM_HASH_SLOTS = 15; // !< Number of slots in the hash table.
23 
24 // Should be set to a little below the ID gaps to spread the entries around
25 static const FwChanIdType TLMPACKETIZER_HASH_MOD_VALUE = 99; // !< The modulo value of the hashing function.
26 
27 // Buckets must be >= number of telemetry channels in system
28 static const FwChanIdType TLMPACKETIZER_HASH_BUCKETS = 1000; // !< Buckets assignable to a hash slot.
29 
30 static const FwChanIdType TLMPACKETIZER_MAX_MISSING_TLM_CHECK = 25; // !< Max number of missing channel checks
31 
32 // packet update mode
33 enum PacketUpdateMode {
34  PACKET_UPDATE_ALWAYS, // Always send packets, even if no changes to channel data
35  PACKET_UPDATE_ON_CHANGE, // Only send packets if any of the channels updates
36  PACKET_UPDATE_AFTER_FIRST_CHANGE, // Always send packets, but only after first channel has been updated
37 };
38 
40 } // namespace Svc
41 
42 #endif /* SVC_TLMPACKETIZER_TLMPACKETIZERCOMPONENTIMPLCFG_HPP_ */
static const FwChanIdType TLMPACKETIZER_HASH_BUCKETS
static const FwChanIdType MAX_PACKETIZER_PACKETS
static const FwChanIdType TLMPACKETIZER_NUM_TLM_HASH_SLOTS
static const FwChanIdType TLMPACKETIZER_MAX_MISSING_TLM_CHECK
static const PacketUpdateMode PACKET_UPDATE_MODE
FwIdType FwChanIdType
The type of a telemetry channel identifier.
static const FwChanIdType TLMPACKETIZER_HASH_MOD_VALUE
RateGroupDivider component implementation.