Compare commits
2
Commits
ai-context
...
Dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b46dde376 | ||
|
|
7a99f6b16a |
@@ -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` | Линейная скорость. |
|
||||
|
||||
<details>
|
||||
<summary><b> <i>подробнее</i></b></summary>
|
||||
@@ -23,9 +26,9 @@ $$\text{Значение Byte 4 (DEC)} = \frac{\text{Желаемая скоро
|
||||
* **Byte 6:** — `00`
|
||||
</details>
|
||||
|
||||
| | | | | | | | | | | |
|
||||
| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x164`** | 8 | Панель | `00` | `00` | `00` | `00` | `FF` | `00` | `00` | |
|
||||
| | | | | | | | | | | | |
|
||||
| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x164`** | 10 | 8 | Панель | `00` | `00` | `00` | `00` | `FF` | `00` | `00` | |
|
||||
|
||||
<details>
|
||||
<summary><b> <i>подробнее</i></b></summary>
|
||||
@@ -41,15 +44,46 @@ $$\text{Значение Byte 4 (DEC)} = \frac{\text{Желаемая скоро
|
||||
* **Byte 6:** — `00`
|
||||
</details>
|
||||
|
||||
| | | | | | | | | | | |
|
||||
| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`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 + круиз |
|
||||
|
||||
<details>
|
||||
<summary><b> <i>подробнее</i></b></summary>
|
||||
|
||||
### Описание
|
||||
|
||||
* **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` -
|
||||
</details>
|
||||
|
||||
| | | | | | | | | | | | |
|
||||
| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x1A4`** | 20 | 8 | Блок ABS | `00` | `00` | `00` | `00` | `00` | `00` |`00` | Статус ABS/VSA. |
|
||||
|
||||
<details>
|
||||
<summary><b> <i>подробнее</i></b></summary>
|
||||
|
||||
### Описание
|
||||
|
||||
Чистый статус тормозной системы — полностью и стабильно гасит «гирлянду» ламп тормозов (VSA/ABS) на панели.
|
||||
|
||||
* **Byte 0:** — `00` -
|
||||
* **Byte 1:** — `00` -
|
||||
* **Byte 2:** — `00` -
|
||||
@@ -79,38 +113,28 @@ $$\text{Значение Byte 4 (DEC)} = \frac{\text{Желаемая скоро
|
||||
* **Byte 6:** — `00` -
|
||||
</details>
|
||||
|
||||
| | | | | | | | | | | |
|
||||
| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x17C`** | 8 | ECU (ДВС) | `00` | `00` | `00` | `00` | `00` | `00` | `00` | лампа CHECK + Предположительно Обороты двигателя (Тахометр) |
|
||||
| | | | | | | | | | | | |
|
||||
| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x1DC`** | 20 | 4 | ECU (ДВС) | `00` | `05` | `90` | - | - | - | - | Обороты двигателя (Тахометр) |
|
||||
|
||||
<details>
|
||||
<summary><b> <i>подробнее</i></b></summary>
|
||||
|
||||
### Описание
|
||||
|
||||
* **Byte 0:** — `00` -
|
||||
* **Byte 1:** — `00` -
|
||||
* **Byte 2:** — `00` -
|
||||
* **Byte 3:** — `00` -
|
||||
* **Byte 4:** — `00` -
|
||||
* **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
|
||||
|
||||
биты
|
||||
* 0 -
|
||||
* 1 -
|
||||
* 2 -
|
||||
* 3 - круиз контроль
|
||||
* 4 - CHECK индикатор
|
||||
* 5 - CHECK выводится на главный экран
|
||||
* 6 -
|
||||
* 7 -
|
||||
|
||||
* **Byte 5:** — `00` -
|
||||
* **Byte 6:** — `00` -
|
||||
</details>
|
||||
|
||||
| | | | | | | | | | | |
|
||||
| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x294`** | 8 | Панель | `02` | `16` | `F1` | `01` | `57` | `FE` | `00` | |
|
||||
| | | | | | | | | | | | |
|
||||
| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x294`** | 40 | 8 | Панель | `02` | `16` | `F1` | `01` | `57` | `FE` | `00` | |
|
||||
|
||||
<details>
|
||||
<summary><b> <i>подробнее</i></b></summary>
|
||||
@@ -126,9 +150,9 @@ $$\text{Значение Byte 4 (DEC)} = \frac{\text{Желаемая скоро
|
||||
* **Byte 6:** — `00`
|
||||
</details>
|
||||
|
||||
| | | | | | | | | | | |
|
||||
| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x324`** | 8 | MICU (Кузов) | `62` | `00` | `00` | `00` | `00` | `00` | `00` | Положение стрелки температуры, статус ламп (АКБ, Масло) и сервисного режима (SCS).
|
||||
| | | | | | | | | | | | |
|
||||
| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x324`** | 20 | 8 | MICU (Кузов) | `62` | `00` | `00` | `00` | `00` | `00` | `00` | Положение стрелки температуры, статус ламп (АКБ, Масло) и сервисного режима (SCS).
|
||||
|
||||
<details>
|
||||
<summary><b> <i>подробнее</i></b></summary>
|
||||
@@ -154,9 +178,9 @@ $$\text{Значение Byte 4 (DEC)} = \frac{\text{Желаемая скоро
|
||||
* 7 -
|
||||
</details>
|
||||
|
||||
| | | | | | | | | | | |
|
||||
| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x374`** | 8 | Панель | `00` | `00` | `00` | `00` | `05` | `00` | - | |
|
||||
| | | | | | | | | | | | |
|
||||
| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x374`** | 100 | 8 | Панель | `00` | `00` | `00` | `00` | `05` | `00` | - | |
|
||||
|
||||
<details>
|
||||
<summary><b> <i>подробнее</i></b></summary>
|
||||
@@ -171,9 +195,9 @@ $$\text{Значение Byte 4 (DEC)} = \frac{\text{Желаемая скоро
|
||||
* **Byte 5:** — `00`
|
||||
</details>
|
||||
|
||||
| | | | | | | | | | | |
|
||||
| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x377`** | 8 | Панель | `00` | `2E` | `DB` | `08` | `9B` | `00` | `04` | |
|
||||
| | | | | | | | | | | | |
|
||||
| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x377`** | 100| 8 | Панель | `00` | `2E` | `DB` | `08` | `9B` | `00` | `04` | |
|
||||
|
||||
<details>
|
||||
<summary><b> <i>подробнее</i></b></summary>
|
||||
@@ -189,9 +213,9 @@ $$\text{Значение Byte 4 (DEC)} = \frac{\text{Желаемая скоро
|
||||
* **Byte 6:** — `04`
|
||||
</details>
|
||||
|
||||
| | | | | | | | | | | |
|
||||
| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x378`** | 8 | Панель | `7F` | `FF` | `FE` | `FF` | `FF` | `E0` | `00` | |
|
||||
| | | | | | | | | | | | |
|
||||
| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x378`** | 100 | 8 | Панель | `7F` | `FF` | `FE` | `FF` | `FF` | `E0` | `00` | |
|
||||
|
||||
<details>
|
||||
<summary><b> <i>подробнее</i></b></summary>
|
||||
@@ -207,9 +231,9 @@ $$\text{Значение Byte 4 (DEC)} = \frac{\text{Желаемая скоро
|
||||
* **Byte 6:** — `00`
|
||||
</details>
|
||||
|
||||
| | | | | | | | | | | |
|
||||
| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x405`** | 8 | Панель | `81` | `07` | `10` | `02` | `00` | `00` | `00` | |
|
||||
| | | | | | | | | | | | |
|
||||
| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x405`** | 300 | 8 | Панель | `81` | `07` | `10` | `02` | `00` | `00` | `00` | |
|
||||
|
||||
<details>
|
||||
<summary><b> <i>подробнее</i></b></summary>
|
||||
@@ -225,9 +249,9 @@ $$\text{Значение Byte 4 (DEC)} = \frac{\text{Желаемая скоро
|
||||
* **Byte 6:** — `00`
|
||||
</details>
|
||||
|
||||
| | | | | | | | | | | |
|
||||
| :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x428`** | 8 | Панель | `00` | `00` | `00` | `00` | `00` | `00` | - | |
|
||||
| | | | | | | | | | | | |
|
||||
| :----: | :----: | :---: | :----------: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--- |
|
||||
| **`0x428`** | 300 | 8 | Панель | `00` | `00` | `00` | `00` | `00` | `00` | - | |
|
||||
|
||||
<details>
|
||||
<summary><b> <i>подробнее</i></b></summary>
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user