AgIsoStack-plus-plus icon indicating copy to clipboard operation
AgIsoStack-plus-plus copied to clipboard

Implementation of working set members

Open GwnDaan opened this issue 3 years ago • 0 comments

Right now the stack only supports one member in a working set, the "working set master". But the standard defines that there can be multiple 'control functions' (CF) / members in a working set.

Definition of a 'working set' from iso.org:

several control functions (Part 1; 3.10) in one or more electronic control units (Part 1; 3.19) acting as distributed processes providing a single application Note: All control functions that are part of a working set, whether or not they are in separate electronic control units, are identified as members by the working-set master.

What needs to be implemented:

  • [ ] A way for the VT client to know if the current CF is the working set master.
  • [ ] Defining number of working set members in send_working_set_master() function.
  • [ ] If CF is the working set master, it must know which CFs are the working set members and broadcast their NAMEs once with messages using PGN 0x00FE0C after send_working_set_master() is called.
  • [ ] If CF is origin of a message that has a response, it should monitor response messages from a VT (which are send destination specific to working set master) to pair with send command (Only for VT version <= 3)
  • [ ] If CF is working set master receives a response message that it didn't send a command for, it should ignore it.

I think this feature has a low priority at this stage, but should be kept in mind while developing related features.

It would be interested to know what the example use cases are for having more than one member in a working set, so if you know any feel free to drop it here.

GwnDaan avatar Jan 13 '23 19:01 GwnDaan