File tree 8 files changed +62
-11
lines changed
8 files changed +62
-11
lines changed Original file line number Diff line number Diff line change 1
1
# Changelog
2
2
3
+ ## Development Build: equuleus-rc1+dev57
4
+ - more complete definition of READ_UPLINK
5
+ - See < https://github.com/nasa/ci_lab/pull/174 >
6
+
3
7
## Development Build: equuleus-rc1+dev51
4
8
- Support scheduled uplink check
5
9
- updating ci_lab to use new versioning system
Original file line number Diff line number Diff line change @@ -63,6 +63,11 @@ typedef struct
63
63
CFE_MSG_CommandHeader_t CommandHeader ;
64
64
} CI_LAB_SendHkCmd_t ;
65
65
66
+ typedef struct
67
+ {
68
+ CFE_MSG_CommandHeader_t CommandHeader ;
69
+ } CI_LAB_ReadUplinkCmd_t ;
70
+
66
71
typedef struct
67
72
{
68
73
CFE_MSG_TelemetryHeader_t TelemetryHeader ;
Original file line number Diff line number Diff line change 45
45
<ContainerDataType name =" SendHkCmd" baseType =" CFE_HDR/CommandHeader" >
46
46
</ContainerDataType >
47
47
48
+ <ContainerDataType name =" ReadUplinkCmd" baseType =" CFE_HDR/CommandHeader" >
49
+ </ContainerDataType >
50
+
48
51
<ContainerDataType name =" CommandBase" baseType =" CFE_HDR/CommandHeader" >
49
52
</ContainerDataType >
50
53
78
81
</GenericTypeMapSet >
79
82
</Interface >
80
83
<Interface name =" SEND_HK" shortDescription =" Send telemetry command interface" type =" CFE_SB/Telecommand" >
81
- <!-- This uses a bare spacepacket with no payload -->
82
84
<GenericTypeMapSet >
83
85
<GenericTypeMap name =" TelecommandDataType" type =" SendHkCmd" />
84
86
</GenericTypeMapSet >
85
87
</Interface >
88
+ <Interface name =" READ_UPLINK" shortDescription =" Read Uplink interface" type =" CFE_SB/Telecommand" >
89
+ <GenericTypeMapSet >
90
+ <GenericTypeMap name =" TelecommandDataType" type =" ReadUplinkCmd" />
91
+ </GenericTypeMapSet >
92
+ </Interface >
86
93
<Interface name =" HK_TLM" shortDescription =" Software bus housekeeping telemetry interface" type =" CFE_SB/Telemetry" >
87
94
<GenericTypeMapSet >
88
95
<GenericTypeMap name =" TelemetryDataType" type =" HkTlm" />
89
96
</GenericTypeMapSet >
90
97
</Interface >
98
+
91
99
</RequiredInterfaceSet >
92
100
<Implementation >
93
101
<VariableSet >
94
102
<Variable type =" BASE_TYPES/uint16" readOnly =" true" name =" CmdTopicId" initialValue =" ${CFE_MISSION/CI_LAB_CMD_TOPICID}" />
95
103
<Variable type =" BASE_TYPES/uint16" readOnly =" true" name =" SendHkTopicId" initialValue =" ${CFE_MISSION/CI_LAB_SEND_HK_TOPICID}" />
104
+ <Variable type =" BASE_TYPES/uint16" readOnly =" true" name =" ReadUplinkTopicId" initialValue =" ${CFE_MISSION/CI_LAB_READ_UPLINK_TOPICID}" />
96
105
<Variable type =" BASE_TYPES/uint16" readOnly =" true" name =" HkTlmTopicId" initialValue =" ${CFE_MISSION/CI_LAB_HK_TLM_TOPICID}" />
97
106
</VariableSet >
98
107
<!-- Assign fixed numbers to the "TopicId" parameter of each interface -->
99
108
<ParameterMapSet >
100
109
<ParameterMap interface =" CMD" parameter =" TopicId" variableRef =" CmdTopicId" />
101
110
<ParameterMap interface =" SEND_HK" parameter =" TopicId" variableRef =" SendHkTopicId" />
111
+ <ParameterMap interface =" READ_UPLINK" parameter =" TopicId" variableRef =" ReadUplinkTopicId" />
102
112
<ParameterMap interface =" HK_TLM" parameter =" TopicId" variableRef =" HkTlmTopicId" />
103
113
</ParameterMapSet >
104
114
</Implementation >
Original file line number Diff line number Diff line change @@ -75,3 +75,11 @@ CFE_Status_t CI_LAB_SendHkCmd(const CI_LAB_SendHkCmd_t *cmd)
75
75
CFE_SB_TransmitMsg (CFE_MSG_PTR (CI_LAB_Global .HkTlm .TelemetryHeader ), true);
76
76
return CFE_SUCCESS ;
77
77
}
78
+
79
+ CFE_Status_t CI_LAB_ReadUplinkCmd (const CI_LAB_ReadUplinkCmd_t * cmd )
80
+ {
81
+ /* Any occurrence of this request will cause CI to read ONLY on this request thereafter */
82
+ CI_LAB_Global .Scheduled = true;
83
+ CI_LAB_ReadUpLink ();
84
+ return CFE_SUCCESS ;
85
+ }
Original file line number Diff line number Diff line change @@ -59,4 +59,19 @@ CFE_Status_t CI_LAB_ResetCountersCmd(const CI_LAB_ResetCountersCmd_t *cmd);
59
59
*/
60
60
CFE_Status_t CI_LAB_SendHkCmd (const CI_LAB_SendHkCmd_t * cmd );
61
61
62
+ /**
63
+ * @brief Read Uplink command packets
64
+ *
65
+ * This allows servicing of the CI_LAB uplink to be scheduled in a designated timeslot.
66
+ *
67
+ * For backward compatibility, CI_LAB will service the uplink periodically by default,
68
+ * using a local timeout. However, if this message is sent by the system scheduler,
69
+ * CI_LAB will stop servicing based on the timeout and ONLY based on that command.
70
+ *
71
+ * @param cmd Input message pointer
72
+ * @returns CFE Status code
73
+ * @retval #CFE_SUCCESS on successful processing
74
+ */
75
+ CFE_Status_t CI_LAB_ReadUplinkCmd (const CI_LAB_ReadUplinkCmd_t * cmd );
76
+
62
77
#endif
Original file line number Diff line number Diff line change @@ -123,8 +123,7 @@ void CI_LAB_TaskPipe(const CFE_SB_Buffer_t *SBBufPtr)
123
123
break ;
124
124
125
125
case CI_LAB_READ_UPLINK_MID :
126
- CI_LAB_Global .Scheduled = true;
127
- CI_LAB_ReadUpLink ();
126
+ CI_LAB_ReadUplinkCmd ((const CI_LAB_ReadUplinkCmd_t * )SBBufPtr );
128
127
break ;
129
128
130
129
default :
Original file line number Diff line number Diff line change 40
40
/*
41
41
* Define a lookup table for CI lab command codes
42
42
*/
43
- static const CI_LAB_Application_Component_Telecommand_DispatchTable_t CI_LAB_TC_DISPATCH_TABLE = {
43
+ /* clang-format off */
44
+ static const CI_LAB_Application_Component_Telecommand_DispatchTable_t CI_LAB_TC_DISPATCH_TABLE =
45
+ {
44
46
.CMD =
45
- {
46
- .NoopCmd_indication = CI_LAB_NoopCmd ,
47
- .ResetCountersCmd_indication = CI_LAB_ResetCountersCmd ,
48
-
49
- },
50
- .SEND_HK = {.indication = CI_LAB_SendHkCmd }};
47
+ {
48
+ .NoopCmd_indication = CI_LAB_NoopCmd ,
49
+ .ResetCountersCmd_indication = CI_LAB_ResetCountersCmd ,
50
+ },
51
+ .SEND_HK =
52
+ {
53
+ .indication = CI_LAB_SendHkCmd
54
+ },
55
+ .READ_UPLINK =
56
+ {
57
+ .indication = CI_LAB_ReadUplinkCmd
58
+ }
59
+ };
60
+ /* clang-format on */
51
61
52
62
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **/
53
63
/* Name: CI_LAB_TaskPipe */
Original file line number Diff line number Diff line change 25
25
26
26
/* Development Build Macro Definitions */
27
27
28
- #define CI_LAB_BUILD_NUMBER 51 /*!< Development Build: Number of commits since baseline */
28
+ #define CI_LAB_BUILD_NUMBER 57 /*!< Development Build: Number of commits since baseline */
29
29
#define CI_LAB_BUILD_BASELINE "equuleus-rc1" /*!< Development Build: git tag that is the base for the current development */
30
30
#define CI_LAB_BUILD_DEV_CYCLE "equuleus-rc2" /**< @brief Development: Release name for current development cycle */
31
31
#define CI_LAB_BUILD_CODENAME "Equuleus" /**< @brief: Development: Code name for the current build */
You can’t perform that action at this time.
0 commit comments