rsmp-nordic / rsmp_sxl_traffic_lights

RSMP Signal Exchange List (SXL) for Traffic Controllers
MIT License
12 stars 4 forks source link

Handle multiple rings/intersections in a single controller #58

Open emiltin opened 5 years ago

emiltin commented 5 years ago

Some intersections have multiple signal rings (intersections) connected to the controller. Should status and alarms indicate what ring/intersections issues relate to?

otterdahl commented 5 years ago

Several commands and statuses (e.g. M0001, S0007-13, 20) has 'intersection' as an argument/return value. These are not perfectly designed since it requires all intersections of the controller to be sent comma separated. For instance S0007 "Controller switched on" can return intersection:"1,2", status: "True, False" which means that intersection 1 is turned on and intersection 2 is turned off. This is currently poorly documented in the SXL.

Currently no alarms has the ability to send info about intersection in the SXL.

A better way of doing it would be to use each intersection as an ObjectType.

emiltin commented 5 years ago

You mean each intersection should have it's own component, which you then query?

otterdahl commented 5 years ago

Yes

emiltin commented 5 years ago

Should this be described in core? Or is this SXL specific?

otterdahl commented 5 years ago

It is SXL specific

emiltin commented 5 years ago

OK. So multiple intersections in a single controller is supported, but needs to be documented (in this SXL)?

otterdahl commented 5 years ago

Yes, it is supported, but there are limitations. Alarms and aggregated status is missing information about intersection.

emiltin commented 4 years ago

We should require this to be supported by having multiple components. Return values like "True,True" when you have two intersections is error-prone and messy to implement.

emiltin commented 4 years ago

Do we plan to change this in the next version of the SXL? In any case, I guess we need to support the current model in the schema?

otterdahl commented 4 years ago

Not sure. I think feedback from the manufacturers would be good. As far as I know, only one manufacturer supports the ability to send multiple intersections comma separated.

emiltin commented 4 years ago

But we need to decide whether we allow comma separated lists in the current schema.

otterdahl commented 4 years ago

I think the current model needs to be supported in the current schema.

emiltin commented 4 years ago

I'll add comma-separated lists to the current schema

emiltin commented 5 months ago

Milestome set to 2.0, since this is breaking change.

emiltin commented 3 months ago

To sum up: some commands and statuses support multiple interections, using the intersection attribute to indicate what intersections data relate to, e.g. https://rsmp-nordic.github.io/rsmp_sxl_traffic_lights/1.2.1/sxl_traffic_light_controller.html#s0020

But it's not a very elegant solution; moving forward we would like to have a component for each intersection.