NorthStar-Endurance-TestBench/NorthStar-Emotas-Stack/colib_sl/inc/co_manager.h

75 lines
2.5 KiB
C

/*
* co_manager.h - contains defines for nmt services
*
* Copyright (c) 2014-2023 emotas embedded communication GmbH
*
*-------------------------------------------------------------------
* $Id: co_manager.h 48603 2023-08-28 12:21:17Z boe $
*-------------------------------------------------------------------
*
*
*/
/**
* \brief defines for bootup manager services
*
* \file co_manager.h - contains defines for bootup manager services
*
*/
#ifndef CO_MANAGER_H
#define CO_MANAGER_H 1
#include <co_datatype.h>
/* datatypes */
/**
* manager bootup events
*/
typedef enum {
CO_MANAGER_EVENT_BOOT, /**< node x start boot */
CO_MANAGER_EVENT_ERROR_B, /**< node x read 0x1000 failed */
CO_MANAGER_EVENT_ERROR_C, /**< node x check device type failed */
CO_MANAGER_EVENT_ERROR_D, /**< node x check vendor id type failed */
CO_MANAGER_EVENT_ERROR_J, /**< node x check configuration failed */
CO_MANAGER_EVENT_ERROR_G, /**< node x update configuration failed */
CO_MANAGER_EVENT_ERROR_K, /**< node x start errctl failed */
CO_MANAGER_EVENT_ERROR_M, /**< node x check product code failed */
CO_MANAGER_EVENT_ERROR_N, /**< node x check version nr failed */
CO_MANAGER_EVENT_ERROR_O, /**< node x check serial nr failed */
CO_MANAGER_EVENT_UPDATE_SW, /**< node x software update necessary */
CO_MANAGER_EVENT_UPDATE_CONFIG, /**< node x update config necessary */
CO_MANAGER_EVENT_BOOTED, /**< node x boot successfully */
CO_MANAGER_EVENT_ERROR_NODE, /**< node x failure heartbeat */
CO_MANAGER_EVENT_RDY_OPERATIONAL,/**< manager ready for OPERATIONAL */
CO_MANAGER_EVENT_FAILURE, /**< bootup failure about mandatory slave*/
CO_MANAGER_EVENT_FINISHED /**< bootup finished without errors */
} CO_MANAGER_EVENT_T;
/** \brief function pointer to manager event function
* \param node - node id for event (0 = manager event)
* \param event - event type from CO_MANAGER_EVENT_T
*
* \return void
*
*/
typedef void (* CO_EVENT_MANAGER_BOOTUP_T)(UNSIGNED8, CO_MANAGER_EVENT_T); /*lint !e960 customer specific parameter names */
/* function prototypes */
EXTERN_DECL RET_T coEventRegister_MANAGER_BOOTUP(
CO_EVENT_MANAGER_BOOTUP_T pFunction);
EXTERN_DECL RET_T coManagerStart(void);
EXTERN_DECL RET_T coManagerContinueSwUpdate(UNSIGNED8 slave,
RET_T result);
EXTERN_DECL RET_T coManagerContinueConfigUpdate(UNSIGNED8 slave,
RET_T result);
EXTERN_DECL RET_T coManagerContinueOperational(void);
EXTERN_DECL UNSIGNED8 coManagerGetUsedSdoChannel(UNSIGNED8 slave);
#endif /* CO_MANAGER_H */