Uploaded image for project: ' AGL Development'
  1. AGL Development
  2. SPEC-2582

low-can can read only uppercase letter sensitive in case using states in signals.json

XMLWordPrintable

      Hi, when I use "states" in signals.json which generates application_generated.cpp, I encounter the case sensitive problem. When I use lower case letter in states, it is not processed by low-can service.

      An example isĀ 

          "messages": {
              "0x128": {
                  "name": "ECM_z_5D2",
                  "bus": "hs",
                  "signals": {
                      "StrAnglAct": {
                          "generic_name": "SteeringWheelAngle",
                          "bit_position": 52,
                          "bit_size": 12,
                          "factor": 0.15392,
                          "offset": 0,
                          "decoder": "handleUnsignedSteeringWheelAngle"},
                      // snip
                      "GrshftPos": {
                          "generic_name": "GearshiftPosition",
                          "bit_position": 41,
                          "bit_size": 3,
                          "states": {
                              "FIRST": [1],
                              "SECOND": [2],
                              "THIRD": [3],
                              "FOURTH": [4],
                              "REVERSE": [5],
                              "NEUTRAL": [6]}
                      },
      

      This works.

      I modified "states" to lower case

          "messages": {
              "0x128": {
                  "name": "ECM_z_5D2",
                  "bus": "hs",
                  "signals": {
                      "StrAnglAct": {
                          "generic_name": "SteeringWheelAngle",
                          "bit_position": 52,
                          "bit_size": 12,
                          "factor": 0.15392,
                          "offset": 0,
                          "decoder": "handleUnsignedSteeringWheelAngle"},
                      // snip
                      "GrshftPos": {
                          "generic_name": "GearshiftPosition",
                          "bit_position": 41,
                          "bit_size": 3,
                          "states": {
                              "first": [1],
                              "second": [2],
                              "third": [3],
                              "fourth": [4],
                              "reverse": [5],
                              "neutral": [6]}
                      },
      

      After compiling, low-can doesn't send event for example "first" but 1 for GearshiftPosition.

      I think there is no need to case sensitive for states, because generic_name is not case sensitive.

        # Subject Branch Project Status CR V

            claneys Romain Forlot
            knimitz Kazumasa Mitsunari
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: