I am implementing Ethernet IP on a B40 module using user defined ADI lists, so the size of the input/output assemblies is determined at runtime.
The following config options are set to true
EIP_OBJ_ENABLE
ABCC_CFG_REMAP_SUPPORT_ENABLED
ASM_OBJ_ENABLE
I have tried using the following code i found in a previous message as a starting point to test attaching the assemblies.
AD_DefaultMapType APPL_asAdObjDefaultMap[] = {
APPL_DEFAULT_WRITE_MAP,
APPL_DEFAULT_READ_MAP,
{AD_MAP_END_ENTRY}
};
AD_MapType APPL_asAsmObjDefaultWriteMap[] = {
APPL_DEFAULT_WRITE_MAP,
{AD_MAP_END_ENTRY}
};
AD_MapType APPL_asAsmObjDefaultReadMap[] = {
APPL_DEFAULT_READ_MAP,
{AD_MAP_END_ENTRY}
};
ASM_InstanceType APPL_sAsmDefaultWriteMap = {
ABP_ASM_IA_DESC_WRITE | ABP_ASM_IA_DESC_STATIC | ABP_ASM_IA_DESC_PD_MAPPABLE,
APPL_asAsmObjDefaultWriteMap,
“Output Data”,
ASM_MAX_ADI_MAPS_PER_INSTANCE
};
ASM_InstanceType APPL_sAsmDefaultReadMap = {
ABP_ASM_IA_DESC_READ | ABP_ASM_IA_DESC_STATIC | ABP_ASM_IA_DESC_PD_MAPPABLE,
APPL_asAsmObjDefaultReadMap,
“Input Data”,
ASM_MAX_ADI_MAPS_PER_INSTANCE
};
const ASM_InstanceType *APPL_aasAsmInstancesTest[] = {
&APPL_sAsmDefaultWriteMap,
&APPL_sAsmDefaultReadMap
};
const ASM_InstanceType **APPL_GetAsmInstances(void){return (APPL_aasAsmInstancesTest);}
UINT16 APPL_GetNumAsmInstances(void){ return (sizeof(APPL_aasAsmInstancesTest) / sizeof(ASM_InstanceType *));}
During the setup the messages scroll through until the following:
Msg sent:
[ MsgBuf:0x240110b8 Size:0x0001 SrcId :0x00 DestObj:0xf8
Inst :0x0001 Cmd :0x81 CmdExt0:0x1d CmdExt1:0x00 ]
[ 0x06 ]
Mem: Buffer returned: 0x240110b8
Mem: Buffer allocated: 0x240110b8
Msg received:
[ MsgBuf:0x240110b8 Size:0x0000 SrcId :0x00 DestObj:0xeb
Inst :0x0000 Cmd :0x41 CmdExt0:0x0b CmdExt1:0x00 ]
[ ]
Msg sent:
[ MsgBuf:0x240110b8 Size:0x0002 SrcId :0x00 DestObj:0xeb
Inst :0x0000 Cmd :0x01 CmdExt0:0x0b CmdExt1:0x00 ]
[ 0x01 0x00 ]
Mem: Buffer returned: 0x240110b8
ANB_STATUS: ABP_ANB_STATE_EXCEPTION
Mem: Buffer allocated: 0x240110b8
CmdSeq(0804eba8)->ReadExeption()
Msg sent:
[ MsgBuf:0x240110b8 Size:0x0000 SrcId :0x11 DestObj:0x01
Inst :0x0001 Cmd :0x41 CmdExt0:0x06 CmdExt1:0x00 ]
[ ]
Mem: Buffer returned: 0x240110b8
Mem: Buffer allocated: 0x240110b8
Outstanding commands: 0
Msg received:
[ MsgBuf:0x240110b8 Size:0x0001 SrcId :0x11 DestObj:0x01
Inst :0x0001 Cmd :0x01 CmdExt0:0x06 CmdExt1:0x00 ]
[ 0x0a ]
Routing response to registered response handler: MsgBuf:0x240110b8 SrcId:0x11
CmdSeq(0804eba8)->HandleExceptionResp()
Exception Code: A:
CmdSeq(0804eba8)->ReadExeptionInfo()
Msg sent:
[ MsgBuf:0x240110b8 Size:0x0000 SrcId :0x12 DestObj:0x03
Inst :0x0001 Cmd :0x41 CmdExt0:0x07 CmdExt1:0x00 ]
[ ]
Mem: Buffer returned: 0x240110b8
Mem: Buffer allocated: 0x240110b8
Outstanding commands: 0
Msg received:
[ MsgBuf:0x240110b8 Size:0x0001 SrcId :0x12 DestObj:0x03
Inst :0x0001 Cmd :0x01 CmdExt0:0x07 CmdExt1:0x00 ]
[ 0x00 ]
Routing response to registered response handler: MsgBuf:0x240110b8 SrcId:0x12
CmdSeq(0804eba8)->HandleExceptionInfoResp()
Exception Info: 0:
If i interpret this correctly it is telling me something in object 0xEB (Assembly mapping object) is not implemented. What should i be looking for, what code do you need to see to help?