From 478fbfc480a010f4f972f5e87ad94a0921478412 Mon Sep 17 00:00:00 2001 From: krmoore2 Date: Fri, 5 Apr 2024 12:16:31 +0000 Subject: [PATCH 1/3] WIP: Add routetbl and mpool ptrs to BPL EVM API --- fsw/src/bp_app.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/fsw/src/bp_app.c b/fsw/src/bp_app.c index 69fe22c8..4f88edce 100644 --- a/fsw/src/bp_app.c +++ b/fsw/src/bp_app.c @@ -39,6 +39,7 @@ #include "bp_dispatch.h" #include "bp_cla_bundle_io.h" #include "bplib_routing.h" +#include "bplib_api_types.h" #include "bpl_evm_api.h" #include "bpnode_evp_cfs.h" @@ -72,8 +73,10 @@ static CFE_Status_t BP_SetupLibrary(void) .SendEvent_Impl = BPNODE_EVP_SendEvent_Impl, }; + + bplib_mpool_t * mpool = bplib_route_get_mpool(BP_GlobalData.RouteTbl); BPL_Status_t BPL_EVM_Status; - BPL_EVM_Status = BPL_EVM_Initialize(EventProxyCallbacks); + BPL_EVM_Status = BPL_EVM_Initialize(mpool, EventProxyCallbacks); if (BPL_EVM_Status.ReturnValue != BPL_STATUS_SUCCESS) { fprintf(stderr, "%s(): BPL_EVM_Initialize failed\n", __func__); @@ -164,7 +167,9 @@ static CFE_Status_t AppInit(void) BP_DoRebuildFlowBitmask(); /* Application startup event message */ - (void) BPL_EVM_SendEvent(BP_INIT_INF_EID, CFE_EVS_EventType_INFORMATION, "BP App Version %d.%d.%d.%d: Initialized", + bplib_mpool_t * mpool = bplib_route_get_mpool(BP_GlobalData.RouteTbl); + (void) BPL_EVM_SendEvent(mpool, BP_INIT_INF_EID, CFE_EVS_EventType_INFORMATION, + "BP App Version %d.%d.%d.%d: Initialized", BP_MAJOR_VERSION, BP_MINOR_VERSION, BP_REVISION, BP_MISSION_REV); return CFE_SUCCESS; @@ -212,7 +217,8 @@ void BP_AppMain(void) } /* Exit Application */ - BPL_EVM_Deinitialize(); + bplib_mpool_t * mpool = bplib_route_get_mpool(BP_GlobalData.RouteTbl); + BPL_EVM_Deinitialize(mpool); CFE_EVS_SendEvent(BP_EXIT_ERR_EID, CFE_EVS_EventType_ERROR, "BP application terminating: result = 0x%08X", (unsigned int)run_status); CFE_ES_WriteToSysLog("BP application terminating: result = 0x%08X\n", From 9dd95e59f5209119f48e8ef72c18d1fde8dcc014 Mon Sep 17 00:00:00 2001 From: krmoore2 Date: Mon, 8 Apr 2024 18:59:12 +0000 Subject: [PATCH 2/3] Remove semicolon from struct ref --- fsw/src/bp_app.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fsw/src/bp_app.c b/fsw/src/bp_app.c index 4f88edce..7de98a6e 100644 --- a/fsw/src/bp_app.c +++ b/fsw/src/bp_app.c @@ -76,7 +76,7 @@ static CFE_Status_t BP_SetupLibrary(void) bplib_mpool_t * mpool = bplib_route_get_mpool(BP_GlobalData.RouteTbl); BPL_Status_t BPL_EVM_Status; - BPL_EVM_Status = BPL_EVM_Initialize(mpool, EventProxyCallbacks); + BPL_EVM_Status = BPL_EVM_Initialize(mpool, &EventProxyCallbacks); if (BPL_EVM_Status.ReturnValue != BPL_STATUS_SUCCESS) { fprintf(stderr, "%s(): BPL_EVM_Initialize failed\n", __func__); From 82104531a99fa3730c75316e6ef78349687377d1 Mon Sep 17 00:00:00 2001 From: krmoore2 Date: Wed, 17 Apr 2024 21:03:19 +0000 Subject: [PATCH 3/3] Add error check to AppInit SendEvent to confirm EVM is working --- fsw/src/bp_app.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/fsw/src/bp_app.c b/fsw/src/bp_app.c index 7de98a6e..1d779ba5 100644 --- a/fsw/src/bp_app.c +++ b/fsw/src/bp_app.c @@ -167,10 +167,18 @@ static CFE_Status_t AppInit(void) BP_DoRebuildFlowBitmask(); /* Application startup event message */ + BPL_Status_t BPL_EVM_Status; bplib_mpool_t * mpool = bplib_route_get_mpool(BP_GlobalData.RouteTbl); - (void) BPL_EVM_SendEvent(mpool, BP_INIT_INF_EID, CFE_EVS_EventType_INFORMATION, + BPL_EVM_Status = BPL_EVM_SendEvent(mpool, BP_INIT_INF_EID, CFE_EVS_EventType_INFORMATION, "BP App Version %d.%d.%d.%d: Initialized", BP_MAJOR_VERSION, BP_MINOR_VERSION, BP_REVISION, BP_MISSION_REV); + if (BPL_EVM_Status.ReturnValue != BPL_STATUS_SUCCESS) + { + fprintf(stderr, "BP %s(): BPL_EVM_SendEvent failed with retval %d\n", + __func__, + BPL_EVM_Status.ReturnValue); + return CFE_STATUS_EXTERNAL_RESOURCE_FAIL; + } return CFE_SUCCESS; }