Ok, I’m trying to do a write with acyclic communication,
after issuing this command:
I tried to debug the HMS stack and finally ended here:
My ADI table and map are these:
const AD_AdiEntryType APPL_asAdiEntryList[] =
{
{ 0x1, “SPEED”, ABP_UINT16, 1, APPL_WRITE_MAP_READ_ACCESS_DESC, { { &appl_iSpeed, &appl_sUint16Prop } } },
{ 0x2, “REF_SPEED”, ABP_UINT16, 1, APPL_READ_MAP_WRITE_ACCESS_DESC, { { &appl_iRefSpeed, &appl_sUint16Prop } } },
{ 0x3, “TEST”, ABP_UINT16, 1, APPL_NOT_MAP_WRITE_ACCESS_DESC, { { &appl_test, &appl_sUint16Prop } } }
};
/*------------------------------------------------------------------------------
** Map all adi:s in both directions
**------------------------------------------------------------------------------
** 1. AD instance | 2. Direction | 3. Num elements | 4. Start index |
**------------------------------------------------------------------------------
*/
const AD_MapType APPL_asAdObjDefaultMap[] =
{
{ 1, PD_WRITE, AD_MAP_ALL_ELEM, 0 },
{ 2, PD_READ, AD_MAP_ALL_ELEM, 0 },
{ AD_MAP_END_ENTRY }
};
As you ADI number 3 is not mapped and set to write enable.
The strange thing is when I issue a read implicit command (0x5) instead I’m able to read that variable.
Code goes into this section:
So when reading it goes into ABP_CMD_GET_ATTR and then into ABP_APPD_IA_VALUE, and read works.
The command I use to read is this:
Why the write instead goes to not supported ?? How can I support that (Do you have an example) ?
Am I using a wrong command?
Is there a working aciclic write xample in you application example?
Thanks