Skip to content

Commit 0830dd6

Browse files
author
TakahikoHasegawa97
committed
feat: add option to force local mode
Signed-off-by: TakahikoHasegawa97 <takahiko.hasegawa@tier4.jp>
1 parent 978c1ec commit 0830dd6

File tree

3 files changed

+19
-10
lines changed

3 files changed

+19
-10
lines changed

src/signage/config/signage_param.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ signage:
1212
emergency_repeat_period: 180.0 # second
1313
accept_start: 5.0 # second
1414
override_status_bus_stop: true
15+
force_local_display: true
1516
monitor_width: 1920
1617
monitor_height: 360
1718
announce:

src/signage/src/signage/parameter_interface.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ class SignageParameter:
2222
monitor_width: int = 1920
2323
monitor_height: int = 540
2424
override_status_bus_stop: bool = True
25+
force_local_display: bool = False
2526

2627

2728
@dataclass
@@ -58,6 +59,7 @@ def __init__(self, node):
5859
node.declare_parameter("override_status_bus_stop", True)
5960
node.declare_parameter("monitor_width", 1920)
6061
node.declare_parameter("monitor_height", 540)
62+
node.declare_parameter("force_local_display", False)
6163

6264
self.parameter.debug_mode = (
6365
node.get_parameter("debug_mode").get_parameter_value().bool_value
@@ -104,6 +106,9 @@ def __init__(self, node):
104106
self.parameter.monitor_height = (
105107
node.get_parameter("monitor_height").get_parameter_value().integer_value
106108
)
109+
self.parameter.force_local_display = (
110+
node.get_parameter("force_local_display").get_parameter_value().bool_value
111+
)
107112

108113
node.declare_parameter("announce.emergency", True)
109114
node.declare_parameter("announce.restart_engage", True)

src/signage/src/signage/route_handler.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ def __init__(
5858
self._trigger_external_signage = False
5959
self._processing_thread = False
6060

61+
if not self._parameter.force_local_display:
6162
self.process_station_list_from_fms()
6263

6364
self._node.create_timer(0.2, self.route_checker_callback)
@@ -266,10 +267,11 @@ def process_station_list_from_fms(self, force_update=False):
266267
self.task_list.done_list
267268
)
268269

270+
call_type = "local" if self._parameter.force_local_display else "fms"
269271
self._display_details.next_station_list = utils.create_next_station_list(
270272
self._current_task_details,
271273
self.task_list.todo_list,
272-
"fms",
274+
call_type,
273275
self._schedule_details.schedule_type,
274276
)
275277

@@ -355,16 +357,17 @@ def route_checker_callback(self):
355357
self._service_interface.trigger_external_signage(False)
356358
self._trigger_external_signage = False
357359

358-
if self._prev_route_state != RouteState.SET:
359-
if self._autoware.information.route_state == RouteState.SET:
360-
self.process_station_list_from_fms(force_update=True)
360+
if not self._parameter.force_local_display:
361+
if self._prev_route_state != RouteState.SET:
362+
if self._autoware.information.route_state == RouteState.SET:
363+
self.process_station_list_from_fms(force_update=True)
361364

362-
if not self._fms_check_time:
363-
self.process_station_list_from_fms()
364-
elif utils.check_timeout(
365-
self._node.get_clock().now(), self._fms_check_time, self._parameter.check_fms_time
366-
):
367-
self.process_station_list_from_fms()
365+
if not self._fms_check_time:
366+
self.process_station_list_from_fms()
367+
elif utils.check_timeout(
368+
self._node.get_clock().now(), self._fms_check_time, self._parameter.check_fms_time
369+
):
370+
self.process_station_list_from_fms()
368371

369372
if self._in_emergency_state:
370373
return

0 commit comments

Comments
 (0)