I would expect gos7 to query address 32. But instead it queries the following (inspected by wireshark):
The issue seems to be
https://github.com/robinson/gos7/blob/ebce1a99aa32e62adad61e5dffc5a8e316cd5f18/multi.go#L165-L169
Where bit, counter and timer addresses are parsed different. For bits this seems to be wrong, counters and timers I can't test as of right now.
Based on the screenshot above bits addresses should be parsed like the other types. As we can not specify which bit to query I suggest to add a field for bit address and ignore it for any type except bits.
When querying a single bool in a batch (AGMultiRead), gos7 builds a different address opposed to a byte. Provided the following S7DataItemStructs
I would expect gos7 to query address 32. But instead it queries the following (inspected by wireshark):
The issue seems to be https://github.com/robinson/gos7/blob/ebce1a99aa32e62adad61e5dffc5a8e316cd5f18/multi.go#L165-L169 Where bit, counter and timer addresses are parsed different. For bits this seems to be wrong, counters and timers I can't test as of right now. Based on the screenshot above bits addresses should be parsed like the other types. As we can not specify which bit to query I suggest to add a field for bit address and ignore it for any type except bits.