diff options
Diffstat (limited to 'recipes-connectivity/kuksa-val/kuksa-dbc-feeder/0002-dbc2val-usability-improvements.patch')
-rw-r--r-- | recipes-connectivity/kuksa-val/kuksa-dbc-feeder/0002-dbc2val-usability-improvements.patch | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/0002-dbc2val-usability-improvements.patch b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/0002-dbc2val-usability-improvements.patch new file mode 100644 index 00000000..31051b18 --- /dev/null +++ b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/0002-dbc2val-usability-improvements.patch @@ -0,0 +1,76 @@ +From b217a746ef7b92291320e4c1a66b52df0318495f Mon Sep 17 00:00:00 2001 +From: Scott Murray <scott.murray@konsulko.com> +Date: Sat, 5 Aug 2023 13:58:16 -0400 +Subject: [PATCH 2/3] dbc2val: usability improvements + +Changes: +- Tweaked default configuration file search path to better match + Linux FHS and kuksa-val-server. First look for a config.ini in + /etc/kuksa-dbc-feeder, then /etc/dbc_feeder.ini. +- Add catching of exceptions around CAN device opening so that the + script can exit cleanly with an error message if the device is + not available. +- Fixed shutdown behavior with some tweaks to actually stop the + reader and KUKSA.val client library threads. This makes the + script actually exit on SIGTERM as opposed to hanging. + +Upstream-Status: pending + +Signed-off-by: Scott Murray <scott.murray@konsulko.com> + +--- + dbc2val/dbcfeeder.py | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/dbc2val/dbcfeeder.py b/dbc2val/dbcfeeder.py +index 966dba7..e7fd319 100755 +--- a/dbc2val/dbcfeeder.py ++++ b/dbc2val/dbcfeeder.py +@@ -188,7 +188,11 @@ class Feeder: + + # use socketCAN + log.info("Using socket CAN device '%s'", canport) ++ try: + self._reader.start_listening(bustype="socketcan", channel=canport) ++ except: ++ log.error("Could not open {}, exiting".format(canport)) ++ sys.exit(-1) + + receiver = threading.Thread(target=self._run_receiver) + receiver.start() +@@ -212,6 +216,11 @@ class Feeder: + threads.append(transmitter) + else: + log.info("No val2dbc mappings found or val2dbc disabled!!") ++ ++ # Spin so signal handlers will work ++ while not self._shutdown: ++ time.sleep(0.1) ++ + # Wait for all of them to finish + for thread in threads: + thread.join() +@@ -363,8 +372,10 @@ def parse_config(filename): + configfile = filename + else: + config_candidates = [ +- "/config/dbc_feeder.ini", ++ "/etc/kuksa-dbc-feeder/config.ini", ++ "/etc/kuksa-dbc-feeder/dbc_feeder.ini", + "/etc/dbc_feeder.ini", ++ "/config/dbc_feeder.ini", + "config/dbc_feeder.ini", + ] + for candidate in config_candidates: +@@ -577,7 +588,7 @@ def main(argv): + elif "can" in config and "dbc_default_file" in config["can"]: + dbc_default = config["can"]["dbc_default_file"] + else: +- dbc_default = "dbc_default_values.json" ++ dbc_default = "" + + if args.dbc2val: + use_dbc2val = True +-- +2.41.0 + |