Skip to content

Commit 2930b94

Browse files
authored
Merge pull request nasa#150 from nasa/integration-candidate
ci_lab Integration candidate: Caelum-rc4+dev63
2 parents ed38aa2 + 7d3eca9 commit 2930b94

22 files changed

+743
-224
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## Development Build: v2.5.0-rc4+dev51
4+
- reorganize source files
5+
- See <https://github.com/nasa/ci_lab/pull/148>
6+
37
## Development Build: v2.5.0-rc4+dev47
48
- Create Workflow for IC Bundle Generation
59
- See <https://github.com/nasa/ci_lab/pull/143>

CMakeLists.txt

+3-4
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@ project(CFS_CI_LAB C)
33

44
set(APP_SRC_FILES
55
fsw/src/ci_lab_app.c
6+
fsw/src/ci_lab_cmds.c
7+
fsw/src/ci_lab_dispatch.c
68
)
79

810
# Create the app module
911
add_cfe_app(ci_lab ${APP_SRC_FILES})
1012

11-
target_include_directories(ci_lab PUBLIC
12-
fsw/mission_inc
13-
fsw/platform_inc
14-
)
13+
target_include_directories(ci_lab PUBLIC fsw/inc)

arch_build.cmake

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
###########################################################
2+
#
3+
# CI_LAB platform build setup
4+
#
5+
# This file is evaluated as part of the "prepare" stage
6+
# and can be used to set up prerequisites for the build,
7+
# such as generating header files
8+
#
9+
###########################################################
10+
11+
# The list of header files that control the CI_LAB configuration
12+
set(CI_LAB_PLATFORM_CONFIG_FILE_LIST
13+
ci_lab_internal_cfg.h
14+
ci_lab_platform_cfg.h
15+
ci_lab_perfids.h
16+
ci_lab_msgids.h
17+
)
18+
19+
# Create wrappers around the all the config header files
20+
# This makes them individually overridable by the missions, without modifying
21+
# the distribution default copies
22+
foreach(CI_LAB_CFGFILE ${CI_LAB_PLATFORM_CONFIG_FILE_LIST})
23+
generate_config_includefile(
24+
FILE_NAME "${CI_LAB_CFGFILE}"
25+
FALLBACK_FILE "${CMAKE_CURRENT_LIST_DIR}/config/default_${CI_LAB_CFGFILE}"
26+
)
27+
endforeach()

config/default_ci_lab_fcncodes.h

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/************************************************************************
2+
* NASA Docket No. GSC-18,719-1, and identified as “core Flight System: Bootes”
3+
*
4+
* Copyright (c) 2020 United States Government as represented by the
5+
* Administrator of the National Aeronautics and Space Administration.
6+
* All Rights Reserved.
7+
*
8+
* Licensed under the Apache License, Version 2.0 (the "License"); you may
9+
* not use this file except in compliance with the License. You may obtain
10+
* a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing, software
13+
* distributed under the License is distributed on an "AS IS" BASIS,
14+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
* See the License for the specific language governing permissions and
16+
* limitations under the License.
17+
************************************************************************/
18+
19+
/**
20+
* @file
21+
* Specification for the CI_LAB command function codes
22+
*
23+
* @note
24+
* This file should be strictly limited to the command/function code (CC)
25+
* macro definitions. Other definitions such as enums, typedefs, or other
26+
* macros should be placed in the msgdefs.h or msg.h files.
27+
*/
28+
#ifndef CI_LAB_FCNCODES_H
29+
#define CI_LAB_FCNCODES_H
30+
31+
/************************************************************************
32+
* Macro Definitions
33+
************************************************************************/
34+
35+
/*
36+
** CI_LAB command codes
37+
*/
38+
#define CI_LAB_NOOP_CC 0
39+
#define CI_LAB_RESET_COUNTERS_CC 1
40+
41+
#endif

config/default_ci_lab_interface_cfg.h

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/************************************************************************
2+
* NASA Docket No. GSC-18,719-1, and identified as “core Flight System: Bootes”
3+
*
4+
* Copyright (c) 2020 United States Government as represented by the
5+
* Administrator of the National Aeronautics and Space Administration.
6+
* All Rights Reserved.
7+
*
8+
* Licensed under the Apache License, Version 2.0 (the "License"); you may
9+
* not use this file except in compliance with the License. You may obtain
10+
* a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing, software
13+
* distributed under the License is distributed on an "AS IS" BASIS,
14+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
* See the License for the specific language governing permissions and
16+
* limitations under the License.
17+
************************************************************************/
18+
19+
/**
20+
* @file
21+
* CI_LAB Application Public Definitions
22+
*
23+
* This provides default values for configurable items that affect
24+
* the interface(s) of this module. This includes the CMD/TLM message
25+
* interface, tables definitions, and any other data products that
26+
* serve to exchange information with other entities.
27+
*
28+
* @note This file may be overridden/superceded by mission-provided defintions
29+
* either by overriding this header or by generating definitions from a command/data
30+
* dictionary tool.
31+
*/
32+
#ifndef CI_LAB_INTERFACE_CFG_H
33+
#define CI_LAB_INTERFACE_CFG_H
34+
35+
/**
36+
* @brief The base UDP port where CI_LAB will listen for incoming messages
37+
*
38+
* In order to allow multiple instances of CFE to run on the same host, the
39+
* processor number - 1 is added to this value. This, if this is set to
40+
* "1234", then the following ports will be used at runtime:
41+
*
42+
* Processor 1: port 1234
43+
* Processor 2: port 1235
44+
* Processor 3: port 1236
45+
*
46+
* And so forth for however many processor numbers exist in the system
47+
*/
48+
#define CI_LAB_BASE_UDP_PORT 1234
49+
50+
#endif

config/default_ci_lab_internal_cfg.h

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/************************************************************************
2+
* NASA Docket No. GSC-18,719-1, and identified as “core Flight System: Bootes”
3+
*
4+
* Copyright (c) 2020 United States Government as represented by the
5+
* Administrator of the National Aeronautics and Space Administration.
6+
* All Rights Reserved.
7+
*
8+
* Licensed under the Apache License, Version 2.0 (the "License"); you may
9+
* not use this file except in compliance with the License. You may obtain
10+
* a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing, software
13+
* distributed under the License is distributed on an "AS IS" BASIS,
14+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
* See the License for the specific language governing permissions and
16+
* limitations under the License.
17+
************************************************************************/
18+
19+
/**
20+
* @file
21+
* CI_LAB Application Private Config Definitions
22+
*
23+
* This provides default values for configurable items that are internal
24+
* to this module and do NOT affect the interface(s) of this module. Changes
25+
* to items in this file only affect the local module and will be transparent
26+
* to external entities that are using the public interface(s).
27+
*
28+
* @note This file may be overridden/superceded by mission-provided defintions
29+
* either by overriding this header or by generating definitions from a command/data
30+
* dictionary tool.
31+
*/
32+
#ifndef CI_LAB_INTERNAL_CFG_H
33+
#define CI_LAB_INTERNAL_CFG_H
34+
35+
/**
36+
* @brief The size of the input buffer
37+
*
38+
* This definition controls the maximum size message that can be ingested
39+
* from the UDP socket
40+
*/
41+
#define CI_LAB_MAX_INGEST 768
42+
43+
/**
44+
* @brief The depth of the command input pipe
45+
*
46+
* This controls the depth of the SB input pipe
47+
*/
48+
#define CI_LAB_PIPE_DEPTH 32
49+
50+
#endif

config/default_ci_lab_mission_cfg.h

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/************************************************************************
2+
* NASA Docket No. GSC-18,719-1, and identified as “core Flight System: Bootes”
3+
*
4+
* Copyright (c) 2020 United States Government as represented by the
5+
* Administrator of the National Aeronautics and Space Administration.
6+
* All Rights Reserved.
7+
*
8+
* Licensed under the Apache License, Version 2.0 (the "License"); you may
9+
* not use this file except in compliance with the License. You may obtain
10+
* a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing, software
13+
* distributed under the License is distributed on an "AS IS" BASIS,
14+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
* See the License for the specific language governing permissions and
16+
* limitations under the License.
17+
************************************************************************/
18+
19+
/**
20+
* @file
21+
*
22+
* CI_LAB Application Mission Configuration Header File
23+
*
24+
* This is a compatibility header for the "mission_cfg.h" file that has
25+
* traditionally provided public config definitions for each CFS app.
26+
*
27+
* @note This file may be overridden/superceded by mission-provided defintions
28+
* either by overriding this header or by generating definitions from a command/data
29+
* dictionary tool.
30+
*/
31+
#ifndef CI_LAB_MISSION_CFG_H
32+
#define CI_LAB_MISSION_CFG_H
33+
34+
#include "ci_lab_interface_cfg.h"
35+
36+
#endif

config/default_ci_lab_msg.h

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/************************************************************************
2+
* NASA Docket No. GSC-18,719-1, and identified as “core Flight System: Bootes”
3+
*
4+
* Copyright (c) 2020 United States Government as represented by the
5+
* Administrator of the National Aeronautics and Space Administration.
6+
* All Rights Reserved.
7+
*
8+
* Licensed under the Apache License, Version 2.0 (the "License"); you may
9+
* not use this file except in compliance with the License. You may obtain
10+
* a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing, software
13+
* distributed under the License is distributed on an "AS IS" BASIS,
14+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
* See the License for the specific language governing permissions and
16+
* limitations under the License.
17+
************************************************************************/
18+
19+
/**
20+
* @file
21+
* Specification for the CI_LAB command and telemetry
22+
* message data types.
23+
*
24+
* This is a compatibility header for the "ci_lab_msg.h" file that has
25+
* traditionally provided the message definitions for cFS apps.
26+
*
27+
* @note This file may be overridden/superceded by mission-provided defintions
28+
* either by overriding this header or by generating definitions from a command/data
29+
* dictionary tool.
30+
*/
31+
#ifndef CI_LAB_MSG_H
32+
#define CI_LAB_MSG_H
33+
34+
#include "ci_lab_interface_cfg.h"
35+
#include "ci_lab_msgdefs.h"
36+
#include "ci_lab_msgstruct.h"
37+
38+
#endif

config/default_ci_lab_msgdefs.h

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/************************************************************************
2+
* NASA Docket No. GSC-18,719-1, and identified as “core Flight System: Bootes”
3+
*
4+
* Copyright (c) 2020 United States Government as represented by the
5+
* Administrator of the National Aeronautics and Space Administration.
6+
* All Rights Reserved.
7+
*
8+
* Licensed under the Apache License, Version 2.0 (the "License"); you may
9+
* not use this file except in compliance with the License. You may obtain
10+
* a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing, software
13+
* distributed under the License is distributed on an "AS IS" BASIS,
14+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
* See the License for the specific language governing permissions and
16+
* limitations under the License.
17+
************************************************************************/
18+
19+
/**
20+
* @file
21+
* Specification for the CI_LAB command and telemetry
22+
* message constant definitions.
23+
*
24+
* For CI_LAB this is only the function/command code definitions
25+
*/
26+
#ifndef CI_LAB_MSGDEFS_H
27+
#define CI_LAB_MSGDEFS_H
28+
29+
#include "ci_lab_fcncodes.h"
30+
31+
/*************************************************************************/
32+
/*
33+
** Payload definition (CI_LAB housekeeping)...
34+
*/
35+
typedef struct
36+
{
37+
uint8 CommandErrorCounter;
38+
uint8 CommandCounter;
39+
uint8 EnableChecksums;
40+
uint8 SocketConnected;
41+
uint8 Spare1[8];
42+
uint32 IngestPackets;
43+
uint32 IngestErrors;
44+
uint32 Spare2;
45+
46+
} CI_LAB_HkTlm_Payload_t;
47+
48+
#endif

fsw/platform_inc/ci_lab_msgids.h renamed to config/default_ci_lab_msgids.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
/**
2020
* @file
21-
* Define CI Lab Message IDs
21+
* CI_LAB Application Message IDs
2222
*/
2323
#ifndef CI_LAB_MSGIDS_H
2424
#define CI_LAB_MSGIDS_H

0 commit comments

Comments
 (0)