#define DEMO_NMT_FIFO_SIZE 16
#define DEMO_NMT_STRING_SIZE 80
static uint16_t atsNmtDataS[
COM_NET_MAX][DEMO_NMT_FIFO_SIZE];
{
(void) ubNodeIdV;
atsNmtNodeS[ubNetV] = 0;
}
{
McFifoInit(&atsNmtFifoS[ubNetV], &atsNmtDataS[ubNetV][0],
sizeof(uint16_t), DEMO_NMT_FIFO_SIZE);
}
{
uint16_t uwFifoValueT = 0;
uint16_t *puwFifoEntryT;
if (atsNmtNodeS[ubNetV] == 0)
{
{
uwFifoValueT = *puwFifoEntryT;
uint8_t ubNodeIdT = (uint8_t) uwFifoValueT;
uint8_t ubNmtStateT = (uint8_t) (uwFifoValueT >> 8);
switch (ubNmtStateT)
{
atsNmtNodeS[ubNetV] = ubNodeIdT;
break;
break;
break;
default:
break;
}
}
}
}
{
uint16_t uwFifoValueT = 0;
uint16_t *puwFifoEntryT;
uwFifoValueT = ubNmtStateV;
uwFifoValueT = uwFifoValueT << 8;
uwFifoValueT = uwFifoValueT + ubNodeIdV;
{
*puwFifoEntryT = uwFifoValueT;
}
}
{
{
return(tvStatusT);
}
do {
return (tvStatusT);
}
{
static char szNmtStateStringS[DEMO_NMT_STRING_SIZE];
uint8_t ubNodeStateT;
{
snprintf(szNmtStateStringS, DEMO_NMT_STRING_SIZE, "COM-ERR: %d", (int) tvStatusT);
return (szNmtStateStringS);
}
switch(ubNodeStateT)
{
snprintf(szNmtStateStringS, DEMO_NMT_STRING_SIZE, "can%d: NID %03d - %s", ubNetV, ubNodeIdV, "Stopped ");
break;
snprintf(szNmtStateStringS, DEMO_NMT_STRING_SIZE, "can%d: NID %03d - %s", ubNetV, ubNodeIdV, "Pre-Operational");
break;
snprintf(szNmtStateStringS, DEMO_NMT_STRING_SIZE, "can%d: NID %03d - %s", ubNetV, ubNodeIdV, "Operational ");
break;
snprintf(szNmtStateStringS, DEMO_NMT_STRING_SIZE, "can%d: NID %03d - %s", ubNetV, ubNodeIdV, "Reset ");
break;
snprintf(szNmtStateStringS, DEMO_NMT_STRING_SIZE, "can%d: NID %03d - %s", ubNetV, ubNodeIdV, "Boot-up ");
break;
default:
snprintf(szNmtStateStringS, DEMO_NMT_STRING_SIZE, "can%d: NID %03d - %s", ubNetV, ubNodeIdV, "Unknown state ");
break;
}
return (szNmtStateStringS);
}
#define COM_NET_MAX
Definition com_conf.h:51
int32_t ComStatus_tv
Definition com_defs.h:116
@ eCOM_NET_1
Definition com_defs.h:728
@ eCOM_ERR_SERVICE_MODE
Definition com_defs.h:245
@ eCOM_ERR_NONE
Definition com_defs.h:155
Demo functions for CANopen Master protocol stack services .
ComStatus_tv ComDemoNodeIdentify(uint8_t ubNetV, uint8_t ubNodeIdV)
ComStatus_tv ComDemoNmtProcess(uint8_t ubNetV)
void ComDemoNmtQueueStateChange(uint8_t ubNetV, uint8_t ubNodeIdV, uint8_t ubNmtStateV)
void ComDemoNmtConfigurationDone(uint8_t ubNetV, uint8_t ubNodeIdV)
ComStatus_tv ComDemoNmtInit(uint8_t ubNetV)
char * ComDemoNmtStateString(uint8_t ubNetV, uint8_t ubNodeIdV)
ComStatus_tv ComNmtGetNodeState(uint8_t ubNetV, uint8_t ubNodeIdV, uint8_t *pubStateV)
@ eCOM_NMT_STATE_RESET_NODE
Definition com_nmt.h:92
@ eCOM_NMT_STATE_OPERATIONAL
Definition com_nmt.h:89
@ eCOM_NMT_STATE_BOOTUP
Definition com_nmt.h:98
@ eCOM_NMT_STATE_PREOPERATIONAL
Definition com_nmt.h:86
@ eCOM_NMT_STATE_RESET_COM
Definition com_nmt.h:95
@ eCOM_NMT_STATE_STOPPED
Definition com_nmt.h:83
ComStatus_tv ComNmtSetNodeState(uint8_t ubNetV, uint8_t ubNodeIdV, uint8_t ubStateV)
Set NMT state of CANopen device.
ComStatus_tv ComNmtSetInhibit(uint8_t ubNetV, uint32_t ulTimeV)
Set NMT message inhibit time.
Definitions and prototypes for FIFO implementation.
void * McFifoDataInPtr(McFifoCtrl_ts *ptsFifoV)
void * McFifoDataOutPtr(McFifoCtrl_ts *ptsFifoV)
void McFifoIncIn(McFifoCtrl_ts *ptsFifoV)
bool_t McFifoIsFull(McFifoCtrl_ts *ptsFifoV)
bool_t McFifoIsEmpty(McFifoCtrl_ts *ptsFifoV)
void McFifoInit(McFifoCtrl_ts *ptsFifoV, void *pvdDataV, uint32_t ulDataSizeV, uint32_t ulFifoSizeV)
void McFifoIncOut(McFifoCtrl_ts *ptsFifoV)