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 +24 -21
- package/dist/index.mjs +24 -21
- package/package.json +1 -1
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 (
|
|
2116
|
+
for (const [index, axle] of tcVehicle.axles.entries()) {
|
|
2111
2117
|
const resultKey = Object.keys(result)[index];
|
|
2112
|
-
const tyreCount =
|
|
2113
|
-
if (
|
|
2114
|
-
if (
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
}
|
|
2120
|
-
|
|
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.
|
|
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 (
|
|
2109
|
+
for (const [index, axle] of tcVehicle.axles.entries()) {
|
|
2104
2110
|
const resultKey = Object.keys(result)[index];
|
|
2105
|
-
const tyreCount =
|
|
2106
|
-
if (
|
|
2107
|
-
if (
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
}
|
|
2113
|
-
|
|
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.
|
|
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.
|
|
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",
|