bitfocus / companion-module-generic-swp08

MIT License
5 stars 3 forks source link

Implement extended commands for larger routers and longer names #8

Closed daniep01 closed 2 years ago

daniep01 commented 3 years ago

Awaiting specification

shaunmw commented 3 years ago

Let me know which commands you are seeking to implement and I can probably dig out what you need.

daniep01 commented 3 years ago

I'm interested how to access levels above 16 and sources/destinations above 1024.

shaunmw commented 3 years ago

I'm interested how to access levels above 16 and sources/destinations above 1024.

Link below should get you to a version of the Protocol PDF I started making a companion module but this is much more advanced so thanks for the leg work on this.

https://cutt.ly/8mEBuKR

evenover commented 2 years ago

Any updates on this? I will get use for 17 levels.

I can stand by for testing with the ultrix if you need me to.

daniep01 commented 2 years ago

Good news, this feature will be implemented soon. Before I start I was wondering if there are thoughts on how to do it. Options are

  1. Add a set of new actions that are prefixed with "ext" or similar
  2. Add a global module config switch to use ext instead of standard but don't add new actions in the user interface
  3. Try and do something intelligent based on the source/destination/level number
  4. Drop the standard actions entirely and replace them with ext versions
  5. Something else?
evenover commented 2 years ago

Since some devices don't support extended I think both is needed.

The "intelegent" way seems most elegant. Then it could just ask the device for extended commands and if it don't acknowledge them it will use standard commands.

Otherwise a global checkbox which replaces all functions with extended commands is also possible.

daniep01 commented 2 years ago

I've made a start on this. Internally the 'set crosspoint by number' action now uses the extended swp08 command for source/dest greater than 1024 or level greater than 16. I haven't updated any of the other commands yet. Please let me know if it works.

https://we.tl/t-APcUHh5Ta9

evenover commented 2 years ago

I've now done a test on routing at level 17 and it seems to be working as intended. I've not tested more sources/destinations yet, but I will do it later today

daniep01 commented 2 years ago

I think it's all done. In this latest build everything should work correctly for larger routers. It's all automatic for routing and feedback messages but if you need to retrieve more than 1024 source or destination names then you need to enable a new option in the module config.

https://we.tl/t-iuj3QZuyX0

daniep01 commented 2 years ago

The version above will fail to get crosspoints for levels > 16 but I have now fixed this in the code.

daniep01 commented 2 years ago

Latest build: https://we.tl/t-JG1iYR7YKY

daniep01 commented 2 years ago

This feature has been added in release 1.0.4