Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

to_lab Integration candidate: Caelum-rc4+dev64 #170

Merged
merged 17 commits into from
Nov 14, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
6326445
Fix #133, Apply consistent Event ID names to common events in to_lab
thnkslprpt Oct 21, 2022
53caa1f
Fix #147, Add check for failure of `CFE_EVS_Register()` during initia…
thnkslprpt Apr 5, 2023
d7b7f46
Fix #155, Convert `int32` return codes and variables to `CFE_Status_t`
thnkslprpt Apr 24, 2023
d81ddd3
Fix #157, Move function prototypes to header file
thnkslprpt May 2, 2023
fce77cf
Fix #145, Refactor mutually exclusive logic in if, else if block
thnkslprpt Jan 27, 2023
60968b1
Fix #162, Update misnamed `CmdHeader` variable in `to_lab_msg.h`
thnkslprpt Sep 22, 2023
ae2fcee
Fix #166, reorganize source files
jphickey Oct 25, 2023
511a3dc
Fix #167, add encode hook
jphickey Oct 27, 2023
f763010
Merge pull request #168 from jphickey:fix-166-reorg
dzbaker Nov 13, 2023
503f9e3
Merge pull request #134 from thnkslprpt:fix-133-apply-consistent-even…
dzbaker Nov 13, 2023
d64ae8d
Merge pull request #146 from thnkslprpt:fix-145-refactor-mutually-exc…
dzbaker Nov 13, 2023
5d21890
Merge pull request #148 from thnkslprpt:fix-147-add-check-for-evs-reg…
dzbaker Nov 13, 2023
348f304
Merge pull request #156 from thnkslprpt:fix-155-convert-int-32-return…
dzbaker Nov 13, 2023
089b2d0
Merge pull request #158 from thnkslprpt:fix-157-move-prototypes-to-he…
dzbaker Nov 13, 2023
e868712
Merge pull request #163 from thnkslprpt:fix-162-update-misnamed-CmdHe…
dzbaker Nov 13, 2023
500839d
Updating documentation and version numbers for v2.5.0-rc4+dev66
dzbaker Nov 13, 2023
3316bfa
HotFix #170, correct IC merge issues
jphickey Nov 14, 2023
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
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ A clear and concise description of what the contribution is.
**Testing performed**
Steps taken to test the contribution:
1. Build steps '...'
1. Execution steps '...'
2. Execution steps '...'

**Expected behavior changes**
A clear and concise description of how this contribution will change behavior and level of impact.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
codeql:
name: Codeql
uses: nasa/cFS/.github/workflows/codeql-reusable.yml@main
with:
with:
component-path: apps/to_lab
prep: 'make prep; make -C build/tools/elf2cfetbl'
make: 'make -C build/native/default_cpu1/apps/to_lab'
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Changelog

## Development Build: v2.5.0-rc4+dev66
- reorganize source files
- Apply consistent Event ID names to common events
- Refactor mutually exclusive logic in if, else if block
- Add check for failure of CFE_EVS_Register() during initialization
- Convert int32 return codes and variables to CFE_Status_t
- Move function prototypes to header file
- Update misnamed CmdHeader variable in to_lab_msg.h
- See <https://github.com/nasa/to_lab/pull/168>, <https://github.com/nasa/to_lab/pull/134>, <https://github.com/nasa/to_lab/pull/146>, <https://github.com/nasa/to_lab/pull/148>, <https://github.com/nasa/to_lab/pull/156>, <https://github.com/nasa/to_lab/pull/158>, and <https://github.com/nasa/to_lab/pull/163>

## Development Build: v2.5.0-rc4+dev49
- Remove unused/unnecessary TO_LAB_UNUSED
- See <https://github.com/nasa/to_lab/pull/160>
Expand Down
8 changes: 4 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ endforeach()

set(APP_SRC_FILES
fsw/src/to_lab_app.c
fsw/src/to_lab_cmds.c
fsw/src/to_lab_dispatch.c
fsw/src/to_lab_passthru_encode.c
)

# Create the app module
add_cfe_app(to_lab ${APP_SRC_FILES})
add_cfe_tables(to_lab fsw/tables/to_lab_sub.c)

target_include_directories(to_lab PUBLIC
fsw/mission_inc
fsw/platform_inc
)
target_include_directories(to_lab PUBLIC fsw/inc)
27 changes: 27 additions & 0 deletions arch_build.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
###########################################################
#
# TO_LAB platform build setup
#
# This file is evaluated as part of the "prepare" stage
# and can be used to set up prerequisites for the build,
# such as generating header files
#
###########################################################

# The list of header files that control the TO_LAB configuration
set(TO_LAB_PLATFORM_CONFIG_FILE_LIST
to_lab_internal_cfg.h
to_lab_platform_cfg.h
to_lab_perfids.h
to_lab_msgids.h
)

# Create wrappers around the all the config header files
# This makes them individually overridable by the missions, without modifying
# the distribution default copies
foreach(TO_LAB_CFGFILE ${TO_LAB_PLATFORM_CONFIG_FILE_LIST})
generate_config_includefile(
FILE_NAME "${TO_LAB_CFGFILE}"
FALLBACK_FILE "${CMAKE_CURRENT_LIST_DIR}/config/default_${TO_LAB_CFGFILE}"
)
endforeach()
46 changes: 46 additions & 0 deletions config/default_to_lab_fcncodes.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/************************************************************************
* NASA Docket No. GSC-18,719-1, and identified as “core Flight System: Bootes”
*
* Copyright (c) 2020 United States Government as represented by the
* Administrator of the National Aeronautics and Space Administration.
* All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
************************************************************************/

/**
* @file
* Specification for the TO_LAB command function codes
*
* @note
* This file should be strictly limited to the command/function code (CC)
* macro definitions. Other definitions such as enums, typedefs, or other
* macros should be placed in the msgdefs.h or msg.h files.
*/
#ifndef TO_LAB_FCNCODES_H
#define TO_LAB_FCNCODES_H

/************************************************************************
* Macro Definitions
************************************************************************/

/*
** TO_LAB command codes
*/
#define TO_LAB_NOOP_CC 0 /* no-op command */
#define TO_LAB_RESET_STATUS_CC 1 /* reset status */
#define TO_LAB_ADD_PKT_CC 2 /* add packet */
#define TO_LAB_SEND_DATA_TYPES_CC 3 /* send data types */
#define TO_LAB_REMOVE_PKT_CC 4 /* remove packet */
#define TO_LAB_REMOVE_ALL_PKT_CC 5 /* remove all packet */
#define TO_LAB_OUTPUT_ENABLE_CC 6 /* output enable */

#endif
45 changes: 45 additions & 0 deletions config/default_to_lab_interface_cfg.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/************************************************************************
* NASA Docket No. GSC-18,719-1, and identified as “core Flight System: Bootes”
*
* Copyright (c) 2020 United States Government as represented by the
* Administrator of the National Aeronautics and Space Administration.
* All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
************************************************************************/

/**
* @file
* TO_LAB Application Public Definitions
*
* This provides default values for configurable items that affect
* the interface(s) of this module. This includes the CMD/TLM message
* interface, tables definitions, and any other data products that
* serve to exchange information with other entities.
*
* @note This file may be overridden/superceded by mission-provided defintions
* either by overriding this header or by generating definitions from a command/data
* dictionary tool.
*/
#ifndef TO_LAB_INTERFACE_CFG_H
#define TO_LAB_INTERFACE_CFG_H

/**
* @brief The base UDP port number that TO_LAB will send to
*/
#define TO_LAB_TLM_PORT 1235

/**
* @brief The maximum number of subscriptions that TO_LAB can subscribe to
*/
#define TO_LAB_MAX_SUBSCRIPTIONS 32

#endif
49 changes: 49 additions & 0 deletions config/default_to_lab_internal_cfg.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/************************************************************************
* NASA Docket No. GSC-18,719-1, and identified as “core Flight System: Bootes”
*
* Copyright (c) 2020 United States Government as represented by the
* Administrator of the National Aeronautics and Space Administration.
* All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
************************************************************************/

/**
* @file
* TO_LAB Application Private Config Definitions
*
* This provides default values for configurable items that are internal
* to this module and do NOT affect the interface(s) of this module. Changes
* to items in this file only affect the local module and will be transparent
* to external entities that are using the public interface(s).
*
* @note This file may be overridden/superceded by mission-provided defintions
* either by overriding this header or by generating definitions from a command/data
* dictionary tool.
*/
#ifndef TO_LAB_INTERNAL_CFG_H
#define TO_LAB_INTERNAL_CFG_H

/*****************************************************************************/

#define TO_LAB_TASK_MSEC 500 /* run at 2 Hz */

/**
* Depth of pipe for commands to the TO_LAB application itself
*/
#define TO_LAB_CMD_PIPE_DEPTH 8

/**
* Depth of pipe for telemetry forwarded through the TO_LAB application
*/
#define TO_LAB_TLM_PIPE_DEPTH OS_QUEUE_MAX_DEPTH

#endif
36 changes: 36 additions & 0 deletions config/default_to_lab_mission_cfg.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/************************************************************************
* NASA Docket No. GSC-18,719-1, and identified as “core Flight System: Bootes”
*
* Copyright (c) 2020 United States Government as represented by the
* Administrator of the National Aeronautics and Space Administration.
* All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
************************************************************************/

/**
* @file
*
* TO_LAB Application Mission Configuration Header File
*
* This is a compatibility header for the "mission_cfg.h" file that has
* traditionally provided public config definitions for each CFS app.
*
* @note This file may be overridden/superceded by mission-provided defintions
* either by overriding this header or by generating definitions from a command/data
* dictionary tool.
*/
#ifndef TO_LAB_MISSION_CFG_H
#define TO_LAB_MISSION_CFG_H

#include "to_lab_interface_cfg.h"

#endif
38 changes: 38 additions & 0 deletions config/default_to_lab_msg.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/************************************************************************
* NASA Docket No. GSC-18,719-1, and identified as “core Flight System: Bootes”
*
* Copyright (c) 2020 United States Government as represented by the
* Administrator of the National Aeronautics and Space Administration.
* All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
************************************************************************/

/**
* @file
* Specification for the TO_LAB command and telemetry
* message data types.
*
* This is a compatibility header for the "to_lab_msg.h" file that has
* traditionally provided the message definitions for cFS apps.
*
* @note This file may be overridden/superceded by mission-provided defintions
* either by overriding this header or by generating definitions from a command/data
* dictionary tool.
*/
#ifndef TO_LAB_MSG_H
#define TO_LAB_MSG_H

#include "to_lab_interface_cfg.h"
#include "to_lab_msgdefs.h"
#include "to_lab_msgstruct.h"

#endif
69 changes: 69 additions & 0 deletions config/default_to_lab_msgdefs.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
/************************************************************************
* NASA Docket No. GSC-18,719-1, and identified as “core Flight System: Bootes”
*
* Copyright (c) 2020 United States Government as represented by the
* Administrator of the National Aeronautics and Space Administration.
* All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
************************************************************************/

/**
* @file
* Specification for the TO_LAB command and telemetry
* message constant definitions.
*
* For TO_LAB this is only the function/command code definitions
*/
#ifndef TO_LAB_MSGDEFS_H
#define TO_LAB_MSGDEFS_H

#include "common_types.h"
#include "cfe_sb_extern_typedefs.h"
#include "to_lab_fcncodes.h"

typedef struct
{
uint8 CommandCounter;
uint8 CommandErrorCounter;
uint8 spareToAlign[2];
} TO_LAB_HkTlm_Payload_t;

typedef struct
{
uint16 synch;
uint8 bl1, bl2; /* boolean */
int8 b1, b2, b3, b4;
int16 w1, w2;
int32 dw1, dw2;
float f1, f2;
double df1, df2;
char str[10];
} TO_LAB_DataTypes_Payload_t;

typedef struct
{
CFE_SB_MsgId_t Stream;
CFE_SB_Qos_t Flags;
uint8 BufLimit;
} TO_LAB_AddPacket_Payload_t;

typedef struct
{
CFE_SB_MsgId_t Stream;
} TO_LAB_RemovePacket_Payload_t;

typedef struct
{
char dest_IP[16];
} TO_LAB_EnableOutput_Payload_t;

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

/**
* @file
* Define TO Lab Message IDs
* TO_LAB Application Message IDs
*/
#ifndef TO_LAB_MSGIDS_H
#define TO_LAB_MSGIDS_H
Expand Down
Loading
Loading