Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Device Capability Reporting #94

Open
davidcutting42 opened this issue Nov 21, 2020 · 9 comments
Open

Device Capability Reporting #94

davidcutting42 opened this issue Nov 21, 2020 · 9 comments
Labels
Enhancement New feature or request Needs Clarification Need more information from the requestor
Milestone

Comments

@davidcutting42
Copy link

davidcutting42 commented Nov 21, 2020

From #66 - Add a command to JMRI and the CS to report a list of device capabilities (devCaps structure

@davidcutting42 davidcutting42 added the Enhancement New feature or request label Nov 21, 2020
@davidcutting42 davidcutting42 added this to the v3.1.0 milestone Nov 21, 2020
@mstevetodd
Copy link
Contributor

Can someone flesh out or link what is meant by "devCaps structure"?
I'm wondering if this approach could also be used by WiThrottle clients to help client and server understand each others' capabilities?

@mstevetodd mstevetodd added the Needs Clarification Need more information from the requestor label Nov 21, 2020
@grbba
Copy link
Contributor

grbba commented Nov 22, 2020

Do you think about device capabilities e;g ram available / speed in Mhz etc or application level capabilities like i understand commands for throttles but not turnouts ? I can handle x locos or even things like the loco table at any given point in time ?

@habazut
Copy link
Contributor

habazut commented Nov 22, 2020

Capabilities that can be interresting for the higher level program, for example JMRI. # of slots is one such capability. Has RailCom feedback another. Mhz and RAM are not interresting I think. Either it's enough or not ;-)

Harald.

@Asbelos
Copy link
Contributor

Asbelos commented Nov 22, 2020 via email

@grbba
Copy link
Contributor

grbba commented Nov 22, 2020

Agreed on the RAM warnings indeed but well is a warning and not a capability :) The warning will ev lead to the fact that the capabilities don't work any more So we have also to think about logging/monitoring maybe a bit beyond the std Diags. I did try this a bit when working on MQTT where i have what i called a telemetry class which would take an object as the logger and in my case that was an MQ 'logger' just pushing messages to my MQClient drawing then a nice graph about RAM consumption/availability. Issue being that that costs CPU cycles / ram itself you may not want to spare Where would be the balance ?

@Asbelos
Copy link
Contributor

Asbelos commented Nov 22, 2020 via email

@FrightRisk
Copy link
Member

I'm trying to remember what we were talking about that led to this discussion. I'll search in discord. In my business, the capabili are related to a phone device, dialtone, dtmf, put call on hold, ability to make a transfer, etc. For us, it would be what has been mentioned and if a display is connected and what type/number of lines, motorboard? Current sense? So JMRI nd other front ends can alter status displays. Wifi connected? In other words, what kind of things would an Engine Driver want to know about btje CS and visa versa?

@mstevetodd
Copy link
Contributor

mstevetodd commented Dec 7, 2020

Is there a defined structure for this "devCaps" somewhere? I'd like to understand the mechanism itself, knowing that we will need to discuss the specific elements to be included later.

@FrightRisk
Copy link
Member

I wanted to use something like this as a model. It comes from the Windows API, in this case the telephony API (TAPI) which allows devices like PBXs and SIP Trunks, etc. to report what they can and can't do. We could use a simplified version of this. https://docs.microsoft.com/en-us/windows/win32/api/tapi/ns-tapi-linedevcaps

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request Needs Clarification Need more information from the requestor
Projects
None yet
Development

No branches or pull requests

6 participants