/*
 * IPCDataSynch.h
 *
 *  Created on: Jun 28, 2025
 *      Author: tummalanr
 */

/**
* \brief Contains the Variables used for IPC Notification from CAN core.
*
* \file IPCDataSynch.h
* contains Variables used for IPC Notification from CAN core.
*
*/

#ifndef IPCDATASYNCH_H_
#define IPCDATASYNCH_H_



#include    "AppSharedMemory.h"


//client ID that can be used to send and receive messages IPC_NOTIFY_CLIENT_ID_MAX   (16U)
/**
*  IPC Vlient Id to send / receive  System Status and Configuration IPC Notifications from CAN core.
*/
uint32_t SysStatusConfig_IPC_ClientId   = 3u;       //System Status / config client id for ipc msgs with can core
/**
*  IPC Client Id to send / receive  IO Modules IPC Notifications from CAN core.
*/
uint32_t IOModules_IPC_ClientId         = 4u;       //IO Modules client id for ipc msgs with can core
/**
*  IPC Client Id to send / receive  PressureZone Modules IPC Notifications from CAN core.
*/
uint32_t PZxModules_IPC_ClientId        = 5u;       //PZx   ISEM-DIAG/DIAGVAL 1-24 /PROP Station/PROP Valve


/**
*  Request Buffer to hold IPC received Messages for  IO Modules from CAN core.
*/
uint32_t   IOAcyclicReqIDs[SHM_Max_ReqIds] = {0u};
/**
*  Request Buffer Index to hold IPC received Messages for  IO Modules from CAN core.
*/
uint8_t    ioacyclicreqidindex = 0u;
/**
*  Request Buffer to hold IPC received Messages for  PressureZone Modules from CAN core.
*/
uint32_t   PZxAcyclicReqIDs[SHM_Max_ReqIds] = {0u};
/**
*  Request Buffer Index to hold IPC received Messages for  PressureZone Modules from CAN core.
*/
uint8_t    pzxacyclicreqidindex = 0u;




uint32_t    mbnreqrecvd = 0u;

#endif /* USER_ADDONS_CANCORE_DATASYNC_IPCDATASYNCH_H_ */
