{
  "rcpCfg": {
    "analogCfg": {
      "0": {
        "alpha": 1.0,
        "map": {
          "raw": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ],
          "scal": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ]
        },
        "max": 5.0,
        "min": 0.0,
        "nm": "Analog1",
        "offset": 0.0,
        "prec": 2,
        "scalMod": 1,
        "scaling": 1.0,
        "sr": 0,
        "ut": "Volts"
      },
      "1": {
        "alpha": 1.0,
        "map": {
          "raw": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ],
          "scal": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ]
        },
        "max": 5.0,
        "min": 0.0,
        "nm": "Analog2",
        "offset": 0.0,
        "prec": 2,
        "scalMod": 1,
        "scaling": 1.0,
        "sr": 0,
        "ut": "Volts"
      },
      "2": {
        "alpha": 1.0,
        "map": {
          "raw": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ],
          "scal": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ]
        },
        "max": 5.0,
        "min": 0.0,
        "nm": "Analog3",
        "offset": 0.0,
        "prec": 2,
        "scalMod": 1,
        "scaling": 1.0,
        "sr": 0,
        "ut": "Volts"
      },
      "3": {
        "alpha": 1.0,
        "map": {
          "raw": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ],
          "scal": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ]
        },
        "max": 0,
        "min": 0,
        "nm": "Interval",
        "offset": 0.0,
        "prec": 0,
        "scalMod": 1,
        "scaling": 1.0,
        "sr": 0,
        "ut": "ms"
      },
      "4": {
        "alpha": 1.0,
        "map": {
          "raw": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ],
          "scal": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ]
        },
        "max": 5.0,
        "min": 0.0,
        "nm": "Analog5",
        "offset": 0.0,
        "prec": 2,
        "scalMod": 1,
        "scaling": 1.0,
        "sr": 0,
        "ut": "Volts"
      },
      "5": {
        "alpha": 1.0,
        "map": {
          "raw": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ],
          "scal": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ]
        },
        "max": 5.0,
        "min": 0.0,
        "nm": "Analog6",
        "offset": 0.0,
        "prec": 2,
        "scalMod": 1,
        "scaling": 1.0,
        "sr": 0,
        "ut": "Volts"
      },
      "6": {
        "alpha": 1.0,
        "map": {
          "raw": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ],
          "scal": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ]
        },
        "max": 5.0,
        "min": 0.0,
        "nm": "Analog7",
        "offset": 0.0,
        "prec": 2,
        "scalMod": 1,
        "scaling": 1.0,
        "sr": 0,
        "ut": "Volts"
      },
      "7": {
        "alpha": 1.0,
        "map": {
          "raw": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ],
          "scal": [
            0.0,
            1.25,
            2.5,
            3.75,
            5.0
          ]
        },
        "max": 20.0,
        "min": 0.0,
        "nm": "Battery",
        "offset": 0.0,
        "prec": 2,
        "scalMod": 1,
        "scaling": 1.0,
        "sr": 1,
        "ut": "Volts"
      }
    },
    "canCfg": {
      "baud": [
        500000
      ],
      "en": 1
    },
    "capabilities": {
      "channels": {
        "analog": 8,
        "can": 1,
        "gpio": 3,
        "imu": 4,
        "pwm": 4,
        "timer": 3
      },
      "db": {
        "script": 10240,
        "tracks": 40
      },
      "sampleRates": {
        "gps": 10,
        "sensor": 100
      }
    },
    "connCfg": {
      "btCfg": {
        "btEn": 0,
        "name": "RaceCapturePro",
        "passKey": "1010"
      },
      "cellCfg": {
        "apnHost": "epc.tmobile.com",
        "apnPass": "",
        "apnUser": "",
        "cellEn": 0
      },
      "telCfg": {
        "bgStream": 0,
        "deviceId": ""
      }
    },
    "gpioCfg": {
      "0": {
        "max": 1.0,
        "min": 0.0,
        "mode": 0,
        "nm": "GPIO1",
        "prec": 1,
        "sr": 0,
        "ut": ""
      },
      "1": {
        "max": 1.0,
        "min": 0.0,
        "mode": 0,
        "nm": "GPIO2",
        "prec": 1,
        "sr": 0,
        "ut": ""
      },
      "2": {
        "max": 1.0,
        "min": 0.0,
        "mode": 0,
        "nm": "GPIO3",
        "prec": 1,
        "sr": 0,
        "ut": ""
      }
    },
    "gpsCfg": {
      "dist": 1,
      "pos": 1,
      "sats": 1,
      "speed": 1,
      "sr": 10
    },
    "imuCfg": {
      "0": {
        "alpha": 0.1,
        "chan": 1,
        "max": 3.0,
        "min": -3.0,
        "mode": 1,
        "nm": "AccelX",
        "prec": 2,
        "sr": 25,
        "ut": "G",
        "zeroVal": 2111
      },
      "1": {
        "alpha": 0.1,
        "chan": 0,
        "max": 3.0,
        "min": -3.0,
        "mode": 1,
        "nm": "AccelY",
        "prec": 2,
        "sr": 25,
        "ut": "G",
        "zeroVal": 1945
      },
      "2": {
        "alpha": 0.1,
        "chan": 2,
        "max": 3.0,
        "min": -3.0,
        "mode": 1,
        "nm": "AccelZ",
        "prec": 2,
        "sr": 25,
        "ut": "G",
        "zeroVal": 2029
      },
      "3": {
        "alpha": 0.1,
        "chan": 3,
        "max": 300.0,
        "min": -300.0,
        "mode": 1,
        "nm": "Yaw",
        "prec": 1,
        "sr": 25,
        "ut": "Deg/Sec",
        "zeroVal": 1855
      },
      "4": {
        "alpha": 0,
        "chan": 0,
        "max": 1000,
        "min": -1000,
        "mode": 0,
        "nm": "Unknown",
        "prec": 0,
        "sr": 0,
        "ut": "",
        "zeroVal": 0
      },
      "5": {
        "alpha": 0,
        "chan": 0,
        "max": 1000,
        "min": -1000,
        "mode": 0,
        "nm": "Unknown",
        "prec": 0,
        "sr": 0,
        "ut": "",
        "zeroVal": 0
      }
    },
    "lapCfg": {
      "lapCount": {
        "max": 0,
        "min": 0,
        "nm": "LapCount",
        "prec": 0,
        "sr": 1,
        "ut": ""
      },
      "lapTime": {
        "max": 0.0,
        "min": 0.0,
        "nm": "LapTime",
        "prec": 4,
        "sr": 1,
        "ut": "Min"
      },
      "predTime": {
        "max": 0.0,
        "min": 0.0,
        "nm": "PredTime",
        "prec": 4,
        "sr": 1,
        "ut": "Min"
      },
      "sector": {
        "max": 0.0,
        "min": 0.0,
        "nm": "Sector",
        "prec": 4,
        "sr": 1,
        "ut": ""
      },
      "sectorTime": {
        "max": 0.0,
        "min": 0.0,
        "nm": "SectorTime",
        "prec": 4,
        "sr": 1,
        "ut": "Min"
      }
    },
    "obd2Cfg": {
      "en": 0,
      "pids": []
    },
    "pwmCfg": {
      "0": {
        "logMode": 2,
        "max": 100,
        "min": 0,
        "nm": "PWM1",
        "outMode": 0,
        "prec": 0,
        "sr": 10,
        "stDutyCyc": 50,
        "stPeriod": 100,
        "ut": ""
      },
      "1": {
        "logMode": 1,
        "max": 100,
        "min": 0,
        "nm": "PWM2",
        "outMode": 1,
        "prec": 0,
        "sr": 0,
        "stDutyCyc": 50,
        "stPeriod": 100,
        "ut": ""
      },
      "2": {
        "logMode": 1,
        "max": 100,
        "min": 0,
        "nm": "PWM3",
        "outMode": 1,
        "prec": 0,
        "sr": 0,
        "stDutyCyc": 50,
        "stPeriod": 100,
        "ut": ""
      },
      "3": {
        "logMode": 1,
        "max": 100,
        "min": 0,
        "nm": "PWM4",
        "outMode": 1,
        "prec": 0,
        "sr": 0,
        "stDutyCyc": 50,
        "stPeriod": 100,
        "ut": ""
      }
    },
    "scriptCfg": {
      "data": "--Pin assignments--\r\n--RPM is pin 20 / PulseIn 1\r\n--set the jumpers to ON\r\n--First light is pin 6 / Vout1 10Hz 100 100 0.1 / #2 on shift light - green\r\n--Second light is pin 5 / Vout2 10Hz 100 100 0.1 / #1 on shift light - yellow\r\n--Third light is pin 4 / Vout3 10Hz 100 100 0.1 / #3 on shift light - red\r\n\r\n-- CONSTANTS --\r\nFREQ_HZ = 25  --1000*1/FREQ_HZ=loop time in ms. e.g. 25Hz=40ms--\r\nloop_time = 1000 * 1 / FREQ_HZ\r\nMAX_BLINK_PERIOD = 1000 --in ms (1s or 1000ms is reasonable value)--\r\nMAX_ON_TIME = 500 --in ms (0.5s or 500ms, half off/on is reasonable value--\r\ntestRPM = 2200  --test interface for use on bench--\r\nLL1 = 5500 --light 1 lower threshold to start blinking--\r\nUL1 = 6000 --light 1 upper threshold above which goes solid--\r\nLL2 = 6000 --light 2 lower threshold to start blinking--\r\nUL2 = 6500 --light 2 upper threshold above which goes solid--\r\nLL3 = 6500 --light 3 lower threshold to start blinking--\r\nUL3 = 7000 --light 3 upper threshold above which goes solid--\r\n-- FUNCTIONS --\r\nfunction ctON(ul,ll)\r\n RPM=getTimerRpm(0)\r\n --RPM=testRPM\r\n factor = 0.5 * FREQ_HZ * (1 - (ul - RPM) / (ul - ll))\r\n if factor >= 0.5 * FREQ_HZ then --can't blink faster than tickRate/2--\r\n      on_time = MAX_ON_TIME\r\n     elseif factor < 1 then --can't blink slower than max period--\r\n      on_time = 0\r\n     else\r\n      on_time = MAX_ON_TIME / factor\r\n end \r\n return on_time / loop_time\r\nend\r\n\r\nfunction ctMAX(ul,ll)\r\n RPM=getTimerRpm(0)\r\n --RPM=testRPM\r\n factor = 0.5 * FREQ_HZ * (1 - (ul - RPM) / (ul - ll))\r\n blink_period = MAX_BLINK_PERIOD / factor \r\n return blink_period / loop_time\r\nend\r\n\r\n-- Ini --\r\nsetTickRate(FREQ_HZ)\r\nj = 0\r\nk = 0\r\nl = 0\r\n-- RUN --\r\nfunction onTick()\r\n--start light 1 section--\r\n if j < ctON(UL1,LL1) then\r\n             setAnalogOut(0,0)\r\n        else\r\n             setAnalogOut(0,10) --with value of 5 measured 2.2V and dim light so set to 10, measured 4.75V\r\n end        \r\n if j < ctMAX(UL1,LL1) then\r\n  j = j + 1\r\n else\r\n  j = 0\r\n end\r\n--end light 1 section--\r\n--start light 2 section--\r\n if k < ctON(UL2,LL2) then\r\n             setAnalogOut(1,0)\r\n        else\r\n             setAnalogOut(1,10) --with value of 5 measured 2.2V and dim light so set to 10, measured 4.75V\r\n end        \r\n if k < ctMAX(UL2,LL2) then\r\n  k = k + 1\r\n else\r\n  k = 0\r\n end\r\n--end light 2 section--\r\n--start light 3 section--\r\n if l < ctON(UL3,LL3) then\r\n             setAnalogOut(2,0)\r\n        else\r\n             setAnalogOut(2,10) --with value of 5 measured 2.2V and dim light so set to 10, measured 4.75V\r\n end        \r\n if l < ctMAX(UL3,LL3) then\r\n  l = l + 1\r\n else\r\n  l = 0\r\n end\r\n--end light 3 section--\r\nend",
      "page": null
    },
    "timerCfg": {
      "0": {
        "alpha": 1.0,
        "max": 10000,
        "min": 0,
        "mode": 0,
        "nm": "RPM",
        "ppr": 2,
        "prec": 0,
        "speed": 0,
        "sr": 100,
        "st": 0,
        "ut": ""
      },
      "1": {
        "alpha": 1.0,
        "max": 150.0,
        "min": 0.0,
        "mode": 1,
        "nm": "Speed",
        "ppr": 1,
        "prec": 2,
        "speed": 0,
        "sr": 100,
        "st": 0,
        "ut": "MPH"
      },
      "2": {
        "alpha": 1.0,
        "max": 1000,
        "min": 0,
        "mode": 0,
        "nm": "RPM3",
        "ppr": 1,
        "prec": 0,
        "speed": 1,
        "sr": 0,
        "st": 0,
        "ut": ""
      }
    },
    "trackCfg": {
      "autoDetect": 1,
      "rad": 0.0001,
      "track": {
        "sec": [
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ],
          [
            0.0,
            0.0
          ]
        ],
        "sf": [
          0.0,
          0.0
        ],
        "type": 0
      }
    },
    "trackDb": {
      "size": 2,
      "tracks": [
        {
          "sec": [
            [
              47.254707,
              -123.185966
            ],
            [
              47.256531,
              -123.184799
            ],
            [
              47.257977,
              -123.187103
            ],
            [
              47.256844,
              -123.1894
            ],
            [
              47.2561,
              -123.186913
            ],
            [
              47.257092,
              -123.191994
            ],
            [
              47.256397,
              -123.192886
            ],
            [
              47.255852,
              -123.197899
            ],
            [
              47.254978,
              -123.198837
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ]
          ],
          "sf": [
            47.254723,
            -123.191002
          ],
          "type": 0
        },
        {
          "sec": [
            [
              47.320908,
              -122.143608
            ],
            [
              47.321152,
              -122.150009
            ],
            [
              47.320702,
              -122.153992
            ],
            [
              47.320309,
              -122.149582
            ],
            [
              47.319649,
              -122.150108
            ],
            [
              47.319321,
              -122.143539
            ],
            [
              47.319233,
              -122.139839
            ],
            [
              47.319988,
              -122.136116
            ],
            [
              47.321735,
              -122.136017
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ],
            [
              0.0,
              0.0
            ]
          ],
          "sf": [
            47.320797,
            -122.141579
          ],
          "type": 0
        }
      ]
    },
    "ver": {
      "bugfix": 9,
      "fname": "RaceCapture/Pro",
      "major": 2,
      "minor": 7,
      "name": "RCP"
    }
  }
}