summaryrefslogtreecommitdiffstats
path: root/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/mapping.yml
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-06-12 12:58:47 -0400
committerScott Murray <scott.murray@konsulko.com>2022-07-06 14:00:05 -0400
commitc035ef27d35fd10a850c49610d46ffb54f90016d (patch)
tree2893e766ceceaebb7be3f86fecfbd2c2f363e803 /recipes-connectivity/kuksa-val/kuksa-dbc-feeder/mapping.yml
parent94a34e1359860b99ad5958bd11ef9abae3f3dbb0 (diff)
Update demo KUKSA.val configuration
In practice mapping multiple CAN signals from the LIN polling to a smaller number of VIS signals does not work well with the behavior of the CAN feeder from KUKSA.val when testing on the actual demo hardware. To improve the behavior: - update the VSS schema overlay and DBC feeder mapping configuration to use new AGL custom steering wheel switch signals instead of the previous signals and mappings. - add a patch to the DBC feeder to add a per-target duplicate signal filtering option, and enable it for all the steering wheel signals in the mapping configuration. The DBC feeder performance issues stemming from synchronous VIS server updates will be discussed with upstream, but these changes should yield behavior similar to the previous combination of the low-can and signal-composer bindings. With respect to the switch signals, this should be revisited if implementing a custom LIN signal feeder becomes an option, as overall it would be better to leverage the standard VSS schema signals if possible. Bug-AGL: SPEC-4405 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ifd62161f18303717ee279e23f46000324ab77dbc
Diffstat (limited to 'recipes-connectivity/kuksa-val/kuksa-dbc-feeder/mapping.yml')
-rw-r--r--recipes-connectivity/kuksa-val/kuksa-dbc-feeder/mapping.yml123
1 files changed, 90 insertions, 33 deletions
diff --git a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/mapping.yml b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/mapping.yml
index f8a561d27..ee970a32d 100644
--- a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/mapping.yml
+++ b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder/mapping.yml
@@ -11,85 +11,142 @@ PT_EngineSpeed:
transform:
math: "floor(x+0.5)"
+#
+# NOTE:
+#
+# The following mappings depend on the AGL-specific VSS overlay
+# that adds the extra Vehicle.Cabin.SteeringWheel.Switches sensors.
+# Since the CAN events are coming from LIN polling, applications
+# need to filter/debounce themselves. The minupdatedelay of 0 is
+# intentional to avoid missing events.
+#
+
SW_Next:
- minupdatedelay: 500
+ minupdatedelay: 0
targets:
- Vehicle.Cabin.Infotainment.Media.Action:
+ Vehicle.Cabin.SteeringWheel.Switches.Next:
+ filter-duplicates: "true"
transform:
fullmapping:
- 1: "SkipForward"
+ 0: "false"
+ 1: "true"
SW_Previous:
- minupdatedelay: 500
+ minupdatedelay: 0
targets:
- Vehicle.Cabin.Infotainment.Media.Action:
+ Vehicle.Cabin.SteeringWheel.Switches.Previous:
+ filter-duplicates: "true"
transform:
fullmapping:
- 1: "SkipBackward"
+ 0: "false"
+ 1: "true"
-# NOTE: Dependent on AGL-specific VSS overlay adding the extra action
SW_Mode:
- minupdatedelay: 500
+ minupdatedelay: 0
targets:
- Vehicle.Cabin.Infotainment.Media.Action:
+ Vehicle.Cabin.SteeringWheel.Switches.Mode:
+ filter-duplicates: "true"
transform:
fullmapping:
- 1: "NextSource"
+ 0: "false"
+ 1: "true"
-# NOTE: Dependent on AGL-specific VSS overlay adding the signal
SW_Info:
- minupdatedelay: 500
+ minupdatedelay: 0
targets:
- Vehicle.Cabin.Infotainment.Cluster.Mode:
+ Vehicle.Cabin.SteeringWheel.Switches.Info:
+ filter-duplicates: "true"
transform:
fullmapping:
+ 0: "false"
1: "true"
-#
-# The following is a little hackish, due to relying on the
-# application to treat IsActive and IsSet = "true" as toggles, and
-# being dependent on the AGL-specific VSS overlay to add IsSet.
-# A standalone LIN feeder with some state knowledge would maybe
-# be cleaner. Another possible option would be the addition of
-# another type of transform that has state to the DBC feeder.
-#
-
SW_CruiseEnable:
- minupdatedelay: 500
+ minupdatedelay: 0
targets:
- Vehicle.ADAS.CruiseControl.IsActive:
+ Vehicle.Cabin.SteeringWheel.Switches.CruiseEnable:
+ filter-duplicates: "true"
transform:
fullmapping:
+ 0: "false"
1: "true"
SW_CruiseSet:
- minupdatedelay: 500
+ minupdatedelay: 0
targets:
- Vehicle.ADAS.CruiseControl.IsSet:
+ Vehicle.Cabin.SteeringWheel.Switches.CruiseSet:
+ filter-duplicates: "true"
transform:
fullmapping:
+ 0: "false"
1: "true"
SW_CruiseResume:
- minupdatedelay: 500
+ minupdatedelay: 0
targets:
- Vehicle.ADAS.CruiseControl.IsSet:
+ Vehicle.Cabin.SteeringWheel.Switches.CruiseResume:
+ filter-duplicates: "true"
transform:
fullmapping:
+ 0: "false"
1: "true"
SW_CruiseCancel:
- minupdatedelay: 500
+ minupdatedelay: 0
+ targets:
+ Vehicle.Cabin.SteeringWheel.Switches.CruiseCancel:
+ filter-duplicates: "true"
+ transform:
+ fullmapping:
+ 0: "false"
+ 1: "true"
+
+SW_VolumeUp:
+ minupdatedelay: 0
targets:
- Vehicle.ADAS.CruiseControl.IsSet:
+ Vehicle.Cabin.SteeringWheel.Switches.VolumeUp:
+ filter-duplicates: "true"
transform:
fullmapping:
- 1: "false"
+ 0: "false"
+ 1: "true"
+
+SW_VolumeDown:
+ minupdatedelay: 0
+ targets:
+ Vehicle.Cabin.SteeringWheel.Switches.VolumeDown:
+ filter-duplicates: "true"
+ transform:
+ fullmapping:
+ 0: "false"
+ 1: "true"
+
+SW_VolumeMute:
+ minupdatedelay: 0
+ targets:
+ Vehicle.Cabin.SteeringWheel.Switches.VolumeMute:
+ filter-duplicates: "true"
+ transform:
+ fullmapping:
+ 0: "false"
+ 1: "true"
+
+SW_Horn:
+ minupdatedelay: 0
+ targets:
+ Vehicle.Cabin.SteeringWheel.Switches.Horn:
+ filter-duplicates: "true"
+ transform:
+ fullmapping:
+ 0: "false"
+ 1: "true"
SW_LaneDepartureWarning:
- minupdatedelay: 500
+ minupdatedelay: 0
targets:
- Vehicle.ADAS.LaneDepartureDetection.IsActive:
+ Vehicle.Cabin.SteeringWheel.Switches.LaneDepartureWarning:
+ filter-duplicates: "true"
transform:
fullmapping:
+ 0: "false"
1: "true"