tirecheck-device-sdk 0.2.44 → 0.2.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -114,7 +114,7 @@ function stringToDecimalArray(string) {
114
114
  return Array.from(array);
115
115
  }
116
116
  function decimalToHex(decimal, padStart = 2) {
117
- const hex = decimal.toString(16);
117
+ const hex = decimal.toString(16).toUpperCase();
118
118
  return hex.padStart(padStart, "0");
119
119
  }
120
120
  const toolsSvc = {
@@ -2053,6 +2053,10 @@ const vehicleLayoutAxleTypes = {
2053
2053
  twoTyresAxleSpare: "0380",
2054
2054
  fourTyresAxle: "06C0",
2055
2055
  fourTyresAxleSpare: "07C0",
2056
+ sixTyresAxle: "0EE0",
2057
+ sixTyresAxleSpare: "0FE0",
2058
+ eightTyresAxle: "1EF0",
2059
+ eightTyresAxleSpare: "1FF0",
2056
2060
  spareTyreAxle: "0001"
2057
2061
  };
2058
2062
  const bridgeService = {
@@ -2066,7 +2070,8 @@ const bridgeService = {
2066
2070
  resetAutolearnStatuses,
2067
2071
  getAutolearnStatuses,
2068
2072
  isRebootRequired,
2069
- sendPinCommand
2073
+ sendPinCommand,
2074
+ setVehicleLayout
2070
2075
  };
2071
2076
  async function sendPinCommand(deviceId) {
2072
2077
  if (!canCommunicateWith(deviceId)) throw new Error("Bridge not connected");
@@ -2087,6 +2092,7 @@ async function updateFirmware(deviceId, bootloader, firmware, reportStatus) {
2087
2092
  }
2088
2093
  async function setVehicleLayout(deviceId, tcVehicle) {
2089
2094
  const spareAxles = tcVehicle.axles?.filter((axle) => axle.isSpare);
2095
+ if (spareAxles.length > 2) console.warn("Bridge supports max 2 spare axles, extra spare axles will be ignored");
2090
2096
  let spareAxlesCount = Math.min(spareAxles?.length || 0, 2);
2091
2097
  const result = {
2092
2098
  axle01: "0000",
@@ -2107,28 +2113,25 @@ async function setVehicleLayout(deviceId, tcVehicle) {
2107
2113
  vin: tcVehicle.vin || "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
2108
2114
  vinExtension: tcVehicle.vinExtension || "\0"
2109
2115
  };
2110
- for (let index = 0; index < 15; index++) {
2116
+ for (const [index, axle] of tcVehicle.axles.entries()) {
2111
2117
  const resultKey = Object.keys(result)[index];
2112
- const tyreCount = tcVehicle.axles[index]?.tyresCount;
2113
- if (tyreCount === 2) {
2114
- if (spareAxlesCount) {
2115
- result[resultKey] = vehicleLayoutAxleTypes.twoTyresAxleSpare;
2116
- spareAxlesCount -= 1;
2117
- } else {
2118
- result[resultKey] = vehicleLayoutAxleTypes.twoTyresAxle;
2119
- }
2120
- continue;
2121
- }
2122
- if (tyreCount === 4) {
2123
- if (spareAxlesCount) {
2124
- result[resultKey] = vehicleLayoutAxleTypes.fourTyresAxleSpare;
2125
- spareAxlesCount -= 1;
2126
- } else {
2127
- result[resultKey] = vehicleLayoutAxleTypes.fourTyresAxle;
2128
- }
2118
+ const tyreCount = axle.tyresCount;
2119
+ if (spareAxlesCount) {
2120
+ if (tyreCount === 2) result[resultKey] = vehicleLayoutAxleTypes.twoTyresAxleSpare;
2121
+ else if (tyreCount === 4) result[resultKey] = vehicleLayoutAxleTypes.fourTyresAxleSpare;
2122
+ else if (tyreCount === 6) result[resultKey] = vehicleLayoutAxleTypes.sixTyresAxleSpare;
2123
+ else if (tyreCount === 8) result[resultKey] = vehicleLayoutAxleTypes.eightTyresAxleSpare;
2124
+ else if (tyreCount === 0) result[resultKey] = vehicleLayoutAxleTypes.spareTyreAxle;
2125
+ else throw new Error(`Axle with unsupported tyre count: ${tyreCount}`);
2126
+ spareAxlesCount -= 1;
2129
2127
  continue;
2130
2128
  }
2131
- result[resultKey] = vehicleLayoutAxleTypes.noAxle;
2129
+ if (tyreCount === 2) result[resultKey] = vehicleLayoutAxleTypes.twoTyresAxle;
2130
+ else if (tyreCount === 4) result[resultKey] = vehicleLayoutAxleTypes.fourTyresAxle;
2131
+ else if (tyreCount === 6) result[resultKey] = vehicleLayoutAxleTypes.sixTyresAxle;
2132
+ else if (tyreCount === 8) result[resultKey] = vehicleLayoutAxleTypes.eightTyresAxle;
2133
+ else if (tyreCount === 0) result[resultKey] = vehicleLayoutAxleTypes.noAxle;
2134
+ else throw new Error(`Axle with unsupported tyre count: ${tyreCount}`);
2132
2135
  }
2133
2136
  await bridgeCommands.setVehicleLayout(deviceId, result);
2134
2137
  }
package/dist/index.mjs CHANGED
@@ -107,7 +107,7 @@ function stringToDecimalArray(string) {
107
107
  return Array.from(array);
108
108
  }
109
109
  function decimalToHex(decimal, padStart = 2) {
110
- const hex = decimal.toString(16);
110
+ const hex = decimal.toString(16).toUpperCase();
111
111
  return hex.padStart(padStart, "0");
112
112
  }
113
113
  const toolsSvc = {
@@ -2046,6 +2046,10 @@ const vehicleLayoutAxleTypes = {
2046
2046
  twoTyresAxleSpare: "0380",
2047
2047
  fourTyresAxle: "06C0",
2048
2048
  fourTyresAxleSpare: "07C0",
2049
+ sixTyresAxle: "0EE0",
2050
+ sixTyresAxleSpare: "0FE0",
2051
+ eightTyresAxle: "1EF0",
2052
+ eightTyresAxleSpare: "1FF0",
2049
2053
  spareTyreAxle: "0001"
2050
2054
  };
2051
2055
  const bridgeService = {
@@ -2059,7 +2063,8 @@ const bridgeService = {
2059
2063
  resetAutolearnStatuses,
2060
2064
  getAutolearnStatuses,
2061
2065
  isRebootRequired,
2062
- sendPinCommand
2066
+ sendPinCommand,
2067
+ setVehicleLayout
2063
2068
  };
2064
2069
  async function sendPinCommand(deviceId) {
2065
2070
  if (!canCommunicateWith(deviceId)) throw new Error("Bridge not connected");
@@ -2080,6 +2085,7 @@ async function updateFirmware(deviceId, bootloader, firmware, reportStatus) {
2080
2085
  }
2081
2086
  async function setVehicleLayout(deviceId, tcVehicle) {
2082
2087
  const spareAxles = tcVehicle.axles?.filter((axle) => axle.isSpare);
2088
+ if (spareAxles.length > 2) console.warn("Bridge supports max 2 spare axles, extra spare axles will be ignored");
2083
2089
  let spareAxlesCount = Math.min(spareAxles?.length || 0, 2);
2084
2090
  const result = {
2085
2091
  axle01: "0000",
@@ -2100,28 +2106,25 @@ async function setVehicleLayout(deviceId, tcVehicle) {
2100
2106
  vin: tcVehicle.vin || "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
2101
2107
  vinExtension: tcVehicle.vinExtension || "\0"
2102
2108
  };
2103
- for (let index = 0; index < 15; index++) {
2109
+ for (const [index, axle] of tcVehicle.axles.entries()) {
2104
2110
  const resultKey = Object.keys(result)[index];
2105
- const tyreCount = tcVehicle.axles[index]?.tyresCount;
2106
- if (tyreCount === 2) {
2107
- if (spareAxlesCount) {
2108
- result[resultKey] = vehicleLayoutAxleTypes.twoTyresAxleSpare;
2109
- spareAxlesCount -= 1;
2110
- } else {
2111
- result[resultKey] = vehicleLayoutAxleTypes.twoTyresAxle;
2112
- }
2113
- continue;
2114
- }
2115
- if (tyreCount === 4) {
2116
- if (spareAxlesCount) {
2117
- result[resultKey] = vehicleLayoutAxleTypes.fourTyresAxleSpare;
2118
- spareAxlesCount -= 1;
2119
- } else {
2120
- result[resultKey] = vehicleLayoutAxleTypes.fourTyresAxle;
2121
- }
2111
+ const tyreCount = axle.tyresCount;
2112
+ if (spareAxlesCount) {
2113
+ if (tyreCount === 2) result[resultKey] = vehicleLayoutAxleTypes.twoTyresAxleSpare;
2114
+ else if (tyreCount === 4) result[resultKey] = vehicleLayoutAxleTypes.fourTyresAxleSpare;
2115
+ else if (tyreCount === 6) result[resultKey] = vehicleLayoutAxleTypes.sixTyresAxleSpare;
2116
+ else if (tyreCount === 8) result[resultKey] = vehicleLayoutAxleTypes.eightTyresAxleSpare;
2117
+ else if (tyreCount === 0) result[resultKey] = vehicleLayoutAxleTypes.spareTyreAxle;
2118
+ else throw new Error(`Axle with unsupported tyre count: ${tyreCount}`);
2119
+ spareAxlesCount -= 1;
2122
2120
  continue;
2123
2121
  }
2124
- result[resultKey] = vehicleLayoutAxleTypes.noAxle;
2122
+ if (tyreCount === 2) result[resultKey] = vehicleLayoutAxleTypes.twoTyresAxle;
2123
+ else if (tyreCount === 4) result[resultKey] = vehicleLayoutAxleTypes.fourTyresAxle;
2124
+ else if (tyreCount === 6) result[resultKey] = vehicleLayoutAxleTypes.sixTyresAxle;
2125
+ else if (tyreCount === 8) result[resultKey] = vehicleLayoutAxleTypes.eightTyresAxle;
2126
+ else if (tyreCount === 0) result[resultKey] = vehicleLayoutAxleTypes.noAxle;
2127
+ else throw new Error(`Axle with unsupported tyre count: ${tyreCount}`);
2125
2128
  }
2126
2129
  await bridgeCommands.setVehicleLayout(deviceId, result);
2127
2130
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tirecheck-device-sdk",
3
- "version": "0.2.44",
3
+ "version": "0.2.45",
4
4
  "description": "SDK for working with various devices produced by Tirecheck via Bluetooth (CAN Bridge, Routers, Sensors, FlexiGauge, PressureStick, etc)",
5
5
  "author": "Leonid Buneev <leonid.buneev@tirecheck.com>",
6
6
  "license": "ISC",