summaryrefslogtreecommitdiffstats
path: root/recipes-demo
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-06-07 16:25:40 -0400
committerScott Murray <scott.murray@konsulko.com>2022-06-07 16:25:40 -0400
commitd9cc99764c61e7343c130c4e4da77a24da8515a4 (patch)
treed26106abcefe7f7d98af293f86e660704003911d /recipes-demo
parent0536b1b7eaadc6a20540757c9b19350f83820279 (diff)
simple_can_simulator: support different interface for LIN messages
Add a "--lin-interface" option to simple_can_simulator.py to allow specifying a different CAN interface for the cruise control LIN messages from the steering wheel in the demo setup. This allows pointing at the sllin0 interface in the full demo setup that is configured with the agl-demo-preload feature. Previously the CAN messages for the LIN events were bridged to the primary CAN interface, but this has proven unreliable in practice. Bug-AGL: SPEC-4431 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I18b2bb8042569e220c79445d310c620dcebac9fc
Diffstat (limited to 'recipes-demo')
-rwxr-xr-xrecipes-demo/simple-can-simulator/files/simple_can_simulator.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/recipes-demo/simple-can-simulator/files/simple_can_simulator.py b/recipes-demo/simple-can-simulator/files/simple_can_simulator.py
index 83f88706e..3d6c85d54 100755
--- a/recipes-demo/simple-can-simulator/files/simple_can_simulator.py
+++ b/recipes-demo/simple-can-simulator/files/simple_can_simulator.py
@@ -350,13 +350,18 @@ class StatusMessageSender(object):
def main():
parser = argparse.ArgumentParser(description='Simple CAN vehicle simulator.')
parser.add_argument('interface', type=str, help='interface name (e.g. vcan0)')
+ parser.add_argument('--lin-interface', help='Separate LIN interface name (e.g. sllin0)')
parser.add_argument('-v', '--verbose', help='increase output verbosity', action='store_true')
args = parser.parse_args()
+ lin_interface = args.lin_interface
+ if lin_interface == None:
+ lin_interface = args.interface
+
try:
can_sock = CANSocket(args.interface)
diag_can_sock = CANSocket(args.interface)
- steeringwheel_can_sock = CANSocket(args.interface)
+ steeringwheel_can_sock = CANSocket(lin_interface)
except OSError as e:
sys.stderr.write('Could not listen on interface {0}\n'.format(args.interface))
sys.exit(e.errno)