From 7a99f6b16aacdaeb3ae8d36f45ef1547aab56eec Mon Sep 17 00:00:00 2001 From: Mikhail Date: Thu, 16 Jul 2026 15:57:29 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BE=D0=B1=D0=BE=D1=80=D0=BE=D1=82=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B4=D0=B2=D0=B8=D0=B3=D0=B0=D1=82=D0=B5=D0=BB=D1=8F,=20?= =?UTF-8?q?=D0=B8=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D1=83=20=D1=80=D0=B0=D1=81=D1=87?= =?UTF-8?q?=D0=B5=D1=82=D0=B0=20=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D0=BE=D0=B9=20=D1=81=D1=83=D0=BC=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 22 +++++++++++++++++++++- Src/DS_Accord_8_F-CAN.c | 6 ++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 770c73c..a5399a8 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ $$\text{Значение Byte 4 (DEC)} = \frac{\text{Желаемая скоро | | | | | | | | | | | | | :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | -| **`0x17C`** | 8 | ECU (ДВС) | `00` | `00` | `00` | `00` | `00` | `00` | `00` | лампа CHECK + Предположительно Обороты двигателя (Тахометр) | +| **`0x17C`** | 8 | ECU (ДВС) | `00` | `00` | `00` | `00` | `00` | `00` | `00` | лампа CHECK + круиз |
подробнее @@ -108,6 +108,26 @@ $$\text{Значение Byte 4 (DEC)} = \frac{\text{Желаемая скоро * **Byte 6:** — `00` -
+ +| | | | | | | | | | | | +| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| **`0x1DC`** | 4 | ECU (ДВС) | `00` | `05` | `90` | - | - | - | - | Обороты двигателя (Тахометр) | + +
+ подробнее + +### Описание + +* **Byte 0:** — `00` - Фиксированный маркер/валидатор пакета. Должен быть строго равен 0x00, иначе панель игнорирует данные. +* **Byte 1:** — `05` - High Byte — Старший байт значения оборотов двигателя +* **Byte 2:** — `90` - Low Byte — Младший байт значения оборотов двигателя. + +Формула расчета полезной нагрузки (Byte 1 и Byte 2)Для получения итогового значения оборотов, отображаемых на панели, используется формула: +RPM = ((Byte 1 * 256) + Byte 2)/4 + + +
+ | | | | | | | | | | | | | :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | | **`0x294`** | 8 | Панель | `02` | `16` | `F1` | `01` | `57` | `FE` | `00` | | diff --git a/Src/DS_Accord_8_F-CAN.c b/Src/DS_Accord_8_F-CAN.c index 9263613..4da7c12 100644 --- a/Src/DS_Accord_8_F-CAN.c +++ b/Src/DS_Accord_8_F-CAN.c @@ -7,10 +7,12 @@ extern CAN_HandleTypeDef hcan; volatile CanTaskTypeDef tasks[] = { // ID, DLC, Period, Alive, Last_Time, Start_Phase, { Исходные данные DATA[8] } {0x158, 8, 10, 0, 0, 0, {0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00}}, // ECU Скорость - {0x17C, 8, 10, 0, 0, 2, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, // + {0x17C, 8, 10, 0, 0, 2, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, // Гасим чек {0x1A4, 8, 20, 0, 0, 4, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, // ABS/VSA Тормоза {0x324, 8, 20, 0, 0, 6, {0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, // MICU Кузов + {0x1DC, 4, 20, 0, 0, 8, {0x00, 0x05, 0x90, 0x00}}, //RPM + // {0x490, 8, 20, 0, 0, 6, {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00}}, // {0x491, 8, 20, 0, 0, 6, {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00}}, // {0x492, 8, 20, 0, 0, 8, {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00}}, @@ -117,7 +119,7 @@ uint8_t calc_honda_halfbyte_checksum(uint16_t id, uint8_t *data, uint8_t dlc, ui } // 3. Добавляем длину пакета и шаг циклического счетчика - sum += dlc & 0x0F; + sum += 8; sum += alive_val & 0x0F; // 4. Реализация правила дополнения до нуля (вычитание накопленного остатка из 16) From 2b46dde3763573832f72427dd3c58210fde41745 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Thu, 16 Jul 2026 16:24:34 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=BF=D0=B5=D1=80=D0=B8=D0=BE=D0=B4=D0=B8=D1=87=D0=BD=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=8C=20=D0=BE=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D0=BE=D0=B2=20=D0=B2=20?= =?UTF-8?q?=D1=88=D0=B8=D0=BD=D1=83=20=20=D0=B2=20=D0=BE=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B8=20+=20=D0=BD=D0=B5=D0=BC=D0=BD=D0=BE?= =?UTF-8?q?=D0=B3=D0=BE=20=D0=BE=D0=BF=D1=82=D0=B8=D0=BC=D0=B8=D0=B7=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 134 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 69 insertions(+), 65 deletions(-) diff --git a/README.md b/README.md index a5399a8..f5b38bb 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,15 @@ Список известных пакетов для высокоскоростной шины -| ID (Hex) | DLC | Источник | Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Описание флагов и результаты реверса | -| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| ID (Hex) | Period | DLC | Источник | Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Описание| +| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | -| | | | | | | | | | | | -| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | -| **`0x158`** | 8 | ECU (ДВС) | `00` | `00` | `00` | `00` | `40` | `00` | `00` | Линейная скорость. | + + + +| | | | | | | | | | | | | +| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| **`0x158`** | 10 | 8 | ECU (ДВС) | `00` | `00` | `00` | `00` | `40` | `00` | `00` | Линейная скорость. |
подробнее @@ -23,9 +26,9 @@ $$\text{Значение Byte 4 (DEC)} = \frac{\text{Желаемая скоро * **Byte 6:** — `00`
-| | | | | | | | | | | | -| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | -| **`0x164`** | 8 | Панель | `00` | `00` | `00` | `00` | `FF` | `00` | `00` | | +| | | | | | | | | | | | | +| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| **`0x164`** | 10 | 8 | Панель | `00` | `00` | `00` | `00` | `FF` | `00` | `00` | |
подробнее @@ -41,15 +44,46 @@ $$\text{Значение Byte 4 (DEC)} = \frac{\text{Желаемая скоро * **Byte 6:** — `00`
-| | | | | | | | | | | | -| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | -| **`0x1A4`** | 8 | Блок ABS | `00` | `00` | `00` | `00` | `00` | `00` |`00` | Статус ABS/VSA. Чистый статус тормозной системы — полностью и стабильно гасит «гирлянду» ламп тормозов (VSA/ABS) на панели. | +| | | | | | | | | | | | | +| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| **`0x17C`** | 10 | 8 | ECU (ДВС) | `00` | `00` | `00` | `00` | `00` | `00` | `00` | лампа CHECK + круиз |
подробнее ### Описание +* **Byte 0:** — `00` - +* **Byte 1:** — `00` - +* **Byte 2:** — `00` - +* **Byte 3:** — `00` - +* **Byte 4:** — `00` - + + биты + * 0 - + * 1 - + * 2 - + * 3 - круиз контроль + * 4 - CHECK индикатор + * 5 - CHECK выводится на главный экран + * 6 - + * 7 - + +* **Byte 5:** — `00` - +* **Byte 6:** — `00` - +
+ +| | | | | | | | | | | | | +| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| **`0x1A4`** | 20 | 8 | Блок ABS | `00` | `00` | `00` | `00` | `00` | `00` |`00` | Статус ABS/VSA. | + +
+ подробнее + +### Описание + +Чистый статус тормозной системы — полностью и стабильно гасит «гирлянду» ламп тормозов (VSA/ABS) на панели. + * **Byte 0:** — `00` - * **Byte 1:** — `00` - * **Byte 2:** — `00` - @@ -79,39 +113,9 @@ $$\text{Значение Byte 4 (DEC)} = \frac{\text{Желаемая скоро * **Byte 6:** — `00` -
-| | | | | | | | | | | | -| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | -| **`0x17C`** | 8 | ECU (ДВС) | `00` | `00` | `00` | `00` | `00` | `00` | `00` | лампа CHECK + круиз | - -
- подробнее - -### Описание - -* **Byte 0:** — `00` - -* **Byte 1:** — `00` - -* **Byte 2:** — `00` - -* **Byte 3:** — `00` - -* **Byte 4:** — `00` - - - биты - * 0 - - * 1 - - * 2 - - * 3 - круиз контроль - * 4 - CHECK индикатор - * 5 - CHECK выводится на главный экран - * 6 - - * 7 - - -* **Byte 5:** — `00` - -* **Byte 6:** — `00` - -
- - -| | | | | | | | | | | | -| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | -| **`0x1DC`** | 4 | ECU (ДВС) | `00` | `05` | `90` | - | - | - | - | Обороты двигателя (Тахометр) | +| | | | | | | | | | | | | +| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| **`0x1DC`** | 20 | 4 | ECU (ДВС) | `00` | `05` | `90` | - | - | - | - | Обороты двигателя (Тахометр) |
подробнее @@ -128,9 +132,9 @@ RPM = ((Byte 1 * 256) + Byte 2)/4
-| | | | | | | | | | | | -| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | -| **`0x294`** | 8 | Панель | `02` | `16` | `F1` | `01` | `57` | `FE` | `00` | | +| | | | | | | | | | | | | +| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| **`0x294`** | 40 | 8 | Панель | `02` | `16` | `F1` | `01` | `57` | `FE` | `00` | |
подробнее @@ -146,9 +150,9 @@ RPM = ((Byte 1 * 256) + Byte 2)/4 * **Byte 6:** — `00`
-| | | | | | | | | | | | -| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | -| **`0x324`** | 8 | MICU (Кузов) | `62` | `00` | `00` | `00` | `00` | `00` | `00` | Положение стрелки температуры, статус ламп (АКБ, Масло) и сервисного режима (SCS). +| | | | | | | | | | | | | +| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| **`0x324`** | 20 | 8 | MICU (Кузов) | `62` | `00` | `00` | `00` | `00` | `00` | `00` | Положение стрелки температуры, статус ламп (АКБ, Масло) и сервисного режима (SCS).
подробнее @@ -174,9 +178,9 @@ RPM = ((Byte 1 * 256) + Byte 2)/4 * 7 -
-| | | | | | | | | | | | -| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | -| **`0x374`** | 8 | Панель | `00` | `00` | `00` | `00` | `05` | `00` | - | | +| | | | | | | | | | | | | +| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| **`0x374`** | 100 | 8 | Панель | `00` | `00` | `00` | `00` | `05` | `00` | - | |
подробнее @@ -191,9 +195,9 @@ RPM = ((Byte 1 * 256) + Byte 2)/4 * **Byte 5:** — `00`
-| | | | | | | | | | | | -| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | -| **`0x377`** | 8 | Панель | `00` | `2E` | `DB` | `08` | `9B` | `00` | `04` | | +| | | | | | | | | | | | | +| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| **`0x377`** | 100| 8 | Панель | `00` | `2E` | `DB` | `08` | `9B` | `00` | `04` | |
подробнее @@ -209,9 +213,9 @@ RPM = ((Byte 1 * 256) + Byte 2)/4 * **Byte 6:** — `04`
-| | | | | | | | | | | | -| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | -| **`0x378`** | 8 | Панель | `7F` | `FF` | `FE` | `FF` | `FF` | `E0` | `00` | | +| | | | | | | | | | | | | +| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| **`0x378`** | 100 | 8 | Панель | `7F` | `FF` | `FE` | `FF` | `FF` | `E0` | `00` | |
подробнее @@ -227,9 +231,9 @@ RPM = ((Byte 1 * 256) + Byte 2)/4 * **Byte 6:** — `00`
-| | | | | | | | | | | | -| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | -| **`0x405`** | 8 | Панель | `81` | `07` | `10` | `02` | `00` | `00` | `00` | | +| | | | | | | | | | | | | +| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| **`0x405`** | 300 | 8 | Панель | `81` | `07` | `10` | `02` | `00` | `00` | `00` | |
подробнее @@ -245,9 +249,9 @@ RPM = ((Byte 1 * 256) + Byte 2)/4 * **Byte 6:** — `00`
-| | | | | | | | | | | | -| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | -| **`0x428`** | 8 | Панель | `00` | `00` | `00` | `00` | `00` | `00` | - | | +| | | | | | | | | | | | | +| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- | +| **`0x428`** | 300 | 8 | Панель | `00` | `00` | `00` | `00` | `00` | `00` | - | |
подробнее