mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-08-22 06:53:46 +08:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1f7233cb98 |
@@ -1,4 +1,4 @@
|
||||
FROM ghcr.io/sunnypilot/sunnypilot-base:latest
|
||||
FROM ghcr.io/sunnypilot/sunnypilot-tici-base:latest
|
||||
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
|
||||
@@ -22,19 +22,47 @@ https://docs.sunnypilot.ai/ is your one stop shop for everything from features t
|
||||
Detailed instructions for [how to mount the device in a car](https://comma.ai/setup).
|
||||
|
||||
## Installation
|
||||
Please refer to [Recommended Branches](#-recommended-branches) to find your preferred/supported branch. This guide will assume you want to install the latest `release-c3` branch.
|
||||
Please refer to [Recommended Branches](#-recommended-branches) to find your preferred/supported branch. This guide will assume you want to install the latest `staging-tici` branch.
|
||||
|
||||
### If you want to use our newest branches (our rewrite)
|
||||
> [!TIP]
|
||||
>You can see the rewrite state on our [rewrite project board](https://github.com/orgs/sunnypilot/projects/2), and to install the new branches, you can use the following links
|
||||
|
||||
* sunnypilot not installed or you installed a version before 0.8.17?
|
||||
1. [Factory reset/uninstall](https://github.com/commaai/openpilot/wiki/FAQ#how-can-i-reset-the-device) the previous software if you have another software/fork installed.
|
||||
2. After factory reset/uninstall and upon reboot, select `Custom Software` when given the option.
|
||||
3. Input the installation URL per [Recommended Branches](#-recommended-branches). Example: ```release-c3.sunnypilot.ai```.
|
||||
3. Input the installation URL per [Recommended Branches](#-recommended-branches). Example: ```https://staging-tici.sunnypilot.ai```.
|
||||
4. Complete the rest of the installation following the onscreen instructions.
|
||||
|
||||
* sunnypilot already installed and you installed a version after 0.8.17?
|
||||
1. On the comma three, go to `Settings` ▶️ `Software`.
|
||||
2. At the `Download` option, press `CHECK`. This will fetch the list of latest branches from sunnypilot.
|
||||
3. At the `Target Branch` option, press `SELECT` to open the Target Branch selector.
|
||||
4. Scroll to select the desired branch per Recommended Branches (see below). Example: `release-c3`
|
||||
4. Scroll to select the desired branch per Recommended Branches (see below). Example: `staging-tici`
|
||||
|
||||
|
||||
| Branch | Installation URL |
|
||||
|:---------------:|:---------------------------------------------:|
|
||||
| `staging-tici` | `https://staging-tici.sunnypilot.ai` |
|
||||
| `custom-branch` | `https://install.sunnypilot.ai/{branch_name}` |
|
||||
| `release-tici` | **Not yet available**. |
|
||||
|
||||
> [!TIP]
|
||||
> You can use sunnypilot/targetbranch as an install URL. Example: 'sunnypilot/staging-tici'.
|
||||
|
||||
> [!NOTE]
|
||||
> Do you require further assistance with software installation? Join the [sunnypilot Discord server](https://discord.sunnypilot.com) and message us in the `#installation-help` channel.
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Older legacy branches</summary>
|
||||
|
||||
### If you want to use our older legacy branches (*not recommended*)
|
||||
|
||||
> [**IMPORTANT**]
|
||||
> It is recommended to [re-flash AGNOS](https://flash.comma.ai/) if you intend to downgrade from the new branches.
|
||||
> You can still restore the latest sunnylink backup made on the old branches.
|
||||
|
||||
| Branch | Installation URL |
|
||||
|:------------:|:--------------------------------:|
|
||||
@@ -42,25 +70,9 @@ Please refer to [Recommended Branches](#-recommended-branches) to find your pref
|
||||
| `staging-c3` | https://staging-c3.sunnypilot.ai |
|
||||
| `dev-c3` | https://dev-c3.sunnypilot.ai |
|
||||
|
||||
### If you want to use our newest branches (our rewrite)
|
||||
> [!TIP]
|
||||
>You can see the rewrite state on our [rewrite project board](https://github.com/orgs/sunnypilot/projects/2), and to install the new branches, you can use the following links
|
||||
</details>
|
||||
|
||||
|
||||
> [!IMPORTANT]
|
||||
> It is recommended to [re-flash AGNOS](https://flash.comma.ai/) if you intend to downgrade from the new branches.
|
||||
> You can still restore the latest sunnylink backup made on the old branches.
|
||||
|
||||
| Branch | Installation URL |
|
||||
|:----------------:|:---------------------------------------------:|
|
||||
| `staging-c3-new` | `https://staging-c3-new.sunnypilot.ai` |
|
||||
| `dev-c3-new` | `https://dev-c3-new.sunnypilot.ai` |
|
||||
| `custom-branch` | `https://install.sunnypilot.ai/{branch_name}` |
|
||||
| `release-c3-new` | **Not yet available**. |
|
||||
|
||||
> [!TIP]
|
||||
> Do you require further assistance with software installation? Join the [sunnypilot Discord server](https://discord.sunnypilot.com) and message us in the `#installation-help` channel.
|
||||
|
||||
## 🎆 Pull Requests
|
||||
We welcome both pull requests and issues on GitHub. Bug fixes are encouraged.
|
||||
|
||||
|
||||
+24
-2
@@ -172,6 +172,8 @@ struct OnroadEventSP @0xda96579883444c35 {
|
||||
experimentalModeSwitched @14;
|
||||
wrongCarModeAlertOnly @15;
|
||||
pedalPressedAlertOnly @16;
|
||||
laneTurnLeft @17;
|
||||
laneTurnRight @18;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,7 +202,20 @@ struct CarControlSP @0xa5cd762cd951a455 {
|
||||
|
||||
struct Param {
|
||||
key @0 :Text;
|
||||
value @1 :Text;
|
||||
type @2 :ParamType;
|
||||
value @3 :Data;
|
||||
|
||||
valueDEPRECATED @1 :Text; # The data type change may cause issues with backwards compatibility.
|
||||
}
|
||||
|
||||
enum ParamType {
|
||||
string @0;
|
||||
bool @1;
|
||||
int @2;
|
||||
float @3;
|
||||
time @4;
|
||||
json @5;
|
||||
bytes @6;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -258,9 +273,16 @@ struct LiveMapDataSP @0xf416ec09499d9d19 {
|
||||
roadName @5 :Text;
|
||||
}
|
||||
|
||||
struct CustomReserved9 @0xa1680744031fdb2d {
|
||||
struct ModelDataV2SP @0xa1680744031fdb2d {
|
||||
laneTurnDirection @0 :TurnDirection;
|
||||
}
|
||||
|
||||
enum TurnDirection {
|
||||
none @0;
|
||||
turnLeft @1;
|
||||
turnRight @2;
|
||||
}
|
||||
|
||||
struct CustomReserved10 @0xcb9fd56c7057593a {
|
||||
}
|
||||
|
||||
|
||||
+235
-63
@@ -1793,7 +1793,7 @@ const ::capnp::_::RawSchema s_f6e831752fcdf793 = {
|
||||
1, 11, i_f6e831752fcdf793, nullptr, nullptr, { &s_f6e831752fcdf793, nullptr, nullptr, 0, 0, nullptr }, false
|
||||
};
|
||||
#endif // !CAPNP_LITE
|
||||
static const ::capnp::_::AlignedData<119> b_b8007ed8a646b5e6 = {
|
||||
static const ::capnp::_::AlignedData<129> b_b8007ed8a646b5e6 = {
|
||||
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
||||
230, 181, 70, 166, 216, 126, 0, 184,
|
||||
27, 0, 0, 0, 2, 0, 0, 0,
|
||||
@@ -1803,7 +1803,7 @@ static const ::capnp::_::AlignedData<119> b_b8007ed8a646b5e6 = {
|
||||
21, 0, 0, 0, 42, 1, 0, 0,
|
||||
37, 0, 0, 0, 7, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
33, 0, 0, 0, 159, 1, 0, 0,
|
||||
33, 0, 0, 0, 207, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
99, 117, 115, 116, 111, 109, 46, 99,
|
||||
@@ -1812,57 +1812,63 @@ static const ::capnp::_::AlignedData<119> b_b8007ed8a646b5e6 = {
|
||||
83, 80, 46, 69, 118, 101, 110, 116,
|
||||
78, 97, 109, 101, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 1, 0,
|
||||
68, 0, 0, 0, 1, 0, 2, 0,
|
||||
76, 0, 0, 0, 1, 0, 2, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
197, 0, 0, 0, 90, 0, 0, 0,
|
||||
221, 0, 0, 0, 90, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0,
|
||||
193, 0, 0, 0, 98, 0, 0, 0,
|
||||
217, 0, 0, 0, 98, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
2, 0, 0, 0, 0, 0, 0, 0,
|
||||
189, 0, 0, 0, 186, 0, 0, 0,
|
||||
213, 0, 0, 0, 186, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
3, 0, 0, 0, 0, 0, 0, 0,
|
||||
189, 0, 0, 0, 218, 0, 0, 0,
|
||||
213, 0, 0, 0, 218, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
4, 0, 0, 0, 0, 0, 0, 0,
|
||||
193, 0, 0, 0, 138, 0, 0, 0,
|
||||
217, 0, 0, 0, 138, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
5, 0, 0, 0, 0, 0, 0, 0,
|
||||
193, 0, 0, 0, 146, 0, 0, 0,
|
||||
217, 0, 0, 0, 146, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
6, 0, 0, 0, 0, 0, 0, 0,
|
||||
193, 0, 0, 0, 130, 0, 0, 0,
|
||||
217, 0, 0, 0, 130, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
7, 0, 0, 0, 0, 0, 0, 0,
|
||||
189, 0, 0, 0, 130, 0, 0, 0,
|
||||
213, 0, 0, 0, 130, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
8, 0, 0, 0, 0, 0, 0, 0,
|
||||
185, 0, 0, 0, 146, 0, 0, 0,
|
||||
209, 0, 0, 0, 146, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
9, 0, 0, 0, 0, 0, 0, 0,
|
||||
185, 0, 0, 0, 122, 0, 0, 0,
|
||||
209, 0, 0, 0, 122, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
10, 0, 0, 0, 0, 0, 0, 0,
|
||||
181, 0, 0, 0, 202, 0, 0, 0,
|
||||
205, 0, 0, 0, 202, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
11, 0, 0, 0, 0, 0, 0, 0,
|
||||
185, 0, 0, 0, 130, 0, 0, 0,
|
||||
209, 0, 0, 0, 130, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
12, 0, 0, 0, 0, 0, 0, 0,
|
||||
181, 0, 0, 0, 194, 0, 0, 0,
|
||||
205, 0, 0, 0, 194, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
13, 0, 0, 0, 0, 0, 0, 0,
|
||||
181, 0, 0, 0, 226, 0, 0, 0,
|
||||
205, 0, 0, 0, 226, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
14, 0, 0, 0, 0, 0, 0, 0,
|
||||
185, 0, 0, 0, 202, 0, 0, 0,
|
||||
209, 0, 0, 0, 202, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
15, 0, 0, 0, 0, 0, 0, 0,
|
||||
189, 0, 0, 0, 178, 0, 0, 0,
|
||||
213, 0, 0, 0, 178, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
16, 0, 0, 0, 0, 0, 0, 0,
|
||||
189, 0, 0, 0, 178, 0, 0, 0,
|
||||
213, 0, 0, 0, 178, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
17, 0, 0, 0, 0, 0, 0, 0,
|
||||
213, 0, 0, 0, 106, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
18, 0, 0, 0, 0, 0, 0, 0,
|
||||
209, 0, 0, 0, 114, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
108, 107, 97, 115, 69, 110, 97, 98,
|
||||
108, 101, 0, 0, 0, 0, 0, 0,
|
||||
@@ -1912,14 +1918,18 @@ static const ::capnp::_::AlignedData<119> b_b8007ed8a646b5e6 = {
|
||||
116, 79, 110, 108, 121, 0, 0, 0,
|
||||
112, 101, 100, 97, 108, 80, 114, 101,
|
||||
115, 115, 101, 100, 65, 108, 101, 114,
|
||||
116, 79, 110, 108, 121, 0, 0, 0, }
|
||||
116, 79, 110, 108, 121, 0, 0, 0,
|
||||
108, 97, 110, 101, 84, 117, 114, 110,
|
||||
76, 101, 102, 116, 0, 0, 0, 0,
|
||||
108, 97, 110, 101, 84, 117, 114, 110,
|
||||
82, 105, 103, 104, 116, 0, 0, 0, }
|
||||
};
|
||||
::capnp::word const* const bp_b8007ed8a646b5e6 = b_b8007ed8a646b5e6.words;
|
||||
#if !CAPNP_LITE
|
||||
static const uint16_t m_b8007ed8a646b5e6[] = {12, 14, 13, 1, 0, 3, 2, 16, 6, 9, 5, 4, 11, 8, 10, 7, 15};
|
||||
static const uint16_t m_b8007ed8a646b5e6[] = {12, 14, 13, 17, 18, 1, 0, 3, 2, 16, 6, 9, 5, 4, 11, 8, 10, 7, 15};
|
||||
const ::capnp::_::RawSchema s_b8007ed8a646b5e6 = {
|
||||
0xb8007ed8a646b5e6, b_b8007ed8a646b5e6.words, 119, nullptr, m_b8007ed8a646b5e6,
|
||||
0, 17, nullptr, nullptr, nullptr, { &s_b8007ed8a646b5e6, nullptr, nullptr, 0, 0, nullptr }, false
|
||||
0xb8007ed8a646b5e6, b_b8007ed8a646b5e6.words, 129, nullptr, m_b8007ed8a646b5e6,
|
||||
0, 19, nullptr, nullptr, nullptr, { &s_b8007ed8a646b5e6, nullptr, nullptr, 0, 0, nullptr }, false
|
||||
};
|
||||
#endif // !CAPNP_LITE
|
||||
CAPNP_DEFINE_ENUM(EventName_b8007ed8a646b5e6, b8007ed8a646b5e6);
|
||||
@@ -2143,7 +2153,7 @@ const ::capnp::_::RawSchema s_817ed0dfcd0ed40f = {
|
||||
0, 2, i_817ed0dfcd0ed40f, nullptr, nullptr, { &s_817ed0dfcd0ed40f, nullptr, nullptr, 0, 0, nullptr }, false
|
||||
};
|
||||
#endif // !CAPNP_LITE
|
||||
static const ::capnp::_::AlignedData<85> b_a5cd762cd951a455 = {
|
||||
static const ::capnp::_::AlignedData<89> b_a5cd762cd951a455 = {
|
||||
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
||||
85, 164, 81, 217, 44, 118, 205, 165,
|
||||
13, 0, 0, 0, 1, 0, 0, 0,
|
||||
@@ -2151,19 +2161,23 @@ static const ::capnp::_::AlignedData<85> b_a5cd762cd951a455 = {
|
||||
4, 0, 7, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
21, 0, 0, 0, 210, 0, 0, 0,
|
||||
33, 0, 0, 0, 23, 0, 0, 0,
|
||||
33, 0, 0, 0, 39, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
41, 0, 0, 0, 231, 0, 0, 0,
|
||||
57, 0, 0, 0, 231, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
99, 117, 115, 116, 111, 109, 46, 99,
|
||||
97, 112, 110, 112, 58, 67, 97, 114,
|
||||
67, 111, 110, 116, 114, 111, 108, 83,
|
||||
80, 0, 0, 0, 0, 0, 0, 0,
|
||||
4, 0, 0, 0, 1, 0, 1, 0,
|
||||
8, 0, 0, 0, 1, 0, 1, 0,
|
||||
196, 104, 250, 22, 99, 55, 14, 226,
|
||||
1, 0, 0, 0, 50, 0, 0, 0,
|
||||
9, 0, 0, 0, 50, 0, 0, 0,
|
||||
82, 153, 58, 145, 116, 199, 36, 234,
|
||||
5, 0, 0, 0, 82, 0, 0, 0,
|
||||
80, 97, 114, 97, 109, 0, 0, 0,
|
||||
80, 97, 114, 97, 109, 84, 121, 112,
|
||||
101, 0, 0, 0, 0, 0, 0, 0,
|
||||
16, 0, 0, 0, 3, 0, 4, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0,
|
||||
@@ -2240,21 +2254,21 @@ static const ::capnp::_::RawSchema* const d_a5cd762cd951a455[] = {
|
||||
static const uint16_t m_a5cd762cd951a455[] = {2, 3, 0, 1};
|
||||
static const uint16_t i_a5cd762cd951a455[] = {0, 1, 2, 3};
|
||||
const ::capnp::_::RawSchema s_a5cd762cd951a455 = {
|
||||
0xa5cd762cd951a455, b_a5cd762cd951a455.words, 85, d_a5cd762cd951a455, m_a5cd762cd951a455,
|
||||
0xa5cd762cd951a455, b_a5cd762cd951a455.words, 89, d_a5cd762cd951a455, m_a5cd762cd951a455,
|
||||
3, 4, i_a5cd762cd951a455, nullptr, nullptr, { &s_a5cd762cd951a455, nullptr, nullptr, 0, 0, nullptr }, false
|
||||
};
|
||||
#endif // !CAPNP_LITE
|
||||
static const ::capnp::_::AlignedData<48> b_e20e376316fa68c4 = {
|
||||
static const ::capnp::_::AlignedData<79> b_e20e376316fa68c4 = {
|
||||
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
||||
196, 104, 250, 22, 99, 55, 14, 226,
|
||||
26, 0, 0, 0, 1, 0, 0, 0,
|
||||
26, 0, 0, 0, 1, 0, 1, 0,
|
||||
85, 164, 81, 217, 44, 118, 205, 165,
|
||||
2, 0, 7, 0, 0, 0, 0, 0,
|
||||
3, 0, 7, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
21, 0, 0, 0, 2, 1, 0, 0,
|
||||
33, 0, 0, 0, 7, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
29, 0, 0, 0, 119, 0, 0, 0,
|
||||
29, 0, 0, 0, 231, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
99, 117, 115, 116, 111, 109, 46, 99,
|
||||
@@ -2262,21 +2276,35 @@ static const ::capnp::_::AlignedData<48> b_e20e376316fa68c4 = {
|
||||
67, 111, 110, 116, 114, 111, 108, 83,
|
||||
80, 46, 80, 97, 114, 97, 109, 0,
|
||||
0, 0, 0, 0, 1, 0, 1, 0,
|
||||
8, 0, 0, 0, 3, 0, 4, 0,
|
||||
16, 0, 0, 0, 3, 0, 4, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
41, 0, 0, 0, 34, 0, 0, 0,
|
||||
97, 0, 0, 0, 34, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
36, 0, 0, 0, 3, 0, 1, 0,
|
||||
48, 0, 0, 0, 2, 0, 1, 0,
|
||||
1, 0, 0, 0, 1, 0, 0, 0,
|
||||
92, 0, 0, 0, 3, 0, 1, 0,
|
||||
104, 0, 0, 0, 2, 0, 1, 0,
|
||||
3, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 1, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
45, 0, 0, 0, 50, 0, 0, 0,
|
||||
101, 0, 0, 0, 130, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
40, 0, 0, 0, 3, 0, 1, 0,
|
||||
52, 0, 0, 0, 2, 0, 1, 0,
|
||||
100, 0, 0, 0, 3, 0, 1, 0,
|
||||
112, 0, 0, 0, 2, 0, 1, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 2, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
109, 0, 0, 0, 42, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
104, 0, 0, 0, 3, 0, 1, 0,
|
||||
116, 0, 0, 0, 2, 0, 1, 0,
|
||||
2, 0, 0, 0, 2, 0, 0, 0,
|
||||
0, 0, 1, 0, 3, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
113, 0, 0, 0, 50, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
108, 0, 0, 0, 3, 0, 1, 0,
|
||||
120, 0, 0, 0, 2, 0, 1, 0,
|
||||
107, 101, 121, 0, 0, 0, 0, 0,
|
||||
12, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@@ -2285,24 +2313,102 @@ static const ::capnp::_::AlignedData<48> b_e20e376316fa68c4 = {
|
||||
12, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
118, 97, 108, 117, 101, 68, 69, 80,
|
||||
82, 69, 67, 65, 84, 69, 68, 0,
|
||||
12, 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,
|
||||
12, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
116, 121, 112, 101, 0, 0, 0, 0,
|
||||
15, 0, 0, 0, 0, 0, 0, 0,
|
||||
82, 153, 58, 145, 116, 199, 36, 234,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
15, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
118, 97, 108, 117, 101, 0, 0, 0,
|
||||
12, 0, 0, 0, 0, 0, 0, 0,
|
||||
13, 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,
|
||||
12, 0, 0, 0, 0, 0, 0, 0,
|
||||
13, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, }
|
||||
};
|
||||
::capnp::word const* const bp_e20e376316fa68c4 = b_e20e376316fa68c4.words;
|
||||
#if !CAPNP_LITE
|
||||
static const uint16_t m_e20e376316fa68c4[] = {0, 1};
|
||||
static const uint16_t i_e20e376316fa68c4[] = {0, 1};
|
||||
static const ::capnp::_::RawSchema* const d_e20e376316fa68c4[] = {
|
||||
&s_ea24c774913a9952,
|
||||
};
|
||||
static const uint16_t m_e20e376316fa68c4[] = {0, 2, 3, 1};
|
||||
static const uint16_t i_e20e376316fa68c4[] = {0, 1, 2, 3};
|
||||
const ::capnp::_::RawSchema s_e20e376316fa68c4 = {
|
||||
0xe20e376316fa68c4, b_e20e376316fa68c4.words, 48, nullptr, m_e20e376316fa68c4,
|
||||
0, 2, i_e20e376316fa68c4, nullptr, nullptr, { &s_e20e376316fa68c4, nullptr, nullptr, 0, 0, nullptr }, false
|
||||
0xe20e376316fa68c4, b_e20e376316fa68c4.words, 79, d_e20e376316fa68c4, m_e20e376316fa68c4,
|
||||
1, 4, i_e20e376316fa68c4, nullptr, nullptr, { &s_e20e376316fa68c4, nullptr, nullptr, 0, 0, nullptr }, false
|
||||
};
|
||||
#endif // !CAPNP_LITE
|
||||
static const ::capnp::_::AlignedData<47> b_ea24c774913a9952 = {
|
||||
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
||||
82, 153, 58, 145, 116, 199, 36, 234,
|
||||
26, 0, 0, 0, 2, 0, 0, 0,
|
||||
85, 164, 81, 217, 44, 118, 205, 165,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
21, 0, 0, 0, 34, 1, 0, 0,
|
||||
37, 0, 0, 0, 7, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
33, 0, 0, 0, 175, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
99, 117, 115, 116, 111, 109, 46, 99,
|
||||
97, 112, 110, 112, 58, 67, 97, 114,
|
||||
67, 111, 110, 116, 114, 111, 108, 83,
|
||||
80, 46, 80, 97, 114, 97, 109, 84,
|
||||
121, 112, 101, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 1, 0,
|
||||
28, 0, 0, 0, 1, 0, 2, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
77, 0, 0, 0, 58, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0,
|
||||
69, 0, 0, 0, 42, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
2, 0, 0, 0, 0, 0, 0, 0,
|
||||
61, 0, 0, 0, 34, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
3, 0, 0, 0, 0, 0, 0, 0,
|
||||
53, 0, 0, 0, 50, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
4, 0, 0, 0, 0, 0, 0, 0,
|
||||
45, 0, 0, 0, 42, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
5, 0, 0, 0, 0, 0, 0, 0,
|
||||
37, 0, 0, 0, 42, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
6, 0, 0, 0, 0, 0, 0, 0,
|
||||
29, 0, 0, 0, 50, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
115, 116, 114, 105, 110, 103, 0, 0,
|
||||
98, 111, 111, 108, 0, 0, 0, 0,
|
||||
105, 110, 116, 0, 0, 0, 0, 0,
|
||||
102, 108, 111, 97, 116, 0, 0, 0,
|
||||
116, 105, 109, 101, 0, 0, 0, 0,
|
||||
106, 115, 111, 110, 0, 0, 0, 0,
|
||||
98, 121, 116, 101, 115, 0, 0, 0, }
|
||||
};
|
||||
::capnp::word const* const bp_ea24c774913a9952 = b_ea24c774913a9952.words;
|
||||
#if !CAPNP_LITE
|
||||
static const uint16_t m_ea24c774913a9952[] = {1, 6, 3, 2, 5, 0, 4};
|
||||
const ::capnp::_::RawSchema s_ea24c774913a9952 = {
|
||||
0xea24c774913a9952, b_ea24c774913a9952.words, 47, nullptr, m_ea24c774913a9952,
|
||||
0, 7, nullptr, nullptr, nullptr, { &s_ea24c774913a9952, nullptr, nullptr, 0, 0, nullptr }, false
|
||||
};
|
||||
#endif // !CAPNP_LITE
|
||||
CAPNP_DEFINE_ENUM(ParamType_ea24c774913a9952, ea24c774913a9952);
|
||||
static const ::capnp::_::AlignedData<148> b_f98d843bfd7004a3 = {
|
||||
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
||||
163, 4, 112, 253, 59, 132, 141, 249,
|
||||
@@ -3016,32 +3122,98 @@ const ::capnp::_::RawSchema s_f416ec09499d9d19 = {
|
||||
0, 6, i_f416ec09499d9d19, nullptr, nullptr, { &s_f416ec09499d9d19, nullptr, nullptr, 0, 0, nullptr }, false
|
||||
};
|
||||
#endif // !CAPNP_LITE
|
||||
static const ::capnp::_::AlignedData<17> b_a1680744031fdb2d = {
|
||||
static const ::capnp::_::AlignedData<35> b_a1680744031fdb2d = {
|
||||
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
||||
45, 219, 31, 3, 68, 7, 104, 161,
|
||||
13, 0, 0, 0, 1, 0, 0, 0,
|
||||
13, 0, 0, 0, 1, 0, 1, 0,
|
||||
89, 10, 85, 29, 102, 186, 38, 181,
|
||||
0, 0, 7, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
21, 0, 0, 0, 234, 0, 0, 0,
|
||||
21, 0, 0, 0, 218, 0, 0, 0,
|
||||
33, 0, 0, 0, 7, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
29, 0, 0, 0, 63, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
99, 117, 115, 116, 111, 109, 46, 99,
|
||||
97, 112, 110, 112, 58, 67, 117, 115,
|
||||
116, 111, 109, 82, 101, 115, 101, 114,
|
||||
118, 101, 100, 57, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 1, 0, }
|
||||
97, 112, 110, 112, 58, 77, 111, 100,
|
||||
101, 108, 68, 97, 116, 97, 86, 50,
|
||||
83, 80, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 1, 0,
|
||||
4, 0, 0, 0, 3, 0, 4, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
13, 0, 0, 0, 146, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
16, 0, 0, 0, 3, 0, 1, 0,
|
||||
28, 0, 0, 0, 2, 0, 1, 0,
|
||||
108, 97, 110, 101, 84, 117, 114, 110,
|
||||
68, 105, 114, 101, 99, 116, 105, 111,
|
||||
110, 0, 0, 0, 0, 0, 0, 0,
|
||||
15, 0, 0, 0, 0, 0, 0, 0,
|
||||
150, 169, 61, 176, 185, 17, 36, 191,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
15, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, }
|
||||
};
|
||||
::capnp::word const* const bp_a1680744031fdb2d = b_a1680744031fdb2d.words;
|
||||
#if !CAPNP_LITE
|
||||
static const ::capnp::_::RawSchema* const d_a1680744031fdb2d[] = {
|
||||
&s_bf2411b9b03da996,
|
||||
};
|
||||
static const uint16_t m_a1680744031fdb2d[] = {0};
|
||||
static const uint16_t i_a1680744031fdb2d[] = {0};
|
||||
const ::capnp::_::RawSchema s_a1680744031fdb2d = {
|
||||
0xa1680744031fdb2d, b_a1680744031fdb2d.words, 17, nullptr, nullptr,
|
||||
0, 0, nullptr, nullptr, nullptr, { &s_a1680744031fdb2d, nullptr, nullptr, 0, 0, nullptr }, false
|
||||
0xa1680744031fdb2d, b_a1680744031fdb2d.words, 35, d_a1680744031fdb2d, m_a1680744031fdb2d,
|
||||
1, 1, i_a1680744031fdb2d, nullptr, nullptr, { &s_a1680744031fdb2d, nullptr, nullptr, 0, 0, nullptr }, false
|
||||
};
|
||||
#endif // !CAPNP_LITE
|
||||
static const ::capnp::_::AlignedData<32> b_bf2411b9b03da996 = {
|
||||
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
||||
150, 169, 61, 176, 185, 17, 36, 191,
|
||||
13, 0, 0, 0, 2, 0, 0, 0,
|
||||
89, 10, 85, 29, 102, 186, 38, 181,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
21, 0, 0, 0, 218, 0, 0, 0,
|
||||
33, 0, 0, 0, 7, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
29, 0, 0, 0, 79, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
99, 117, 115, 116, 111, 109, 46, 99,
|
||||
97, 112, 110, 112, 58, 84, 117, 114,
|
||||
110, 68, 105, 114, 101, 99, 116, 105,
|
||||
111, 110, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 1, 0,
|
||||
12, 0, 0, 0, 1, 0, 2, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
29, 0, 0, 0, 42, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0,
|
||||
21, 0, 0, 0, 74, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
2, 0, 0, 0, 0, 0, 0, 0,
|
||||
17, 0, 0, 0, 82, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
110, 111, 110, 101, 0, 0, 0, 0,
|
||||
116, 117, 114, 110, 76, 101, 102, 116,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
116, 117, 114, 110, 82, 105, 103, 104,
|
||||
116, 0, 0, 0, 0, 0, 0, 0, }
|
||||
};
|
||||
::capnp::word const* const bp_bf2411b9b03da996 = b_bf2411b9b03da996.words;
|
||||
#if !CAPNP_LITE
|
||||
static const uint16_t m_bf2411b9b03da996[] = {0, 1, 2};
|
||||
const ::capnp::_::RawSchema s_bf2411b9b03da996 = {
|
||||
0xbf2411b9b03da996, b_bf2411b9b03da996.words, 32, nullptr, m_bf2411b9b03da996,
|
||||
0, 3, nullptr, nullptr, nullptr, { &s_bf2411b9b03da996, nullptr, nullptr, 0, 0, nullptr }, false
|
||||
};
|
||||
#endif // !CAPNP_LITE
|
||||
CAPNP_DEFINE_ENUM(TurnDirection_bf2411b9b03da996, bf2411b9b03da996);
|
||||
static const ::capnp::_::AlignedData<17> b_cb9fd56c7057593a = {
|
||||
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
||||
58, 89, 87, 112, 108, 213, 159, 203,
|
||||
@@ -3609,15 +3781,15 @@ constexpr ::capnp::_::RawSchema const* LiveMapDataSP::_capnpPrivate::schema;
|
||||
#endif // !CAPNP_NEED_REDUNDANT_CONSTEXPR_DECL
|
||||
#endif // !CAPNP_LITE
|
||||
|
||||
// CustomReserved9
|
||||
// ModelDataV2SP
|
||||
#if CAPNP_NEED_REDUNDANT_CONSTEXPR_DECL
|
||||
constexpr uint16_t CustomReserved9::_capnpPrivate::dataWordSize;
|
||||
constexpr uint16_t CustomReserved9::_capnpPrivate::pointerCount;
|
||||
constexpr uint16_t ModelDataV2SP::_capnpPrivate::dataWordSize;
|
||||
constexpr uint16_t ModelDataV2SP::_capnpPrivate::pointerCount;
|
||||
#endif // !CAPNP_NEED_REDUNDANT_CONSTEXPR_DECL
|
||||
#if !CAPNP_LITE
|
||||
#if CAPNP_NEED_REDUNDANT_CONSTEXPR_DECL
|
||||
constexpr ::capnp::Kind CustomReserved9::_capnpPrivate::kind;
|
||||
constexpr ::capnp::_::RawSchema const* CustomReserved9::_capnpPrivate::schema;
|
||||
constexpr ::capnp::Kind ModelDataV2SP::_capnpPrivate::kind;
|
||||
constexpr ::capnp::_::RawSchema const* ModelDataV2SP::_capnpPrivate::schema;
|
||||
#endif // !CAPNP_NEED_REDUNDANT_CONSTEXPR_DECL
|
||||
#endif // !CAPNP_LITE
|
||||
|
||||
|
||||
+130
-24
@@ -90,6 +90,8 @@ enum class EventName_b8007ed8a646b5e6: uint16_t {
|
||||
EXPERIMENTAL_MODE_SWITCHED,
|
||||
WRONG_CAR_MODE_ALERT_ONLY,
|
||||
PEDAL_PRESSED_ALERT_ONLY,
|
||||
LANE_TURN_LEFT,
|
||||
LANE_TURN_RIGHT,
|
||||
};
|
||||
CAPNP_DECLARE_ENUM(EventName, b8007ed8a646b5e6);
|
||||
CAPNP_DECLARE_SCHEMA(80ae746ee2596b11);
|
||||
@@ -97,6 +99,17 @@ CAPNP_DECLARE_SCHEMA(dafc8108312924ef);
|
||||
CAPNP_DECLARE_SCHEMA(817ed0dfcd0ed40f);
|
||||
CAPNP_DECLARE_SCHEMA(a5cd762cd951a455);
|
||||
CAPNP_DECLARE_SCHEMA(e20e376316fa68c4);
|
||||
CAPNP_DECLARE_SCHEMA(ea24c774913a9952);
|
||||
enum class ParamType_ea24c774913a9952: uint16_t {
|
||||
STRING,
|
||||
BOOL,
|
||||
INT,
|
||||
FLOAT,
|
||||
TIME,
|
||||
JSON,
|
||||
BYTES,
|
||||
};
|
||||
CAPNP_DECLARE_ENUM(ParamType, ea24c774913a9952);
|
||||
CAPNP_DECLARE_SCHEMA(f98d843bfd7004a3);
|
||||
CAPNP_DECLARE_SCHEMA(b8aa92adead100ba);
|
||||
enum class Status_b8aa92adead100ba: uint16_t {
|
||||
@@ -112,6 +125,13 @@ CAPNP_DECLARE_SCHEMA(9e62278160b7df26);
|
||||
CAPNP_DECLARE_SCHEMA(b86e6369214c01c8);
|
||||
CAPNP_DECLARE_SCHEMA(f416ec09499d9d19);
|
||||
CAPNP_DECLARE_SCHEMA(a1680744031fdb2d);
|
||||
CAPNP_DECLARE_SCHEMA(bf2411b9b03da996);
|
||||
enum class TurnDirection_bf2411b9b03da996: uint16_t {
|
||||
NONE,
|
||||
TURN_LEFT,
|
||||
TURN_RIGHT,
|
||||
};
|
||||
CAPNP_DECLARE_ENUM(TurnDirection, bf2411b9b03da996);
|
||||
CAPNP_DECLARE_SCHEMA(cb9fd56c7057593a);
|
||||
CAPNP_DECLARE_SCHEMA(c2243c65e0340384);
|
||||
CAPNP_DECLARE_SCHEMA(9ccdc8676701b412);
|
||||
@@ -412,6 +432,8 @@ struct CarControlSP {
|
||||
class Builder;
|
||||
class Pipeline;
|
||||
struct Param;
|
||||
typedef ::capnp::schemas::ParamType_ea24c774913a9952 ParamType;
|
||||
|
||||
|
||||
struct _capnpPrivate {
|
||||
CAPNP_DECLARE_STRUCT_HEADER(a5cd762cd951a455, 0, 4)
|
||||
@@ -429,7 +451,7 @@ struct CarControlSP::Param {
|
||||
class Pipeline;
|
||||
|
||||
struct _capnpPrivate {
|
||||
CAPNP_DECLARE_STRUCT_HEADER(e20e376316fa68c4, 0, 2)
|
||||
CAPNP_DECLARE_STRUCT_HEADER(e20e376316fa68c4, 1, 3)
|
||||
#if !CAPNP_LITE
|
||||
static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
|
||||
#endif // !CAPNP_LITE
|
||||
@@ -531,21 +553,23 @@ struct LiveMapDataSP {
|
||||
};
|
||||
};
|
||||
|
||||
struct CustomReserved9 {
|
||||
CustomReserved9() = delete;
|
||||
struct ModelDataV2SP {
|
||||
ModelDataV2SP() = delete;
|
||||
|
||||
class Reader;
|
||||
class Builder;
|
||||
class Pipeline;
|
||||
|
||||
struct _capnpPrivate {
|
||||
CAPNP_DECLARE_STRUCT_HEADER(a1680744031fdb2d, 0, 0)
|
||||
CAPNP_DECLARE_STRUCT_HEADER(a1680744031fdb2d, 1, 0)
|
||||
#if !CAPNP_LITE
|
||||
static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
|
||||
#endif // !CAPNP_LITE
|
||||
};
|
||||
};
|
||||
|
||||
typedef ::capnp::schemas::TurnDirection_bf2411b9b03da996 TurnDirection;
|
||||
|
||||
struct CustomReserved10 {
|
||||
CustomReserved10() = delete;
|
||||
|
||||
@@ -2534,8 +2558,13 @@ public:
|
||||
inline bool hasKey() const;
|
||||
inline ::capnp::Text::Reader getKey() const;
|
||||
|
||||
inline bool hasValueDEPRECATED() const;
|
||||
inline ::capnp::Text::Reader getValueDEPRECATED() const;
|
||||
|
||||
inline ::cereal::CarControlSP::ParamType getType() const;
|
||||
|
||||
inline bool hasValue() const;
|
||||
inline ::capnp::Text::Reader getValue() const;
|
||||
inline ::capnp::Data::Reader getValue() const;
|
||||
|
||||
private:
|
||||
::capnp::_::StructReader _reader;
|
||||
@@ -2572,12 +2601,22 @@ public:
|
||||
inline void adoptKey(::capnp::Orphan< ::capnp::Text>&& value);
|
||||
inline ::capnp::Orphan< ::capnp::Text> disownKey();
|
||||
|
||||
inline bool hasValueDEPRECATED();
|
||||
inline ::capnp::Text::Builder getValueDEPRECATED();
|
||||
inline void setValueDEPRECATED( ::capnp::Text::Reader value);
|
||||
inline ::capnp::Text::Builder initValueDEPRECATED(unsigned int size);
|
||||
inline void adoptValueDEPRECATED(::capnp::Orphan< ::capnp::Text>&& value);
|
||||
inline ::capnp::Orphan< ::capnp::Text> disownValueDEPRECATED();
|
||||
|
||||
inline ::cereal::CarControlSP::ParamType getType();
|
||||
inline void setType( ::cereal::CarControlSP::ParamType value);
|
||||
|
||||
inline bool hasValue();
|
||||
inline ::capnp::Text::Builder getValue();
|
||||
inline void setValue( ::capnp::Text::Reader value);
|
||||
inline ::capnp::Text::Builder initValue(unsigned int size);
|
||||
inline void adoptValue(::capnp::Orphan< ::capnp::Text>&& value);
|
||||
inline ::capnp::Orphan< ::capnp::Text> disownValue();
|
||||
inline ::capnp::Data::Builder getValue();
|
||||
inline void setValue( ::capnp::Data::Reader value);
|
||||
inline ::capnp::Data::Builder initValue(unsigned int size);
|
||||
inline void adoptValue(::capnp::Orphan< ::capnp::Data>&& value);
|
||||
inline ::capnp::Orphan< ::capnp::Data> disownValue();
|
||||
|
||||
private:
|
||||
::capnp::_::StructBuilder _builder;
|
||||
@@ -3249,9 +3288,9 @@ private:
|
||||
};
|
||||
#endif // !CAPNP_LITE
|
||||
|
||||
class CustomReserved9::Reader {
|
||||
class ModelDataV2SP::Reader {
|
||||
public:
|
||||
typedef CustomReserved9 Reads;
|
||||
typedef ModelDataV2SP Reads;
|
||||
|
||||
Reader() = default;
|
||||
inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
|
||||
@@ -3266,6 +3305,8 @@ public:
|
||||
}
|
||||
#endif // !CAPNP_LITE
|
||||
|
||||
inline ::cereal::TurnDirection getLaneTurnDirection() const;
|
||||
|
||||
private:
|
||||
::capnp::_::StructReader _reader;
|
||||
template <typename, ::capnp::Kind>
|
||||
@@ -3278,9 +3319,9 @@ private:
|
||||
friend class ::capnp::Orphanage;
|
||||
};
|
||||
|
||||
class CustomReserved9::Builder {
|
||||
class ModelDataV2SP::Builder {
|
||||
public:
|
||||
typedef CustomReserved9 Builds;
|
||||
typedef ModelDataV2SP Builds;
|
||||
|
||||
Builder() = delete; // Deleted to discourage incorrect usage.
|
||||
// You can explicitly initialize to nullptr instead.
|
||||
@@ -3294,6 +3335,9 @@ public:
|
||||
inline ::kj::StringTree toString() const { return asReader().toString(); }
|
||||
#endif // !CAPNP_LITE
|
||||
|
||||
inline ::cereal::TurnDirection getLaneTurnDirection();
|
||||
inline void setLaneTurnDirection( ::cereal::TurnDirection value);
|
||||
|
||||
private:
|
||||
::capnp::_::StructBuilder _builder;
|
||||
template <typename, ::capnp::Kind>
|
||||
@@ -3304,9 +3348,9 @@ private:
|
||||
};
|
||||
|
||||
#if !CAPNP_LITE
|
||||
class CustomReserved9::Pipeline {
|
||||
class ModelDataV2SP::Pipeline {
|
||||
public:
|
||||
typedef CustomReserved9 Pipelines;
|
||||
typedef ModelDataV2SP Pipelines;
|
||||
|
||||
inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
|
||||
inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
|
||||
@@ -5775,40 +5819,88 @@ inline ::capnp::Orphan< ::capnp::Text> CarControlSP::Param::Builder::disownKey()
|
||||
::capnp::bounded<0>() * ::capnp::POINTERS));
|
||||
}
|
||||
|
||||
inline bool CarControlSP::Param::Reader::hasValue() const {
|
||||
inline bool CarControlSP::Param::Reader::hasValueDEPRECATED() const {
|
||||
return !_reader.getPointerField(
|
||||
::capnp::bounded<1>() * ::capnp::POINTERS).isNull();
|
||||
}
|
||||
inline bool CarControlSP::Param::Builder::hasValue() {
|
||||
inline bool CarControlSP::Param::Builder::hasValueDEPRECATED() {
|
||||
return !_builder.getPointerField(
|
||||
::capnp::bounded<1>() * ::capnp::POINTERS).isNull();
|
||||
}
|
||||
inline ::capnp::Text::Reader CarControlSP::Param::Reader::getValue() const {
|
||||
inline ::capnp::Text::Reader CarControlSP::Param::Reader::getValueDEPRECATED() const {
|
||||
return ::capnp::_::PointerHelpers< ::capnp::Text>::get(_reader.getPointerField(
|
||||
::capnp::bounded<1>() * ::capnp::POINTERS));
|
||||
}
|
||||
inline ::capnp::Text::Builder CarControlSP::Param::Builder::getValue() {
|
||||
inline ::capnp::Text::Builder CarControlSP::Param::Builder::getValueDEPRECATED() {
|
||||
return ::capnp::_::PointerHelpers< ::capnp::Text>::get(_builder.getPointerField(
|
||||
::capnp::bounded<1>() * ::capnp::POINTERS));
|
||||
}
|
||||
inline void CarControlSP::Param::Builder::setValue( ::capnp::Text::Reader value) {
|
||||
inline void CarControlSP::Param::Builder::setValueDEPRECATED( ::capnp::Text::Reader value) {
|
||||
::capnp::_::PointerHelpers< ::capnp::Text>::set(_builder.getPointerField(
|
||||
::capnp::bounded<1>() * ::capnp::POINTERS), value);
|
||||
}
|
||||
inline ::capnp::Text::Builder CarControlSP::Param::Builder::initValue(unsigned int size) {
|
||||
inline ::capnp::Text::Builder CarControlSP::Param::Builder::initValueDEPRECATED(unsigned int size) {
|
||||
return ::capnp::_::PointerHelpers< ::capnp::Text>::init(_builder.getPointerField(
|
||||
::capnp::bounded<1>() * ::capnp::POINTERS), size);
|
||||
}
|
||||
inline void CarControlSP::Param::Builder::adoptValue(
|
||||
inline void CarControlSP::Param::Builder::adoptValueDEPRECATED(
|
||||
::capnp::Orphan< ::capnp::Text>&& value) {
|
||||
::capnp::_::PointerHelpers< ::capnp::Text>::adopt(_builder.getPointerField(
|
||||
::capnp::bounded<1>() * ::capnp::POINTERS), kj::mv(value));
|
||||
}
|
||||
inline ::capnp::Orphan< ::capnp::Text> CarControlSP::Param::Builder::disownValue() {
|
||||
inline ::capnp::Orphan< ::capnp::Text> CarControlSP::Param::Builder::disownValueDEPRECATED() {
|
||||
return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(_builder.getPointerField(
|
||||
::capnp::bounded<1>() * ::capnp::POINTERS));
|
||||
}
|
||||
|
||||
inline ::cereal::CarControlSP::ParamType CarControlSP::Param::Reader::getType() const {
|
||||
return _reader.getDataField< ::cereal::CarControlSP::ParamType>(
|
||||
::capnp::bounded<0>() * ::capnp::ELEMENTS);
|
||||
}
|
||||
|
||||
inline ::cereal::CarControlSP::ParamType CarControlSP::Param::Builder::getType() {
|
||||
return _builder.getDataField< ::cereal::CarControlSP::ParamType>(
|
||||
::capnp::bounded<0>() * ::capnp::ELEMENTS);
|
||||
}
|
||||
inline void CarControlSP::Param::Builder::setType( ::cereal::CarControlSP::ParamType value) {
|
||||
_builder.setDataField< ::cereal::CarControlSP::ParamType>(
|
||||
::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
|
||||
}
|
||||
|
||||
inline bool CarControlSP::Param::Reader::hasValue() const {
|
||||
return !_reader.getPointerField(
|
||||
::capnp::bounded<2>() * ::capnp::POINTERS).isNull();
|
||||
}
|
||||
inline bool CarControlSP::Param::Builder::hasValue() {
|
||||
return !_builder.getPointerField(
|
||||
::capnp::bounded<2>() * ::capnp::POINTERS).isNull();
|
||||
}
|
||||
inline ::capnp::Data::Reader CarControlSP::Param::Reader::getValue() const {
|
||||
return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_reader.getPointerField(
|
||||
::capnp::bounded<2>() * ::capnp::POINTERS));
|
||||
}
|
||||
inline ::capnp::Data::Builder CarControlSP::Param::Builder::getValue() {
|
||||
return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_builder.getPointerField(
|
||||
::capnp::bounded<2>() * ::capnp::POINTERS));
|
||||
}
|
||||
inline void CarControlSP::Param::Builder::setValue( ::capnp::Data::Reader value) {
|
||||
::capnp::_::PointerHelpers< ::capnp::Data>::set(_builder.getPointerField(
|
||||
::capnp::bounded<2>() * ::capnp::POINTERS), value);
|
||||
}
|
||||
inline ::capnp::Data::Builder CarControlSP::Param::Builder::initValue(unsigned int size) {
|
||||
return ::capnp::_::PointerHelpers< ::capnp::Data>::init(_builder.getPointerField(
|
||||
::capnp::bounded<2>() * ::capnp::POINTERS), size);
|
||||
}
|
||||
inline void CarControlSP::Param::Builder::adoptValue(
|
||||
::capnp::Orphan< ::capnp::Data>&& value) {
|
||||
::capnp::_::PointerHelpers< ::capnp::Data>::adopt(_builder.getPointerField(
|
||||
::capnp::bounded<2>() * ::capnp::POINTERS), kj::mv(value));
|
||||
}
|
||||
inline ::capnp::Orphan< ::capnp::Data> CarControlSP::Param::Builder::disownValue() {
|
||||
return ::capnp::_::PointerHelpers< ::capnp::Data>::disown(_builder.getPointerField(
|
||||
::capnp::bounded<2>() * ::capnp::POINTERS));
|
||||
}
|
||||
|
||||
inline ::cereal::BackupManagerSP::Status BackupManagerSP::Reader::getBackupStatus() const {
|
||||
return _reader.getDataField< ::cereal::BackupManagerSP::Status>(
|
||||
::capnp::bounded<0>() * ::capnp::ELEMENTS);
|
||||
@@ -6509,6 +6601,20 @@ inline ::capnp::Orphan< ::capnp::Text> LiveMapDataSP::Builder::disownRoadName()
|
||||
::capnp::bounded<0>() * ::capnp::POINTERS));
|
||||
}
|
||||
|
||||
inline ::cereal::TurnDirection ModelDataV2SP::Reader::getLaneTurnDirection() const {
|
||||
return _reader.getDataField< ::cereal::TurnDirection>(
|
||||
::capnp::bounded<0>() * ::capnp::ELEMENTS);
|
||||
}
|
||||
|
||||
inline ::cereal::TurnDirection ModelDataV2SP::Builder::getLaneTurnDirection() {
|
||||
return _builder.getDataField< ::cereal::TurnDirection>(
|
||||
::capnp::bounded<0>() * ::capnp::ELEMENTS);
|
||||
}
|
||||
inline void ModelDataV2SP::Builder::setLaneTurnDirection( ::cereal::TurnDirection value) {
|
||||
_builder.setDataField< ::cereal::TurnDirection>(
|
||||
::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
CAPNP_END_HEADER
|
||||
|
||||
@@ -31283,7 +31283,7 @@ static const ::capnp::_::AlignedData<2557> b_d314cfd957229c11 = {
|
||||
96, 0, 141, 255, 0, 0, 0, 0,
|
||||
0, 0, 1, 0, 116, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
165, 21, 0, 0, 130, 0, 0, 0,
|
||||
165, 21, 0, 0, 114, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
164, 21, 0, 0, 3, 0, 1, 0,
|
||||
176, 21, 0, 0, 2, 0, 1, 0,
|
||||
@@ -32669,8 +32669,8 @@ static const ::capnp::_::AlignedData<2557> b_d314cfd957229c11 = {
|
||||
16, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
99, 117, 115, 116, 111, 109, 82, 101,
|
||||
115, 101, 114, 118, 101, 100, 57, 0,
|
||||
109, 111, 100, 101, 108, 68, 97, 116,
|
||||
97, 86, 50, 83, 80, 0, 0, 0,
|
||||
16, 0, 0, 0, 0, 0, 0, 0,
|
||||
45, 219, 31, 3, 68, 7, 104, 161,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@@ -33122,7 +33122,7 @@ static const ::capnp::_::RawSchema* const d_d314cfd957229c11[] = {
|
||||
&s_fe346a9de48d9b50,
|
||||
&s_fe35ad896ffaeacf,
|
||||
};
|
||||
static const uint16_t m_d314cfd957229c11[] = {98, 101, 133, 30, 20, 55, 42, 149, 113, 148, 60, 63, 5, 23, 112, 127, 69, 111, 22, 114, 28, 35, 7, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 116, 124, 125, 126, 6, 132, 70, 87, 76, 71, 59, 92, 128, 85, 26, 10, 91, 21, 48, 3, 41, 40, 99, 100, 1, 65, 64, 32, 96, 19, 146, 8, 46, 25, 72, 51, 44, 37, 62, 115, 36, 61, 129, 94, 131, 16, 14, 122, 119, 120, 117, 121, 118, 49, 18, 0, 24, 109, 95, 78, 105, 9, 108, 75, 82, 104, 83, 38, 84, 27, 134, 68, 110, 54, 58, 56, 47, 53, 45, 12, 81, 80, 33, 89, 90, 31, 13, 147, 2, 86, 15, 130, 107, 17, 4, 11, 73, 103, 97, 123, 52, 66, 135, 43, 34, 39, 102, 57, 50, 106, 79, 93, 67, 74, 88, 77, 29};
|
||||
static const uint16_t m_d314cfd957229c11[] = {98, 101, 133, 30, 20, 55, 42, 149, 113, 148, 60, 63, 5, 23, 112, 127, 69, 111, 22, 114, 28, 35, 7, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 124, 125, 126, 6, 132, 70, 87, 76, 71, 59, 92, 128, 85, 26, 10, 91, 21, 48, 3, 41, 40, 99, 100, 1, 65, 64, 32, 96, 19, 146, 8, 46, 25, 72, 51, 44, 37, 62, 115, 36, 61, 129, 94, 131, 16, 14, 122, 119, 120, 117, 121, 118, 49, 18, 0, 24, 109, 95, 78, 105, 9, 116, 108, 75, 82, 104, 83, 38, 84, 27, 134, 68, 110, 54, 58, 56, 47, 53, 45, 12, 81, 80, 33, 89, 90, 31, 13, 147, 2, 86, 15, 130, 107, 17, 4, 11, 73, 103, 97, 123, 52, 66, 135, 43, 34, 39, 102, 57, 50, 106, 79, 93, 67, 74, 88, 77, 29};
|
||||
static const uint16_t i_d314cfd957229c11[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 0, 67};
|
||||
const ::capnp::_::RawSchema s_d314cfd957229c11 = {
|
||||
0xd314cfd957229c11, b_d314cfd957229c11.words, 2557, d_d314cfd957229c11, m_d314cfd957229c11,
|
||||
|
||||
+38
-38
@@ -2876,7 +2876,7 @@ struct Event {
|
||||
BACKUP_MANAGER_S_P,
|
||||
CAR_STATE_S_P,
|
||||
LIVE_MAP_DATA_S_P,
|
||||
CUSTOM_RESERVED9,
|
||||
MODEL_DATA_V2_S_P,
|
||||
LIVESTREAM_ROAD_ENCODE_IDX,
|
||||
LIVESTREAM_WIDE_ROAD_ENCODE_IDX,
|
||||
LIVESTREAM_DRIVER_ENCODE_IDX,
|
||||
@@ -21598,9 +21598,9 @@ public:
|
||||
inline bool hasLiveMapDataSP() const;
|
||||
inline ::cereal::LiveMapDataSP::Reader getLiveMapDataSP() const;
|
||||
|
||||
inline bool isCustomReserved9() const;
|
||||
inline bool hasCustomReserved9() const;
|
||||
inline ::cereal::CustomReserved9::Reader getCustomReserved9() const;
|
||||
inline bool isModelDataV2SP() const;
|
||||
inline bool hasModelDataV2SP() const;
|
||||
inline ::cereal::ModelDataV2SP::Reader getModelDataV2SP() const;
|
||||
|
||||
inline bool isLivestreamRoadEncodeIdx() const;
|
||||
inline bool hasLivestreamRoadEncodeIdx() const;
|
||||
@@ -22681,13 +22681,13 @@ public:
|
||||
inline void adoptLiveMapDataSP(::capnp::Orphan< ::cereal::LiveMapDataSP>&& value);
|
||||
inline ::capnp::Orphan< ::cereal::LiveMapDataSP> disownLiveMapDataSP();
|
||||
|
||||
inline bool isCustomReserved9();
|
||||
inline bool hasCustomReserved9();
|
||||
inline ::cereal::CustomReserved9::Builder getCustomReserved9();
|
||||
inline void setCustomReserved9( ::cereal::CustomReserved9::Reader value);
|
||||
inline ::cereal::CustomReserved9::Builder initCustomReserved9();
|
||||
inline void adoptCustomReserved9(::capnp::Orphan< ::cereal::CustomReserved9>&& value);
|
||||
inline ::capnp::Orphan< ::cereal::CustomReserved9> disownCustomReserved9();
|
||||
inline bool isModelDataV2SP();
|
||||
inline bool hasModelDataV2SP();
|
||||
inline ::cereal::ModelDataV2SP::Builder getModelDataV2SP();
|
||||
inline void setModelDataV2SP( ::cereal::ModelDataV2SP::Reader value);
|
||||
inline ::cereal::ModelDataV2SP::Builder initModelDataV2SP();
|
||||
inline void adoptModelDataV2SP(::capnp::Orphan< ::cereal::ModelDataV2SP>&& value);
|
||||
inline ::capnp::Orphan< ::cereal::ModelDataV2SP> disownModelDataV2SP();
|
||||
|
||||
inline bool isLivestreamRoadEncodeIdx();
|
||||
inline bool hasLivestreamRoadEncodeIdx();
|
||||
@@ -57664,57 +57664,57 @@ inline ::capnp::Orphan< ::cereal::LiveMapDataSP> Event::Builder::disownLiveMapDa
|
||||
::capnp::bounded<0>() * ::capnp::POINTERS));
|
||||
}
|
||||
|
||||
inline bool Event::Reader::isCustomReserved9() const {
|
||||
return which() == Event::CUSTOM_RESERVED9;
|
||||
inline bool Event::Reader::isModelDataV2SP() const {
|
||||
return which() == Event::MODEL_DATA_V2_S_P;
|
||||
}
|
||||
inline bool Event::Builder::isCustomReserved9() {
|
||||
return which() == Event::CUSTOM_RESERVED9;
|
||||
inline bool Event::Builder::isModelDataV2SP() {
|
||||
return which() == Event::MODEL_DATA_V2_S_P;
|
||||
}
|
||||
inline bool Event::Reader::hasCustomReserved9() const {
|
||||
if (which() != Event::CUSTOM_RESERVED9) return false;
|
||||
inline bool Event::Reader::hasModelDataV2SP() const {
|
||||
if (which() != Event::MODEL_DATA_V2_S_P) return false;
|
||||
return !_reader.getPointerField(
|
||||
::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
|
||||
}
|
||||
inline bool Event::Builder::hasCustomReserved9() {
|
||||
if (which() != Event::CUSTOM_RESERVED9) return false;
|
||||
inline bool Event::Builder::hasModelDataV2SP() {
|
||||
if (which() != Event::MODEL_DATA_V2_S_P) return false;
|
||||
return !_builder.getPointerField(
|
||||
::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
|
||||
}
|
||||
inline ::cereal::CustomReserved9::Reader Event::Reader::getCustomReserved9() const {
|
||||
KJ_IREQUIRE((which() == Event::CUSTOM_RESERVED9),
|
||||
inline ::cereal::ModelDataV2SP::Reader Event::Reader::getModelDataV2SP() const {
|
||||
KJ_IREQUIRE((which() == Event::MODEL_DATA_V2_S_P),
|
||||
"Must check which() before get()ing a union member.");
|
||||
return ::capnp::_::PointerHelpers< ::cereal::CustomReserved9>::get(_reader.getPointerField(
|
||||
return ::capnp::_::PointerHelpers< ::cereal::ModelDataV2SP>::get(_reader.getPointerField(
|
||||
::capnp::bounded<0>() * ::capnp::POINTERS));
|
||||
}
|
||||
inline ::cereal::CustomReserved9::Builder Event::Builder::getCustomReserved9() {
|
||||
KJ_IREQUIRE((which() == Event::CUSTOM_RESERVED9),
|
||||
inline ::cereal::ModelDataV2SP::Builder Event::Builder::getModelDataV2SP() {
|
||||
KJ_IREQUIRE((which() == Event::MODEL_DATA_V2_S_P),
|
||||
"Must check which() before get()ing a union member.");
|
||||
return ::capnp::_::PointerHelpers< ::cereal::CustomReserved9>::get(_builder.getPointerField(
|
||||
return ::capnp::_::PointerHelpers< ::cereal::ModelDataV2SP>::get(_builder.getPointerField(
|
||||
::capnp::bounded<0>() * ::capnp::POINTERS));
|
||||
}
|
||||
inline void Event::Builder::setCustomReserved9( ::cereal::CustomReserved9::Reader value) {
|
||||
inline void Event::Builder::setModelDataV2SP( ::cereal::ModelDataV2SP::Reader value) {
|
||||
_builder.setDataField<Event::Which>(
|
||||
::capnp::bounded<4>() * ::capnp::ELEMENTS, Event::CUSTOM_RESERVED9);
|
||||
::capnp::_::PointerHelpers< ::cereal::CustomReserved9>::set(_builder.getPointerField(
|
||||
::capnp::bounded<4>() * ::capnp::ELEMENTS, Event::MODEL_DATA_V2_S_P);
|
||||
::capnp::_::PointerHelpers< ::cereal::ModelDataV2SP>::set(_builder.getPointerField(
|
||||
::capnp::bounded<0>() * ::capnp::POINTERS), value);
|
||||
}
|
||||
inline ::cereal::CustomReserved9::Builder Event::Builder::initCustomReserved9() {
|
||||
inline ::cereal::ModelDataV2SP::Builder Event::Builder::initModelDataV2SP() {
|
||||
_builder.setDataField<Event::Which>(
|
||||
::capnp::bounded<4>() * ::capnp::ELEMENTS, Event::CUSTOM_RESERVED9);
|
||||
return ::capnp::_::PointerHelpers< ::cereal::CustomReserved9>::init(_builder.getPointerField(
|
||||
::capnp::bounded<4>() * ::capnp::ELEMENTS, Event::MODEL_DATA_V2_S_P);
|
||||
return ::capnp::_::PointerHelpers< ::cereal::ModelDataV2SP>::init(_builder.getPointerField(
|
||||
::capnp::bounded<0>() * ::capnp::POINTERS));
|
||||
}
|
||||
inline void Event::Builder::adoptCustomReserved9(
|
||||
::capnp::Orphan< ::cereal::CustomReserved9>&& value) {
|
||||
inline void Event::Builder::adoptModelDataV2SP(
|
||||
::capnp::Orphan< ::cereal::ModelDataV2SP>&& value) {
|
||||
_builder.setDataField<Event::Which>(
|
||||
::capnp::bounded<4>() * ::capnp::ELEMENTS, Event::CUSTOM_RESERVED9);
|
||||
::capnp::_::PointerHelpers< ::cereal::CustomReserved9>::adopt(_builder.getPointerField(
|
||||
::capnp::bounded<4>() * ::capnp::ELEMENTS, Event::MODEL_DATA_V2_S_P);
|
||||
::capnp::_::PointerHelpers< ::cereal::ModelDataV2SP>::adopt(_builder.getPointerField(
|
||||
::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
|
||||
}
|
||||
inline ::capnp::Orphan< ::cereal::CustomReserved9> Event::Builder::disownCustomReserved9() {
|
||||
KJ_IREQUIRE((which() == Event::CUSTOM_RESERVED9),
|
||||
inline ::capnp::Orphan< ::cereal::ModelDataV2SP> Event::Builder::disownModelDataV2SP() {
|
||||
KJ_IREQUIRE((which() == Event::MODEL_DATA_V2_S_P),
|
||||
"Must check which() before get()ing a union member.");
|
||||
return ::capnp::_::PointerHelpers< ::cereal::CustomReserved9>::disown(_builder.getPointerField(
|
||||
return ::capnp::_::PointerHelpers< ::cereal::ModelDataV2SP>::disown(_builder.getPointerField(
|
||||
::capnp::bounded<0>() * ::capnp::POINTERS));
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -2631,7 +2631,7 @@ struct Event {
|
||||
backupManagerSP @113 :Custom.BackupManagerSP;
|
||||
carStateSP @114 :Custom.CarStateSP;
|
||||
liveMapDataSP @115 :Custom.LiveMapDataSP;
|
||||
customReserved9 @116 :Custom.CustomReserved9;
|
||||
modelDataV2SP @116 :Custom.ModelDataV2SP;
|
||||
customReserved10 @136 :Custom.CustomReserved10;
|
||||
customReserved11 @137 :Custom.CustomReserved11;
|
||||
customReserved12 @138 :Custom.CustomReserved12;
|
||||
|
||||
Binary file not shown.
@@ -79,6 +79,7 @@ static std::map<std::string, service> services = {
|
||||
{ "carControlSP", {"carControlSP", true, 100, 10}},
|
||||
{ "carStateSP", {"carStateSP", true, 100, 10}},
|
||||
{ "liveMapDataSP", {"liveMapDataSP", true, 1, 1}},
|
||||
{ "modelDataV2SP", {"modelDataV2SP", true, 20, -1}},
|
||||
{ "uiDebug", {"uiDebug", true, 0, 1}},
|
||||
{ "testJoystick", {"testJoystick", true, 0, -1}},
|
||||
{ "alertDebug", {"alertDebug", true, 20, 5}},
|
||||
|
||||
@@ -88,6 +88,7 @@ _services: dict[str, tuple] = {
|
||||
"carControlSP": (True, 100., 10),
|
||||
"carStateSP": (True, 100., 10),
|
||||
"liveMapDataSP": (True, 1., 1),
|
||||
"modelDataV2SP": (True, 20.),
|
||||
|
||||
# debug
|
||||
"uiDebug": (True, 0., 1),
|
||||
|
||||
@@ -146,6 +146,8 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
|
||||
{"CustomAccLongPressIncrement", {PERSISTENT | BACKUP, INT, "5"}},
|
||||
{"CustomAccShortPressIncrement", {PERSISTENT | BACKUP, INT, "1"}},
|
||||
{"DeviceBootMode", {PERSISTENT | BACKUP, INT, "0"}},
|
||||
{"DevUIInfo", {PERSISTENT | BACKUP, INT, "0"}},
|
||||
{"EnableCopyparty", {PERSISTENT | BACKUP, BOOL}},
|
||||
{"EnableGithubRunner", {PERSISTENT | BACKUP, BOOL}},
|
||||
{"GithubRunnerSufficientVoltage", {CLEAR_ON_MANAGER_START , BOOL}},
|
||||
{"InteractivityTimeout", {PERSISTENT | BACKUP, INT, "0"}},
|
||||
@@ -153,8 +155,10 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
|
||||
{"MaxTimeOffroad", {PERSISTENT | BACKUP, INT, "1800"}},
|
||||
{"ModelRunnerTypeCache", {CLEAR_ON_ONROAD_TRANSITION, INT}},
|
||||
{"OffroadMode", {CLEAR_ON_MANAGER_START, BOOL}},
|
||||
{"Offroad_TiciSupport", {CLEAR_ON_MANAGER_START, JSON}},
|
||||
{"QuickBootToggle", {PERSISTENT | BACKUP, BOOL, "0"}},
|
||||
{"QuietMode", {PERSISTENT | BACKUP, BOOL, "0"}},
|
||||
{"RainbowMode", {PERSISTENT | BACKUP, BOOL, "0"}},
|
||||
{"ShowAdvancedControls", {PERSISTENT | BACKUP, BOOL, "0"}},
|
||||
|
||||
// MADS params
|
||||
@@ -167,6 +171,7 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
|
||||
{"ModelManager_ActiveBundle", {PERSISTENT, JSON}},
|
||||
{"ModelManager_ClearCache", {CLEAR_ON_MANAGER_START, BOOL}},
|
||||
{"ModelManager_DownloadIndex", {CLEAR_ON_MANAGER_START | CLEAR_ON_ONROAD_TRANSITION, INT, "0"}},
|
||||
{"ModelManager_Favs", {PERSISTENT | BACKUP, STRING}},
|
||||
{"ModelManager_LastSyncTime", {CLEAR_ON_MANAGER_START | CLEAR_ON_OFFROAD_TRANSITION, INT, "0"}},
|
||||
{"ModelManager_ModelsCache", {PERSISTENT | BACKUP, JSON}},
|
||||
|
||||
@@ -192,10 +197,12 @@ inline static std::unordered_map<std::string, ParamKeyAttributes> keys = {
|
||||
{"DynamicExperimentalControl", {PERSISTENT | BACKUP, BOOL, "0"}},
|
||||
{"BlindSpot", {PERSISTENT | BACKUP, BOOL, "0"}},
|
||||
|
||||
// model panel params
|
||||
// sunnypilot model params
|
||||
{"LagdToggle", {PERSISTENT | BACKUP, BOOL, "1"}},
|
||||
{"LagdToggleDelay", {PERSISTENT | BACKUP, FLOAT, "0.2"}},
|
||||
{"LagdValueCache", {PERSISTENT, FLOAT, "0.2"}},
|
||||
{"LaneTurnDesire", {PERSISTENT | BACKUP, BOOL, "0"}},
|
||||
{"LaneTurnValue", {PERSISTENT | BACKUP, FLOAT, "19.0"}},
|
||||
|
||||
// mapd
|
||||
{"MapAdvisorySpeedLimit", {CLEAR_ON_ONROAD_TRANSITION, FLOAT}},
|
||||
|
||||
+6470
-12258
File diff suppressed because it is too large
Load Diff
Binary file not shown.
+5842
-5560
File diff suppressed because it is too large
Load Diff
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
||||
#define COMMA_VERSION "2025.09.04-2954"
|
||||
#define COMMA_VERSION "0.10.1"
|
||||
|
||||
@@ -1331,6 +1331,12 @@
|
||||
"file": "/data/openpilot/selfdrive/ui/sunnypilot/qt/onroad/buttons.cc",
|
||||
"output": "/data/openpilot/selfdrive/ui/sunnypilot/qt/onroad/buttons.o"
|
||||
},
|
||||
{
|
||||
"command": "clang++ -o selfdrive/ui/sunnypilot/qt/onroad/developer_ui/developer_ui.o -c -std=c++1z -DQCOM2 -mcpu=cortex-a57 -DSUNNYPILOT -D_REENTRANT -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_MESSAGELOGCONTEXT -Wno-deprecated-declarations -g -fPIC -O2 -Wunused -Werror -Wshadow -Wno-unknown-warning-option -Wno-inconsistent-missing-override -Wno-c99-designator -Wno-reorder-init-list -Wno-vla-cxx-extension -DQCOM2 -mcpu=cortex-a57 -DSUNNYPILOT -Ithird_party/opencl/include -I. -Ithird_party/acados/include -Ithird_party/acados/include/blasfeo/include -Ithird_party/acados/include/hpipm/include -Ithird_party/catch2/include -Ithird_party/libyuv/include -Ithird_party/json11 -Ithird_party/linux/include -Ithird_party/snpe/include -Ithird_party -Imsgq -I/usr/include -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtGui/5.12.8/QtGui -I/usr/include/aarch64-linux-gnu/qt5/QtWidgets -I/usr/include/aarch64-linux-gnu/qt5/QtGui -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/aarch64-linux-gnu/qt5/QtNetwork -I/usr/include/aarch64-linux-gnu/qt5/QtConcurrent -I/usr/include/aarch64-linux-gnu/qt5/QtDBus -I/usr/include/aarch64-linux-gnu/qt5/QtXml -Ithird_party/qrcode selfdrive/ui/sunnypilot/qt/onroad/developer_ui/developer_ui.cc",
|
||||
"directory": "/data/openpilot",
|
||||
"file": "/data/openpilot/selfdrive/ui/sunnypilot/qt/onroad/developer_ui/developer_ui.cc",
|
||||
"output": "/data/openpilot/selfdrive/ui/sunnypilot/qt/onroad/developer_ui/developer_ui.o"
|
||||
},
|
||||
{
|
||||
"command": "clang++ -o selfdrive/ui/sunnypilot/qt/onroad/hud.o -c -std=c++1z -DQCOM2 -mcpu=cortex-a57 -DSUNNYPILOT -D_REENTRANT -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_MESSAGELOGCONTEXT -Wno-deprecated-declarations -g -fPIC -O2 -Wunused -Werror -Wshadow -Wno-unknown-warning-option -Wno-inconsistent-missing-override -Wno-c99-designator -Wno-reorder-init-list -Wno-vla-cxx-extension -DQCOM2 -mcpu=cortex-a57 -DSUNNYPILOT -Ithird_party/opencl/include -I. -Ithird_party/acados/include -Ithird_party/acados/include/blasfeo/include -Ithird_party/acados/include/hpipm/include -Ithird_party/catch2/include -Ithird_party/libyuv/include -Ithird_party/json11 -Ithird_party/linux/include -Ithird_party/snpe/include -Ithird_party -Imsgq -I/usr/include -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtGui/5.12.8/QtGui -I/usr/include/aarch64-linux-gnu/qt5/QtWidgets -I/usr/include/aarch64-linux-gnu/qt5/QtGui -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/aarch64-linux-gnu/qt5/QtNetwork -I/usr/include/aarch64-linux-gnu/qt5/QtConcurrent -I/usr/include/aarch64-linux-gnu/qt5/QtDBus -I/usr/include/aarch64-linux-gnu/qt5/QtXml -Ithird_party/qrcode selfdrive/ui/sunnypilot/qt/onroad/hud.cc",
|
||||
"directory": "/data/openpilot",
|
||||
|
||||
+5163
-5357
File diff suppressed because it is too large
Load Diff
Binary file not shown.
+9906
-14895
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -7,8 +7,6 @@ from opendbc.car.common.conversions import Conversions as CV
|
||||
from opendbc.car.gm.values import DBC, CanBus, CarControllerParams, CruiseButtons
|
||||
from opendbc.car.interfaces import CarControllerBase
|
||||
|
||||
from opendbc.sunnypilot.car.gm.values_ext import GMFlagsSP
|
||||
|
||||
VisualAlert = structs.CarControl.HUDControl.VisualAlert
|
||||
NetworkLocation = structs.CarParams.NetworkLocation
|
||||
LongCtrlState = structs.CarControl.Actuators.LongControlState
|
||||
@@ -101,25 +99,24 @@ class CarController(CarControllerBase):
|
||||
|
||||
idx = (self.frame // 4) % 4
|
||||
|
||||
if not self.CP_SP.flags & GMFlagsSP.NON_ACC:
|
||||
at_full_stop = CC.longActive and CS.out.standstill
|
||||
near_stop = CC.longActive and (abs(CS.out.vEgo) < self.params.NEAR_STOP_BRAKE_PHASE)
|
||||
friction_brake_bus = CanBus.CHASSIS
|
||||
# GM Camera exceptions
|
||||
# TODO: can we always check the longControlState?
|
||||
if self.CP.networkLocation == NetworkLocation.fwdCamera:
|
||||
at_full_stop = at_full_stop and stopping
|
||||
friction_brake_bus = CanBus.POWERTRAIN
|
||||
at_full_stop = CC.longActive and CS.out.standstill
|
||||
near_stop = CC.longActive and (abs(CS.out.vEgo) < self.params.NEAR_STOP_BRAKE_PHASE)
|
||||
friction_brake_bus = CanBus.CHASSIS
|
||||
# GM Camera exceptions
|
||||
# TODO: can we always check the longControlState?
|
||||
if self.CP.networkLocation == NetworkLocation.fwdCamera:
|
||||
at_full_stop = at_full_stop and stopping
|
||||
friction_brake_bus = CanBus.POWERTRAIN
|
||||
|
||||
# GasRegenCmdActive needs to be 1 to avoid cruise faults. It describes the ACC state, not actuation
|
||||
can_sends.append(gmcan.create_gas_regen_command(self.packer_pt, CanBus.POWERTRAIN, self.apply_gas, idx, CC.enabled, at_full_stop))
|
||||
can_sends.append(gmcan.create_friction_brake_command(self.packer_ch, friction_brake_bus, self.apply_brake,
|
||||
idx, CC.enabled, near_stop, at_full_stop, self.CP))
|
||||
# GasRegenCmdActive needs to be 1 to avoid cruise faults. It describes the ACC state, not actuation
|
||||
can_sends.append(gmcan.create_gas_regen_command(self.packer_pt, CanBus.POWERTRAIN, self.apply_gas, idx, CC.enabled, at_full_stop))
|
||||
can_sends.append(gmcan.create_friction_brake_command(self.packer_ch, friction_brake_bus, self.apply_brake,
|
||||
idx, CC.enabled, near_stop, at_full_stop, self.CP))
|
||||
|
||||
# Send dashboard UI commands (ACC status)
|
||||
send_fcw = hud_alert == VisualAlert.fcw
|
||||
can_sends.append(gmcan.create_acc_dashboard_command(self.packer_pt, CanBus.POWERTRAIN, CC.enabled,
|
||||
hud_v_cruise * CV.MS_TO_KPH, hud_control, send_fcw))
|
||||
# Send dashboard UI commands (ACC status)
|
||||
send_fcw = hud_alert == VisualAlert.fcw
|
||||
can_sends.append(gmcan.create_acc_dashboard_command(self.packer_pt, CanBus.POWERTRAIN, CC.enabled,
|
||||
hud_v_cruise * CV.MS_TO_KPH, hud_control, send_fcw))
|
||||
|
||||
# Radar needs to know current speed and yaw rate (50hz),
|
||||
# and that ADAS is alive (10hz)
|
||||
|
||||
@@ -5,9 +5,6 @@ from opendbc.car.common.conversions import Conversions as CV
|
||||
from opendbc.car.interfaces import CarStateBase
|
||||
from opendbc.car.gm.values import DBC, AccState, CruiseButtons, STEER_THRESHOLD, SDGM_CAR, ALT_ACCS
|
||||
|
||||
from opendbc.sunnypilot.car.gm.carstate_ext import CarStateExt
|
||||
from opendbc.sunnypilot.car.gm.values_ext import GMFlagsSP
|
||||
|
||||
ButtonType = structs.CarState.ButtonEvent.Type
|
||||
TransmissionType = structs.CarParams.TransmissionType
|
||||
NetworkLocation = structs.CarParams.NetworkLocation
|
||||
@@ -18,10 +15,9 @@ BUTTONS_DICT = {CruiseButtons.RES_ACCEL: ButtonType.accelCruise, CruiseButtons.D
|
||||
CruiseButtons.MAIN: ButtonType.mainCruise, CruiseButtons.CANCEL: ButtonType.cancel}
|
||||
|
||||
|
||||
class CarState(CarStateBase, CarStateExt):
|
||||
class CarState(CarStateBase):
|
||||
def __init__(self, CP, CP_SP):
|
||||
CarStateBase.__init__(self, CP, CP_SP)
|
||||
CarStateExt.__init__(self, CP, CP_SP)
|
||||
super().__init__(CP, CP_SP)
|
||||
can_define = CANDefine(DBC[CP.carFingerprint][Bus.pt])
|
||||
self.shifter_values = can_define.dv["ECMPRDNL2"]["PRNDL2"]
|
||||
self.cluster_speed_hyst_gap = CV.KPH_TO_MS / 2.
|
||||
@@ -134,7 +130,7 @@ class CarState(CarStateBase, CarStateExt):
|
||||
ret.cruiseState.enabled = pt_cp.vl["AcceleratorPedal2"]["CruiseState"] != AccState.OFF
|
||||
ret.cruiseState.standstill = pt_cp.vl["AcceleratorPedal2"]["CruiseState"] == AccState.STANDSTILL
|
||||
if self.CP.networkLocation == NetworkLocation.fwdCamera:
|
||||
if self.CP.carFingerprint not in ALT_ACCS and not self.CP_SP.flags & GMFlagsSP.NON_ACC:
|
||||
if self.CP.carFingerprint not in ALT_ACCS:
|
||||
ret.cruiseState.speed = cam_cp.vl["ASCMActiveCruiseControlStatus"]["ACCSpeedSetpoint"] * CV.KPH_TO_MS
|
||||
# This FCW signal only works for SDGM cars. CAM cars send FCW on GMLAN but this bit is always 0 for them
|
||||
ret.stockFcw = cam_cp.vl["ASCMActiveCruiseControlStatus"]["FCWAlert"] != 0
|
||||
@@ -163,8 +159,6 @@ class CarState(CarStateBase, CarStateExt):
|
||||
if ret.vEgo < self.CP.minSteerSpeed:
|
||||
ret.lowSpeedAlert = True
|
||||
|
||||
CarStateExt.update(self, ret, can_parsers)
|
||||
|
||||
return ret, ret_sp
|
||||
|
||||
@staticmethod
|
||||
|
||||
@@ -2,9 +2,6 @@
|
||||
""" AUTO-FORMATTED USING opendbc/car/debug/format_fingerprints.py, EDIT STRUCTURE THERE."""
|
||||
from opendbc.car.gm.values import CAR
|
||||
|
||||
from opendbc.sunnypilot.car.fingerprints_ext import merge_fingerprints
|
||||
from opendbc.sunnypilot.car.gm.fingerprints_ext import FINGERPRINTS_EXT
|
||||
|
||||
# Trailblazer also matches as a SILVERADO, TODO: split with fw versions
|
||||
# FIXME: There are Equinox users with different message lengths, specifically 304 and 320
|
||||
|
||||
@@ -77,9 +74,3 @@ FINGERPRINTS = {
|
||||
|
||||
FW_VERSIONS: dict[str, dict[tuple, list[bytes]]] = {
|
||||
}
|
||||
|
||||
FINGERPRINTS = merge_fingerprints(FINGERPRINTS, FINGERPRINTS_EXT)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print(FINGERPRINTS)
|
||||
|
||||
@@ -7,11 +7,10 @@ from opendbc.car.common.conversions import Conversions as CV
|
||||
from opendbc.car.gm.carcontroller import CarController
|
||||
from opendbc.car.gm.carstate import CarState
|
||||
from opendbc.car.gm.radar_interface import RadarInterface, RADAR_HEADER_MSG, CAMERA_DATA_HEADER_MSG
|
||||
from opendbc.car.gm.values import CAR, CarControllerParams, EV_CAR, CAMERA_ACC_CAR, SDGM_CAR, ALT_ACCS, CanBus, GMSafetyFlags, NO_ACC_CAR
|
||||
from opendbc.car.gm.values import CAR, CarControllerParams, EV_CAR, CAMERA_ACC_CAR, SDGM_CAR, ALT_ACCS, CanBus, GMSafetyFlags
|
||||
from opendbc.car.interfaces import CarInterfaceBase, TorqueFromLateralAccelCallbackType, LateralAccelFromTorqueCallbackType
|
||||
|
||||
from opendbc.sunnypilot.car.gm.interface_ext import CarInterfaceExt
|
||||
from opendbc.sunnypilot.car.gm.values_ext import GMFlagsSP, GMSafetyFlagsSP
|
||||
|
||||
TransmissionType = structs.CarParams.TransmissionType
|
||||
NetworkLocation = structs.CarParams.NetworkLocation
|
||||
@@ -22,12 +21,6 @@ NON_LINEAR_TORQUE_PARAMS = {
|
||||
CAR.CHEVROLET_SILVERADO: [3.29974374, 1.0, 0.25571356, 0.0465122]
|
||||
}
|
||||
|
||||
# sunnypilot-specific torque parameters for Bolt cars that actually use the d parameter
|
||||
NON_LINEAR_TORQUE_PARAMS_SP = {
|
||||
CAR.CHEVROLET_BOLT_NON_ACC: [2.24, 1.1, 0.28, -0.07],
|
||||
CAR.CHEVROLET_BOLT_NON_ACC_1ST_GEN: [1.8, 1.1, 0.3, -0.045],
|
||||
}
|
||||
|
||||
|
||||
class CarInterface(CarInterfaceBase, CarInterfaceExt):
|
||||
CarState = CarState
|
||||
@@ -61,18 +54,12 @@ class CarInterface(CarInterfaceBase, CarInterfaceExt):
|
||||
# The "lat_accel vs torque" relationship is assumed to be the sum of "sigmoid + linear" curves
|
||||
# An important thing to consider is that the slope at 0 should be > 0 (ideally >1)
|
||||
# This has big effect on the stability about 0 (noise when going straight)
|
||||
non_linear_torque_params = NON_LINEAR_TORQUE_PARAMS.get(self.CP.carFingerprint) or NON_LINEAR_TORQUE_PARAMS_SP.get(self.CP.carFingerprint)
|
||||
non_linear_torque_params = NON_LINEAR_TORQUE_PARAMS.get(self.CP.carFingerprint)
|
||||
assert non_linear_torque_params, "The params are not defined"
|
||||
if self.CP.carFingerprint in NON_LINEAR_TORQUE_PARAMS_SP:
|
||||
a, b, c, d = non_linear_torque_params
|
||||
sig_input = a * lateral_acceleration
|
||||
sig = np.sign(sig_input) * (1 / (1 + exp(-fabs(sig_input))) - 0.5)
|
||||
steer_torque = ((sig * b) + (lateral_acceleration * c)) + d
|
||||
else:
|
||||
a, b, c, _ = non_linear_torque_params
|
||||
sig_input = a * lateral_acceleration
|
||||
sig = np.sign(sig_input) * (1 / (1 + exp(-fabs(sig_input))) - 0.5)
|
||||
steer_torque = (sig * b) + (lateral_acceleration * c)
|
||||
a, b, c, _ = non_linear_torque_params
|
||||
sig_input = a * lateral_acceleration
|
||||
sig = np.sign(sig_input) * (1 / (1 + exp(-fabs(sig_input))) - 0.5)
|
||||
steer_torque = (sig * b) + (lateral_acceleration * c)
|
||||
return float(steer_torque)
|
||||
|
||||
lataccel_values = np.arange(-5.0, 5.0, 0.01)
|
||||
@@ -81,7 +68,7 @@ class CarInterface(CarInterfaceBase, CarInterfaceExt):
|
||||
return torque_values, lataccel_values
|
||||
|
||||
def torque_from_lateral_accel(self) -> TorqueFromLateralAccelCallbackType:
|
||||
if self.CP.carFingerprint in (NON_LINEAR_TORQUE_PARAMS | NON_LINEAR_TORQUE_PARAMS_SP):
|
||||
if self.CP.carFingerprint in NON_LINEAR_TORQUE_PARAMS:
|
||||
torque_values, lataccel_values = self.get_lataccel_torque_siglin()
|
||||
|
||||
def torque_from_lateral_accel_siglin(lateral_acceleration: float, torque_params: structs.CarParams.LateralTorqueTuning):
|
||||
@@ -91,7 +78,7 @@ class CarInterface(CarInterfaceBase, CarInterfaceExt):
|
||||
return self.torque_from_lateral_accel_linear
|
||||
|
||||
def lateral_accel_from_torque(self) -> LateralAccelFromTorqueCallbackType:
|
||||
if self.CP.carFingerprint in (NON_LINEAR_TORQUE_PARAMS | NON_LINEAR_TORQUE_PARAMS_SP):
|
||||
if self.CP.carFingerprint in NON_LINEAR_TORQUE_PARAMS:
|
||||
torque_values, lataccel_values = self.get_lataccel_torque_siglin()
|
||||
|
||||
def lateral_accel_from_torque_siglin(torque: float, torque_params: structs.CarParams.LateralTorqueTuning):
|
||||
@@ -115,9 +102,7 @@ class CarInterface(CarInterfaceBase, CarInterfaceExt):
|
||||
|
||||
ret.longitudinalTuning.kiBP = [5., 35.]
|
||||
|
||||
# FIXME-SP: investigate NO_ACC_CAR configs before merging
|
||||
# this should not be done here if possible
|
||||
if candidate in (CAMERA_ACC_CAR | SDGM_CAR | NO_ACC_CAR):
|
||||
if candidate in (CAMERA_ACC_CAR | SDGM_CAR):
|
||||
ret.alphaLongitudinalAvailable = candidate not in SDGM_CAR
|
||||
ret.networkLocation = NetworkLocation.fwdCamera
|
||||
ret.radarUnavailable = True # no radar
|
||||
@@ -236,39 +221,6 @@ class CarInterface(CarInterfaceBase, CarInterfaceExt):
|
||||
elif candidate == CAR.GMC_YUKON:
|
||||
ret.steerActuatorDelay = 0.5
|
||||
CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning)
|
||||
|
||||
elif candidate in (CAR.CHEVROLET_BOLT_NON_ACC, CAR.CHEVROLET_BOLT_NON_ACC_1ST_GEN, CAR.CHEVROLET_BOLT_NON_ACC_2ND_GEN, CAR.CHEVROLET_EQUINOX_NON_ACC_3RD_GEN,
|
||||
CAR.CHEVROLET_SUBURBAN_NON_ACC_11TH_GEN, CAR.CADILLAC_CT6_NON_ACC_1ST_GEN, CAR.CHEVROLET_TRAILBLAZER_NON_ACC_2ND_GEN, CAR.CHEVROLET_MALIBU_NON_ACC_9TH_GEN,
|
||||
CAR.CADILLAC_XT5_NON_ACC_1ST_GEN):
|
||||
pass
|
||||
|
||||
return ret
|
||||
|
||||
@staticmethod
|
||||
def _get_params_sp(stock_cp: structs.CarParams, ret: structs.CarParamsSP, candidate, fingerprint: dict[int, dict[int, int]],
|
||||
car_fw: list[structs.CarParams.CarFw], alpha_long: bool, docs: bool) -> structs.CarParamsSP:
|
||||
if candidate in (CAR.CHEVROLET_MALIBU_NON_ACC_9TH_GEN, CAR.CHEVROLET_BOLT_NON_ACC, CAR.CHEVROLET_BOLT_NON_ACC_1ST_GEN, CAR.CHEVROLET_BOLT_NON_ACC_2ND_GEN,
|
||||
CAR.CHEVROLET_TRAILBLAZER_NON_ACC_2ND_GEN):
|
||||
stock_cp.steerActuatorDelay = 0.2
|
||||
CarInterfaceBase.configure_torque_tune(candidate, stock_cp.lateralTuning)
|
||||
|
||||
elif candidate in (CAR.CHEVROLET_EQUINOX_NON_ACC_3RD_GEN, ):
|
||||
CarInterfaceBase.configure_torque_tune(candidate, stock_cp.lateralTuning)
|
||||
|
||||
# NON_ACC vehicles should use camera car speed thresholds
|
||||
if ret.flags & GMFlagsSP.NON_ACC:
|
||||
stock_cp.alphaLongitudinalAvailable = False
|
||||
stock_cp.openpilotLongitudinalControl = False
|
||||
stock_cp.pcmCruise = True
|
||||
ret.safetyParam |= GMSafetyFlagsSP.NON_ACC
|
||||
stock_cp.minEnableSpeed = 24 * CV.MPH_TO_MS # 24 mph
|
||||
stock_cp.minSteerSpeed = 3.0 # ~6 mph
|
||||
|
||||
# FIXME-SP: uncomment before merge
|
||||
# dashcamOnly platforms: untested platforms need user validations, GMC Yukon needs tuning
|
||||
# if candidate in (CAR.CHEVROLET_EQUINOX_NON_ACC_3RD_GEN,
|
||||
# CAR.CHEVROLET_SUBURBAN_NON_ACC_11TH_GEN, CAR.CADILLAC_CT6_NON_ACC_1ST_GEN, CAR.CHEVROLET_TRAILBLAZER_NON_ACC_2ND_GEN,
|
||||
# CAR.CADILLAC_XT5_NON_ACC_1ST_GEN):
|
||||
# stock_cp.dashcamOnly = True
|
||||
ret.dashcamOnly = True # Needs steerRatio, tireStiffness, and lat accel factor tuning
|
||||
|
||||
return ret
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from parameterized import parameterized
|
||||
|
||||
from opendbc.car.gm.fingerprints import FINGERPRINTS
|
||||
from opendbc.car.gm.values import CAMERA_ACC_CAR, GM_RX_OFFSET, NO_ACC_CAR
|
||||
from opendbc.car.gm.values import CAMERA_ACC_CAR, GM_RX_OFFSET
|
||||
|
||||
CAMERA_DIAGNOSTIC_ADDRESS = 0x24b
|
||||
|
||||
@@ -14,7 +14,7 @@ class TestGMFingerprint:
|
||||
assert all(len(finger) for finger in fingerprints)
|
||||
|
||||
# The camera can sometimes be communicating on startup
|
||||
if car_model in CAMERA_ACC_CAR - NO_ACC_CAR:
|
||||
if car_model in CAMERA_ACC_CAR:
|
||||
for finger in fingerprints:
|
||||
for required_addr in (CAMERA_DIAGNOSTIC_ADDRESS, CAMERA_DIAGNOSTIC_ADDRESS + GM_RX_OFFSET):
|
||||
assert finger.get(required_addr) == 8, required_addr
|
||||
|
||||
@@ -6,8 +6,6 @@ from opendbc.car.structs import CarParams
|
||||
from opendbc.car.docs_definitions import CarDocs, CarFootnote, CarHarness, CarParts, Column
|
||||
from opendbc.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
|
||||
|
||||
from opendbc.sunnypilot.car.gm.values_ext import GMFlagsSP
|
||||
|
||||
Ecu = CarParams.Ecu
|
||||
|
||||
|
||||
@@ -196,63 +194,6 @@ class CAR(Platforms):
|
||||
GMCarSpecs(mass=2490, wheelbase=2.94, steerRatio=17.3, centerToFrontRatio=0.5, tireStiffnessFactor=1.0),
|
||||
)
|
||||
|
||||
# port extensions
|
||||
# Separate car def is required when there is no ASCM
|
||||
# (for now) unless there is a way to detect it when it has been unplugged...
|
||||
# CHEVROLET_VOLT_CC = GMPlatformConfig(
|
||||
# [GMCarDocs("Chevrolet Volt LT 2017-18")],
|
||||
# CHEVROLET_VOLT.specs,
|
||||
# sp_flags=GMFlagsSP.NON_ACC,
|
||||
# )
|
||||
CHEVROLET_BOLT_NON_ACC = GMPlatformConfig(
|
||||
[GMCarDocs("Chevrolet Bolt EV Non-ACC 2017")],
|
||||
CHEVROLET_BOLT_EUV.specs,
|
||||
sp_flags=GMFlagsSP.NON_ACC,
|
||||
)
|
||||
CHEVROLET_BOLT_NON_ACC_1ST_GEN = GMPlatformConfig(
|
||||
[GMCarDocs("Chevrolet Bolt EV Non-ACC 2018-21")],
|
||||
CHEVROLET_BOLT_EUV.specs,
|
||||
sp_flags=GMFlagsSP.NON_ACC,
|
||||
)
|
||||
CHEVROLET_BOLT_NON_ACC_2ND_GEN = GMPlatformConfig(
|
||||
[
|
||||
GMCarDocs("Chevrolet Bolt EUV LT Non-ACC 2022-23"),
|
||||
GMCarDocs("Chevrolet Bolt EV LT Non-ACC 2022-23"),
|
||||
],
|
||||
CHEVROLET_BOLT_EUV.specs,
|
||||
sp_flags=GMFlagsSP.NON_ACC,
|
||||
)
|
||||
CHEVROLET_EQUINOX_NON_ACC_3RD_GEN = GMPlatformConfig(
|
||||
[GMCarDocs("Chevrolet Equinox Non-ACC 2019-22")],
|
||||
CHEVROLET_EQUINOX.specs,
|
||||
sp_flags=GMFlagsSP.NON_ACC,
|
||||
)
|
||||
CHEVROLET_SUBURBAN_NON_ACC_11TH_GEN = GMPlatformConfig(
|
||||
[GMCarDocs("Chevrolet Suburban Non-ACC 2016-20")],
|
||||
CarSpecs(mass=2731, wheelbase=3.302, steerRatio=17.3, centerToFrontRatio=0.49),
|
||||
sp_flags=GMFlagsSP.NON_ACC,
|
||||
)
|
||||
CADILLAC_CT6_NON_ACC_1ST_GEN = GMPlatformConfig(
|
||||
[GMCarDocs("Cadillac CT6 Non-ACC 2017-18")],
|
||||
CarSpecs(mass=2358, wheelbase=3.11, steerRatio=17.7, centerToFrontRatio=0.4),
|
||||
sp_flags=GMFlagsSP.NON_ACC,
|
||||
)
|
||||
CHEVROLET_TRAILBLAZER_NON_ACC_2ND_GEN = GMPlatformConfig(
|
||||
[GMCarDocs("Chevrolet Trailblazer Non-ACC 2021-22")],
|
||||
CHEVROLET_TRAILBLAZER.specs,
|
||||
sp_flags=GMFlagsSP.NON_ACC,
|
||||
)
|
||||
CHEVROLET_MALIBU_NON_ACC_9TH_GEN = GMPlatformConfig(
|
||||
[GMCarDocs("Chevrolet Malibu Non-ACC 2016-23")],
|
||||
CarSpecs(mass=1450, wheelbase=2.8, steerRatio=15.8, centerToFrontRatio=0.4),
|
||||
sp_flags=GMFlagsSP.NON_ACC,
|
||||
)
|
||||
CADILLAC_XT5_NON_ACC_1ST_GEN = GMPlatformConfig(
|
||||
[GMCarDocs("Cadillac XT5 Non-ACC 2018")],
|
||||
CarSpecs(mass=1810, wheelbase=2.86, steerRatio=16.34, centerToFrontRatio=0.5),
|
||||
sp_flags=GMFlagsSP.NON_ACC,
|
||||
)
|
||||
|
||||
|
||||
class CruiseButtons:
|
||||
INIT = 0
|
||||
@@ -329,9 +270,7 @@ FW_QUERY_CONFIG = FwQueryConfig(
|
||||
)
|
||||
|
||||
# TODO: detect most of these sets live
|
||||
EV_CAR = {CAR.CHEVROLET_VOLT, CAR.CHEVROLET_VOLT_2019, CAR.CHEVROLET_BOLT_EUV,
|
||||
# port extensions, Non-ACC
|
||||
CAR.CHEVROLET_BOLT_NON_ACC, CAR.CHEVROLET_BOLT_NON_ACC_1ST_GEN, CAR.CHEVROLET_BOLT_NON_ACC_2ND_GEN}
|
||||
EV_CAR = {CAR.CHEVROLET_VOLT, CAR.CHEVROLET_VOLT_2019, CAR.CHEVROLET_BOLT_EUV}
|
||||
|
||||
# We're integrated at the camera with VOACC on these cars (instead of ASCM w/ OBD-II harness)
|
||||
CAMERA_ACC_CAR = {CAR.CHEVROLET_BOLT_EUV, CAR.CHEVROLET_SILVERADO, CAR.CHEVROLET_EQUINOX, CAR.CHEVROLET_TRAILBLAZER, CAR.GMC_YUKON}
|
||||
@@ -342,9 +281,6 @@ ALT_ACCS = {CAR.GMC_YUKON}
|
||||
# We're integrated at the Safety Data Gateway Module on these cars
|
||||
SDGM_CAR = {CAR.CADILLAC_XT4, CAR.CHEVROLET_VOLT_2019, CAR.CHEVROLET_TRAVERSE}
|
||||
|
||||
# port extensions
|
||||
NO_ACC_CAR = CAR.with_sp_flags(GMFlagsSP.NON_ACC)
|
||||
|
||||
STEER_THRESHOLD = 1.0
|
||||
|
||||
DBC = CAR.create_dbc_map()
|
||||
|
||||
@@ -263,6 +263,16 @@ class CarInterface(CarInterfaceBase):
|
||||
stock_cp.lateralParams.torqueBP, stock_cp.lateralParams.torqueV = [[0, 2560, 8000], [0, 2560, 3840]]
|
||||
stock_cp.lateralTuning.pid.kpV, stock_cp.lateralTuning.pid.kiV = [[0.3], [0.1]]
|
||||
|
||||
elif candidate in (CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CIVIC_BOSCH_DIESEL):
|
||||
if ret.flags & HondaFlagsSP.EPS_MODIFIED:
|
||||
stock_cp.lateralParams.torqueBP, stock_cp.lateralParams.torqueV = [[0, 2564, 8000], [0, 2564, 3840]]
|
||||
stock_cp.lateralTuning.pid.kpV, stock_cp.lateralTuning.pid.kiV = [[0.3], [0.09]] # 2.5x Modded EPS
|
||||
|
||||
elif candidate == CAR.HONDA_CIVIC_2022:
|
||||
if ret.flags & HondaFlagsSP.EPS_MODIFIED:
|
||||
stock_cp.lateralParams.torqueBP, stock_cp.lateralParams.torqueV = [[0, 2564, 8000], [0, 2564, 3840]]
|
||||
stock_cp.lateralTuning.pid.kpV, stock_cp.lateralTuning.pid.kiV = [[0.3], [0.09]] # 2.5x Modded EPS
|
||||
|
||||
elif candidate == CAR.HONDA_ACCORD:
|
||||
if ret.flags & HondaFlagsSP.EPS_MODIFIED:
|
||||
stock_cp.lateralTuning.pid.kpV, stock_cp.lateralTuning.pid.kiV = [[0.3], [0.09]]
|
||||
|
||||
@@ -10,6 +10,7 @@ from opendbc.car.interfaces import CarControllerBase
|
||||
|
||||
from opendbc.sunnypilot.car.hyundai.escc import EsccCarController
|
||||
from opendbc.sunnypilot.car.hyundai.longitudinal.controller import LongitudinalController
|
||||
from opendbc.sunnypilot.car.hyundai.lead_data_ext import LeadDataCarController
|
||||
from opendbc.sunnypilot.car.hyundai.mads import MadsCarController
|
||||
|
||||
VisualAlert = structs.CarControl.HUDControl.VisualAlert
|
||||
@@ -46,11 +47,12 @@ def process_hud_alert(enabled, fingerprint, hud_control):
|
||||
return sys_warning, sys_state, left_lane_warning, right_lane_warning
|
||||
|
||||
|
||||
class CarController(CarControllerBase, EsccCarController, LongitudinalController, MadsCarController):
|
||||
class CarController(CarControllerBase, EsccCarController, LeadDataCarController, LongitudinalController, MadsCarController):
|
||||
def __init__(self, dbc_names, CP, CP_SP):
|
||||
CarControllerBase.__init__(self, dbc_names, CP, CP_SP)
|
||||
EsccCarController.__init__(self, CP, CP_SP)
|
||||
MadsCarController.__init__(self)
|
||||
LeadDataCarController.__init__(self, CP)
|
||||
LongitudinalController.__init__(self, CP, CP_SP)
|
||||
self.CAN = CanBus(CP)
|
||||
self.params = CarControllerParams(CP)
|
||||
@@ -64,6 +66,7 @@ class CarController(CarControllerBase, EsccCarController, LongitudinalController
|
||||
|
||||
def update(self, CC, CC_SP, CS, now_nanos):
|
||||
EsccCarController.update(self, CS)
|
||||
LeadDataCarController.update(self, CC_SP)
|
||||
MadsCarController.update(self, self.CP, CC, CC_SP, self.frame)
|
||||
if self.frame % 2 == 0:
|
||||
LongitudinalController.update(self, CC, CS)
|
||||
@@ -157,7 +160,7 @@ class CarController(CarControllerBase, EsccCarController, LongitudinalController
|
||||
jerk = 3.0 if actuators.longControlState == LongCtrlState.pid else 1.0
|
||||
use_fca = self.CP.flags & HyundaiFlags.USE_FCA.value
|
||||
can_sends.extend(hyundaican.create_acc_commands(self.packer, CC.enabled, accel, jerk, int(self.frame / 2),
|
||||
hud_control, set_speed_in_units, stopping,
|
||||
self.lead_data, hud_control, set_speed_in_units, stopping,
|
||||
CC.cruiseControl.override, use_fca, self.CP,
|
||||
CS.main_cruise_enabled, self.tuning, self.ESCC))
|
||||
|
||||
@@ -204,7 +207,7 @@ class CarController(CarControllerBase, EsccCarController, LongitudinalController
|
||||
can_sends.extend(hyundaicanfd.create_fca_warning_light(self.packer, self.CAN, self.frame))
|
||||
if self.frame % 2 == 0:
|
||||
can_sends.append(hyundaicanfd.create_acc_control(self.packer, self.CAN, CC.enabled, self.accel_last, accel, stopping, CC.cruiseControl.override,
|
||||
set_speed_in_units, hud_control, CS.main_cruise_enabled, self.tuning))
|
||||
set_speed_in_units, hud_control, self.lead_data, CS.main_cruise_enabled, self.tuning))
|
||||
self.accel_last = accel
|
||||
else:
|
||||
# button presses
|
||||
|
||||
@@ -2,6 +2,7 @@ import crcmod
|
||||
from opendbc.car.hyundai.values import CAR, HyundaiFlags
|
||||
|
||||
from opendbc.sunnypilot.car.hyundai.escc import EnhancedSmartCruiseControl
|
||||
from opendbc.sunnypilot.car.hyundai.lead_data_ext import CanLeadData
|
||||
|
||||
hyundai_checksum = crcmod.mkCrcFun(0x11D, initCrc=0xFD, rev=False, xorOut=0xdf)
|
||||
|
||||
@@ -130,7 +131,8 @@ def create_lfahda_mfc(packer, enabled, lfa_icon):
|
||||
return packer.make_can_msg("LFAHDA_MFC", 0, values)
|
||||
|
||||
|
||||
def create_acc_commands(packer, enabled, accel, upper_jerk, idx, hud_control, set_speed, stopping, long_override, use_fca, CP,
|
||||
def create_acc_commands(packer, enabled, accel, upper_jerk, idx, lead_data: CanLeadData,
|
||||
hud_control, set_speed, stopping, long_override, use_fca, CP,
|
||||
main_cruise_enabled, tuning, ESCC: EnhancedSmartCruiseControl = None):
|
||||
commands = []
|
||||
|
||||
@@ -140,11 +142,11 @@ def create_acc_commands(packer, enabled, accel, upper_jerk, idx, hud_control, se
|
||||
"TauGapSet": hud_control.leadDistanceBars,
|
||||
"VSetDis": set_speed if enabled else 0,
|
||||
"AliveCounterACC": idx % 0x10,
|
||||
"ObjValid": 1, # close lead makes controls tighter
|
||||
"ACC_ObjStatus": 1, # close lead makes controls tighter
|
||||
"ObjValid": int(lead_data.lead_visible), # close lead makes controls tighter
|
||||
"ACC_ObjStatus": int(lead_data.lead_visible), # close lead makes controls tighter
|
||||
"ACC_ObjLatPos": 0,
|
||||
"ACC_ObjRelSpd": 0,
|
||||
"ACC_ObjDist": 1, # close lead makes controls tighter
|
||||
"ACC_ObjRelSpd": lead_data.lead_rel_speed,
|
||||
"ACC_ObjDist": int(lead_data.lead_distance), # close lead makes controls tighter
|
||||
}
|
||||
|
||||
def get_scc12_values():
|
||||
@@ -180,7 +182,8 @@ def create_acc_commands(packer, enabled, accel, upper_jerk, idx, hud_control, se
|
||||
"JerkUpperLimit": tuning.jerk_upper, # stock usually is 1.0 but sometimes uses higher values
|
||||
"JerkLowerLimit": tuning.jerk_lower, # stock usually is 0.5 but sometimes uses higher values
|
||||
"ACCMode": 2 if enabled and long_override else 1 if enabled else 4, # stock will always be 4 instead of 0 after first disengage
|
||||
"ObjGap": 2 if hud_control.leadVisible else 0, # 5: >30, m, 4: 25-30 m, 3: 20-25 m, 2: < 20 m, 0: no lead
|
||||
"ObjGap": lead_data.object_gap, # 5: >30, m, 4: 25-30 m, 3: 20-25 m, 2: < 20 m, 0: no lead
|
||||
"ObjDistStat": lead_data.object_rel_gap,
|
||||
}
|
||||
|
||||
def get_fca11_values():
|
||||
|
||||
@@ -3,6 +3,7 @@ import numpy as np
|
||||
from opendbc.car import CanBusBase
|
||||
from opendbc.car.crc import CRC16_XMODEM
|
||||
from opendbc.car.hyundai.values import HyundaiFlags
|
||||
from opendbc.sunnypilot.car.hyundai.lead_data_ext import CanFdLeadData
|
||||
|
||||
|
||||
class CanBus(CanBusBase):
|
||||
@@ -131,7 +132,7 @@ def create_lfahda_cluster(packer, CAN, enabled, lfa_icon):
|
||||
|
||||
|
||||
def create_acc_control(packer, CAN, enabled, accel_last, accel, stopping, gas_override, set_speed, hud_control,
|
||||
main_cruise_enabled, tuning):
|
||||
lead_data: CanFdLeadData, main_cruise_enabled, tuning):
|
||||
jerk = 5
|
||||
jn = jerk / 50
|
||||
if not enabled or gas_override:
|
||||
@@ -150,9 +151,10 @@ def create_acc_control(packer, CAN, enabled, accel_last, accel, stopping, gas_ov
|
||||
"JerkLowerLimit": tuning.jerk_lower,
|
||||
"JerkUpperLimit": tuning.jerk_upper,
|
||||
|
||||
"ACC_ObjDist": 1,
|
||||
"ObjValid": 0,
|
||||
"OBJ_STATUS": 2,
|
||||
"ACC_ObjDist": int(lead_data.lead_distance),
|
||||
"ACC_ObjRelSpd": lead_data.lead_rel_speed,
|
||||
"ObjValid": int(not lead_data.lead_visible),
|
||||
"SCC_ObjSta": 0 if not (enabled and lead_data.lead_visible) else (1 if gas_override else 2),
|
||||
"SET_ME_2": 0x4,
|
||||
"SET_ME_3": 0x3,
|
||||
"SET_ME_TMP_64": 0x64,
|
||||
|
||||
@@ -125,7 +125,19 @@ class CarControlSP:
|
||||
@auto_dataclass
|
||||
class Param:
|
||||
key: str = auto_field()
|
||||
value: str = auto_field()
|
||||
value: bytes = auto_field()
|
||||
type: 'CarControlSP.ParamType' = field(
|
||||
default_factory=lambda: CarControlSP.ParamType.string
|
||||
)
|
||||
|
||||
class ParamType(StrEnum):
|
||||
string = auto()
|
||||
bool = auto()
|
||||
int = auto()
|
||||
float = auto()
|
||||
time = auto()
|
||||
json = auto()
|
||||
bytes = auto()
|
||||
|
||||
|
||||
@auto_dataclass
|
||||
|
||||
@@ -39,15 +39,6 @@ non_tested_cars = [
|
||||
HYUNDAI.GENESIS_G70_2021_NON_SCC,
|
||||
HONDA.HONDA_CLARITY,
|
||||
TOYOTA.TOYOTA_WILDLANDER,
|
||||
GM.CHEVROLET_BOLT_NON_ACC,
|
||||
GM.CHEVROLET_BOLT_NON_ACC_1ST_GEN,
|
||||
GM.CHEVROLET_BOLT_NON_ACC_2ND_GEN,
|
||||
GM.CHEVROLET_EQUINOX_NON_ACC_3RD_GEN,
|
||||
GM.CHEVROLET_SUBURBAN_NON_ACC_11TH_GEN,
|
||||
GM.CADILLAC_CT6_NON_ACC_1ST_GEN,
|
||||
GM.CHEVROLET_TRAILBLAZER_NON_ACC_2ND_GEN,
|
||||
GM.CHEVROLET_MALIBU_NON_ACC_9TH_GEN,
|
||||
GM.CADILLAC_XT5_NON_ACC_1ST_GEN,
|
||||
]
|
||||
|
||||
|
||||
|
||||
@@ -94,6 +94,3 @@ legend = ["LAT_ACCEL_FACTOR", "MAX_LAT_ACCEL_MEASURED", "FRICTION"]
|
||||
# Manually checked
|
||||
"HONDA_CIVIC_2022" = [2.5, 1.2, 0.15]
|
||||
"HONDA_HRV_3G" = [2.5, 1.2, 0.2]
|
||||
|
||||
#port extensions
|
||||
"CHEVROLET_MALIBU_NON_ACC_9TH_GEN" = [1.85, 1.85, 0.075]
|
||||
|
||||
@@ -98,11 +98,3 @@ legend = ["LAT_ACCEL_FACTOR", "MAX_LAT_ACCEL_MEASURED", "FRICTION"]
|
||||
"HYUNDAI_BAYON_1ST_GEN_NON_SCC" = "HYUNDAI_SONATA"
|
||||
"HONDA_CLARITY" = "HONDA_CIVIC"
|
||||
"TOYOTA_WILDLANDER" = "TOYOTA_RAV4_TSS2"
|
||||
"CHEVROLET_BOLT_NON_ACC_2ND_GEN" = "CHEVROLET_BOLT_EUV"
|
||||
"CHEVROLET_BOLT_NON_ACC" = "CHEVROLET_BOLT_EUV"
|
||||
"CHEVROLET_BOLT_NON_ACC_1ST_GEN" = "CHEVROLET_BOLT_EUV"
|
||||
"CHEVROLET_EQUINOX_NON_ACC_3RD_GEN" = "CHEVROLET_EQUINOX"
|
||||
"CHEVROLET_SUBURBAN_NON_ACC_11TH_GEN" = "CHEVROLET_SILVERADO"
|
||||
"CADILLAC_CT6_NON_ACC_1ST_GEN" = "CHEVROLET_VOLT"
|
||||
"CHEVROLET_TRAILBLAZER_NON_ACC_2ND_GEN" = "CHEVROLET_TRAILBLAZER"
|
||||
"CADILLAC_XT5_NON_ACC_1ST_GEN" = "GMC_ACADIA"
|
||||
|
||||
@@ -0,0 +1,187 @@
|
||||
CM_ "Generated from _stellantis_common.dbc"
|
||||
|
||||
BO_ 35 STEERING: 8 XXX
|
||||
SG_ STEERING_ANGLE : 5|14@0+ (0.5,-2048) [-2048|2047] "deg" XXX
|
||||
SG_ STEERING_RATE : 21|14@0+ (0.5,-2048) [-2048|2047] "deg/s" XXX
|
||||
SG_ STEERING_ANGLE_HP : 48|4@1+ (0.1,-0.4) [-0.4|0.4] "deg" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 37 ECM_1: 8 XXX
|
||||
SG_ ENGINE_RPM : 7|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ ENGINE_TORQUE : 20|13@0+ (0.25,-500) [-500|1547.5] "Nm" XXX
|
||||
SG_ EXPECTED_ENGINE_TORQUE : 36|13@0+ (0.25,-500) [-500|1547.5] "Nm" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 181 ECM_TRQ: 8 XXX
|
||||
SG_ ENGINE_TORQ_MAX : 4|13@0+ (.25,-500) [-500|1547.5] "NM" XXX
|
||||
SG_ ENGINE_TORQ_MIN : 20|13@0+ (.25,-500) [-500|1547.5] "NM" XXX
|
||||
|
||||
BO_ 121 ESP_8: 8 XXX
|
||||
SG_ BRK_PRESSURE : 3|12@0+ (1,0) [0|1] "" XXX
|
||||
SG_ Vehicle_Stopped : 7|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ BRAKE_PEDAL : 19|12@0+ (1,0) [0|1] "" XXX
|
||||
SG_ Vehicle_Speed : 39|16@0+ (0.0078125,0) [0|511.984375] "km/h" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 123 ECM_2: 7 XXX
|
||||
SG_ ACC_TORQUE_REQ_ENABLE : 5|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ESC_TORQUE_REQ_ENABLE : 6|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ TCM_TORQUE_REQ_ENABLE : 7|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ Accelerator_Position : 16|8@1+ (0.4,0) [0|100] "%" XXX
|
||||
SG_ CRUISE_OVERRIDE : 31|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ COUNTER : 47|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 55|8@0+ (1,0) [0|0] "" XXX
|
||||
|
||||
BO_ 131 ESP_1: 8 XXX
|
||||
SG_ Brake_State : 0|2@1+ (1,0) [0|0] "" XXX
|
||||
SG_ Brake_Pedal_State : 2|2@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_Engaged : 15|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ ACC_Enabled : 23|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ Vehicle_Speed : 33|10@0+ (0.5,0) [0|511] "km/h" XXX
|
||||
SG_ ACC_OFF_REQ : 39|2@0+ (1,0) [0|0] "" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ BRAKE_PRESSED_ACC : 6|1@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 113 ESP_2: 8 ESC
|
||||
SG_ ESC_TORQUE_REQ : 4|13@0+ (0.25,-500) [-500|1547.5] "Nm" XXX
|
||||
SG_ ACC_TORQUE_REQ_ENABLE : 5|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ESC_TORQUE_REQ_MAX : 6|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ESC_TORQUE_REQ_MIN : 7|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_TORQUE_REQ : 20|13@0+ (0.25,-500) [-500|1547.5] "Nm" XXX
|
||||
SG_ TCS_ACTIVE : 21|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_TORQUE_REQ_MAX : 22|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_BRK_PREP : 40|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ DISABLE_FUEL_SHUTOFF : 47|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ DAS_REQ_ACTIVE : 48|3@1+ (1,0) [0|0] "" XXX
|
||||
SG_ COLLISION_BRK_PREP : 51|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|0] "" XXX
|
||||
|
||||
BO_ 139 ESP_6: 8 XXX
|
||||
SG_ WHEEL_SPEED_FL : 5|14@0+ (0.5,0) [0|8191] "rpm" XXX
|
||||
SG_ WHEEL_SPEED_FR : 21|14@0+ (0.5,0) [0|8191] "rpm" XXX
|
||||
SG_ WHEEL_SPEED_RL : 37|14@0+ (0.5,0) [0|8191] "rpm" XXX
|
||||
SG_ WHEEL_SPEED_RR : 53|14@0+ (0.5,0) [0|8191] "rpm" XXX
|
||||
|
||||
BO_ 147 Transmission_Status: 8 XXX
|
||||
SG_ Gear_State : 2|3@1+ (1,0) [0|15] "" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 464 ORC_1: 8 XXX
|
||||
SG_ SEATBELT_DRIVER_UNLATCHED : 13|1@0+ (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 153 DAS_3: 8 XXX
|
||||
SG_ ENGINE_TORQUE_REQUEST : 4|13@0+ (0.25,-500) [-500|1547.5] "Nm" XXX
|
||||
SG_ ENGINE_TORQUE_REQUEST_MAX : 7|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ ACC_STANDSTILL : 5|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ ACC_GO : 6|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_DECEL : 19|12@0+ (0.004885,-16) [-16|4] "m/s2" XXX
|
||||
SG_ ACC_AVAILABLE : 20|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ ACC_ACTIVE : 21|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ DISABLE_FUEL_SHUTOFF : 23|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ GR_MAX_REQ : 32|4@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_DECEL_REQ : 36|3@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_FAULTED : 46|2@1+ (1,0) [0|0] "" XXX
|
||||
SG_ COLLISION_BRK_PREP : 48|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_BRK_PREP : 49|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 232 DAS_4: 8 XXX
|
||||
SG_ ACC_SET_SPEED_KPH : 15|8@0+ (1,0) [0|3] "km/h" XXX
|
||||
SG_ ACC_SET_SPEED_MPH : 23|8@0+ (1,0) [0|3] "mph" XXX
|
||||
SG_ ACC_DISTANCE_CONFIG_1 : 1|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ ACC_DISTANCE_CONFIG_2 : 41|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ SPEED_DIGITAL : 63|8@0+ (1,0) [0|255] "mph" XXX
|
||||
SG_ ACC_STATE : 38|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ FCW_OFF : 25|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ FCW_ERROR : 27|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ FCW_BRAKE_ENABLED : 29|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ FCW_BRAKE_DISABLED : 47|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ ACC_FAULTED : 50|1@0+ (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 49 EPS_2: 8 XXX
|
||||
SG_ LKAS_STATE : 23|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ COLUMN_TORQUE : 2|11@0+ (1,-1024) [-1024|1023] "" XXX
|
||||
SG_ TORQUE_OVERLAY_STATUS : 6|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ EPS_TORQUE_MOTOR_RAW : 19|12@0+ (1,-2048) [-2048|2047] "" XXX
|
||||
SG_ EPS_TORQUE_MOTOR : 34|11@0+ (1,-1024) [-1024|1023] "" XXX
|
||||
SG_ LKAS_TEMPORARY_FAULT : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ AUTO_PARK_HAS_CONTROL_2 : 51|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 157 ECM_5: 8 XXX
|
||||
SG_ Accelerator_Position : 0|8@1+ (0.4,0) [0|100] "%" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 177 CRUISE_BUTTONS: 3 XXX
|
||||
SG_ ACC_Cancel : 0|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_Distance_Dec : 1|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_Accel : 2|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_Decel : 3|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_Resume : 4|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ Cruise_OnOff : 6|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_OnOff : 7|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_Distance_Inc : 8|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ COUNTER : 15|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 23|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 163 DAS_5: 8 XXX
|
||||
SG_ FCW_STATE : 2|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ FCW_DISTANCE : 3|2@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACCFCW_MESSAGE : 12|4@1+ (1,0) [0|0] "" XXX
|
||||
SG_ SET_SPEED_KPH : 24|8@1+ (1,0) [0|250] "km/h" XXX
|
||||
SG_ WHEEL_TORQUE_REQUEST : 38|15@0+ (1,-7767) [-7767|24999] "Nm" XXX
|
||||
SG_ WHEEL_TORQUE_REQUEST_ACTIVE : 39|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 213 EPB_1: 3 XXX
|
||||
SG_ PARKING_BRAKE_STATUS : 11|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ COUNTER : 15|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 23|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 250 DAS_6: 8 XXX
|
||||
SG_ LKAS_ICON_COLOR : 1|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ LKAS_LANE_LINES : 19|4@0+ (1,0) [0|1] "" XXX
|
||||
SG_ LKAS_ALERTS : 27|4@0+ (1,0) [0|1] "" XXX
|
||||
SG_ CAR_MODEL : 15|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ AUTO_HIGH_BEAM_ON : 47|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ LKAS_DISABLED : 56|1@1+ (1,0) [0|0] "" XXX
|
||||
|
||||
BO_ 720 BSM_1: 6 XXX
|
||||
SG_ RIGHT_STATUS : 5|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ LEFT_STATUS : 2|1@0+ (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 792 STEERING_LEVERS: 8 XXX
|
||||
SG_ TURN_SIGNALS : 0|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ HIGH_BEAM_PRESSED : 2|1@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 657 BCM_1: 8 XXX
|
||||
SG_ DOOR_OPEN_FL : 17|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ DOOR_OPEN_FR : 18|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ DOOR_OPEN_RL : 19|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ DOOR_OPEN_RR : 20|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ DOOR_OPEN_TRUNK : 22|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ PARKING_BRAKE_SWITCH : 23|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ TURN_LIGHT_LEFT : 31|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ TURN_LIGHT_RIGHT : 30|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ HIGH_BEAM_DISPLAY : 58|1@0+ (1,0) [0|1] "" XXX
|
||||
|
||||
VAL_ 131 ACC_OFF_REQ 2 "PERMANENT" 1 "TEMPORARY" 0 "NONE"
|
||||
VAL_ 147 Gear_State 4 "D" 2 "N" 1 "R" 0 "P" ;
|
||||
VAL_ 213 PARKING_BRAKE_STATUS 3 "RELEASING" 2 "APPLYING" 1 "APPLIED" 0 "OFF" ;
|
||||
|
||||
CM_ SG_ 258 STEERING_ANGLE_HP "Steering angle high precision";
|
||||
CM_ SG_ 264 ENGINE_TORQUE "Effective engine torque";
|
||||
CM_ SG_ 264 EXPECTED_ENGINE_TORQUE "Expected Engine Torque based on target engine speed";
|
||||
CM_ SG_ 678 LKAS_ICON_COLOR "3 is yellow, 2 is green, 1 is white, 0 is null";
|
||||
CM_ SG_ 678 LKAS_LANE_LINES "0x01 transparent lines, 0x02 left white, 0x03 right white, 0x04 left yellow with car on top, 0x05 left yellow with car on top, 0x06 both white, 0x07 left yellow, 0x08 left yellow right white, 0x09 right yellow, 0x0a right yellow left white, 0x0b left yellow with car on top right white, 0x0c right yellow with car on top left white, (0x00, 0x0d, 0x0e, 0x0f) null";
|
||||
CM_ SG_ 678 LKAS_ALERTS "(0x01, 0x02) lane sense off, (0x03, 0x04, 0x06) place hands on steering wheel, 0x07 lane departure detected + place hands on steering wheel, (0x08, 0x09) lane sense unavailable + clean front windshield, 0x0b lane sense and auto high beam unavailable + clean front windshield, 0x0c lane sense unavailable + service required, (0x00, 0x05, 0x0a, 0x0d, 0x0e, 0x0f) null";
|
||||
@@ -0,0 +1,187 @@
|
||||
CM_ "Generated from _stellantis_common.dbc"
|
||||
|
||||
BO_ 258 STEERING: 8 XXX
|
||||
SG_ STEERING_ANGLE : 5|14@0+ (0.5,-2048) [-2048|2047] "deg" XXX
|
||||
SG_ STEERING_RATE : 21|14@0+ (0.5,-2048) [-2048|2047] "deg/s" XXX
|
||||
SG_ STEERING_ANGLE_HP : 48|4@1+ (0.1,-0.4) [-0.4|0.4] "deg" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 264 ECM_1: 8 XXX
|
||||
SG_ ENGINE_RPM : 7|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ ENGINE_TORQUE : 20|13@0+ (0.25,-500) [-500|1547.5] "Nm" XXX
|
||||
SG_ EXPECTED_ENGINE_TORQUE : 36|13@0+ (0.25,-500) [-500|1547.5] "Nm" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 280 ECM_TRQ: 8 XXX
|
||||
SG_ ENGINE_TORQ_MAX : 4|13@0+ (.25,-500) [-500|1547.5] "NM" XXX
|
||||
SG_ ENGINE_TORQ_MIN : 20|13@0+ (.25,-500) [-500|1547.5] "NM" XXX
|
||||
|
||||
BO_ 284 ESP_8: 8 XXX
|
||||
SG_ BRK_PRESSURE : 3|12@0+ (1,0) [0|1] "" XXX
|
||||
SG_ Vehicle_Stopped : 7|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ BRAKE_PEDAL : 19|12@0+ (1,0) [0|1] "" XXX
|
||||
SG_ Vehicle_Speed : 39|16@0+ (0.0078125,0) [0|511.984375] "km/h" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 288 ECM_2: 7 XXX
|
||||
SG_ ACC_TORQUE_REQ_ENABLE : 5|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ESC_TORQUE_REQ_ENABLE : 6|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ TCM_TORQUE_REQ_ENABLE : 7|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ Accelerator_Position : 16|8@1+ (0.4,0) [0|100] "%" XXX
|
||||
SG_ CRUISE_OVERRIDE : 31|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ COUNTER : 47|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 55|8@0+ (1,0) [0|0] "" XXX
|
||||
|
||||
BO_ 320 ESP_1: 8 XXX
|
||||
SG_ Brake_State : 0|2@1+ (1,0) [0|0] "" XXX
|
||||
SG_ Brake_Pedal_State : 2|2@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_Engaged : 15|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ ACC_Enabled : 23|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ Vehicle_Speed : 33|10@0+ (0.5,0) [0|511] "km/h" XXX
|
||||
SG_ ACC_OFF_REQ : 39|2@0+ (1,0) [0|0] "" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ BRAKE_PRESSED_ACC : 6|1@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 268 ESP_2: 8 ESC
|
||||
SG_ ESC_TORQUE_REQ : 4|13@0+ (0.25,-500) [-500|1547.5] "Nm" XXX
|
||||
SG_ ACC_TORQUE_REQ_ENABLE : 5|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ESC_TORQUE_REQ_MAX : 6|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ESC_TORQUE_REQ_MIN : 7|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_TORQUE_REQ : 20|13@0+ (0.25,-500) [-500|1547.5] "Nm" XXX
|
||||
SG_ TCS_ACTIVE : 21|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_TORQUE_REQ_MAX : 22|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_BRK_PREP : 40|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ DISABLE_FUEL_SHUTOFF : 47|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ DAS_REQ_ACTIVE : 48|3@1+ (1,0) [0|0] "" XXX
|
||||
SG_ COLLISION_BRK_PREP : 51|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|0] "" XXX
|
||||
|
||||
BO_ 344 ESP_6: 8 XXX
|
||||
SG_ WHEEL_SPEED_FL : 5|14@0+ (0.5,0) [0|8191] "rpm" XXX
|
||||
SG_ WHEEL_SPEED_FR : 21|14@0+ (0.5,0) [0|8191] "rpm" XXX
|
||||
SG_ WHEEL_SPEED_RL : 37|14@0+ (0.5,0) [0|8191] "rpm" XXX
|
||||
SG_ WHEEL_SPEED_RR : 53|14@0+ (0.5,0) [0|8191] "rpm" XXX
|
||||
|
||||
BO_ 368 Transmission_Status: 8 XXX
|
||||
SG_ Gear_State : 2|3@1+ (1,0) [0|15] "" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 464 ORC_1: 8 XXX
|
||||
SG_ SEATBELT_DRIVER_UNLATCHED : 13|1@0+ (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 500 DAS_3: 8 XXX
|
||||
SG_ ENGINE_TORQUE_REQUEST : 4|13@0+ (0.25,-500) [-500|1547.5] "Nm" XXX
|
||||
SG_ ENGINE_TORQUE_REQUEST_MAX : 7|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ ACC_STANDSTILL : 5|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ ACC_GO : 6|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_DECEL : 19|12@0+ (0.004885,-16) [-16|4] "m/s2" XXX
|
||||
SG_ ACC_AVAILABLE : 20|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ ACC_ACTIVE : 21|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ DISABLE_FUEL_SHUTOFF : 23|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ GR_MAX_REQ : 32|4@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_DECEL_REQ : 36|3@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_FAULTED : 46|2@1+ (1,0) [0|0] "" XXX
|
||||
SG_ COLLISION_BRK_PREP : 48|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_BRK_PREP : 49|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 501 DAS_4: 8 XXX
|
||||
SG_ ACC_SET_SPEED_KPH : 15|8@0+ (1,0) [0|3] "km/h" XXX
|
||||
SG_ ACC_SET_SPEED_MPH : 23|8@0+ (1,0) [0|3] "mph" XXX
|
||||
SG_ ACC_DISTANCE_CONFIG_1 : 1|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ ACC_DISTANCE_CONFIG_2 : 41|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ SPEED_DIGITAL : 63|8@0+ (1,0) [0|255] "mph" XXX
|
||||
SG_ ACC_STATE : 38|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ FCW_OFF : 25|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ FCW_ERROR : 27|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ FCW_BRAKE_ENABLED : 29|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ FCW_BRAKE_DISABLED : 47|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ ACC_FAULTED : 50|1@0+ (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 544 EPS_2: 8 XXX
|
||||
SG_ LKAS_STATE : 23|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ COLUMN_TORQUE : 2|11@0+ (1,-1024) [-1024|1023] "" XXX
|
||||
SG_ TORQUE_OVERLAY_STATUS : 6|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ EPS_TORQUE_MOTOR_RAW : 19|12@0+ (1,-2048) [-2048|2047] "" XXX
|
||||
SG_ EPS_TORQUE_MOTOR : 34|11@0+ (1,-1024) [-1024|1023] "" XXX
|
||||
SG_ LKAS_TEMPORARY_FAULT : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ AUTO_PARK_HAS_CONTROL_2 : 51|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 559 ECM_5: 8 XXX
|
||||
SG_ Accelerator_Position : 0|8@1+ (0.4,0) [0|100] "%" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 570 CRUISE_BUTTONS: 3 XXX
|
||||
SG_ ACC_Cancel : 0|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_Distance_Dec : 1|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_Accel : 2|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_Decel : 3|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_Resume : 4|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ Cruise_OnOff : 6|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_OnOff : 7|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACC_Distance_Inc : 8|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ COUNTER : 15|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 23|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 625 DAS_5: 8 XXX
|
||||
SG_ FCW_STATE : 2|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ FCW_DISTANCE : 3|2@1+ (1,0) [0|0] "" XXX
|
||||
SG_ ACCFCW_MESSAGE : 12|4@1+ (1,0) [0|0] "" XXX
|
||||
SG_ SET_SPEED_KPH : 24|8@1+ (1,0) [0|250] "km/h" XXX
|
||||
SG_ WHEEL_TORQUE_REQUEST : 38|15@0+ (1,-7767) [-7767|24999] "Nm" XXX
|
||||
SG_ WHEEL_TORQUE_REQUEST_ACTIVE : 39|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 669 EPB_1: 3 XXX
|
||||
SG_ PARKING_BRAKE_STATUS : 11|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ COUNTER : 15|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ CHECKSUM : 23|8@0+ (1,0) [0|255] "" XXX
|
||||
|
||||
BO_ 629 DAS_6: 8 XXX
|
||||
SG_ LKAS_ICON_COLOR : 1|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ LKAS_LANE_LINES : 19|4@0+ (1,0) [0|1] "" XXX
|
||||
SG_ LKAS_ALERTS : 27|4@0+ (1,0) [0|1] "" XXX
|
||||
SG_ CAR_MODEL : 15|8@0+ (1,0) [0|255] "" XXX
|
||||
SG_ AUTO_HIGH_BEAM_ON : 47|1@1+ (1,0) [0|0] "" XXX
|
||||
SG_ LKAS_DISABLED : 56|1@1+ (1,0) [0|0] "" XXX
|
||||
|
||||
BO_ 720 BSM_1: 6 XXX
|
||||
SG_ RIGHT_STATUS : 5|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ LEFT_STATUS : 2|1@0+ (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 792 STEERING_LEVERS: 8 XXX
|
||||
SG_ TURN_SIGNALS : 0|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ HIGH_BEAM_PRESSED : 2|1@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 820 BCM_1: 8 XXX
|
||||
SG_ DOOR_OPEN_FL : 17|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ DOOR_OPEN_FR : 18|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ DOOR_OPEN_RL : 19|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ DOOR_OPEN_RR : 20|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ DOOR_OPEN_TRUNK : 22|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ PARKING_BRAKE_SWITCH : 23|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ TURN_LIGHT_LEFT : 31|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ TURN_LIGHT_RIGHT : 30|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ HIGH_BEAM_DISPLAY : 58|1@0+ (1,0) [0|1] "" XXX
|
||||
|
||||
VAL_ 320 ACC_OFF_REQ 2 "PERMANENT" 1 "TEMPORARY" 0 "NONE"
|
||||
VAL_ 368 Gear_State 4 "D" 2 "N" 1 "R" 0 "P" ;
|
||||
VAL_ 669 PARKING_BRAKE_STATUS 3 "RELEASING" 2 "APPLYING" 1 "APPLIED" 0 "OFF" ;
|
||||
|
||||
CM_ SG_ 258 STEERING_ANGLE_HP "Steering angle high precision";
|
||||
CM_ SG_ 264 ENGINE_TORQUE "Effective engine torque";
|
||||
CM_ SG_ 264 EXPECTED_ENGINE_TORQUE "Expected Engine Torque based on target engine speed";
|
||||
CM_ SG_ 678 LKAS_ICON_COLOR "3 is yellow, 2 is green, 1 is white, 0 is null";
|
||||
CM_ SG_ 678 LKAS_LANE_LINES "0x01 transparent lines, 0x02 left white, 0x03 right white, 0x04 left yellow with car on top, 0x05 left yellow with car on top, 0x06 both white, 0x07 left yellow, 0x08 left yellow right white, 0x09 right yellow, 0x0a right yellow left white, 0x0b left yellow with car on top right white, 0x0c right yellow with car on top left white, (0x00, 0x0d, 0x0e, 0x0f) null";
|
||||
CM_ SG_ 678 LKAS_ALERTS "(0x01, 0x02) lane sense off, (0x03, 0x04, 0x06) place hands on steering wheel, 0x07 lane departure detected + place hands on steering wheel, (0x08, 0x09) lane sense unavailable + clean front windshield, 0x0b lane sense and auto high beam unavailable + clean front windshield, 0x0c lane sense unavailable + service required, (0x00, 0x05, 0x0a, 0x0d, 0x0e, 0x0f) null";
|
||||
@@ -327,7 +327,7 @@ BO_ 416 SCC_CONTROL: 32 ADRV
|
||||
SG_ VSetDis : 103|8@0+ (1,0) [0|255] "km/h or mph" XXX
|
||||
SG_ NEW_SIGNAL_6 : 104|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ SET_ME_2 : 105|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 109|2@0+ (1,0) [0|1] "" XXX
|
||||
SG_ SCC_ObjSta : 108|3@1+ (1,0) [0|7] "" CLU,CGW
|
||||
SG_ ZEROS_10 : 111|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ ZEROS_6 : 119|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ aReqValue : 128|11@1+ (0.01,-10.23) [-10.23|10.24] "m/s^2" XXX
|
||||
@@ -727,6 +727,7 @@ CM_ SG_ 437 Info_RtLnHdingAnglVal "This signal outputs the heading angle of righ
|
||||
CM_ SG_ 437 Info_RtLnCvtrVal "This signal outputs the curvature of right line.";
|
||||
CM_ SG_ 437 ID_CIPV "Valid Object = 1 to 255 - ID detected by front camera can vary depending on vehicle environment. - Additional logic would be required to apply this signal for ISG.";
|
||||
CM_ SG_ 437 Relative_Velocity "+ : Preceding, - : Oncoming - Velocity detected by front camera can vary depending on vehicle environment. - Additional logic would be required to apply this signal for ISG. - Confirmaiton by Autonomous Driving Engineering Team is required to use ID_C";
|
||||
CM_ SG_ 416 SCC_ObjSta "state of in-path object and information of controllable state.";
|
||||
CM_ SG_ 480 NEW_SIGNAL_5 "todo: figure out why always set to 1";
|
||||
CM_ BO_ 506 "Sent by the camera containing speed limit information. ISLW stands for Intelligent Speed Limit Warning, and ISLA is Intelligent Speed Limit Assist. it also contains road sign information.";
|
||||
CM_ SG_ 506 FR_CMR_Crc2Val "The data area for CRC calculation is based on the data length (DLC) of the message DB.The CRC shall be calculated over the entire data block (excluding the CRC bytes) including the user data, alive counter and Data ID - CRC Polynomial (0x1021) , In";
|
||||
@@ -904,6 +905,7 @@ VAL_ 354 FAULT_ESS 0 "HIDDEN" 1 "CHECK_EMERGENCY_STOPPING_FUNCTION" 2 "EMERGENCY
|
||||
VAL_ 362 BLINKER_CONTROL 1 "hazards" 2 "hazards button backlight" 3 "left blinkers" 4 "right blinkers";
|
||||
VAL_ 373 ACCEnable 0 "SCC ready" 1 "SCC temp fault" 2 "SCC permanent fault" 3 "SCC permanent fault, communication issue";
|
||||
VAL_ 416 ACCMode 0 "off" 1 "enabled" 2 "driver_override" 3 "off_maybe_fault" 4 "cancelled";
|
||||
VAL_ 416 SCC_ObjSta 0 "No in-path object detected" 1 "In-path object detected (uncontrollable)" 2 "In-path object detected (controllable:longitudinal)" 3 "Reserved" 4 "Reserved" 5 "Reserved" 6 "Reserved" 7 "Reserved";
|
||||
VAL_ 426 CRUISE_BUTTONS 0 "none" 1 "res_accel" 2 "set_decel" 3 "gap_distance" 4 "pause_resume";
|
||||
VAL_ 437 Info_LftLnQualSta 0 "Very Low Quality" 1 "Low Quality" 2 "High Quality" 3 "Very High Quality" 4 "Reserved" 5 "Reserved" 6 "Reserved" 7 "Error indicator";
|
||||
VAL_ 437 Info_LftLnDptSta 0 "No Left Line Departure" 1 "Left Line Departure" 2 "Reserved" 3 "Error Indicator";
|
||||
|
||||
@@ -0,0 +1,371 @@
|
||||
|
||||
VERSION ""
|
||||
|
||||
|
||||
NS_ :
|
||||
NS_DESC_
|
||||
CM_
|
||||
BA_DEF_
|
||||
BA_
|
||||
VAL_
|
||||
CAT_DEF_
|
||||
CAT_
|
||||
FILTER
|
||||
BA_DEF_DEF_
|
||||
EV_DATA_
|
||||
ENVVAR_DATA_
|
||||
SGTYPE_
|
||||
SGTYPE_VAL_
|
||||
BA_DEF_SGTYPE_
|
||||
BA_SGTYPE_
|
||||
SIG_TYPE_REF_
|
||||
VAL_TABLE_
|
||||
SIG_GROUP_
|
||||
SIG_VALTYPE_
|
||||
SIGTYPE_VALTYPE_
|
||||
BO_TX_BU_
|
||||
BA_DEF_REL_
|
||||
BA_REL_
|
||||
BA_DEF_DEF_REL_
|
||||
BU_SG_REL_
|
||||
BU_EV_REL_
|
||||
BU_BO_REL_
|
||||
SG_MUL_VAL_
|
||||
|
||||
BS_:
|
||||
|
||||
BU_: XXX
|
||||
|
||||
BO_ 256 RADAR_POINTS_METADATA_0x100: 64 RADAR
|
||||
SG_ SIGNAL_1 : 0|32@1+ (1,0) [0|255] "" XXX
|
||||
SG_ SIGNAL_2 : 32|32@1+ (1,0) [0|65535] "" XXX
|
||||
SG_ SIGNAL_3 : 64|4@1+ (1,0) [0|15] "" XXX
|
||||
SG_ SIGNAL_4 : 68|4@1+ (1,0) [0|15] "" XXX
|
||||
SG_ RADAR_POINT_COUNT : 72|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ SIGNAL_6 : 80|7@1+ (0.015625,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_7 : 87|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ SIGNAL_8 : 88|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ SIGNAL_9 : 91|5@1+ (0.0625,0) [0|31] "" XXX
|
||||
SG_ SIGNAL_10 : 96|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ SIGNAL_11 : 104|7@1+ (0.015625,0) [0|127] "" XXX
|
||||
SG_ SIGNAL_12 : 111|2@1+ (1,0) [0|65535] "" XXX
|
||||
SG_ SIGNAL_13 : 113|7@1+ (0.015625,0) [0|127] "" XXX
|
||||
SG_ SIGNAL_14 : 120|7@1+ (0.015625,0) [0|127] "" XXX
|
||||
SG_ SIGNAL_15 : 127|3@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_16 : 130|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_17 : 133|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_18 : 134|1@0+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_19 : 135|3@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_20 : 138|8@1+ (1,0) [0|63] "" XXX
|
||||
SG_ SIGNAL_21 : 146|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_22 : 148|1@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_23 : 149|4@1+ (1,0) [0|7] "" XXX
|
||||
SG_ SIGNAL_24 : 153|1@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_25 : 154|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_26 : 157|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_27 : 158|7@1+ (0.125,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_28 : 165|7@1+ (0.015625,0) [0|31] "" XXX
|
||||
SG_ SIGNAL_29 : 172|7@1+ (0.125,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_30 : 179|7@1+ (0.015625,0) [0|1] "" XXX
|
||||
SG_ SIGNAL_31 : 186|4@1+ (1,0) [0|7] "" XXX
|
||||
SG_ SIGNAL_32 : 190|14@1+ (0.015625,0) [0|15] "" XXX
|
||||
SG_ SIGNAL_33 : 204|11@1+ (0.03125,0) [0|8191] "" XXX
|
||||
SG_ SIGNAL_34 : 215|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_35 : 217|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ SIGNAL_36 : 224|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ SIGNAL_37 : 230|6@1+ (0.2,0) [0|31] "" XXX
|
||||
SG_ SIGNAL_38 : 236|6@1+ (0.2,0) [0|7] "" XXX
|
||||
SG_ SIGNAL_39 : 242|8@1+ (1,-90) [0|255] "" XXX
|
||||
SG_ SIGNAL_40 : 250|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ SIGNAL_41 : 256|8@1+ (0.25,0) [0|255] "" XXX
|
||||
SG_ SIGNAL_42 : 264|3@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_43 : 267|12@1+ (0.01,0) [0|31] "" XXX
|
||||
SG_ SIGNAL_44 : 279|32@1+ (1,0) [0|63] "" XXX
|
||||
SG_ SIGNAL_45 : 311|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ SIGNAL_46 : 312|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_47 : 314|32@1+ (1,0) [0|255] "" XXX
|
||||
SG_ SIGNAL_48 : 346|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ SIGNAL_49 : 352|7@1+ (0.25,0) [0|127] "" XXX
|
||||
SG_ SIGNAL_50 : 359|6@1+ (0.03125,0) [0|31] "" XXX
|
||||
SG_ SIGNAL_51 : 365|10@1+ (0.125,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_52 : 375|10@1+ (0.125,0) [0|63] "" XXX
|
||||
SG_ SIGNAL_53 : 385|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ SIGNAL_54 : 392|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ SIGNAL_55 : 399|8@1+ (0.00390625,0) [0|31] "" XXX
|
||||
SG_ SIGNAL_56 : 407|10@1+ (0.125,0) [0|63] "" XXX
|
||||
SG_ SIGNAL_57 : 417|1@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_58 : 418|1@1+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 512 RADAR_POINTS_METADATA_0x200: 64 RADAR
|
||||
SG_ SIGNAL_1 : 0|32@1+ (1,0) [0|255] "" XXX
|
||||
SG_ SIGNAL_2 : 32|32@1+ (1,0) [0|65535] "" XXX
|
||||
SG_ SIGNAL_3 : 64|4@1+ (1,0) [0|15] "" XXX
|
||||
SG_ SIGNAL_4 : 68|4@1+ (1,0) [0|15] "" XXX
|
||||
SG_ RADAR_POINT_COUNT : 72|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ SIGNAL_6 : 80|7@1+ (0.015625,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_7 : 87|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ SIGNAL_8 : 88|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ SIGNAL_9 : 91|5@1+ (0.0625,0) [0|31] "" XXX
|
||||
SG_ SIGNAL_10 : 96|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ SIGNAL_11 : 104|7@1+ (0.015625,0) [0|127] "" XXX
|
||||
SG_ SIGNAL_12 : 111|2@1+ (1,0) [0|65535] "" XXX
|
||||
SG_ SIGNAL_13 : 113|7@1+ (0.015625,0) [0|127] "" XXX
|
||||
SG_ SIGNAL_14 : 120|7@1+ (0.015625,0) [0|127] "" XXX
|
||||
SG_ SIGNAL_15 : 127|3@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_16 : 130|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_17 : 133|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_18 : 134|1@0+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_19 : 135|3@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_20 : 138|8@1+ (1,0) [0|63] "" XXX
|
||||
SG_ SIGNAL_21 : 146|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_22 : 148|1@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_23 : 149|4@1+ (1,0) [0|7] "" XXX
|
||||
SG_ SIGNAL_24 : 153|1@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_25 : 154|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_26 : 157|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_27 : 158|7@1+ (0.125,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_28 : 165|7@1+ (0.015625,0) [0|31] "" XXX
|
||||
SG_ SIGNAL_29 : 172|7@1+ (0.125,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_30 : 179|7@1+ (0.015625,0) [0|1] "" XXX
|
||||
SG_ SIGNAL_31 : 186|4@1+ (1,0) [0|7] "" XXX
|
||||
SG_ SIGNAL_32 : 190|14@1+ (0.015625,0) [0|15] "" XXX
|
||||
SG_ SIGNAL_33 : 204|11@1+ (0.03125,0) [0|8191] "" XXX
|
||||
SG_ SIGNAL_34 : 215|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_35 : 217|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ SIGNAL_36 : 224|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ SIGNAL_37 : 230|6@1+ (0.2,0) [0|31] "" XXX
|
||||
SG_ SIGNAL_38 : 236|6@1+ (0.2,0) [0|7] "" XXX
|
||||
SG_ SIGNAL_39 : 242|8@1+ (1,-90) [0|255] "" XXX
|
||||
SG_ SIGNAL_40 : 250|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ SIGNAL_41 : 256|8@1+ (0.25,0) [0|255] "" XXX
|
||||
SG_ SIGNAL_42 : 264|3@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_43 : 267|12@1+ (0.01,0) [0|31] "" XXX
|
||||
SG_ SIGNAL_44 : 279|32@1+ (1,0) [0|63] "" XXX
|
||||
SG_ SIGNAL_45 : 311|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ SIGNAL_46 : 312|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_47 : 314|32@1+ (1,0) [0|255] "" XXX
|
||||
SG_ SIGNAL_48 : 346|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ SIGNAL_49 : 352|7@1+ (0.25,0) [0|127] "" XXX
|
||||
SG_ SIGNAL_50 : 359|6@1+ (0.03125,0) [0|31] "" XXX
|
||||
SG_ SIGNAL_51 : 365|10@1+ (0.125,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_52 : 375|10@1+ (0.125,0) [0|63] "" XXX
|
||||
SG_ SIGNAL_53 : 385|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ SIGNAL_54 : 392|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ SIGNAL_55 : 399|8@1+ (0.00390625,0) [0|31] "" XXX
|
||||
SG_ SIGNAL_56 : 407|10@1+ (0.125,0) [0|63] "" XXX
|
||||
SG_ SIGNAL_57 : 417|1@1+ (1,0) [0|3] "" XXX
|
||||
SG_ SIGNAL_58 : 418|1@1+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 257 RADAR_POINTS_0x101: 64 RADAR
|
||||
SG_ MESSAGE_ID : 0|5@1+ (1,0) [0|31] "" XXX
|
||||
SG_ LAYOUT_ID : 5|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_1_DISTANCE : 7|14@1+ (0.015625,0) [0|255.984375] "" XXX
|
||||
SG_ POINT_1_SIGNAL_2 : 21|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_1_SIGNAL_3 : 23|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_1_REL_VELOCITY : 31|13@1+ (0.03125,-66) [-66|189.96875] "" XXX
|
||||
SG_ POINT_1_SIGNAL_5 : 44|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_1_SIGNAL_6 : 46|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_1_AZIMUTH : 48|12@1+ (0.001953125,-3.998046875) [-3.998046875|4.0] "" XXX
|
||||
SG_ POINT_1_SIGNAL_8 : 60|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_1_SIGNAL_9 : 62|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_1_SIGNAL_10 : 63|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ POINT_1_SIGNAL_11 : 70|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_1_SIGNAL_12 : 71|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_1_SIGNAL_13 : 77|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_1_SIGNAL_14 : 79|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_1_SIGNAL_15 : 87|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_1_SIGNAL_16 : 88|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_1_SIGNAL_17 : 90|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ POINT_1_SIGNAL_18 : 93|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_1_SIGNAL_19 : 99|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ POINT_1_SIGNAL_20 : 107|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_2_DISTANCE : 108|14@1+ (0.015625,0) [0|255.984375] "" XXX
|
||||
SG_ POINT_2_SIGNAL_2 : 122|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_2_SIGNAL_3 : 124|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_2_REL_VELOCITY : 132|13@1+ (0.03125,-66) [-66|189.96875] "" XXX
|
||||
SG_ POINT_2_SIGNAL_5 : 145|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_2_SIGNAL_6 : 147|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_2_AZIMUTH : 149|12@1+ (0.001953125,-3.998046875) [-3.998046875|4.0] "" XXX
|
||||
SG_ POINT_2_SIGNAL_8 : 161|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_2_SIGNAL_9 : 163|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_2_SIGNAL_10 : 164|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ POINT_2_SIGNAL_11 : 171|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_2_SIGNAL_12 : 172|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_2_SIGNAL_13 : 178|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_2_SIGNAL_14 : 180|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_2_SIGNAL_15 : 188|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_2_SIGNAL_16 : 189|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_2_SIGNAL_17 : 191|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ POINT_2_SIGNAL_18 : 194|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_2_SIGNAL_19 : 200|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ POINT_2_SIGNAL_20 : 208|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_3_DISTANCE : 209|14@1+ (0.015625,0) [0|255.984375] "" XXX
|
||||
SG_ POINT_3_SIGNAL_2 : 223|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_3_SIGNAL_3 : 225|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_3_REL_VELOCITY : 233|13@1+ (0.03125,-66) [-66|189.96875] "" XXX
|
||||
SG_ POINT_3_SIGNAL_5 : 246|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_3_SIGNAL_6 : 248|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_3_AZIMUTH : 250|12@1+ (0.001953125,-3.998046875) [-3.998046875|4.0] "" XXX
|
||||
SG_ POINT_3_SIGNAL_8 : 262|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_3_SIGNAL_9 : 264|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_3_SIGNAL_10 : 265|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ POINT_3_SIGNAL_11 : 272|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_3_SIGNAL_12 : 273|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_3_SIGNAL_13 : 279|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_3_SIGNAL_14 : 281|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_3_SIGNAL_15 : 289|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_3_SIGNAL_16 : 290|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_3_SIGNAL_17 : 292|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ POINT_3_SIGNAL_18 : 295|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_3_SIGNAL_19 : 301|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ POINT_3_SIGNAL_20 : 309|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_4_DISTANCE : 310|14@1+ (0.015625,0) [0|255.984375] "" XXX
|
||||
SG_ POINT_4_SIGNAL_2 : 324|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_4_SIGNAL_3 : 326|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_4_REL_VELOCITY : 334|13@1+ (0.03125,-66) [-66|189.96875] "" XXX
|
||||
SG_ POINT_4_SIGNAL_5 : 347|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_4_SIGNAL_6 : 349|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_4_AZIMUTH : 351|12@1+ (0.001953125,-3.998046875) [-3.998046875|4.0] "" XXX
|
||||
SG_ POINT_4_SIGNAL_8 : 363|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_4_SIGNAL_9 : 365|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_4_SIGNAL_10 : 366|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ POINT_4_SIGNAL_11 : 373|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_4_SIGNAL_12 : 374|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_4_SIGNAL_13 : 380|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_4_SIGNAL_14 : 382|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_4_SIGNAL_15 : 390|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_4_SIGNAL_16 : 391|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_4_SIGNAL_17 : 393|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ POINT_4_SIGNAL_18 : 396|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_4_SIGNAL_19 : 402|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ POINT_4_SIGNAL_20 : 410|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_5_DISTANCE : 411|14@1+ (0.015625,0) [0|255.984375] "" XXX
|
||||
SG_ POINT_5_SIGNAL_2 : 425|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_5_SIGNAL_3 : 427|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_5_REL_VELOCITY : 435|13@1+ (0.03125,-66) [-66|189.96875] "" XXX
|
||||
SG_ POINT_5_SIGNAL_5 : 448|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_5_SIGNAL_6 : 450|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_5_AZIMUTH : 452|12@1+ (0.001953125,-3.998046875) [-3.998046875|4.0] "" XXX
|
||||
SG_ POINT_5_SIGNAL_8 : 464|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_5_SIGNAL_9 : 466|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_5_SIGNAL_10 : 467|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ POINT_5_SIGNAL_11 : 474|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_5_SIGNAL_12 : 475|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_5_SIGNAL_13 : 481|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_5_SIGNAL_14 : 483|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_5_SIGNAL_15 : 491|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_5_SIGNAL_16 : 492|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_5_SIGNAL_17 : 494|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ POINT_5_SIGNAL_18 : 497|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_5_SIGNAL_19 : 503|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ POINT_5_SIGNAL_20 : 511|1@1+ (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 513 RADAR_POINTS_0x201: 64 RADAR
|
||||
SG_ MESSAGE_ID : 0|5@1+ (1,0) [0|31] "" XXX
|
||||
SG_ LAYOUT_ID : 5|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_1_DISTANCE : 7|14@1+ (0.015625,0) [0|255.984375] "" XXX
|
||||
SG_ POINT_1_SIGNAL_2 : 21|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_1_SIGNAL_3 : 23|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_1_REL_VELOCITY : 31|13@1+ (0.03125,-66) [-66|189.96875] "" XXX
|
||||
SG_ POINT_1_SIGNAL_5 : 44|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_1_SIGNAL_6 : 46|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_1_AZIMUTH : 48|12@1+ (0.001953125,-3.998046875) [-3.998046875|4.0] "" XXX
|
||||
SG_ POINT_1_SIGNAL_8 : 60|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_1_SIGNAL_9 : 62|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_1_SIGNAL_10 : 63|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ POINT_1_SIGNAL_11 : 70|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_1_SIGNAL_12 : 71|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_1_SIGNAL_13 : 77|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_1_SIGNAL_14 : 79|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_1_SIGNAL_15 : 87|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_1_SIGNAL_16 : 88|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_1_SIGNAL_17 : 90|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ POINT_1_SIGNAL_18 : 93|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_1_SIGNAL_19 : 99|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ POINT_1_SIGNAL_20 : 107|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_2_DISTANCE : 108|14@1+ (0.015625,0) [0|255.984375] "" XXX
|
||||
SG_ POINT_2_SIGNAL_2 : 122|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_2_SIGNAL_3 : 124|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_2_REL_VELOCITY : 132|13@1+ (0.03125,-66) [-66|189.96875] "" XXX
|
||||
SG_ POINT_2_SIGNAL_5 : 145|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_2_SIGNAL_6 : 147|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_2_AZIMUTH : 149|12@1+ (0.001953125,-3.998046875) [-3.998046875|4.0] "" XXX
|
||||
SG_ POINT_2_SIGNAL_8 : 161|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_2_SIGNAL_9 : 163|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_2_SIGNAL_10 : 164|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ POINT_2_SIGNAL_11 : 171|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_2_SIGNAL_12 : 172|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_2_SIGNAL_13 : 178|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_2_SIGNAL_14 : 180|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_2_SIGNAL_15 : 188|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_2_SIGNAL_16 : 189|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_2_SIGNAL_17 : 191|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ POINT_2_SIGNAL_18 : 194|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_2_SIGNAL_19 : 200|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ POINT_2_SIGNAL_20 : 208|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_3_DISTANCE : 209|14@1+ (0.015625,0) [0|255.984375] "" XXX
|
||||
SG_ POINT_3_SIGNAL_2 : 223|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_3_SIGNAL_3 : 225|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_3_REL_VELOCITY : 233|13@1+ (0.03125,-66) [-66|189.96875] "" XXX
|
||||
SG_ POINT_3_SIGNAL_5 : 246|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_3_SIGNAL_6 : 248|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_3_AZIMUTH : 250|12@1+ (0.001953125,-3.998046875) [-3.998046875|4.0] "" XXX
|
||||
SG_ POINT_3_SIGNAL_8 : 262|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_3_SIGNAL_9 : 264|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_3_SIGNAL_10 : 265|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ POINT_3_SIGNAL_11 : 272|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_3_SIGNAL_12 : 273|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_3_SIGNAL_13 : 279|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_3_SIGNAL_14 : 281|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_3_SIGNAL_15 : 289|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_3_SIGNAL_16 : 290|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_3_SIGNAL_17 : 292|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ POINT_3_SIGNAL_18 : 295|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_3_SIGNAL_19 : 301|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ POINT_3_SIGNAL_20 : 309|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_4_DISTANCE : 310|14@1+ (0.015625,0) [0|255.984375] "" XXX
|
||||
SG_ POINT_4_SIGNAL_2 : 324|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_4_SIGNAL_3 : 326|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_4_REL_VELOCITY : 334|13@1+ (0.03125,-66) [-66|189.96875] "" XXX
|
||||
SG_ POINT_4_SIGNAL_5 : 347|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_4_SIGNAL_6 : 349|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_4_AZIMUTH : 351|12@1+ (0.001953125,-3.998046875) [-3.998046875|4.0] "" XXX
|
||||
SG_ POINT_4_SIGNAL_8 : 363|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_4_SIGNAL_9 : 365|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_4_SIGNAL_10 : 366|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ POINT_4_SIGNAL_11 : 373|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_4_SIGNAL_12 : 374|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_4_SIGNAL_13 : 380|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_4_SIGNAL_14 : 382|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_4_SIGNAL_15 : 390|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_4_SIGNAL_16 : 391|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_4_SIGNAL_17 : 393|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ POINT_4_SIGNAL_18 : 396|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_4_SIGNAL_19 : 402|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ POINT_4_SIGNAL_20 : 410|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_5_DISTANCE : 411|14@1+ (0.015625,0) [0|255.984375] "" XXX
|
||||
SG_ POINT_5_SIGNAL_2 : 425|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_5_SIGNAL_3 : 427|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_5_REL_VELOCITY : 435|13@1+ (0.03125,-66) [-66|189.96875] "" XXX
|
||||
SG_ POINT_5_SIGNAL_5 : 448|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_5_SIGNAL_6 : 450|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_5_AZIMUTH : 452|12@1+ (0.001953125,-3.998046875) [-3.998046875|4.0] "" XXX
|
||||
SG_ POINT_5_SIGNAL_8 : 464|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_5_SIGNAL_9 : 466|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_5_SIGNAL_10 : 467|7@1+ (1,0) [0|127] "" XXX
|
||||
SG_ POINT_5_SIGNAL_11 : 474|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_5_SIGNAL_12 : 475|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_5_SIGNAL_13 : 481|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_5_SIGNAL_14 : 483|8@1+ (0.001953125,-0.248046875) [-0.248046875|0.25] "" XXX
|
||||
SG_ POINT_5_SIGNAL_15 : 491|1@1+ (1,0) [0|1] "" XXX
|
||||
SG_ POINT_5_SIGNAL_16 : 492|2@1+ (1,0) [0|3] "" XXX
|
||||
SG_ POINT_5_SIGNAL_17 : 494|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ POINT_5_SIGNAL_18 : 497|6@1+ (1,0) [0|63] "" XXX
|
||||
SG_ POINT_5_SIGNAL_19 : 503|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ POINT_5_SIGNAL_20 : 511|1@1+ (1,0) [0|1] "" XXX
|
||||
|
||||
BO_ 260 RADAR_POINTS_CHECKSUM_0x104: 3 RADAR
|
||||
SG_ CRC16 : 0|16@1+ (1,0) [0|65535] "" XXX
|
||||
|
||||
BO_ 516 RADAR_POINTS_CHECKSUM_0x204: 3 RADAR
|
||||
SG_ CRC16 : 0|16@1+ (1,0) [0|65535] "" XXX
|
||||
@@ -0,0 +1,422 @@
|
||||
|
||||
VERSION ""
|
||||
|
||||
|
||||
NS_ :
|
||||
NS_DESC_
|
||||
CM_
|
||||
BA_DEF_
|
||||
BA_
|
||||
VAL_
|
||||
CAT_DEF_
|
||||
CAT_
|
||||
FILTER
|
||||
BA_DEF_DEF_
|
||||
EV_DATA_
|
||||
ENVVAR_DATA_
|
||||
SGTYPE_
|
||||
SGTYPE_VAL_
|
||||
BA_DEF_SGTYPE_
|
||||
BA_SGTYPE_
|
||||
SIG_TYPE_REF_
|
||||
VAL_TABLE_
|
||||
SIG_GROUP_
|
||||
SIG_VALTYPE_
|
||||
SIGTYPE_VALTYPE_
|
||||
BO_TX_BU_
|
||||
BA_DEF_REL_
|
||||
BA_REL_
|
||||
BA_DEF_DEF_REL_
|
||||
BU_SG_REL_
|
||||
BU_EV_REL_
|
||||
BU_BO_REL_
|
||||
SG_MUL_VAL_
|
||||
|
||||
BS_:
|
||||
|
||||
BU_: XXX
|
||||
|
||||
BO_ 1280 RADAR_TRACK_500: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1281 RADAR_TRACK_501: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1282 RADAR_TRACK_502: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1283 RADAR_TRACK_503: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1284 RADAR_TRACK_504: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1285 RADAR_TRACK_505: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1286 RADAR_TRACK_506: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1287 RADAR_TRACK_507: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1288 RADAR_TRACK_508: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1289 RADAR_TRACK_509: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1290 RADAR_TRACK_50a: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1291 RADAR_TRACK_50b: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1292 RADAR_TRACK_50c: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1293 RADAR_TRACK_50d: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1294 RADAR_TRACK_50e: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1295 RADAR_TRACK_50f: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1296 RADAR_TRACK_510: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1297 RADAR_TRACK_511: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1298 RADAR_TRACK_512: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1299 RADAR_TRACK_513: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1300 RADAR_TRACK_514: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1301 RADAR_TRACK_515: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1302 RADAR_TRACK_516: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1303 RADAR_TRACK_517: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1304 RADAR_TRACK_518: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1305 RADAR_TRACK_519: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1306 RADAR_TRACK_51a: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1307 RADAR_TRACK_51b: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1308 RADAR_TRACK_51c: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1309 RADAR_TRACK_51d: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1310 RADAR_TRACK_51e: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1311 RADAR_TRACK_51f: 8 RADAR
|
||||
SG_ UNKNOWN_1 : 7|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 12|10@0- (0.2,0) [-102.4|102.2] "" XXX
|
||||
SG_ STATE : 15|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 18|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ REL_ACCEL : 33|10@0- (0.02,0) [-10.24|10.22] "" XXX
|
||||
SG_ ZEROS : 37|4@0+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 38|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ STATE_3 : 39|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
SG_ STATE_2 : 55|2@0+ (1,0) [0|3] "" XXX
|
||||
|
||||
@@ -0,0 +1,358 @@
|
||||
|
||||
VERSION ""
|
||||
|
||||
|
||||
NS_ :
|
||||
NS_DESC_
|
||||
CM_
|
||||
BA_DEF_
|
||||
BA_
|
||||
VAL_
|
||||
CAT_DEF_
|
||||
CAT_
|
||||
FILTER
|
||||
BA_DEF_DEF_
|
||||
EV_DATA_
|
||||
ENVVAR_DATA_
|
||||
SGTYPE_
|
||||
SGTYPE_VAL_
|
||||
BA_DEF_SGTYPE_
|
||||
BA_SGTYPE_
|
||||
SIG_TYPE_REF_
|
||||
VAL_TABLE_
|
||||
SIG_GROUP_
|
||||
SIG_VALTYPE_
|
||||
SIGTYPE_VALTYPE_
|
||||
BO_TX_BU_
|
||||
BA_DEF_REL_
|
||||
BA_REL_
|
||||
BA_DEF_DEF_REL_
|
||||
BU_SG_REL_
|
||||
BU_EV_REL_
|
||||
BU_BO_REL_
|
||||
SG_MUL_VAL_
|
||||
|
||||
BS_:
|
||||
|
||||
BU_: XXX
|
||||
|
||||
BO_ 1280 RADAR_TRACK_500: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1281 RADAR_TRACK_501: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1282 RADAR_TRACK_502: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1283 RADAR_TRACK_503: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1284 RADAR_TRACK_504: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1285 RADAR_TRACK_505: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1286 RADAR_TRACK_506: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1287 RADAR_TRACK_507: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1288 RADAR_TRACK_508: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1289 RADAR_TRACK_509: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1290 RADAR_TRACK_50a: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1291 RADAR_TRACK_50b: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1292 RADAR_TRACK_50c: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1293 RADAR_TRACK_50d: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1294 RADAR_TRACK_50e: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1295 RADAR_TRACK_50f: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1296 RADAR_TRACK_510: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1297 RADAR_TRACK_511: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1298 RADAR_TRACK_512: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1299 RADAR_TRACK_513: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1300 RADAR_TRACK_514: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1301 RADAR_TRACK_515: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1302 RADAR_TRACK_516: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1303 RADAR_TRACK_517: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1304 RADAR_TRACK_518: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1305 RADAR_TRACK_519: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1306 RADAR_TRACK_51a: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1307 RADAR_TRACK_51b: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1308 RADAR_TRACK_51c: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1309 RADAR_TRACK_51d: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1310 RADAR_TRACK_51e: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
BO_ 1311 RADAR_TRACK_51f: 8 RADAR
|
||||
SG_ CHECKSUM : 0|8@1+ (1,0) [0|255] "" XXX
|
||||
SG_ COUNTER : 11|4@0+ (1,0) [0|15] "" XXX
|
||||
SG_ UNKNOWN_1 : 23|8@0- (1,0) [-128|127] "" XXX
|
||||
SG_ AZIMUTH : 28|10@0- (0.1,0) [-61.2|62.1] "" XXX
|
||||
SG_ STATE : 31|3@0+ (1,0) [0|7] "" XXX
|
||||
SG_ LONG_DIST : 34|11@0+ (0.1,0) [0|204.7] "" XXX
|
||||
SG_ STATE_2 : 55|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ REL_SPEED : 53|14@0- (0.01,0) [-81.92|81.92] "" XXX
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -564,7 +564,7 @@ BO_ 416 SCC_CONTROL: 32 ADRV
|
||||
SG_ VSetDis : 103|8@0+ (1,0) [0|255] "km/h or mph" XXX
|
||||
SG_ NEW_SIGNAL_6 : 104|1@0+ (1,0) [0|1] "" XXX
|
||||
SG_ SET_ME_2 : 105|3@1+ (1,0) [0|7] "" XXX
|
||||
SG_ NEW_SIGNAL_3 : 109|2@0+ (1,0) [0|1] "" XXX
|
||||
SG_ SCC_ObjSta : 108|3@1+ (1,0) [0|7] "" CLU,CGW
|
||||
SG_ ZEROS_10 : 111|2@0+ (1,0) [0|3] "" XXX
|
||||
SG_ ZEROS_6 : 119|16@0+ (1,0) [0|65535] "" XXX
|
||||
SG_ aReqValue : 128|11@1+ (0.01,-10.23) [-10.23|10.24] "m/s^2" XXX
|
||||
@@ -964,6 +964,7 @@ CM_ SG_ 437 Info_RtLnHdingAnglVal "This signal outputs the heading angle of righ
|
||||
CM_ SG_ 437 Info_RtLnCvtrVal "This signal outputs the curvature of right line.";
|
||||
CM_ SG_ 437 ID_CIPV "Valid Object = 1 to 255 - ID detected by front camera can vary depending on vehicle environment. - Additional logic would be required to apply this signal for ISG.";
|
||||
CM_ SG_ 437 Relative_Velocity "+ : Preceding, - : Oncoming - Velocity detected by front camera can vary depending on vehicle environment. - Additional logic would be required to apply this signal for ISG. - Confirmaiton by Autonomous Driving Engineering Team is required to use ID_C";
|
||||
CM_ SG_ 416 SCC_ObjSta "state of in-path object and information of controllable state.";
|
||||
CM_ SG_ 480 NEW_SIGNAL_5 "todo: figure out why always set to 1";
|
||||
CM_ BO_ 506 "Sent by the camera containing speed limit information. ISLW stands for Intelligent Speed Limit Warning, and ISLA is Intelligent Speed Limit Assist. it also contains road sign information.";
|
||||
CM_ SG_ 506 FR_CMR_Crc2Val "The data area for CRC calculation is based on the data length (DLC) of the message DB.The CRC shall be calculated over the entire data block (excluding the CRC bytes) including the user data, alive counter and Data ID - CRC Polynomial (0x1021) , In";
|
||||
@@ -1141,6 +1142,7 @@ VAL_ 354 FAULT_ESS 0 "HIDDEN" 1 "CHECK_EMERGENCY_STOPPING_FUNCTION" 2 "EMERGENCY
|
||||
VAL_ 362 BLINKER_CONTROL 1 "hazards" 2 "hazards button backlight" 3 "left blinkers" 4 "right blinkers";
|
||||
VAL_ 373 ACCEnable 0 "SCC ready" 1 "SCC temp fault" 2 "SCC permanent fault" 3 "SCC permanent fault, communication issue";
|
||||
VAL_ 416 ACCMode 0 "off" 1 "enabled" 2 "driver_override" 3 "off_maybe_fault" 4 "cancelled";
|
||||
VAL_ 416 SCC_ObjSta 0 "No in-path object detected" 1 "In-path object detected (uncontrollable)" 2 "In-path object detected (controllable:longitudinal)" 3 "Reserved" 4 "Reserved" 5 "Reserved" 6 "Reserved" 7 "Reserved";
|
||||
VAL_ 426 CRUISE_BUTTONS 0 "none" 1 "res_accel" 2 "set_decel" 3 "gap_distance" 4 "pause_resume";
|
||||
VAL_ 437 Info_LftLnQualSta 0 "Very Low Quality" 1 "Low Quality" 2 "High Quality" 3 "Very High Quality" 4 "Reserved" 5 "Reserved" 6 "Reserved" 7 "Error indicator";
|
||||
VAL_ 437 Info_LftLnDptSta 0 "No Left Line Departure" 1 "Left Line Departure" 2 "Reserved" 3 "Error Indicator";
|
||||
|
||||
@@ -1480,6 +1480,7 @@ BO_ 905 SCC14: 8 SCC
|
||||
SG_ JerkLowerLimit : 19|7@1+ (0.1,0) [0|12.7] "m/s^3" ESC
|
||||
SG_ ACCMode : 32|3@1+ (1,0) [0|7] "" CLU,HUD,LDWS_LKAS,ESC
|
||||
SG_ ObjGap : 56|8@1+ (1,0) [0|255] "" CLU,HUD,ESC
|
||||
SG_ ObjDistStat : 42|2@1+ (1,0) [0|3] "" XXX
|
||||
|
||||
BO_ 1157 LFAHDA_MFC: 4 XXX
|
||||
SG_ HDA_USM : 0|2@1+ (1,0) [0|3] "" XXX
|
||||
@@ -1685,6 +1686,7 @@ VAL_ 871 CF_Lvr_IsgState 0 "enabled" 1 "activated" 2 "unknown" 3 "disabled";
|
||||
VAL_ 871 CF_Lvr_Gear 12 "T" 5 "D" 8 "S" 6 "N" 7 "R" 0 "P";
|
||||
VAL_ 882 Elect_Gear_Shifter 4 "S" 5 "D" 8 "S" 6 "N" 7 "R" 0 "P";
|
||||
VAL_ 905 ACCMode 0 "off" 1 "enabled" 2 "driver_override" 3 "off_maybe_fault" 4 "cancelled";
|
||||
VAL_ 905 ObjDistStat 0 "no_object" 1 "receding" 2 "approaching";
|
||||
VAL_ 909 CF_VSM_Warn 2 "FCW" 3 "AEB";
|
||||
VAL_ 916 ACCEnable 0 "SCC ready" 1 "SCC temp fault" 2 "SCC permanent fault" 3 "SCC permanent fault, communication issue";
|
||||
VAL_ 1056 SCCInfoDisplay 0 "No Message" 2 "Cruise Control" 3 "Lost Lead" 4 "Standstill";
|
||||
|
||||
@@ -13,12 +13,6 @@
|
||||
{.msg = {{0x1C4, 0, 8, 10U, .ignore_checksum = true, .ignore_counter = true, .ignore_quality_flag = true}, { 0 }, { 0 }}}, \
|
||||
{.msg = {{0xC9, 0, 8, 10U, .ignore_checksum = true, .ignore_counter = true, .ignore_quality_flag = true}, { 0 }, { 0 }}}, \
|
||||
|
||||
#define GM_EV_COMMON_ADDR_CHECK \
|
||||
{.msg = {{0xBD, 0, 7, 40U, .ignore_checksum = true, .ignore_counter = true, .ignore_quality_flag = true}, { 0 }, { 0 }}}, \
|
||||
|
||||
#define GM_NON_ACC_ADDR_CHECK \
|
||||
{.msg = {{0x3D1, 0, 8, 10U, .ignore_checksum = true, .ignore_counter = true, .ignore_quality_flag = true}, { 0 }, { 0 }}}, \
|
||||
|
||||
static const LongitudinalLimits *gm_long_limits;
|
||||
|
||||
enum {
|
||||
@@ -99,11 +93,6 @@ static void gm_rx_hook(const CANPacket_t *msg) {
|
||||
if (msg->addr == 0xC9U) {
|
||||
acc_main_on = GET_BIT(msg, 29U);
|
||||
}
|
||||
|
||||
if (msg->addr == 0x3D1U) {
|
||||
bool cruise_engaged = GET_BIT(msg, 39U);
|
||||
pcm_cruise_check(cruise_engaged);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -207,18 +196,7 @@ static safety_config gm_init(uint16_t param) {
|
||||
|
||||
static RxCheck gm_ev_rx_checks[] = {
|
||||
GM_COMMON_RX_CHECKS
|
||||
GM_EV_COMMON_ADDR_CHECK
|
||||
};
|
||||
|
||||
static RxCheck gm_non_acc_rx_checks[] = {
|
||||
GM_COMMON_RX_CHECKS
|
||||
GM_NON_ACC_ADDR_CHECK
|
||||
};
|
||||
|
||||
static RxCheck gm_non_acc_ev_rx_checks[] = {
|
||||
GM_COMMON_RX_CHECKS
|
||||
GM_EV_COMMON_ADDR_CHECK
|
||||
GM_NON_ACC_ADDR_CHECK
|
||||
{.msg = {{0xBD, 0, 7, 40U, .ignore_checksum = true, .ignore_counter = true, .ignore_quality_flag = true}, { 0 }, { 0 }}},
|
||||
};
|
||||
|
||||
static const CanMsg GM_CAM_TX_MSGS[] = {{0x180, 0, 4, .check_relay = true}, // pt bus
|
||||
@@ -241,9 +219,6 @@ static safety_config gm_init(uint16_t param) {
|
||||
#endif
|
||||
gm_pcm_cruise = (gm_hw == GM_CAM) && !gm_cam_long;
|
||||
|
||||
const uint16_t GM_PARAM_SP_NON_ACC = 1;
|
||||
bool gm_non_acc = GET_FLAG(current_safety_param_sp, GM_PARAM_SP_NON_ACC);
|
||||
|
||||
safety_config ret;
|
||||
if (gm_hw == GM_CAM) {
|
||||
// FIXME: cppcheck thinks that gm_cam_long is always false. This is not true
|
||||
@@ -259,14 +234,6 @@ static safety_config gm_init(uint16_t param) {
|
||||
SET_RX_CHECKS(gm_ev_rx_checks, ret);
|
||||
}
|
||||
|
||||
if (gm_non_acc) {
|
||||
if (gm_ev) {
|
||||
SET_RX_CHECKS(gm_non_acc_ev_rx_checks, ret);
|
||||
} else {
|
||||
SET_RX_CHECKS(gm_non_acc_rx_checks, ret);
|
||||
}
|
||||
}
|
||||
|
||||
// ASCM does not forward any messages
|
||||
if (gm_hw == GM_ASCM) {
|
||||
ret.disable_forwarding = true;
|
||||
|
||||
@@ -888,8 +888,7 @@ class PandaSafetyTest(PandaSafetyTestBase):
|
||||
if {attr, current_test}.issubset({'TestVolkswagenPqSafety', 'TestVolkswagenPqStockSafety', 'TestVolkswagenPqLongSafety'}):
|
||||
continue
|
||||
if {attr, current_test}.issubset({'TestGmCameraSafety', 'TestGmCameraLongitudinalSafety', 'TestGmAscmSafety',
|
||||
'TestGmCameraEVSafety', 'TestGmCameraLongitudinalEVSafety', 'TestGmAscmEVSafety',
|
||||
'TestGmAscmNonACCSafety', 'TestGmAscmEVNonACCSafety'}):
|
||||
'TestGmCameraEVSafety', 'TestGmCameraLongitudinalEVSafety', 'TestGmAscmEVSafety'}):
|
||||
continue
|
||||
if attr.startswith('TestFord') and current_test.startswith('TestFord'):
|
||||
continue
|
||||
|
||||
@@ -7,8 +7,6 @@ from opendbc.safety.tests.libsafety import libsafety_py
|
||||
import opendbc.safety.tests.common as common
|
||||
from opendbc.safety.tests.common import CANPackerPanda
|
||||
|
||||
from opendbc.sunnypilot.car.gm.values_ext import GMSafetyFlagsSP
|
||||
|
||||
|
||||
class Buttons:
|
||||
UNPRESS = 1
|
||||
@@ -230,24 +228,5 @@ class TestGmCameraLongitudinalEVSafety(TestGmCameraLongitudinalSafety, TestGmEVS
|
||||
pass
|
||||
|
||||
|
||||
class TestGmAscmNonACCSafety(TestGmAscmSafety):
|
||||
|
||||
def setUp(self):
|
||||
self.packer = CANPackerPanda("gm_global_a_powertrain_generated")
|
||||
self.packer_chassis = CANPackerPanda("gm_global_a_chassis")
|
||||
self.safety = libsafety_py.libsafety
|
||||
self.safety.set_current_safety_param_sp(GMSafetyFlagsSP.NON_ACC)
|
||||
self.safety.set_safety_hooks(CarParams.SafetyModel.gm, self.EXTRA_SAFETY_PARAM)
|
||||
self.safety.init_tests()
|
||||
|
||||
def _pcm_status_msg(self, enable):
|
||||
values = {"CruiseActive": enable}
|
||||
return self.packer.make_can_msg_panda("ECMCruiseControl", 0, values)
|
||||
|
||||
|
||||
class TestGmAscmEVNonACCSafety(TestGmAscmNonACCSafety, TestGmEVSafetyBase):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
@@ -5,7 +5,56 @@ This file is part of sunnypilot and is licensed under the MIT License.
|
||||
See the LICENSE.md file in the root directory for more details.
|
||||
"""
|
||||
from opendbc.car import structs
|
||||
import json
|
||||
ParamType = structs.CarControlSP.ParamType
|
||||
|
||||
|
||||
def get_param(params: list[structs.CarControlSP.Param], key: str, default_key: str = None) -> str | None:
|
||||
return next((p.value for p in params if p.key == key), default_key)
|
||||
def get_param_object(params: list[structs.CarControlSP.Param], key: str) -> structs.CarControlSP.Param | None:
|
||||
return next((param for param in params if param.key == key), None)
|
||||
|
||||
|
||||
def get_param(params: list[structs.CarControlSP.Param], key: str, default_value = None) -> bytes | str | int | float | bool | dict:
|
||||
if (param := get_param_object(params, key)) is None:
|
||||
return default_value
|
||||
|
||||
param_value = _get_param_as_type(param)
|
||||
if not isinstance(param_value, type(default_value)) and default_value is not None:
|
||||
raise ValueError(f"Param {key} has type {type(param_value)}, but we expected {type(default_value)} based on the default value")
|
||||
|
||||
return param_value
|
||||
|
||||
|
||||
def _get_param_as_type(param: structs.CarControlSP.Param, *, _forced_param_type: ParamType = None) -> bytes | str | int | float | bool | dict:
|
||||
"""
|
||||
Convert a Param to its value in the right type
|
||||
:param param: The Param to convert.
|
||||
:param _forced_param_type: (Only for easy sync, will be remove in the future) If given, it will be used instead of the param's own type.
|
||||
Must be explicitly passed as a keyword argument.
|
||||
"""
|
||||
return _convert_param_to_type(param.value, _forced_param_type or param.type)
|
||||
|
||||
|
||||
def _convert_param_to_type(value: bytes, param_type: ParamType) -> bytes | str | int | float | bool | dict:
|
||||
"""
|
||||
Convert a byte value to the specified param type. Used internally when getting a Param to convert it to the right type.
|
||||
If this method looks familiar, it's because on SP we have a similar one in sunnylink/utils.py.
|
||||
"""
|
||||
|
||||
# We convert to string anything that isn't bytes first. We later transform further.
|
||||
if param_type != ParamType.bytes:
|
||||
value = value.decode('utf-8') # type: ignore
|
||||
|
||||
if param_type == ParamType.string:
|
||||
value = value
|
||||
elif param_type == ParamType.bool:
|
||||
value = value.lower() in ('true', '1', 'yes') # type: ignore
|
||||
elif param_type == ParamType.int:
|
||||
value = int(value) # type: ignore
|
||||
elif param_type == ParamType.float:
|
||||
value = float(value) # type: ignore
|
||||
elif param_type == ParamType.time:
|
||||
value = str(value) # type: ignore
|
||||
elif param_type == ParamType.json:
|
||||
value = json.loads(value)
|
||||
|
||||
return value
|
||||
|
||||
@@ -140,17 +140,6 @@
|
||||
],
|
||||
"package": "Driver Confidence Package 2"
|
||||
},
|
||||
"Cadillac CT6 Non-ACC 2017-18": {
|
||||
"platform": "CADILLAC_CT6_NON_ACC_1ST_GEN",
|
||||
"make": "Cadillac",
|
||||
"brand": "gm",
|
||||
"model": "CT6 Non-ACC",
|
||||
"year": [
|
||||
"2017",
|
||||
"2018"
|
||||
],
|
||||
"package": "Adaptive Cruise Control (ACC)"
|
||||
},
|
||||
"Cadillac Escalade 2017": {
|
||||
"platform": "CADILLAC_ESCALADE",
|
||||
"make": "Cadillac",
|
||||
@@ -191,16 +180,6 @@
|
||||
],
|
||||
"package": "Driver Assist Package"
|
||||
},
|
||||
"Cadillac XT5 Non-ACC 2018": {
|
||||
"platform": "CADILLAC_XT5_NON_ACC_1ST_GEN",
|
||||
"make": "Cadillac",
|
||||
"brand": "gm",
|
||||
"model": "XT5 Non-ACC",
|
||||
"year": [
|
||||
"2018"
|
||||
],
|
||||
"package": "Adaptive Cruise Control (ACC)"
|
||||
},
|
||||
"Chevrolet Bolt EUV 2022-23": {
|
||||
"platform": "CHEVROLET_BOLT_EUV",
|
||||
"make": "Chevrolet",
|
||||
@@ -212,17 +191,6 @@
|
||||
],
|
||||
"package": "Premier or Premier Redline Trim without Super Cruise Package"
|
||||
},
|
||||
"Chevrolet Bolt EUV LT Non-ACC 2022-23": {
|
||||
"platform": "CHEVROLET_BOLT_NON_ACC_2ND_GEN",
|
||||
"make": "Chevrolet",
|
||||
"brand": "gm",
|
||||
"model": "Bolt EUV LT Non-ACC",
|
||||
"year": [
|
||||
"2022",
|
||||
"2023"
|
||||
],
|
||||
"package": "Adaptive Cruise Control (ACC)"
|
||||
},
|
||||
"Chevrolet Bolt EV 2022-23": {
|
||||
"platform": "CHEVROLET_BOLT_EUV",
|
||||
"make": "Chevrolet",
|
||||
@@ -234,40 +202,6 @@
|
||||
],
|
||||
"package": "2LT Trim with Adaptive Cruise Control Package"
|
||||
},
|
||||
"Chevrolet Bolt EV LT Non-ACC 2022-23": {
|
||||
"platform": "CHEVROLET_BOLT_NON_ACC_2ND_GEN",
|
||||
"make": "Chevrolet",
|
||||
"brand": "gm",
|
||||
"model": "Bolt EV LT Non-ACC",
|
||||
"year": [
|
||||
"2022",
|
||||
"2023"
|
||||
],
|
||||
"package": "Adaptive Cruise Control (ACC)"
|
||||
},
|
||||
"Chevrolet Bolt EV Non-ACC 2017": {
|
||||
"platform": "CHEVROLET_BOLT_NON_ACC",
|
||||
"make": "Chevrolet",
|
||||
"brand": "gm",
|
||||
"model": "Bolt EV Non-ACC",
|
||||
"year": [
|
||||
"2017"
|
||||
],
|
||||
"package": "Adaptive Cruise Control (ACC)"
|
||||
},
|
||||
"Chevrolet Bolt EV Non-ACC 2018-21": {
|
||||
"platform": "CHEVROLET_BOLT_NON_ACC_1ST_GEN",
|
||||
"make": "Chevrolet",
|
||||
"brand": "gm",
|
||||
"model": "Bolt EV Non-ACC",
|
||||
"year": [
|
||||
"2018",
|
||||
"2019",
|
||||
"2020",
|
||||
"2021"
|
||||
],
|
||||
"package": "Adaptive Cruise Control (ACC)"
|
||||
},
|
||||
"Chevrolet Equinox 2019-22": {
|
||||
"platform": "CHEVROLET_EQUINOX",
|
||||
"make": "Chevrolet",
|
||||
@@ -281,36 +215,6 @@
|
||||
],
|
||||
"package": "Adaptive Cruise Control (ACC)"
|
||||
},
|
||||
"Chevrolet Equinox Non-ACC 2019-22": {
|
||||
"platform": "CHEVROLET_EQUINOX_NON_ACC_3RD_GEN",
|
||||
"make": "Chevrolet",
|
||||
"brand": "gm",
|
||||
"model": "Equinox Non-ACC",
|
||||
"year": [
|
||||
"2019",
|
||||
"2020",
|
||||
"2021",
|
||||
"2022"
|
||||
],
|
||||
"package": "Adaptive Cruise Control (ACC)"
|
||||
},
|
||||
"Chevrolet Malibu Non-ACC 2016-23": {
|
||||
"platform": "CHEVROLET_MALIBU_NON_ACC_9TH_GEN",
|
||||
"make": "Chevrolet",
|
||||
"brand": "gm",
|
||||
"model": "Malibu Non-ACC",
|
||||
"year": [
|
||||
"2016",
|
||||
"2017",
|
||||
"2018",
|
||||
"2019",
|
||||
"2020",
|
||||
"2021",
|
||||
"2022",
|
||||
"2023"
|
||||
],
|
||||
"package": "Adaptive Cruise Control (ACC)"
|
||||
},
|
||||
"Chevrolet Silverado 1500 2020-21": {
|
||||
"platform": "CHEVROLET_SILVERADO",
|
||||
"make": "Chevrolet",
|
||||
@@ -322,20 +226,6 @@
|
||||
],
|
||||
"package": "Safety Package II"
|
||||
},
|
||||
"Chevrolet Suburban Non-ACC 2016-20": {
|
||||
"platform": "CHEVROLET_SUBURBAN_NON_ACC_11TH_GEN",
|
||||
"make": "Chevrolet",
|
||||
"brand": "gm",
|
||||
"model": "Suburban Non-ACC",
|
||||
"year": [
|
||||
"2016",
|
||||
"2017",
|
||||
"2018",
|
||||
"2019",
|
||||
"2020"
|
||||
],
|
||||
"package": "Adaptive Cruise Control (ACC)"
|
||||
},
|
||||
"Chevrolet Trailblazer 2021-22": {
|
||||
"platform": "CHEVROLET_TRAILBLAZER",
|
||||
"make": "Chevrolet",
|
||||
@@ -347,17 +237,6 @@
|
||||
],
|
||||
"package": "Adaptive Cruise Control (ACC)"
|
||||
},
|
||||
"Chevrolet Trailblazer Non-ACC 2021-22": {
|
||||
"platform": "CHEVROLET_TRAILBLAZER_NON_ACC_2ND_GEN",
|
||||
"make": "Chevrolet",
|
||||
"brand": "gm",
|
||||
"model": "Trailblazer Non-ACC",
|
||||
"year": [
|
||||
"2021",
|
||||
"2022"
|
||||
],
|
||||
"package": "Adaptive Cruise Control (ACC)"
|
||||
},
|
||||
"Chevrolet Traverse 2022-23": {
|
||||
"platform": "CHEVROLET_TRAVERSE",
|
||||
"make": "Chevrolet",
|
||||
@@ -959,17 +838,6 @@
|
||||
],
|
||||
"package": "Driver Alert Package II"
|
||||
},
|
||||
"GMC Yukon 2019-20": {
|
||||
"platform": "GMC_YUKON",
|
||||
"make": "GMC",
|
||||
"brand": "gm",
|
||||
"model": "Yukon",
|
||||
"year": [
|
||||
"2019",
|
||||
"2020"
|
||||
],
|
||||
"package": "Adaptive Cruise Control (ACC) & LKAS"
|
||||
},
|
||||
"Honda Accord 2018-22": {
|
||||
"platform": "HONDA_ACCORD",
|
||||
"make": "Honda",
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
"""
|
||||
Copyright (c) 2021-, Haibin Wen, sunnypilot, and a number of other contributors.
|
||||
|
||||
This file is part of sunnypilot and is licensed under the MIT License.
|
||||
See the LICENSE.md file in the root directory for more details.
|
||||
"""
|
||||
|
||||
|
||||
def merge_fingerprints(fingerprints, new_fingerprints):
|
||||
"""
|
||||
Merge fingerprints by extending lists for matching keys,
|
||||
adding all entries regardless of duplicates.
|
||||
"""
|
||||
for car, fp_list in new_fingerprints.items():
|
||||
if car not in fingerprints:
|
||||
fingerprints[car] = fp_list
|
||||
else:
|
||||
fingerprints[car].extend(fp_list)
|
||||
|
||||
return fingerprints
|
||||
@@ -1,26 +0,0 @@
|
||||
"""
|
||||
Copyright (c) 2021-, Haibin Wen, sunnypilot, and a number of other contributors.
|
||||
|
||||
This file is part of sunnypilot and is licensed under the MIT License.
|
||||
See the LICENSE.md file in the root directory for more details.
|
||||
"""
|
||||
from enum import StrEnum
|
||||
|
||||
from opendbc.car import Bus, structs
|
||||
from opendbc.car.common.conversions import Conversions as CV
|
||||
from opendbc.can.parser import CANParser
|
||||
from opendbc.sunnypilot.car.gm.values_ext import GMFlagsSP
|
||||
|
||||
|
||||
class CarStateExt:
|
||||
def __init__(self, CP, CP_SP):
|
||||
self.CP = CP
|
||||
self.CP_SP = CP_SP
|
||||
|
||||
def update(self, ret: structs.CarState, can_parsers: dict[StrEnum, CANParser]) -> None:
|
||||
pt_cp = can_parsers[Bus.pt]
|
||||
|
||||
if self.CP_SP.flags & GMFlagsSP.NON_ACC:
|
||||
ret.cruiseState.enabled = pt_cp.vl["ECMCruiseControl"]["CruiseActive"] != 0
|
||||
ret.cruiseState.speed = pt_cp.vl["ECMCruiseControl"]["CruiseSetSpeed"] * CV.KPH_TO_MS
|
||||
ret.accFaulted = False
|
||||
@@ -1,121 +0,0 @@
|
||||
"""
|
||||
Copyright (c) 2021-, Haibin Wen, sunnypilot, and a number of other contributors.
|
||||
|
||||
This file is part of sunnypilot and is licensed under the MIT License.
|
||||
See the LICENSE.md file in the root directory for more details.
|
||||
"""
|
||||
# ruff: noqa: E501
|
||||
from opendbc.car.gm.values import CAR
|
||||
|
||||
FINGERPRINTS_EXT = {
|
||||
CAR.CHEVROLET_VOLT: [{
|
||||
189: 7, 190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 298: 8, 304: 1, 308: 4, 309: 8, 311: 8, 313: 8, 320: 3, 328: 1, 352: 5, 381: 6, 386: 8, 388: 8, 451: 8, 452: 8, 453: 6, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 497: 8, 500: 6, 501: 8, 513: 6, 528: 4, 532: 6, 560: 8, 562: 8, 563: 5, 565: 5, 566: 5, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 707: 8, 761: 7, 810: 8, 840: 5, 842: 5, 844: 8, 977: 8, 1001: 8, 1017: 8, 1020: 8, 1217: 8, 1221: 5, 1233: 8, 1249: 8, 1265: 8, 1267: 1, 1280: 4, 1300: 8, 1922: 7
|
||||
}],
|
||||
# FIXME-SP: Need a message to distinguish flashed from non-flashed
|
||||
# CAR.CHEVROLET_VOLT_CC: [
|
||||
# Volt Premier w/o acc 2016
|
||||
# {
|
||||
# 170: 8, 171: 8, 189: 7, 190: 6, 192: 5, 193: 8, 197: 8, 199: 4, 201: 6, 209: 7, 211: 2, 241: 6, 288: 5, 289: 1, 290: 1, 298: 2, 304: 8, 308: 4, 309: 8, 311: 8, 313: 8, 320: 8, 328: 1, 352: 5, 368: 8, 381: 6, 384: 8, 386: 5, 388: 8, 389: 2, 390: 7, 417: 7, 419: 1, 426: 7, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 458: 8, 479: 3, 481: 7, 485: 8, 489: 5, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 3, 508: 8, 512: 3, 528: 4, 530: 8, 532: 6, 537: 4, 539: 8, 542: 7, 546: 7, 550: 8, 554: 3, 558: 8, 560: 6, 562: 8, 563: 5, 564: 5, 565: 8, 566: 5, 567: 3, 568: 1, 577: 8, 578: 8, 594: 8, 647: 3, 707: 8, 711: 6, 717: 5, 761: 7, 800: 6, 810: 8, 821: 4, 823: 7, 832: 8, 840: 5, 842: 6, 844: 8, 866: 4, 869: 4, 961: 8, 969: 8, 977: 8, 979: 7, 988: 6, 989: 8, 995: 7, 1001: 5, 1003: 5, 1005: 6, 1009: 8, 1017: 8, 1019: 2, 1020: 8, 1033: 7, 1034: 7, 1105: 6, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1249: 8, 1257: 6, 1265: 8, 1267: 1, 1273: 3, 1275: 3, 1280: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1417: 8, 1601: 8, 1602: 8, 1618: 8, 1906: 7, 1907: 7, 1910: 7, 1912: 7, 1922: 7, 1927: 7, 1928: 7, 1930: 7, 2016: 8, 2017: 8, 2018: 8, 2019: 8, 2020: 8, 2024: 8, 2025: 8, 2028: 8
|
||||
# },
|
||||
# {
|
||||
# 201: 8, 493: 8, 495: 4, 193: 8, 197: 8, 209: 7, 171: 8, 456: 8, 199: 4, 489: 8, 211: 2, 499: 3, 390: 7, 532: 6, 568: 1, 761: 7, 381: 6, 485: 8, 189: 7, 479: 3, 711: 6, 501: 8, 241: 6, 717: 5, 869: 4, 389: 2, 454: 8, 170: 8, 190: 6, 497: 8, 417: 7, 419: 1, 426: 7, 451: 8, 452: 8, 453: 6, 500: 6, 508: 8, 528: 4, 647: 3, 1105: 6, 1005: 6, 481: 7, 844: 8, 866: 4, 564: 5, 969: 8, 388: 8, 352: 5, 562: 8, 961: 8, 386: 8, 707: 8, 977: 8, 979: 7, 298: 8, 840: 5, 842: 5, 988: 6, 1001: 8, 560: 8, 546: 7, 558: 8, 309: 8, 995: 7, 311: 8, 566: 5, 567:3, 989: 8, 384: 4, 800: 6, 1033: 7, 1034: 7, 313: 8, 554: 3, 810: 8, 1017: 8, 1019: 2, 1020: 8, 1217: 8, 1223: 3, 1233: 8, 1227: 4, 1417: 8, 1009: 8, 1221: 5, 1275: 3, 1225: 7, 289: 8, 550: 8, 1273: 3, 1928: 7, 1187: 4, 1265: 8, 1927: 7, 1267: 1, 1906: 7, 288: 5, 304: 1, 328: 1, 1912: 7, 320: 3, 1910: 7, 563: 5, 1249: 8, 1930: 7, 1257: 6, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 565: 5, 1280: 4, 1907: 7
|
||||
# },
|
||||
# # Volt Premier w/o ACC 2018 + Pedal
|
||||
# {
|
||||
# 189: 7, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 288: 5, 298: 8, 304: 1, 308: 4, 309: 8, 311: 8, 313: 8, 320: 3, 328: 1, 352: 5, 381: 6, 384: 4, 386: 8, 388: 8, 451: 8, 452: 8, 453: 6, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 497: 8, 500: 6, 501: 8, 513: 6, 528: 4, 532: 6, 560: 8, 562: 8, 563: 5, 565: 5, 566: 5, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 707: 8, 717: 5, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 869: 4, 977: 8, 1001: 8, 1017: 8, 1020: 8, 1033: 7, 1034: 7, 1217: 8, 1221: 5, 1233: 8, 1249: 8, 1265: 8, 1267: 1, 1280: 4, 1300: 8, 1922: 7, 1930: 7
|
||||
# }
|
||||
# ],
|
||||
CAR.CHEVROLET_BOLT_NON_ACC: [
|
||||
# Bolt Premier w/o ACC 2017
|
||||
{
|
||||
170: 8, 188: 8, 189: 7, 190: 6, 192: 5, 193: 8, 197: 8, 201: 6, 209: 7, 211: 2, 241: 6, 289: 1, 290: 1, 298: 8, 304: 8, 309: 8, 311: 8, 313: 8, 320: 8, 322: 7, 328: 1, 352: 5, 353: 3, 368: 8, 381: 6, 384: 8, 386: 8, 388: 8, 390: 7, 407: 7, 417: 7, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 458: 8, 463: 3, 479: 3, 481: 7, 485: 8, 489: 5, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 1, 508: 8, 512: 3, 513: 6, 514: 2, 516: 4, 519: 2, 521: 3, 528: 5, 530: 8, 532: 7, 537: 5, 539: 8, 542: 7, 546: 7, 550: 8, 554: 3, 558: 8, 560: 6, 562: 4, 563: 5, 564: 5, 565: 8, 566: 6, 567: 5, 568: 1, 569: 3, 573: 1, 577: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 3, 707: 8, 711: 6, 717: 5, 753: 5, 761: 7, 800: 6, 810: 8, 832: 8, 840: 6, 842: 6, 844: 8, 866: 4, 869: 4, 872: 1, 961: 8, 967: 4, 969: 8, 977: 8, 979: 7, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 5, 1003: 5, 1005: 6, 1009: 8, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1105: 6, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1243: 3, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1280: 4, 1300: 8, 1322: 6, 1328: 4, 1601: 8, 1904: 7, 1905: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1927: 7, 2016: 8, 2020: 8, 2024: 8, 2028: 8
|
||||
},
|
||||
# Bolt EV Premier 2017
|
||||
{
|
||||
170: 8, 188: 8, 189: 7, 190: 6, 192: 5, 193: 8, 197: 8, 201: 6, 209: 7, 211: 2, 241: 6, 289: 1, 290: 1, 298: 8, 304: 8, 309: 8, 311: 8, 313: 8, 320: 8, 322: 7, 328: 1, 352: 5, 353: 3, 368: 8, 381: 6, 384: 8, 386: 8, 388: 8, 390: 7, 407: 7, 417: 7, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 458: 8, 463: 3, 479: 3, 481: 7, 485: 8, 489: 5, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 1, 508: 8, 513: 6, 512: 3, 514: 2, 516: 4, 519: 2, 521: 3, 528: 5, 530: 8, 532: 7, 537: 5, 539: 8, 542: 7, 546: 7, 550: 8, 554: 3, 558: 8, 560: 6, 562: 4, 563: 5, 564: 5, 565: 8, 566: 6, 567: 5, 568: 1, 569: 3, 573: 1, 577: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 3, 707: 8, 711: 6, 717: 5, 753: 5, 761: 7, 800: 6, 810: 8, 832: 8, 840: 6, 842: 6, 844: 8, 866: 4, 869: 4, 872: 1, 961: 8, 967: 4, 969: 8, 977: 8, 979: 7, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 5, 1003: 5, 1005: 6, 1009: 8, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1105: 6, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1243: 3, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1280: 4, 1300: 8, 1322: 6, 1328: 4, 1601: 8, 1904: 7, 1905: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1927: 7, 2016: 8, 2020: 8, 2024: 8, 2028: 8
|
||||
},
|
||||
# Bolt EV Premier 2017 w Pedal
|
||||
{
|
||||
170: 8, 188: 8, 189: 7, 190: 6, 192: 5, 193: 8, 197: 8, 201: 6, 209: 7, 211: 2, 241: 6, 289: 1, 290: 1, 298: 8, 304: 8, 309: 8, 311: 8, 313: 8, 320: 8, 322: 7, 328: 1, 352: 5, 353: 3, 368: 8, 381: 6, 384: 8, 386: 8, 388: 8, 390: 7, 407: 7, 417: 7, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 458: 8, 463: 3, 479: 3, 481: 7, 485: 8, 489: 5, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 1, 508: 8, 512: 3, 512: 6, 513: 6, 514: 2, 516: 4, 519: 2, 521: 3, 528: 5, 530: 8, 532: 7, 537: 5, 539: 8, 542: 7, 546: 7, 550: 8, 554: 3, 558: 8, 560: 6, 562: 4, 563: 5, 564: 5, 565: 8, 566: 6, 567: 5, 568: 1, 569: 3, 573: 1, 577: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 3, 707: 8, 711: 6, 717: 5, 753: 5, 761: 7, 800: 6, 810: 8, 832: 8, 840: 6, 842: 6, 844: 8, 866: 4, 869: 4, 872: 1, 961: 8, 967: 4, 969: 8, 977: 8, 979: 7, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 5, 1003: 5, 1005: 6, 1009: 8, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1105: 6, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1243: 3, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1280: 4, 1300: 8, 1322: 6, 1328: 4, 1601: 8, 1904: 7, 1905: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1927: 7, 2016: 8, 2020: 8, 2024: 8, 2028: 8 # noqa: F601
|
||||
},
|
||||
# Bolt EV Premier 2017 2 w Pedal
|
||||
{
|
||||
170: 8, 188: 8, 189: 7, 190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 298: 8, 304: 1, 308: 4, 309: 8, 311: 8, 313: 8, 320: 3, 322: 7, 328: 1, 352: 5, 353: 3, 381: 6, 384: 4, 386: 8, 388: 8, 390: 7, 407: 7, 417: 7, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 1, 508: 8, 513: 6, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 6, 567: 5, 568: 1, 573: 1, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 3, 707: 8, 711: 6, 717: 5, 753: 5, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 866: 4, 869: 4, 872: 1, 961: 8, 967: 4, 969: 8, 977: 8, 979: 7, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1105: 6, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1243: 3, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1280: 4, 1300: 8, 1322: 6, 1328: 4, 1904: 7, 1905: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1922: 7, 1927: 7
|
||||
},
|
||||
{
|
||||
170: 8, 188: 8, 189: 7, 190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 298: 8, 304: 1, 308: 4, 309: 8, 311: 8, 313: 8, 320: 3, 322: 7, 328: 1, 352: 5, 353: 3, 381: 6, 384: 4, 386: 8, 388: 8, 390: 7, 407: 7, 417: 7, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 1, 508: 8, 513: 6, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 6, 567: 5, 568: 1, 573: 1, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 3, 707: 8, 711: 6, 717: 5, 753: 5, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 866: 4, 869: 4, 872: 1, 961: 8, 967: 4, 969: 8, 977: 8, 979: 7, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1105: 6, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1243: 3, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1280: 4, 1300: 8, 1322: 6, 1328: 4, 1904: 7, 1905: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1922: 7, 1927: 7, 2016: 8, 2020: 8, 2024: 8, 2028: 8
|
||||
}],
|
||||
CAR.CHEVROLET_BOLT_NON_ACC_1ST_GEN: [
|
||||
# Bolt Premier no ACC 2018 + Pedal
|
||||
{
|
||||
170: 8, 188: 8, 189: 7, 190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 298: 8, 304: 1, 308: 4, 309: 8, 311: 8, 313: 8, 320: 3, 322: 7, 328: 1, 352: 5, 353: 3, 381: 6, 384: 4, 386: 8, 388: 8, 390: 7, 407: 7, 417: 7, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 513: 6, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 6, 567: 5, 568: 1, 573: 1, 577: 8, 592: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 3, 707: 8, 711: 6, 717: 5, 753: 5, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 866: 4, 869: 4, 872: 1, 961: 8, 967: 4, 969: 8, 977: 8, 979: 7, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1105: 6, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1243: 3, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1280: 4, 1300: 8, 1322: 6, 1328: 4, 1601: 8, 1616: 8, 1904: 7, 1905: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1922: 7, 1927: 7, 2020: 8, 2023: 8, 2028: 8, 2031: 8
|
||||
},
|
||||
# Bolt Premier no ACC 2019 + Pedal
|
||||
{
|
||||
170: 8, 188: 8, 189: 7, 190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 288: 5, 298: 8, 304: 1, 309: 8, 311: 8, 313: 8, 320: 3, 322: 7, 328: 1, 352: 5, 353: 3, 381: 8, 384: 4, 386: 8, 388: 8, 390: 7, 407: 7, 417: 7, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 512: 6, 513: 6, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 7, 567: 5, 568: 2, 569: 3, 573: 1, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 3, 707: 8, 711: 6, 717: 5, 753: 5, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 848: 4, 866: 4, 869: 4, 872: 1, 961: 8, 967: 4, 969: 8, 975: 2, 977: 8, 979: 7, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1037: 5, 1105: 5, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1236: 8, 1243: 3, 1249: 8, 1257: 6, 1265: 8, 1268: 2, 1275: 3, 1279: 4, 1280: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1904: 7, 1905: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1927: 7, 2016: 8, 2024: 8
|
||||
},
|
||||
# Bolt Premier no ACC 2020
|
||||
{
|
||||
170: 8, 188: 8, 189: 7, 190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 288: 5, 298: 8, 304: 1, 309: 8, 311: 8, 313: 8, 320: 3, 322: 7, 328: 1, 352: 5, 353: 3, 381: 8, 384: 4, 386: 8, 388: 8, 390: 7, 407: 7, 417: 7, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 513: 6, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 7, 567: 5, 568: 2, 569: 3, 573: 1, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 3, 707: 8, 711: 6, 717: 5, 753: 5, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 848: 4, 866: 4, 869: 4, 872: 1, 961: 8, 967: 4, 969: 8, 975: 2, 977: 8, 979: 7, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1037: 5, 1105: 5, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1236: 8, 1243: 3, 1249: 8, 1257: 6, 1265: 8, 1268: 2, 1275: 3, 1279: 4, 1280: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1904: 7, 1905: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1927: 7, 2016: 8, 2024: 8
|
||||
}],
|
||||
CAR.CHEVROLET_BOLT_NON_ACC_2ND_GEN: [
|
||||
# Bolt EV Premier no ACC 2023 w Pedal
|
||||
{
|
||||
170: 8, 188: 8, 189: 7, 190: 7, 193: 8, 197: 8, 201: 8, 209: 7, 211: 3, 241: 6, 257: 8, 288: 5, 289: 8, 292: 2, 298: 8, 304: 3, 308: 4, 309: 8, 311: 8, 313: 8, 320: 4, 322: 7, 328: 1, 331: 3, 352: 5, 353: 3, 368: 3, 381: 8, 384: 4, 386: 8, 388: 8, 390: 7, 398: 8, 407: 7, 417: 8, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 458: 5, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 513: 6, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 8, 567: 5, 568: 2, 569: 3, 573: 1, 577: 8, 592: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 6, 707: 8, 711: 6, 715: 8, 717: 5, 753: 5, 761: 7, 789: 5, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 848: 4, 866: 4, 869: 4, 872: 1, 880: 6, 961: 8, 967: 4, 969: 8, 975: 2, 977: 8, 979: 8, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1010: 8, 1013: 6, 1015: 1, 1017: 8, 1019: 2, 1020: 8, 1037: 5, 1105: 5, 1187: 5, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1236: 8, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1279: 4, 1280: 4, 1296: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1601: 8, 1616: 8, 1618: 8, 1905: 7, 1906: 7, 1907: 7, 1910: 7, 1912: 7, 1913: 7, 1922: 7, 1927: 7, 1930: 7, 2016: 8, 2020: 8, 2023: 8, 2024: 8, 2028: 8, 2031: 8
|
||||
},
|
||||
# Bolt EV Premier no ACC 2021
|
||||
{
|
||||
170: 8, 188: 8, 189: 7, 190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 257: 8, 288: 5, 298: 8, 304: 1, 308: 4, 309: 8, 311: 8, 313: 8, 320: 3, 322: 7, 328: 1, 352: 5, 353: 3, 368: 3, 381: 8, 384: 4, 386: 8, 388: 8, 390: 7, 407: 7, 417: 7, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 513: 6, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 7, 567: 5, 568: 1, 569: 3, 573: 1, 577: 8, 578: 8, 579: 8, 592: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 3, 707: 8, 711: 6, 717: 5, 753: 5, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 848: 4, 866: 4, 869: 4, 872: 1, 961: 8, 967: 4, 969: 8, 975: 2, 977: 8, 979: 7, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1037: 5, 1105: 5, 1187: 4, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1236: 8, 1243: 3, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1279: 4, 1280: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1345: 8, 1346: 8, 1347: 8, 1513: 8, 1516: 8, 1601: 8, 1616: 8, 1904: 7, 1905: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1922: 7, 1927: 7, 2016: 8, 2017: 8, 2018: 8, 2020: 8, 2023: 8, 2024: 8, 2028: 8, 2031: 8
|
||||
},
|
||||
# shermy99's Bolt EV Premier no ACC 2023
|
||||
{
|
||||
170: 8, 188: 8, 189: 7, 190: 7, 193: 8, 197: 8, 201: 8, 209: 7, 211: 3, 241: 6, 257: 8, 288: 5, 289: 8, 292: 2, 298: 8, 304: 3, 308: 4, 309: 8, 311: 8, 313: 8, 320: 4, 322: 7, 328: 1, 331: 3, 352: 5, 353: 3, 368: 3, 381: 8, 384: 4, 386: 8, 388: 8, 390: 7, 398: 8, 407: 7, 417: 8, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 458: 5, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 513: 6, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 566: 8, 567: 5, 568: 2, 569: 3, 573: 1, 577: 8, 579: 8, 592: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 6, 707: 8, 711: 6, 715: 8, 717: 5, 753: 5, 761: 7, 789: 5, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 848: 4, 866: 4, 869: 4, 872: 1, 880: 6, 961: 8, 967: 4, 969: 8, 975: 2, 977: 8, 979: 8, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1005: 6, 1009: 8, 1010: 8, 1013: 6, 1015: 1, 1017: 8, 1019: 2, 1020: 8, 1037: 5, 1105: 5, 1187: 5, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1236: 8, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1279: 4, 1280: 4, 1296: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1345: 8, 1347: 8, 1513: 8, 1516: 8, 1601: 8, 1609: 8, 1613: 8, 1616: 8, 1618: 8, 1649: 8, 1792: 8, 1793: 8, 1798: 8, 1824: 8, 1825: 8, 1840: 8, 1842: 8, 1858: 8, 1860: 8, 1863: 8, 1872: 8, 1875: 8, 1882: 8, 1888: 8, 1889: 8, 1892: 8, 1905: 7, 1906: 7, 1907: 7, 1910: 7, 1912: 7, 1913: 7, 1920: 8, 1922: 7, 1924: 8, 1927: 7, 1930: 7, 1937: 8, 1953: 8, 1968: 8, 1969: 8, 1971: 8, 1975: 8, 1984: 8, 1988: 8, 2000: 8, 2001: 8, 2002: 8, 2017: 8, 2018: 8, 2020: 8, 2023: 8, 2025: 8, 2028: 8, 2031: 8
|
||||
},
|
||||
{
|
||||
170: 8, 188: 8, 189: 7, 190: 7, 193: 8, 197: 8, 201: 8, 209: 7, 211: 3, 241: 6, 257: 8, 288: 5, 289: 8, 292: 2, 298: 8, 304: 3, 309: 8, 311: 8, 313: 8, 320: 4, 322: 7, 328: 1, 331: 3, 352: 5, 353: 3, 381: 8, 384: 4, 386: 8, 388: 8, 390: 7, 398: 8, 407: 7, 417: 8, 419: 1, 451: 8, 452: 8, 453: 6, 454: 8, 456: 8, 458: 5, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 2, 508: 8, 513: 6, 528: 5, 532: 6, 546: 7, 550: 8, 554: 3, 558: 8, 560: 8, 562: 8, 564: 5, 566: 8, 567: 5, 568: 2, 569: 3, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 6, 707: 8, 711: 6, 715: 8, 717: 5, 753: 5, 761: 7, 789: 5, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 848: 4, 866: 4, 869: 4, 872: 1, 880: 6, 961: 8, 967: 4, 969: 8, 975: 2, 977: 8, 979: 8, 985: 5, 988: 6, 989: 8, 995: 7, 1001: 8, 1009: 8, 1010: 8, 1013: 6, 1015: 1, 1017: 8, 1019: 2, 1020: 8, 1105: 5, 1187: 5, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1227: 4, 1233: 8, 1236: 8, 1249: 8, 1257: 6, 1265: 8, 1275: 3, 1279: 4, 1280: 4, 1296: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1905: 7, 1906: 7, 1907: 7, 1910: 7, 1912: 7, 1913: 7, 1927: 7, 1930: 7, 2016: 8, 2020: 8, 2024: 8, 2028: 8
|
||||
}],
|
||||
CAR.CHEVROLET_EQUINOX_NON_ACC_3RD_GEN: [{
|
||||
190: 6, 193: 8, 197: 8, 199: 4, 201: 8, 209: 7, 211: 2, 241: 6, 249: 8, 257: 8, 288: 5, 289: 8, 298: 8, 304: 1, 309: 8, 311: 8, 313: 8, 320: 3, 328: 1, 352: 5, 368: 3, 381: 8, 384: 4, 386: 8, 388: 8, 393: 8, 398: 8, 401: 8, 413: 8, 417: 7, 419: 1, 422: 4, 426: 7, 431: 8, 442: 8, 444: 7, 451: 8, 452: 8, 453: 6, 455: 7, 456: 8, 479: 3, 481: 7, 485: 8, 489: 8, 497: 8, 499: 3, 500: 6, 501: 8, 508: 8, 510: 8, 528: 5, 532: 6, 554: 3, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 567: 5, 569: 3, 573: 1, 577: 8, 587: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 6, 707: 8, 715: 8, 717: 5, 753: 5, 761: 7, 789: 5, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 866: 4, 869: 4, 880: 6, 961: 8, 969: 8, 977: 8, 979: 8, 985: 5, 1001: 8, 1005: 6, 1009: 8, 1011: 6, 1017: 8, 1020: 8, 1033: 7, 1034: 7, 1105: 6, 1217: 8, 1221: 5, 1223: 2, 1225: 8, 1233: 8, 1249: 8, 1257: 6, 1259: 8, 1261: 7, 1263: 4, 1265: 8, 1267: 1, 1271: 8, 1273: 3, 1280: 4, 1296: 4, 1300: 8, 1322: 6, 1328: 4, 1417: 8, 1601: 8, 1611: 8, 1618: 8, 1906: 7, 1907: 7, 1912: 7, 1919: 7, 1920: 7, 1930: 7
|
||||
},
|
||||
{
|
||||
190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 384: 4, 393: 8, 398: 8, 401: 8, 413: 8, 422: 4, 431: 8, 444: 7, 453: 6, 456: 8, 479: 3, 481: 7, 485: 8, 499: 3, 500: 6, 501: 8, 567: 5, 647: 6, 800: 6, 1033: 7, 1034: 7, 1296: 4
|
||||
}],
|
||||
# Trailblazer also matches as a Silverado, so comment out to avoid conflicts.
|
||||
# TODO-SP: split with FW versions
|
||||
# CAR.TRAILBLAZER: [
|
||||
# {
|
||||
# 190: 6, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 249: 8, 288: 5, 289: 8, 298: 8, 304: 3, 309: 8, 311: 8, 313: 8, 320: 4, 328: 1, 352: 5, 381: 8, 384: 4, 386: 8, 388: 8, 413: 8, 451: 8, 452: 8, 453: 6, 455: 7, 479: 3, 481: 7, 485: 8, 489: 8, 497: 8, 500: 6, 501: 8, 532: 6, 560: 8, 562: 8, 563: 5, 565: 5, 587: 8, 707: 8, 715: 8, 717: 5, 761: 7, 789: 5, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 869: 4, 880: 6, 977: 8, 1001: 8, 1011: 6, 1017: 8, 1020: 8, 1217: 8, 1221: 5, 1233: 8, 1249: 8, 1259: 8, 1261: 7, 1263: 4, 1265: 8, 1267: 1, 1271: 8, 1280: 4, 1296: 4, 1300: 8, 1609: 8, 1611: 8, 1613: 8, 1649: 8, 1792: 8, 1798: 8, 1824: 8, 1825: 8, 1840: 8, 1842: 8, 1858: 8, 1860: 8, 1863: 8, 1872: 8, 1875: 8, 1882: 8, 1888: 8, 1889: 8, 1892: 8, 1930: 7, 1937: 8, 1953: 8, 1968: 8, 2001: 8, 2017: 8, 2018: 8, 2020: 8
|
||||
# }],
|
||||
CAR.CHEVROLET_SUBURBAN_NON_ACC_11TH_GEN: [
|
||||
# Slav's 2018 Suburban, LKAS no ACC
|
||||
{
|
||||
170: 8, 190: 6, 193: 8, 197: 8, 199: 4, 201: 8, 208: 8, 209: 7, 211: 2, 241: 6, 249: 8, 288: 5, 289: 8, 298: 8, 304: 1, 309: 8, 311: 8, 313: 8, 320: 3, 328: 1, 352: 5, 381: 8, 384: 4, 386: 8, 388: 8, 393: 8, 398: 8, 413: 8, 417: 7, 419: 1, 422: 4, 426: 7, 431: 8, 442: 8, 451: 8, 452: 8, 453: 6, 454: 8, 455: 7, 463: 3, 479: 3, 481: 7, 485: 8, 487: 8, 489: 8, 493: 8, 497: 8, 499: 3, 500: 6, 501: 8, 508: 8, 510: 8, 532: 6, 562: 8, 563: 5, 564: 5, 573: 1, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 6, 707: 8, 717: 5, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 866: 4, 869: 4, 961: 8, 967: 4, 969: 8, 977: 8, 979: 8, 985: 5, 1001: 8, 1005: 6, 1009: 8, 1017: 8, 1019: 2, 1020: 8, 1105: 6, 1217: 8, 1221: 5, 1223: 2, 1225: 8, 1233: 8, 1249: 8, 1257: 6, 1265: 8, 1267: 1, 1280: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1417: 8, 1906: 7, 1907: 7, 1912: 7, 1919: 7, 1920: 7
|
||||
},
|
||||
# Qube's 2017 Suburban, LKAS no ACC
|
||||
{
|
||||
190: 6, 193: 8, 197: 8, 201: 8, 208: 8, 209: 7, 211: 2, 241: 6, 249: 8, 288: 5, 298: 8, 304: 1, 309: 8, 311: 8, 313: 8, 320: 3, 322: 7, 328: 1, 352: 5, 381: 6, 384: 4, 386: 8, 388: 8, 413: 8, 451: 8, 452: 8, 453: 6, 455: 7, 460: 5, 463: 3, 479: 3, 481: 7, 485: 8, 489: 8, 493: 8, 497: 8, 500: 6, 501: 8, 510: 8, 528: 5, 532: 6, 534: 2, 562: 8, 563: 5, 587: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 707: 8, 717: 5, 761: 7, 800: 6, 801: 8, 810: 8, 840: 5, 842: 5, 844: 8, 848: 4, 869: 4, 977: 8, 1001: 8, 1017: 8, 1020: 8, 1217: 8, 1221: 5, 1233: 8, 1249: 8, 1265: 8, 1267: 1, 1280: 4, 1300: 8, 1609: 8, 1611: 8, 1613: 8, 1649: 8, 1792: 8, 1793: 8, 1798: 8, 1799: 8, 1810: 8, 1813: 8, 1824: 8, 1825: 8, 1840: 8, 1842: 8, 1856: 8, 1858: 8, 1859: 8, 1860: 8, 1862: 8, 1863: 8, 1871: 8, 1872: 8, 1875: 8, 1879: 8, 1882: 8, 1888: 8, 1889: 8, 1892: 8, 1920: 8, 1924: 8, 1927: 8, 1937: 8, 1953: 8, 1954: 8, 1955: 8, 1968: 8, 1969: 8, 1971: 8, 1975: 8, 1984: 8, 1988: 8, 1990: 8, 2000: 8, 2001: 8, 2004: 8, 2017: 8, 2018: 8, 2020: 8
|
||||
}],
|
||||
CAR.CADILLAC_CT6_NON_ACC_1ST_GEN: [
|
||||
# badgers4life's 2017 CT6
|
||||
{
|
||||
190: 6, 193: 8, 197: 8, 199: 4, 201: 8, 209: 7, 211: 2, 241: 6, 249: 8, 288: 5, 289: 8, 298: 8, 304: 1, 309: 8, 311: 8, 313: 8, 320: 3, 322: 4, 328: 1, 352: 5, 381: 6, 384: 4, 386: 8, 388: 8, 389: 2, 393: 7, 398: 8, 407: 7, 413: 8, 417: 7, 419: 1, 422: 4, 426: 7, 431: 8, 442: 8, 451: 8, 452: 8, 453: 6, 455: 7, 456: 8, 460: 5, 462: 4, 463: 3, 479: 3, 481: 7, 485: 8, 487: 8, 489: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 508: 8, 528: 4, 532: 6, 554: 3, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 567: 3, 573: 1, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 6, 707: 8, 717: 5, 723: 2, 753: 5, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 866: 4, 869: 4, 961: 8, 969: 8, 977: 8, 979: 7, 985: 5, 1001: 8, 1005: 6, 1009: 8, 1011: 6, 1013: 1, 1017: 8, 1019: 2, 1020: 8, 1105: 6, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1233: 7, 1249: 8, 1257: 6, 1259: 8, 1261: 7, 1263: 4, 1265: 8, 1267: 1, 1280: 4, 1300: 8, 1322: 6, 1328: 4, 1417: 8, 1609: 8, 1613: 8, 1649: 8, 1792: 8, 1793: 8, 1798: 8, 1799: 8, 1810: 8, 1813: 8, 1824: 8, 1825: 8, 1840: 8, 1842: 8, 1856: 8, 1858: 8, 1859: 8, 1860: 8, 1862: 8, 1863: 8, 1872: 8, 1875: 8, 1879: 8, 1882: 8, 1888: 4, 1889: 8, 1892: 8, 1906: 7, 1907: 7, 1912: 7, 1914: 7, 1919: 7, 1920: 8, 1924: 8, 1927: 8, 1928: 7, 1937: 8, 1953: 8, 1954: 8, 1955: 8, 1968: 8, 1969: 8, 1971: 8, 1975: 8, 1984: 8, 1988: 8, 2000: 8, 2001: 8, 2002: 8, 2004: 8, 2017: 8, 2018: 8, 2020: 8, 2026: 8
|
||||
}],
|
||||
CAR.CHEVROLET_TRAILBLAZER_NON_ACC_2ND_GEN: [
|
||||
{
|
||||
190: 6, 193: 8, 197: 8, 199: 4, 201: 8, 208: 8, 209: 7, 211: 2, 241: 6, 249: 8, 257: 8, 288: 5, 289: 8, 292: 2, 298: 8, 304: 3, 309: 8, 313: 8, 320: 4, 322: 7, 328: 1, 331: 3, 352: 5, 368: 3, 381: 8, 384: 4, 386: 8, 388: 8, 393: 7, 398: 8, 401: 8, 407: 7, 413: 8, 417: 7, 419: 1, 422: 4, 426: 7, 431: 8, 442: 8, 451: 8, 452: 8, 453: 6, 454: 8, 455: 7, 456: 8, 479: 3, 481: 7, 485: 8, 489: 8, 497: 8, 499: 3, 500: 6, 501: 8, 508: 8, 528: 5, 532: 6, 554: 3, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 567: 5, 569: 3, 573: 1, 577: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 6, 707: 8, 717: 5, 723: 4, 730: 4, 761: 7, 800: 6, 840: 5, 842: 5, 844: 8, 869: 4, 961: 8, 969: 8, 975: 2, 977: 8, 979: 8, 985: 5, 1001: 8, 1005: 6, 1009: 8, 1011: 6, 1013: 6, 1017: 8, 1020: 8, 1037: 5, 1105: 5, 1187: 5, 1195: 3, 1217: 8, 1221: 5, 1223: 2, 1225: 7, 1233: 8, 1236: 8, 1249: 8, 1257: 6, 1259: 8, 1261: 7, 1263: 4, 1265: 8, 1267: 1, 1268: 2, 1271: 8, 1273: 3, 1276: 2, 1277: 7, 1278: 4, 1279: 4, 1280: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1417: 8, 1601: 8, 1906: 7, 1907: 7, 1912: 7, 1919: 7
|
||||
}],
|
||||
CAR.CHEVROLET_MALIBU_NON_ACC_9TH_GEN: [
|
||||
# Verylukyguy's Malibu
|
||||
{
|
||||
190: 6, 193: 8, 197: 8, 199: 4, 201: 8, 209: 7, 211: 2, 241: 6, 249: 8, 257: 8, 288: 5, 298: 8, 304: 3, 309: 8, 311: 8, 313: 8, 320: 4, 328: 1, 352: 5, 368: 3, 381: 8, 384: 4, 386: 8, 388: 8, 393: 7, 398: 8, 401: 8, 407: 7, 409: 8, 413: 8, 417: 7, 419: 1, 422: 4, 426: 7, 431: 8, 442: 8, 451: 8, 452: 8, 453: 6, 455: 7, 479: 3, 481: 7, 485: 8, 489: 8, 497: 8, 499: 3, 500: 6, 501: 8, 508: 8, 532: 6, 554: 3, 560: 8, 562: 8, 563: 5, 564: 5, 565: 5, 567: 5, 573: 1, 577: 8, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 647: 6, 707: 8, 717: 5, 730: 4, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 866: 4, 869: 4, 961: 8, 969: 8, 975: 2, 977: 8, 979: 8, 985: 5, 1001: 8, 1005: 6, 1009: 8, 1011: 6, 1013: 6, 1017: 8, 1020: 8, 1037: 5, 1105: 5, 1187: 6, 1189: 1, 1195: 3, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1233: 8, 1236: 8, 1249: 8, 1257: 6, 1259: 8, 1261: 7, 1263: 4, 1265: 8, 1267: 1, 1268: 2, 1271: 8, 1273: 3, 1279: 4, 1280: 4, 1300: 8, 1322: 6, 1323: 4, 1328: 4, 1417: 8, 1601: 8, 1906: 7, 1907: 7, 1912: 7, 1919: 7
|
||||
},
|
||||
# Tesla's Malibu
|
||||
{
|
||||
189: 7, 193: 8, 197: 8, 201: 8, 209: 7, 211: 2, 241: 6, 249: 8, 288: 5, 298: 8, 304: 1, 309: 8, 311: 8, 313: 8, 320: 3, 328: 1, 352: 5, 381: 6, 384: 4, 386: 8, 388: 8, 389: 6, 390: 8, 392: 4, 393: 4, 394: 8, 395: 3, 396: 4, 397: 4, 398: 4, 399: 4, 400: 4, 401: 4, 402: 4, 403: 4, 404: 4, 405: 4, 406: 4, 407: 4, 408: 4, 409: 4, 410: 4, 411: 4, 412: 4, 413: 4, 414: 4, 415: 4, 416: 4, 417: 4, 418: 4, 419: 4, 420: 4, 421: 4, 422: 4, 423: 4, 424: 4, 425: 4, 426: 4, 427: 4, 428: 4, 429: 4, 430: 4, 431: 4, 432: 4, 433: 4, 434: 4, 435: 4, 436: 4, 437: 4, 438: 4, 439: 4, 440: 4, 441: 4, 442: 4, 443: 4, 444: 4, 445: 4, 446: 4, 447: 4, 448: 4, 449: 4, 450: 4, 451: 8, 452: 8, 453: 6, 479: 4, 481: 7, 485: 8, 489: 8, 493: 8, 497: 8, 500: 6, 501: 8, 528: 5, 532: 6, 560: 8, 562: 8, 563: 5, 565: 5, 566: 6, 608: 8, 609: 6, 610: 6, 611: 6, 612: 8, 613: 8, 707: 8, 717: 5, 761: 7, 800: 6, 810: 8, 840: 5, 842: 5, 844: 8, 869: 4, 977: 8, 1001: 8, 1017: 8, 1020: 8, 1217: 8, 1221: 5, 1233: 8, 1249: 8, 1265: 8, 1267: 1, 1280: 4, 1300: 8, 1922: 7
|
||||
}],
|
||||
CAR.CADILLAC_XT5_NON_ACC_1ST_GEN: [
|
||||
# TRain's 2017 XT5
|
||||
{
|
||||
190: 6, 193: 8, 197: 8, 199: 4, 201: 8, 208: 8, 209: 7, 211: 2, 241: 6, 249: 8, 288: 5, 298: 8, 304: 1, 309: 8, 313: 8, 320: 3, 322: 7, 328: 1, 352: 5, 353: 3, 381: 6, 384: 4, 386: 8, 388: 8, 393: 7, 398: 8, 407: 7, 413: 8, 417: 7, 419: 1, 422: 4, 426: 7, 431: 8, 442: 8, 451: 8, 452: 8, 453: 6, 454: 8, 455: 7, 462: 4, 463: 3, 479: 3, 481: 7, 485: 8, 487: 8, 489: 8, 495: 4, 497: 8, 499: 3, 500: 6, 501: 8, 503: 1, 508: 8, 510: 8, 532: 6, 554: 3, 560: 8, 562: 8, 563: 5, 564: 5, 567: 5, 647: 3, 707: 8, 717: 5, 723: 2, 753: 5, 761: 7, 800: 6, 840: 5, 842: 5, 844: 8, 866: 4, 869: 4, 872: 1, 961: 8, 967: 4, 969: 8, 977: 8, 979: 8, 985: 5, 1001: 8, 1005: 6, 1009: 8, 1011: 6, 1013: 3, 1017: 8, 1019: 2, 1020: 8, 1022: 1, 1105: 6, 1217: 8, 1221: 5, 1223: 3, 1225: 7, 1233: 8, 1243: 3, 1249: 8, 1257: 6, 1259: 8, 1261: 7, 1263: 4, 1265: 8, 1267: 1, 1280: 4, 1300: 8, 1322: 6, 1328: 4, 1417: 8, 1904: 7, 1906: 7, 1907: 7, 1912: 7, 1913: 7, 1914: 7, 1919: 7, 1920: 7
|
||||
}],
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
"""
|
||||
Copyright (c) 2021-, Haibin Wen, sunnypilot, and a number of other contributors.
|
||||
|
||||
This file is part of sunnypilot and is licensed under the MIT License.
|
||||
See the LICENSE.md file in the root directory for more details.
|
||||
"""
|
||||
|
||||
from enum import IntFlag
|
||||
|
||||
|
||||
class GMFlagsSP(IntFlag):
|
||||
NON_ACC = 1
|
||||
|
||||
|
||||
class GMSafetyFlagsSP:
|
||||
NON_ACC = 1
|
||||
@@ -0,0 +1,117 @@
|
||||
"""
|
||||
Copyright (c) 2021-, Haibin Wen, sunnypilot, and a number of other contributors.
|
||||
|
||||
This file is part of sunnypilot and is licensed under the MIT License.
|
||||
See the LICENSE.md file in the root directory for more details.
|
||||
"""
|
||||
from abc import ABC, abstractmethod
|
||||
from opendbc.car import structs
|
||||
from opendbc.car.hyundai.values import HyundaiFlags
|
||||
|
||||
|
||||
class LeadData(ABC):
|
||||
def __init__(self, object_gap: int, lead_distance: float, lead_rel_speed: float, lead_visible: bool):
|
||||
self.object_gap = object_gap
|
||||
self.lead_distance = lead_distance
|
||||
self.lead_rel_speed = lead_rel_speed
|
||||
self.lead_visible = lead_visible
|
||||
|
||||
@property
|
||||
@abstractmethod
|
||||
def object_rel_gap(self) -> int:
|
||||
raise NotImplementedError("Subclasses must implement this method")
|
||||
|
||||
|
||||
class CanLeadData(LeadData):
|
||||
@property
|
||||
def object_rel_gap(self) -> int:
|
||||
return 0 if self.lead_distance == 0 else 2 if self.lead_rel_speed < -0.2 else 1
|
||||
|
||||
|
||||
class CanFdLeadData(LeadData):
|
||||
@property
|
||||
def object_rel_gap(self) -> int:
|
||||
return 0 if not self.lead_visible else 2 if self.lead_rel_speed < 0 else 1
|
||||
|
||||
|
||||
def _hysteresis_update(current, new_value, counter, threshold):
|
||||
"""
|
||||
Updates a value based on a hysteresis threshold mechanism. This function
|
||||
compares a new value against the current value and uses a counter to detect
|
||||
when a transition should occur, avoiding rapid oscillations between states.
|
||||
A new value will only be adopted if it differs from the current value and
|
||||
the counter reaches the specified threshold.
|
||||
|
||||
:param current: The current value being tracked.
|
||||
:param new_value: The potential new value to compare against the current.
|
||||
:param counter: The count of consecutive different values encountered.
|
||||
:param threshold: The minimum count required before switching to the new value.
|
||||
:return: A tuple containing:
|
||||
- The updated current value, which is either the original current
|
||||
value or the new value if the hysteresis condition was met.
|
||||
- The updated counter, reset to 0 if the new value was adopted,
|
||||
or incremented by 1 otherwise.
|
||||
"""
|
||||
if new_value == current:
|
||||
return current, 0
|
||||
counter += 1
|
||||
return (new_value, 0) if counter >= threshold else (current, counter)
|
||||
|
||||
|
||||
class LeadDataCarController:
|
||||
# Hysteresis parameters
|
||||
LEAD_HYSTERESIS_FRAMES: int = 50
|
||||
|
||||
def __init__(self, CP: structs.CarParams):
|
||||
self.CP = CP
|
||||
|
||||
self.lead_one = {}
|
||||
self.lead_two = {}
|
||||
|
||||
self._lead_on_counter = 0
|
||||
self._lead_off_counter = 0
|
||||
self.lead_visible = False
|
||||
self.gap_counter = 0
|
||||
self.object_gap = 0
|
||||
self.lead_distance = 0
|
||||
self.lead_rel_speed = 0
|
||||
|
||||
def _update_object_gap(self, lead_distance: float | None):
|
||||
new_gap = 5 # Default gap value if no lead distance is provided
|
||||
if lead_distance is None or lead_distance == 0:
|
||||
new_gap = 0
|
||||
elif lead_distance < 20:
|
||||
new_gap = 2
|
||||
elif lead_distance < 25:
|
||||
new_gap = 3
|
||||
elif lead_distance < 30:
|
||||
new_gap = 4
|
||||
|
||||
self.object_gap, self.gap_counter = _hysteresis_update(self.object_gap, new_gap, self.gap_counter, self.LEAD_HYSTERESIS_FRAMES)
|
||||
|
||||
def _update_lead_visible_hysteresis(self, raw_lead_visible: bool):
|
||||
counter = self._lead_on_counter if raw_lead_visible else self._lead_off_counter
|
||||
self.lead_visible, counter = _hysteresis_update(self.lead_visible, raw_lead_visible, counter, self.LEAD_HYSTERESIS_FRAMES)
|
||||
|
||||
if raw_lead_visible:
|
||||
self._lead_on_counter = counter
|
||||
self._lead_off_counter = 0 # reset opposite counter
|
||||
else:
|
||||
self._lead_off_counter = counter
|
||||
self._lead_on_counter = 0 # reset opposite counter
|
||||
|
||||
def update(self, CC_SP: structs.CarControlSP) -> None:
|
||||
self.lead_one = CC_SP.leadOne
|
||||
self.lead_two = CC_SP.leadTwo
|
||||
|
||||
self.lead_distance = self.lead_one.dRel
|
||||
self.lead_rel_speed = self.lead_one.vRel
|
||||
self._update_lead_visible_hysteresis(self.lead_one.status)
|
||||
self._update_object_gap(self.lead_distance)
|
||||
|
||||
@property
|
||||
def lead_data(self) -> CanLeadData | CanFdLeadData:
|
||||
if self.CP.flags & HyundaiFlags.CANFD:
|
||||
return CanFdLeadData(self.object_gap, self.lead_distance, self.lead_rel_speed, self.lead_visible)
|
||||
|
||||
return CanLeadData(self.object_gap, self.lead_distance, self.lead_rel_speed, self.lead_visible)
|
||||
@@ -0,0 +1,77 @@
|
||||
from enum import IntFlag
|
||||
|
||||
from opendbc.sunnypilot.car.hyundai.lead_data_ext import LeadDataCarController, CanLeadData, CanFdLeadData
|
||||
from opendbc.car import structs
|
||||
from opendbc.car.hyundai.values import HyundaiFlags
|
||||
|
||||
|
||||
def make_carparams(flags: IntFlag = HyundaiFlags.LEGACY):
|
||||
cp = structs.CarParams()
|
||||
cp.carFingerprint = "HYUNDAI_SONATA"
|
||||
cp.flags = flags.value
|
||||
return cp
|
||||
|
||||
|
||||
def make_carcontrolsp(leadDistance=10.0, leadRelSpeed=0.0, leadVisible=True):
|
||||
c = structs.CarControlSP()
|
||||
c.leadOne.dRel = leadDistance
|
||||
c.leadOne.vRel = leadRelSpeed
|
||||
c.leadOne.status = leadVisible
|
||||
return c
|
||||
|
||||
|
||||
class TestLeadDataCarController:
|
||||
def test_update_object_gap(self):
|
||||
ctrl = LeadDataCarController(make_carparams())
|
||||
# Initial value should be 0
|
||||
assert ctrl.object_gap == 0
|
||||
|
||||
# Set to 15 (should become 2 after hysteresis)
|
||||
for _ in range(ctrl.LEAD_HYSTERESIS_FRAMES):
|
||||
ctrl._update_object_gap(15)
|
||||
assert ctrl.object_gap == 2
|
||||
|
||||
# Set to 22 (should become 3 after hysteresis)
|
||||
for _ in range(ctrl.LEAD_HYSTERESIS_FRAMES):
|
||||
ctrl._update_object_gap(22)
|
||||
assert ctrl.object_gap == 3
|
||||
|
||||
# Set to 0 (should become 0 after hysteresis)
|
||||
for _ in range(ctrl.LEAD_HYSTERESIS_FRAMES):
|
||||
ctrl._update_object_gap(0)
|
||||
assert ctrl.object_gap == 0
|
||||
|
||||
def test_update_lead_visible_hysteresis(self):
|
||||
ctrl = LeadDataCarController(make_carparams())
|
||||
ctrl._update_lead_visible_hysteresis(True)
|
||||
assert isinstance(ctrl.lead_visible, bool)
|
||||
ctrl._update_lead_visible_hysteresis(False)
|
||||
assert isinstance(ctrl.lead_visible, bool)
|
||||
|
||||
def test_update(self):
|
||||
ctrl = LeadDataCarController(make_carparams())
|
||||
sp = make_carcontrolsp(leadDistance=25, leadRelSpeed=-0.5, leadVisible=True)
|
||||
ctrl.update(sp)
|
||||
assert ctrl.lead_distance == 25
|
||||
assert ctrl.lead_rel_speed == -0.5
|
||||
assert isinstance(ctrl.lead_visible, bool)
|
||||
|
||||
def test_lead_data_can(self):
|
||||
ctrl = LeadDataCarController(make_carparams())
|
||||
ctrl.object_gap = 1
|
||||
ctrl.lead_distance = 10
|
||||
ctrl.lead_rel_speed = -0.3
|
||||
ctrl.lead_visible = True
|
||||
ld = ctrl.lead_data
|
||||
assert isinstance(ld, CanLeadData)
|
||||
assert ld.object_rel_gap == 2
|
||||
|
||||
def test_lead_data_canfd(self):
|
||||
ctrl = LeadDataCarController(make_carparams(HyundaiFlags.CANFD))
|
||||
ctrl.object_gap = 1
|
||||
ctrl.lead_distance = 10
|
||||
ctrl.lead_rel_speed = 1.0
|
||||
ctrl.lead_visible = True
|
||||
ld = ctrl.lead_data
|
||||
assert isinstance(ld, CanFdLeadData)
|
||||
assert ld.object_rel_gap == 1
|
||||
@@ -14,7 +14,7 @@ dependencies = [
|
||||
"numpy",
|
||||
"crcmod",
|
||||
"tqdm",
|
||||
"pycapnp",
|
||||
"pycapnp==2.1.0",
|
||||
"pycryptodome",
|
||||
]
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+11043
-10845
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1,7 +1,8 @@
|
||||
from cereal import log
|
||||
from cereal import log, custom
|
||||
from openpilot.common.constants import CV
|
||||
from openpilot.common.realtime import DT_MDL
|
||||
from openpilot.sunnypilot.selfdrive.controls.lib.auto_lane_change import AutoLaneChangeController, AutoLaneChangeMode
|
||||
from openpilot.sunnypilot.selfdrive.controls.lib.lane_turn_desire import LaneTurnController
|
||||
|
||||
LaneChangeState = log.LaneChangeState
|
||||
LaneChangeDirection = log.LaneChangeDirection
|
||||
@@ -30,6 +31,12 @@ DESIRES = {
|
||||
},
|
||||
}
|
||||
|
||||
TURN_DESIRES = {
|
||||
custom.TurnDirection.none: log.Desire.none,
|
||||
custom.TurnDirection.turnLeft: log.Desire.turnLeft,
|
||||
custom.TurnDirection.turnRight: log.Desire.turnRight,
|
||||
}
|
||||
|
||||
|
||||
class DesireHelper:
|
||||
def __init__(self):
|
||||
@@ -41,13 +48,21 @@ class DesireHelper:
|
||||
self.prev_one_blinker = False
|
||||
self.desire = log.Desire.none
|
||||
self.alc = AutoLaneChangeController(self)
|
||||
self.lane_turn_controller = LaneTurnController(self)
|
||||
self.lane_turn_direction = custom.TurnDirection.none
|
||||
|
||||
def update(self, carstate, lateral_active, lane_change_prob):
|
||||
self.alc.update_params()
|
||||
self.lane_turn_controller.update_params()
|
||||
v_ego = carstate.vEgo
|
||||
one_blinker = carstate.leftBlinker != carstate.rightBlinker
|
||||
below_lane_change_speed = v_ego < LANE_CHANGE_SPEED_MIN
|
||||
|
||||
# Lane turn controller update
|
||||
self.lane_turn_controller.update_lane_turn(blindspot_left=carstate.leftBlindspot, blindspot_right=carstate.rightBlindspot,
|
||||
left_blinker=carstate.leftBlinker, right_blinker=carstate.rightBlinker, v_ego=v_ego)
|
||||
self.lane_turn_direction = self.lane_turn_controller.get_turn_direction()
|
||||
|
||||
if not lateral_active or self.lane_change_timer > LANE_CHANGE_TIME_MAX or self.alc.lane_change_set_timer == AutoLaneChangeMode.OFF:
|
||||
self.lane_change_state = LaneChangeState.off
|
||||
self.lane_change_direction = LaneChangeDirection.none
|
||||
@@ -106,7 +121,10 @@ class DesireHelper:
|
||||
|
||||
self.prev_one_blinker = one_blinker
|
||||
|
||||
self.desire = DESIRES[self.lane_change_direction][self.lane_change_state]
|
||||
if self.lane_turn_direction != custom.TurnDirection.none:
|
||||
self.desire = TURN_DESIRES[self.lane_turn_direction]
|
||||
else:
|
||||
self.desire = DESIRES[self.lane_change_direction][self.lane_change_state]
|
||||
|
||||
# Send keep pulse once per second during LaneChangeStart.preLaneChange
|
||||
if self.lane_change_state in (LaneChangeState.off, LaneChangeState.laneChangeStarting):
|
||||
|
||||
@@ -0,0 +1,538 @@
|
||||
{
|
||||
"acados_include_path": "/data/openpilot/third_party/acados/include",
|
||||
"acados_lib_path": "/data/openpilot/third_party/acados/lib",
|
||||
"code_export_directory": "/data/openpilot/selfdrive/controls/lib/lateral_mpc_lib/c_generated_code",
|
||||
"constraints": {
|
||||
"C": [],
|
||||
"C_e": [],
|
||||
"D": [],
|
||||
"constr_type": "BGH",
|
||||
"constr_type_e": "BGH",
|
||||
"idxbu": [],
|
||||
"idxbx": [
|
||||
2,
|
||||
3
|
||||
],
|
||||
"idxbx_0": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"idxbx_e": [],
|
||||
"idxbxe_0": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"idxsbu": [],
|
||||
"idxsbx": [],
|
||||
"idxsbx_e": [],
|
||||
"idxsg": [],
|
||||
"idxsg_e": [],
|
||||
"idxsh": [],
|
||||
"idxsh_e": [],
|
||||
"idxsphi": [],
|
||||
"idxsphi_e": [],
|
||||
"lbu": [],
|
||||
"lbx": [
|
||||
-1.5707963267948966,
|
||||
-0.8726646259971648
|
||||
],
|
||||
"lbx_0": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"lbx_e": [],
|
||||
"lg": [],
|
||||
"lg_e": [],
|
||||
"lh": [],
|
||||
"lh_e": [],
|
||||
"lphi": [],
|
||||
"lphi_e": [],
|
||||
"lsbu": [],
|
||||
"lsbx": [],
|
||||
"lsbx_e": [],
|
||||
"lsg": [],
|
||||
"lsg_e": [],
|
||||
"lsh": [],
|
||||
"lsh_e": [],
|
||||
"lsphi": [],
|
||||
"lsphi_e": [],
|
||||
"ubu": [],
|
||||
"ubx": [
|
||||
1.5707963267948966,
|
||||
0.8726646259971648
|
||||
],
|
||||
"ubx_0": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"ubx_e": [],
|
||||
"ug": [],
|
||||
"ug_e": [],
|
||||
"uh": [],
|
||||
"uh_e": [],
|
||||
"uphi": [],
|
||||
"uphi_e": [],
|
||||
"usbu": [],
|
||||
"usbx": [],
|
||||
"usbx_e": [],
|
||||
"usg": [],
|
||||
"usg_e": [],
|
||||
"ush": [],
|
||||
"ush_e": [],
|
||||
"usphi": [],
|
||||
"usphi_e": []
|
||||
},
|
||||
"cost": {
|
||||
"Vu": [],
|
||||
"Vu_0": [],
|
||||
"Vx": [],
|
||||
"Vx_0": [],
|
||||
"Vx_e": [],
|
||||
"Vz": [],
|
||||
"Vz_0": [],
|
||||
"W": [
|
||||
[
|
||||
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
|
||||
]
|
||||
],
|
||||
"W_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
|
||||
]
|
||||
],
|
||||
"W_e": [
|
||||
[
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
],
|
||||
"Zl": [],
|
||||
"Zl_e": [],
|
||||
"Zu": [],
|
||||
"Zu_e": [],
|
||||
"cost_ext_fun_type": "casadi",
|
||||
"cost_ext_fun_type_0": "casadi",
|
||||
"cost_ext_fun_type_e": "casadi",
|
||||
"cost_type": "NONLINEAR_LS",
|
||||
"cost_type_0": "NONLINEAR_LS",
|
||||
"cost_type_e": "NONLINEAR_LS",
|
||||
"yref": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"yref_0": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"yref_e": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"zl": [],
|
||||
"zl_e": [],
|
||||
"zu": [],
|
||||
"zu_e": []
|
||||
},
|
||||
"cython_include_dirs": [
|
||||
"/usr/local/venv/lib/python3.12/site-packages/numpy/_core/include",
|
||||
"/usr/include/python3.12"
|
||||
],
|
||||
"dims": {
|
||||
"N": 32,
|
||||
"nbu": 0,
|
||||
"nbx": 2,
|
||||
"nbx_0": 4,
|
||||
"nbx_e": 0,
|
||||
"nbxe_0": 4,
|
||||
"ng": 0,
|
||||
"ng_e": 0,
|
||||
"nh": 0,
|
||||
"nh_e": 0,
|
||||
"np": 2,
|
||||
"nphi": 0,
|
||||
"nphi_e": 0,
|
||||
"nr": 0,
|
||||
"nr_e": 0,
|
||||
"ns": 0,
|
||||
"ns_e": 0,
|
||||
"nsbu": 0,
|
||||
"nsbx": 0,
|
||||
"nsbx_e": 0,
|
||||
"nsg": 0,
|
||||
"nsg_e": 0,
|
||||
"nsh": 0,
|
||||
"nsh_e": 0,
|
||||
"nsphi": 0,
|
||||
"nsphi_e": 0,
|
||||
"nu": 1,
|
||||
"nx": 4,
|
||||
"ny": 5,
|
||||
"ny_0": 5,
|
||||
"ny_e": 3,
|
||||
"nz": 0
|
||||
},
|
||||
"json_file": "/data/openpilot/selfdrive/controls/lib/lateral_mpc_lib/acados_ocp_lat.json",
|
||||
"model": {
|
||||
"con_h_expr": null,
|
||||
"con_h_expr_e": null,
|
||||
"con_phi_expr": null,
|
||||
"con_phi_expr_e": null,
|
||||
"con_r_expr": null,
|
||||
"con_r_expr_e": null,
|
||||
"con_r_in_phi": null,
|
||||
"con_r_in_phi_e": null,
|
||||
"cost_conl_custom_outer_hess": null,
|
||||
"cost_conl_custom_outer_hess_0": null,
|
||||
"cost_conl_custom_outer_hess_e": null,
|
||||
"cost_expr_ext_cost": null,
|
||||
"cost_expr_ext_cost_0": null,
|
||||
"cost_expr_ext_cost_custom_hess": null,
|
||||
"cost_expr_ext_cost_custom_hess_0": null,
|
||||
"cost_expr_ext_cost_custom_hess_e": null,
|
||||
"cost_expr_ext_cost_e": null,
|
||||
"cost_psi_expr": null,
|
||||
"cost_psi_expr_0": null,
|
||||
"cost_psi_expr_e": null,
|
||||
"cost_r_in_psi_expr": null,
|
||||
"cost_r_in_psi_expr_0": null,
|
||||
"cost_r_in_psi_expr_e": null,
|
||||
"cost_y_expr": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegjaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaajhpffghgpgegdaaaaaaaaaaaaaaaegbaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegmcaaaaaaaaaaaaaajgkaaaaaaaegpcaaaaaaaaaaaaaahaaaaaaaahdhjgpffghgpgegdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaamaaaaaaaahdhjgpfchbgehfgpffghgpgegdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaanaaaaaaaahdhjgpfbgdgdgfgmgpffghgpgegeaaaaaaaaaaaaaaachjaaaaaaaaaaaaaaaegbaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaaegmcaaaaaaaaaaaaaachkjjjjjjjjjjjjlpd",
|
||||
"cost_y_expr_0": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegjaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaajhpffghgpgegdaaaaaaaaaaaaaaaegbaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegmcaaaaaaaaaaaaaajgkaaaaaaaegpcaaaaaaaaaaaaaahaaaaaaaahdhjgpffghgpgegdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaamaaaaaaaahdhjgpfchbgehfgpffghgpgegdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaanaaaaaaaahdhjgpfbgdgdgfgmgpffghgpgegeaaaaaaaaaaaaaaachjaaaaaaaaaaaaaaaegbaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaaegmcaaaaaaaaaaaaaachkjjjjjjjjjjjjlpd",
|
||||
"cost_y_expr_e": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaeghaaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaajhpffghgpgegdaaaaaaaaaaaaaaaegbaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegmcaaaaaaaaaaaaaajgkaaaaaaaegpcaaaaaaaaaaaaaahaaaaaaaahdhjgpffghgpgegdaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaamaaaaaaaahdhjgpfchbgehfgpffghgpg",
|
||||
"disc_dyn_expr": null,
|
||||
"dyn_disc_fun": null,
|
||||
"dyn_disc_fun_jac": null,
|
||||
"dyn_disc_fun_jac_hess": null,
|
||||
"dyn_ext_fun_type": "casadi",
|
||||
"dyn_generic_source": null,
|
||||
"f_expl_expr": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegiaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegoaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaahaaaaaaaahdhjgpffghgpgegdaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaapaaaaaaachpgehbgehjgpgogpfchbgegjgfhdhegnaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaamaaaaaaaahdhjgpfchbgehfgpffghgpgegbaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaachbaaaaaaaaaaaaaaaegnaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaachfaaaaaaaaaaaaaaaegoaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaachiaaaaaaaaaaaaaaachiaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaanaaaaaaaahdhjgpfbgdgdgfgmgpffghgpg",
|
||||
"f_impl_expr": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegiaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaajaaaaaaaihpffghgpgpfegpgehegcaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegoaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaahaaaaaaaahdhjgpffghgpgegdaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaapaaaaaaachpgehbgehjgpgogpfchbgegjgfhdhegnaaaaaaaaaaaaaaachdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaamaaaaaaaahdhjgpfchbgehfgpffghgpgegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaajaaaaaaajhpffghgpgpfegpgehegbaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaachcaaaaaaaaaaaaaaaegnaaaaaaaaaaaaaaachdaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaachgaaaaaaaaaaaaaaaegoaaaaaaaaaaaaaaachdaaaaaaaaaaaaaaachjaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaalaaaaaaaahdhjgpffghgpgpfegpgehchjaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaaabaaaaaaahdhjgpfchbgehfgpffghgpgpfegpgehegpcaaaaaaaaaaaaaanaaaaaaaahdhjgpfbgdgdgfgmgpffghgpg",
|
||||
"gnsf": {
|
||||
"nontrivial_f_LO": 1,
|
||||
"purely_linear": 0
|
||||
},
|
||||
"name": "lat",
|
||||
"p": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaeggaaaaaaaaaaaaaaacaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegpcaaaaaaaaaaaaaapaaaaaaachpgehbgehjgpgogpfchbgegjgfhdh",
|
||||
"u": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegfaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaanaaaaaaaahdhjgpfbgdgdgfgmgpffghgpg",
|
||||
"x": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegiaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaihpffghgpgegpcaaaaaaaaaaaaaafaaaaaaajhpffghgpgegpcaaaaaaaaaaaaaahaaaaaaaahdhjgpffghgpgegpcaaaaaaaaaaaaaamaaaaaaaahdhjgpfchbgehfgpffghgpg",
|
||||
"xdot": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegiaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaajaaaaaaaihpffghgpgpfegpgehegpcaaaaaaaaaaaaaajaaaaaaajhpffghgpgpfegpgehegpcaaaaaaaaaaaaaalaaaaaaaahdhjgpffghgpgpfegpgehegpcaaaaaaaaaaaaaaabaaaaaaahdhjgpfchbgehfgpffghgpgpfegpgeh",
|
||||
"z": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
},
|
||||
"parameter_values": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"problem_class": "OCP",
|
||||
"shared_lib_ext": ".so",
|
||||
"solver_options": {
|
||||
"Tsim": 0.009765625,
|
||||
"alpha_min": 0.05,
|
||||
"alpha_reduction": 0.7,
|
||||
"collocation_type": "GAUSS_LEGENDRE",
|
||||
"custom_templates": [],
|
||||
"custom_update_copy": true,
|
||||
"custom_update_filename": "",
|
||||
"custom_update_header_filename": "",
|
||||
"eps_sufficient_descent": 0.0001,
|
||||
"exact_hess_constr": 1,
|
||||
"exact_hess_cost": 1,
|
||||
"exact_hess_dyn": 1,
|
||||
"ext_cost_num_hess": 0,
|
||||
"ext_fun_compile_flags": "-O2",
|
||||
"full_step_dual": 0,
|
||||
"globalization": "FIXED_STEP",
|
||||
"globalization_use_SOC": 0,
|
||||
"hessian_approx": "GAUSS_NEWTON",
|
||||
"hpipm_mode": "BALANCE",
|
||||
"initialize_t_slacks": 0,
|
||||
"integrator_type": "ERK",
|
||||
"levenberg_marquardt": 0.0,
|
||||
"line_search_use_sufficient_descent": 0,
|
||||
"model_external_shared_lib_dir": null,
|
||||
"model_external_shared_lib_name": null,
|
||||
"nlp_solver_ext_qp_res": 0,
|
||||
"nlp_solver_max_iter": 100,
|
||||
"nlp_solver_step_length": 1.0,
|
||||
"nlp_solver_tol_comp": 1e-06,
|
||||
"nlp_solver_tol_eq": 1e-06,
|
||||
"nlp_solver_tol_ineq": 1e-06,
|
||||
"nlp_solver_tol_stat": 1e-06,
|
||||
"nlp_solver_type": "SQP_RTI",
|
||||
"print_level": 0,
|
||||
"qp_solver": "PARTIAL_CONDENSING_HPIPM",
|
||||
"qp_solver_cond_N": 1,
|
||||
"qp_solver_cond_ric_alg": 1,
|
||||
"qp_solver_iter_max": 1,
|
||||
"qp_solver_ric_alg": 1,
|
||||
"qp_solver_tol_comp": null,
|
||||
"qp_solver_tol_eq": null,
|
||||
"qp_solver_tol_ineq": null,
|
||||
"qp_solver_tol_stat": null,
|
||||
"qp_solver_warm_start": 0,
|
||||
"regularize_method": null,
|
||||
"shooting_nodes": [
|
||||
0.0,
|
||||
0.009765625,
|
||||
0.0390625,
|
||||
0.087890625,
|
||||
0.15625,
|
||||
0.244140625,
|
||||
0.3515625,
|
||||
0.478515625,
|
||||
0.625,
|
||||
0.791015625,
|
||||
0.9765625,
|
||||
1.181640625,
|
||||
1.40625,
|
||||
1.650390625,
|
||||
1.9140625,
|
||||
2.197265625,
|
||||
2.5,
|
||||
2.822265625,
|
||||
3.1640625,
|
||||
3.525390625,
|
||||
3.90625,
|
||||
4.306640625,
|
||||
4.7265625,
|
||||
5.166015625,
|
||||
5.625,
|
||||
6.103515625,
|
||||
6.6015625,
|
||||
7.119140625,
|
||||
7.65625,
|
||||
8.212890625,
|
||||
8.7890625,
|
||||
9.384765625,
|
||||
10.0
|
||||
],
|
||||
"sim_method_jac_reuse": [
|
||||
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
|
||||
],
|
||||
"sim_method_newton_iter": 3,
|
||||
"sim_method_newton_tol": 0.0,
|
||||
"sim_method_num_stages": [
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4
|
||||
],
|
||||
"sim_method_num_steps": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"tf": 10.0,
|
||||
"time_steps": [
|
||||
0.009765625,
|
||||
0.029296875,
|
||||
0.048828125,
|
||||
0.068359375,
|
||||
0.087890625,
|
||||
0.107421875,
|
||||
0.126953125,
|
||||
0.146484375,
|
||||
0.166015625,
|
||||
0.185546875,
|
||||
0.205078125,
|
||||
0.224609375,
|
||||
0.244140625,
|
||||
0.263671875,
|
||||
0.283203125,
|
||||
0.302734375,
|
||||
0.322265625,
|
||||
0.341796875,
|
||||
0.361328125,
|
||||
0.380859375,
|
||||
0.400390625,
|
||||
0.419921875,
|
||||
0.439453125,
|
||||
0.458984375,
|
||||
0.478515625,
|
||||
0.498046875,
|
||||
0.517578125,
|
||||
0.537109375,
|
||||
0.556640625,
|
||||
0.576171875,
|
||||
0.595703125,
|
||||
0.615234375
|
||||
]
|
||||
}
|
||||
}
|
||||
+13146
-15042
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,524 @@
|
||||
{
|
||||
"acados_include_path": "/data/openpilot/third_party/acados/include",
|
||||
"acados_lib_path": "/data/openpilot/third_party/acados/lib",
|
||||
"code_export_directory": "/data/openpilot/selfdrive/controls/lib/longitudinal_mpc_lib/c_generated_code",
|
||||
"constraints": {
|
||||
"C": [],
|
||||
"C_e": [],
|
||||
"D": [],
|
||||
"constr_type": "BGH",
|
||||
"constr_type_e": "BGH",
|
||||
"idxbu": [],
|
||||
"idxbx": [],
|
||||
"idxbx_0": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"idxbx_e": [],
|
||||
"idxbxe_0": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"idxsbu": [],
|
||||
"idxsbx": [],
|
||||
"idxsbx_e": [],
|
||||
"idxsg": [],
|
||||
"idxsg_e": [],
|
||||
"idxsh": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"idxsh_e": [],
|
||||
"idxsphi": [],
|
||||
"idxsphi_e": [],
|
||||
"lbu": [],
|
||||
"lbx": [],
|
||||
"lbx_0": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"lbx_e": [],
|
||||
"lg": [],
|
||||
"lg_e": [],
|
||||
"lh": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"lh_e": [],
|
||||
"lphi": [],
|
||||
"lphi_e": [],
|
||||
"lsbu": [],
|
||||
"lsbx": [],
|
||||
"lsbx_e": [],
|
||||
"lsg": [],
|
||||
"lsg_e": [],
|
||||
"lsh": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"lsh_e": [],
|
||||
"lsphi": [],
|
||||
"lsphi_e": [],
|
||||
"ubu": [],
|
||||
"ubx": [],
|
||||
"ubx_0": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"ubx_e": [],
|
||||
"ug": [],
|
||||
"ug_e": [],
|
||||
"uh": [
|
||||
10000.0,
|
||||
10000.0,
|
||||
10000.0,
|
||||
10000.0
|
||||
],
|
||||
"uh_e": [],
|
||||
"uphi": [],
|
||||
"uphi_e": [],
|
||||
"usbu": [],
|
||||
"usbx": [],
|
||||
"usbx_e": [],
|
||||
"usg": [],
|
||||
"usg_e": [],
|
||||
"ush": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"ush_e": [],
|
||||
"usphi": [],
|
||||
"usphi_e": []
|
||||
},
|
||||
"cost": {
|
||||
"Vu": [],
|
||||
"Vu_0": [],
|
||||
"Vx": [],
|
||||
"Vx_0": [],
|
||||
"Vx_e": [],
|
||||
"Vz": [],
|
||||
"Vz_0": [],
|
||||
"W": [
|
||||
[
|
||||
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
|
||||
]
|
||||
],
|
||||
"W_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
|
||||
]
|
||||
],
|
||||
"W_e": [
|
||||
[
|
||||
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
|
||||
]
|
||||
],
|
||||
"Zl": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Zl_e": [],
|
||||
"Zu": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Zu_e": [],
|
||||
"cost_ext_fun_type": "casadi",
|
||||
"cost_ext_fun_type_0": "casadi",
|
||||
"cost_ext_fun_type_e": "casadi",
|
||||
"cost_type": "NONLINEAR_LS",
|
||||
"cost_type_0": "NONLINEAR_LS",
|
||||
"cost_type_e": "NONLINEAR_LS",
|
||||
"yref": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"yref_0": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"yref_e": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"zl": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"zl_e": [],
|
||||
"zu": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"zu_e": []
|
||||
},
|
||||
"cython_include_dirs": [
|
||||
"/usr/local/venv/lib/python3.12/site-packages/numpy/_core/include",
|
||||
"/usr/include/python3.12"
|
||||
],
|
||||
"dims": {
|
||||
"N": 12,
|
||||
"nbu": 0,
|
||||
"nbx": 0,
|
||||
"nbx_0": 3,
|
||||
"nbx_e": 0,
|
||||
"nbxe_0": 3,
|
||||
"ng": 0,
|
||||
"ng_e": 0,
|
||||
"nh": 4,
|
||||
"nh_e": 0,
|
||||
"np": 6,
|
||||
"nphi": 0,
|
||||
"nphi_e": 0,
|
||||
"nr": 0,
|
||||
"nr_e": 0,
|
||||
"ns": 4,
|
||||
"ns_e": 0,
|
||||
"nsbu": 0,
|
||||
"nsbx": 0,
|
||||
"nsbx_e": 0,
|
||||
"nsg": 0,
|
||||
"nsg_e": 0,
|
||||
"nsh": 4,
|
||||
"nsh_e": 0,
|
||||
"nsphi": 0,
|
||||
"nsphi_e": 0,
|
||||
"nu": 1,
|
||||
"nx": 3,
|
||||
"ny": 6,
|
||||
"ny_0": 6,
|
||||
"ny_e": 5,
|
||||
"nz": 0
|
||||
},
|
||||
"json_file": "/data/openpilot/selfdrive/controls/lib/longitudinal_mpc_lib/acados_ocp_long.json",
|
||||
"model": {
|
||||
"con_h_expr": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegiaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaabgpffghgpgegpcaaaaaaaaaaaaaafaaaaaaabgpfngjgogegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaabgpfngbgihchcaaaaaaaaaaaaaaaegeaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaakaaaaaaaihpfpgcgdhehbgdgmgfgegpcaaaaaaaaaaaaaafaaaaaaaihpffghgpgegdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaacbaaaaaamgfgbgegpfegbgoghgfgchpfggbgdgehpgchegbaaaaaaaaaaaaaaaegbaaaaaaaaaaaaaaaegeaaaaaaaaaaaaaaaeglaaaaaaaaaaaaaaachbaaaaaaaaaaaaaaaegmcaaaaaaaaaaaaaajgfaaaaaaaegdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaanaaaaaaamgfgbgegpfehpfggpgmgmgpghhchbaaaaaaaaaaaaaaaegmcaaaaaaaaaaaaaajggaaaaaaaegbaaaaaaaaaaaaaaachbaaaaaaaaaaaaaaaegmcaaaaaaaaaaaaaajgkaaaaaaa",
|
||||
"con_h_expr_e": null,
|
||||
"con_phi_expr": null,
|
||||
"con_phi_expr_e": null,
|
||||
"con_r_expr": null,
|
||||
"con_r_expr_e": null,
|
||||
"con_r_in_phi": null,
|
||||
"con_r_in_phi_e": null,
|
||||
"cost_conl_custom_outer_hess": null,
|
||||
"cost_conl_custom_outer_hess_0": null,
|
||||
"cost_conl_custom_outer_hess_e": null,
|
||||
"cost_expr_ext_cost": null,
|
||||
"cost_expr_ext_cost_0": null,
|
||||
"cost_expr_ext_cost_custom_hess": null,
|
||||
"cost_expr_ext_cost_custom_hess_0": null,
|
||||
"cost_expr_ext_cost_custom_hess_e": null,
|
||||
"cost_expr_ext_cost_e": null,
|
||||
"cost_psi_expr": null,
|
||||
"cost_psi_expr_0": null,
|
||||
"cost_psi_expr_e": null,
|
||||
"cost_r_in_psi_expr": null,
|
||||
"cost_r_in_psi_expr_0": null,
|
||||
"cost_r_in_psi_expr_e": null,
|
||||
"cost_y_expr": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegkaaaaaaaaaaaaaaagaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaegeaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaakaaaaaaaihpfpgcgdhehbgdgmgfgegpcaaaaaaaaaaaaaafaaaaaaaihpffghgpgegbaaaaaaaaaaaaaaaegbaaaaaaaaaaaaaaaegeaaaaaaaaaaaaaaaeglaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegmcaaaaaaaaaaaaaajgfaaaaaaaegdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaanaaaaaaamgfgbgegpfehpfggpgmgmgpghhcheaaaaaaaaaaaaaaaegmcaaaaaaaaaaaaaajggaaaaaaaegbaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegmcaaaaaaaaaaaaaajgkaaaaaaachcaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaabgpffghgpgegcaaaaaaaaaaaaaaachbbaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaagaaaaaaaahchfgghpfbgegpcaaaaaaaaaaaaaafaaaaaaakgpffghgpg",
|
||||
"cost_y_expr_0": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegkaaaaaaaaaaaaaaagaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaegeaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaakaaaaaaaihpfpgcgdhehbgdgmgfgegpcaaaaaaaaaaaaaafaaaaaaaihpffghgpgegbaaaaaaaaaaaaaaaegbaaaaaaaaaaaaaaaegeaaaaaaaaaaaaaaaeglaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegmcaaaaaaaaaaaaaajgfaaaaaaaegdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaanaaaaaaamgfgbgegpfehpfggpgmgmgpghhcheaaaaaaaaaaaaaaaegmcaaaaaaaaaaaaaajggaaaaaaaegbaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegmcaaaaaaaaaaaaaajgkaaaaaaachcaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaabgpffghgpgegcaaaaaaaaaaaaaaachbbaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaagaaaaaaaahchfgghpfbgegpcaaaaaaaaaaaaaafaaaaaaakgpffghgpg",
|
||||
"cost_y_expr_e": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegjaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaegeaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaakaaaaaaaihpfpgcgdhehbgdgmgfgegpcaaaaaaaaaaaaaafaaaaaaaihpffghgpgegbaaaaaaaaaaaaaaaegbaaaaaaaaaaaaaaaegeaaaaaaaaaaaaaaaeglaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegmcaaaaaaaaaaaaaajgfaaaaaaaegdaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaanaaaaaaamgfgbgegpfehpfggpgmgmgpghhcheaaaaaaaaaaaaaaaegmcaaaaaaaaaaaaaajggaaaaaaaegbaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegmcaaaaaaaaaaaaaajgkaaaaaaachcaaaaaaaaaaaaaaacheaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaabgpffghgpgegcaaaaaaaaaaaaaaachbbaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaagaaaaaaaahchfgghpfbg",
|
||||
"disc_dyn_expr": null,
|
||||
"dyn_disc_fun": null,
|
||||
"dyn_disc_fun_jac": null,
|
||||
"dyn_disc_fun_jac_hess": null,
|
||||
"dyn_ext_fun_type": "casadi",
|
||||
"dyn_generic_source": null,
|
||||
"f_expl_expr": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaeghaaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegpcaaaaaaaaaaaaaafaaaaaaabgpffghgpgegpcaaaaaaaaaaaaaafaaaaaaakgpffghgpg",
|
||||
"f_impl_expr": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaeghaaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaajaaaaaaaihpffghgpgpfegpgehegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaajaaaaaaaghpffghgpgpfegpgehegpcaaaaaaaaaaaaaafaaaaaaabgpffghgpgegcaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaajaaaaaaabgpffghgpgpfegpgehegpcaaaaaaaaaaaaaafaaaaaaakgpffghgpg",
|
||||
"gnsf": {
|
||||
"nontrivial_f_LO": 1,
|
||||
"purely_linear": 0
|
||||
},
|
||||
"name": "long",
|
||||
"p": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegkaaaaaaaaaaaaaaagaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaafaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaabgpfngjgogegpcaaaaaaaaaaaaaafaaaaaaabgpfngbgihegpcaaaaaaaaaaaaaakaaaaaaaihpfpgcgdhehbgdgmgfgegpcaaaaaaaaaaaaaagaaaaaaaahchfgghpfbgegpcaaaaaaaaaaaaaanaaaaaaamgfgbgegpfehpfggpgmgmgpghhegpcaaaaaaaaaaaaaacbaaaaaamgfgbgegpfegbgoghgfgchpfggbgdgehpgch",
|
||||
"u": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegfaaaaaaaaaaaaaaabaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaakgpffghgpg",
|
||||
"x": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaeghaaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaafaaaaaaaihpffghgpgegpcaaaaaaaaaaaaaafaaaaaaaghpffghgpgegpcaaaaaaaaaaaaaafaaaaaaabgpffghgpg",
|
||||
"xdot": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaeghaaaaaaaaaaaaaaadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaacaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaegpcaaaaaaaaaaaaaajaaaaaaaihpffghgpgpfegpgehegpcaaaaaaaaaaaaaajaaaaaaaghpffghgpgpfegpgehegpcaaaaaaaaaaaaaajaaaaaaabgpffghgpgpfegpgeh",
|
||||
"z": "jhpnnagiieahaaaadaaaaaaaaaaaaaaaaaegdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
},
|
||||
"parameter_values": [
|
||||
-1.2,
|
||||
1.2,
|
||||
0.0,
|
||||
0.0,
|
||||
1.45,
|
||||
0.75
|
||||
],
|
||||
"problem_class": "OCP",
|
||||
"shared_lib_ext": ".so",
|
||||
"solver_options": {
|
||||
"Tsim": 0.06944444444444445,
|
||||
"alpha_min": 0.05,
|
||||
"alpha_reduction": 0.7,
|
||||
"collocation_type": "GAUSS_LEGENDRE",
|
||||
"custom_templates": [],
|
||||
"custom_update_copy": true,
|
||||
"custom_update_filename": "",
|
||||
"custom_update_header_filename": "",
|
||||
"eps_sufficient_descent": 0.0001,
|
||||
"exact_hess_constr": 1,
|
||||
"exact_hess_cost": 1,
|
||||
"exact_hess_dyn": 1,
|
||||
"ext_cost_num_hess": 0,
|
||||
"ext_fun_compile_flags": "-O2",
|
||||
"full_step_dual": 0,
|
||||
"globalization": "FIXED_STEP",
|
||||
"globalization_use_SOC": 0,
|
||||
"hessian_approx": "GAUSS_NEWTON",
|
||||
"hpipm_mode": "BALANCE",
|
||||
"initialize_t_slacks": 0,
|
||||
"integrator_type": "ERK",
|
||||
"levenberg_marquardt": 0.0,
|
||||
"line_search_use_sufficient_descent": 0,
|
||||
"model_external_shared_lib_dir": null,
|
||||
"model_external_shared_lib_name": null,
|
||||
"nlp_solver_ext_qp_res": 0,
|
||||
"nlp_solver_max_iter": 100,
|
||||
"nlp_solver_step_length": 1.0,
|
||||
"nlp_solver_tol_comp": 1e-06,
|
||||
"nlp_solver_tol_eq": 1e-06,
|
||||
"nlp_solver_tol_ineq": 1e-06,
|
||||
"nlp_solver_tol_stat": 1e-06,
|
||||
"nlp_solver_type": "SQP_RTI",
|
||||
"print_level": 0,
|
||||
"qp_solver": "PARTIAL_CONDENSING_HPIPM",
|
||||
"qp_solver_cond_N": 1,
|
||||
"qp_solver_cond_ric_alg": 1,
|
||||
"qp_solver_iter_max": 10,
|
||||
"qp_solver_ric_alg": 1,
|
||||
"qp_solver_tol_comp": 0.001,
|
||||
"qp_solver_tol_eq": 0.001,
|
||||
"qp_solver_tol_ineq": 0.001,
|
||||
"qp_solver_tol_stat": 0.001,
|
||||
"qp_solver_warm_start": 0,
|
||||
"regularize_method": null,
|
||||
"shooting_nodes": [
|
||||
0.0,
|
||||
0.06944444444444445,
|
||||
0.2777777777777778,
|
||||
0.625,
|
||||
1.1111111111111112,
|
||||
1.7361111111111114,
|
||||
2.5,
|
||||
3.4027777777777786,
|
||||
4.444444444444445,
|
||||
5.625,
|
||||
6.9444444444444455,
|
||||
8.402777777777777,
|
||||
10.0
|
||||
],
|
||||
"sim_method_jac_reuse": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"sim_method_newton_iter": 3,
|
||||
"sim_method_newton_tol": 0.0,
|
||||
"sim_method_num_stages": [
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4
|
||||
],
|
||||
"sim_method_num_steps": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"tf": 10.0,
|
||||
"time_steps": [
|
||||
0.06944444444444445,
|
||||
0.20833333333333334,
|
||||
0.3472222222222222,
|
||||
0.48611111111111116,
|
||||
0.6250000000000002,
|
||||
0.7638888888888886,
|
||||
0.9027777777777786,
|
||||
1.041666666666666,
|
||||
1.1805555555555554,
|
||||
1.3194444444444455,
|
||||
1.4583333333333313,
|
||||
1.5972222222222232
|
||||
]
|
||||
}
|
||||
}
|
||||
+13146
-15042
File diff suppressed because it is too large
Load Diff
Binary file not shown.
BIN
Binary file not shown.
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* This file was automatically generated by CasADi 3.7.0.
|
||||
/* This file was automatically generated by CasADi 3.7.1.
|
||||
* It consists of:
|
||||
* 1) content generated by CasADi runtime: not copyrighted
|
||||
* 2) template code copied from CasADi source: permissively licensed (MIT-0)
|
||||
|
||||
@@ -45,326 +45,326 @@ const static double MAHA_THRESH_31 = 3.8414588206941227;
|
||||
* *
|
||||
* This file is part of 'ekf' *
|
||||
******************************************************************************/
|
||||
void err_fun(double *nom_x, double *delta_x, double *out_5118140892357841772) {
|
||||
out_5118140892357841772[0] = delta_x[0] + nom_x[0];
|
||||
out_5118140892357841772[1] = delta_x[1] + nom_x[1];
|
||||
out_5118140892357841772[2] = delta_x[2] + nom_x[2];
|
||||
out_5118140892357841772[3] = delta_x[3] + nom_x[3];
|
||||
out_5118140892357841772[4] = delta_x[4] + nom_x[4];
|
||||
out_5118140892357841772[5] = delta_x[5] + nom_x[5];
|
||||
out_5118140892357841772[6] = delta_x[6] + nom_x[6];
|
||||
out_5118140892357841772[7] = delta_x[7] + nom_x[7];
|
||||
out_5118140892357841772[8] = delta_x[8] + nom_x[8];
|
||||
void err_fun(double *nom_x, double *delta_x, double *out_6670847255313813537) {
|
||||
out_6670847255313813537[0] = delta_x[0] + nom_x[0];
|
||||
out_6670847255313813537[1] = delta_x[1] + nom_x[1];
|
||||
out_6670847255313813537[2] = delta_x[2] + nom_x[2];
|
||||
out_6670847255313813537[3] = delta_x[3] + nom_x[3];
|
||||
out_6670847255313813537[4] = delta_x[4] + nom_x[4];
|
||||
out_6670847255313813537[5] = delta_x[5] + nom_x[5];
|
||||
out_6670847255313813537[6] = delta_x[6] + nom_x[6];
|
||||
out_6670847255313813537[7] = delta_x[7] + nom_x[7];
|
||||
out_6670847255313813537[8] = delta_x[8] + nom_x[8];
|
||||
}
|
||||
void inv_err_fun(double *nom_x, double *true_x, double *out_4745321206345718051) {
|
||||
out_4745321206345718051[0] = -nom_x[0] + true_x[0];
|
||||
out_4745321206345718051[1] = -nom_x[1] + true_x[1];
|
||||
out_4745321206345718051[2] = -nom_x[2] + true_x[2];
|
||||
out_4745321206345718051[3] = -nom_x[3] + true_x[3];
|
||||
out_4745321206345718051[4] = -nom_x[4] + true_x[4];
|
||||
out_4745321206345718051[5] = -nom_x[5] + true_x[5];
|
||||
out_4745321206345718051[6] = -nom_x[6] + true_x[6];
|
||||
out_4745321206345718051[7] = -nom_x[7] + true_x[7];
|
||||
out_4745321206345718051[8] = -nom_x[8] + true_x[8];
|
||||
void inv_err_fun(double *nom_x, double *true_x, double *out_3529315537186539635) {
|
||||
out_3529315537186539635[0] = -nom_x[0] + true_x[0];
|
||||
out_3529315537186539635[1] = -nom_x[1] + true_x[1];
|
||||
out_3529315537186539635[2] = -nom_x[2] + true_x[2];
|
||||
out_3529315537186539635[3] = -nom_x[3] + true_x[3];
|
||||
out_3529315537186539635[4] = -nom_x[4] + true_x[4];
|
||||
out_3529315537186539635[5] = -nom_x[5] + true_x[5];
|
||||
out_3529315537186539635[6] = -nom_x[6] + true_x[6];
|
||||
out_3529315537186539635[7] = -nom_x[7] + true_x[7];
|
||||
out_3529315537186539635[8] = -nom_x[8] + true_x[8];
|
||||
}
|
||||
void H_mod_fun(double *state, double *out_2596711998114896803) {
|
||||
out_2596711998114896803[0] = 1.0;
|
||||
out_2596711998114896803[1] = 0.0;
|
||||
out_2596711998114896803[2] = 0.0;
|
||||
out_2596711998114896803[3] = 0.0;
|
||||
out_2596711998114896803[4] = 0.0;
|
||||
out_2596711998114896803[5] = 0.0;
|
||||
out_2596711998114896803[6] = 0.0;
|
||||
out_2596711998114896803[7] = 0.0;
|
||||
out_2596711998114896803[8] = 0.0;
|
||||
out_2596711998114896803[9] = 0.0;
|
||||
out_2596711998114896803[10] = 1.0;
|
||||
out_2596711998114896803[11] = 0.0;
|
||||
out_2596711998114896803[12] = 0.0;
|
||||
out_2596711998114896803[13] = 0.0;
|
||||
out_2596711998114896803[14] = 0.0;
|
||||
out_2596711998114896803[15] = 0.0;
|
||||
out_2596711998114896803[16] = 0.0;
|
||||
out_2596711998114896803[17] = 0.0;
|
||||
out_2596711998114896803[18] = 0.0;
|
||||
out_2596711998114896803[19] = 0.0;
|
||||
out_2596711998114896803[20] = 1.0;
|
||||
out_2596711998114896803[21] = 0.0;
|
||||
out_2596711998114896803[22] = 0.0;
|
||||
out_2596711998114896803[23] = 0.0;
|
||||
out_2596711998114896803[24] = 0.0;
|
||||
out_2596711998114896803[25] = 0.0;
|
||||
out_2596711998114896803[26] = 0.0;
|
||||
out_2596711998114896803[27] = 0.0;
|
||||
out_2596711998114896803[28] = 0.0;
|
||||
out_2596711998114896803[29] = 0.0;
|
||||
out_2596711998114896803[30] = 1.0;
|
||||
out_2596711998114896803[31] = 0.0;
|
||||
out_2596711998114896803[32] = 0.0;
|
||||
out_2596711998114896803[33] = 0.0;
|
||||
out_2596711998114896803[34] = 0.0;
|
||||
out_2596711998114896803[35] = 0.0;
|
||||
out_2596711998114896803[36] = 0.0;
|
||||
out_2596711998114896803[37] = 0.0;
|
||||
out_2596711998114896803[38] = 0.0;
|
||||
out_2596711998114896803[39] = 0.0;
|
||||
out_2596711998114896803[40] = 1.0;
|
||||
out_2596711998114896803[41] = 0.0;
|
||||
out_2596711998114896803[42] = 0.0;
|
||||
out_2596711998114896803[43] = 0.0;
|
||||
out_2596711998114896803[44] = 0.0;
|
||||
out_2596711998114896803[45] = 0.0;
|
||||
out_2596711998114896803[46] = 0.0;
|
||||
out_2596711998114896803[47] = 0.0;
|
||||
out_2596711998114896803[48] = 0.0;
|
||||
out_2596711998114896803[49] = 0.0;
|
||||
out_2596711998114896803[50] = 1.0;
|
||||
out_2596711998114896803[51] = 0.0;
|
||||
out_2596711998114896803[52] = 0.0;
|
||||
out_2596711998114896803[53] = 0.0;
|
||||
out_2596711998114896803[54] = 0.0;
|
||||
out_2596711998114896803[55] = 0.0;
|
||||
out_2596711998114896803[56] = 0.0;
|
||||
out_2596711998114896803[57] = 0.0;
|
||||
out_2596711998114896803[58] = 0.0;
|
||||
out_2596711998114896803[59] = 0.0;
|
||||
out_2596711998114896803[60] = 1.0;
|
||||
out_2596711998114896803[61] = 0.0;
|
||||
out_2596711998114896803[62] = 0.0;
|
||||
out_2596711998114896803[63] = 0.0;
|
||||
out_2596711998114896803[64] = 0.0;
|
||||
out_2596711998114896803[65] = 0.0;
|
||||
out_2596711998114896803[66] = 0.0;
|
||||
out_2596711998114896803[67] = 0.0;
|
||||
out_2596711998114896803[68] = 0.0;
|
||||
out_2596711998114896803[69] = 0.0;
|
||||
out_2596711998114896803[70] = 1.0;
|
||||
out_2596711998114896803[71] = 0.0;
|
||||
out_2596711998114896803[72] = 0.0;
|
||||
out_2596711998114896803[73] = 0.0;
|
||||
out_2596711998114896803[74] = 0.0;
|
||||
out_2596711998114896803[75] = 0.0;
|
||||
out_2596711998114896803[76] = 0.0;
|
||||
out_2596711998114896803[77] = 0.0;
|
||||
out_2596711998114896803[78] = 0.0;
|
||||
out_2596711998114896803[79] = 0.0;
|
||||
out_2596711998114896803[80] = 1.0;
|
||||
void H_mod_fun(double *state, double *out_338496889012731866) {
|
||||
out_338496889012731866[0] = 1.0;
|
||||
out_338496889012731866[1] = 0.0;
|
||||
out_338496889012731866[2] = 0.0;
|
||||
out_338496889012731866[3] = 0.0;
|
||||
out_338496889012731866[4] = 0.0;
|
||||
out_338496889012731866[5] = 0.0;
|
||||
out_338496889012731866[6] = 0.0;
|
||||
out_338496889012731866[7] = 0.0;
|
||||
out_338496889012731866[8] = 0.0;
|
||||
out_338496889012731866[9] = 0.0;
|
||||
out_338496889012731866[10] = 1.0;
|
||||
out_338496889012731866[11] = 0.0;
|
||||
out_338496889012731866[12] = 0.0;
|
||||
out_338496889012731866[13] = 0.0;
|
||||
out_338496889012731866[14] = 0.0;
|
||||
out_338496889012731866[15] = 0.0;
|
||||
out_338496889012731866[16] = 0.0;
|
||||
out_338496889012731866[17] = 0.0;
|
||||
out_338496889012731866[18] = 0.0;
|
||||
out_338496889012731866[19] = 0.0;
|
||||
out_338496889012731866[20] = 1.0;
|
||||
out_338496889012731866[21] = 0.0;
|
||||
out_338496889012731866[22] = 0.0;
|
||||
out_338496889012731866[23] = 0.0;
|
||||
out_338496889012731866[24] = 0.0;
|
||||
out_338496889012731866[25] = 0.0;
|
||||
out_338496889012731866[26] = 0.0;
|
||||
out_338496889012731866[27] = 0.0;
|
||||
out_338496889012731866[28] = 0.0;
|
||||
out_338496889012731866[29] = 0.0;
|
||||
out_338496889012731866[30] = 1.0;
|
||||
out_338496889012731866[31] = 0.0;
|
||||
out_338496889012731866[32] = 0.0;
|
||||
out_338496889012731866[33] = 0.0;
|
||||
out_338496889012731866[34] = 0.0;
|
||||
out_338496889012731866[35] = 0.0;
|
||||
out_338496889012731866[36] = 0.0;
|
||||
out_338496889012731866[37] = 0.0;
|
||||
out_338496889012731866[38] = 0.0;
|
||||
out_338496889012731866[39] = 0.0;
|
||||
out_338496889012731866[40] = 1.0;
|
||||
out_338496889012731866[41] = 0.0;
|
||||
out_338496889012731866[42] = 0.0;
|
||||
out_338496889012731866[43] = 0.0;
|
||||
out_338496889012731866[44] = 0.0;
|
||||
out_338496889012731866[45] = 0.0;
|
||||
out_338496889012731866[46] = 0.0;
|
||||
out_338496889012731866[47] = 0.0;
|
||||
out_338496889012731866[48] = 0.0;
|
||||
out_338496889012731866[49] = 0.0;
|
||||
out_338496889012731866[50] = 1.0;
|
||||
out_338496889012731866[51] = 0.0;
|
||||
out_338496889012731866[52] = 0.0;
|
||||
out_338496889012731866[53] = 0.0;
|
||||
out_338496889012731866[54] = 0.0;
|
||||
out_338496889012731866[55] = 0.0;
|
||||
out_338496889012731866[56] = 0.0;
|
||||
out_338496889012731866[57] = 0.0;
|
||||
out_338496889012731866[58] = 0.0;
|
||||
out_338496889012731866[59] = 0.0;
|
||||
out_338496889012731866[60] = 1.0;
|
||||
out_338496889012731866[61] = 0.0;
|
||||
out_338496889012731866[62] = 0.0;
|
||||
out_338496889012731866[63] = 0.0;
|
||||
out_338496889012731866[64] = 0.0;
|
||||
out_338496889012731866[65] = 0.0;
|
||||
out_338496889012731866[66] = 0.0;
|
||||
out_338496889012731866[67] = 0.0;
|
||||
out_338496889012731866[68] = 0.0;
|
||||
out_338496889012731866[69] = 0.0;
|
||||
out_338496889012731866[70] = 1.0;
|
||||
out_338496889012731866[71] = 0.0;
|
||||
out_338496889012731866[72] = 0.0;
|
||||
out_338496889012731866[73] = 0.0;
|
||||
out_338496889012731866[74] = 0.0;
|
||||
out_338496889012731866[75] = 0.0;
|
||||
out_338496889012731866[76] = 0.0;
|
||||
out_338496889012731866[77] = 0.0;
|
||||
out_338496889012731866[78] = 0.0;
|
||||
out_338496889012731866[79] = 0.0;
|
||||
out_338496889012731866[80] = 1.0;
|
||||
}
|
||||
void f_fun(double *state, double dt, double *out_6942410117250554106) {
|
||||
out_6942410117250554106[0] = state[0];
|
||||
out_6942410117250554106[1] = state[1];
|
||||
out_6942410117250554106[2] = state[2];
|
||||
out_6942410117250554106[3] = state[3];
|
||||
out_6942410117250554106[4] = state[4];
|
||||
out_6942410117250554106[5] = dt*((-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]))*state[6] - 9.8100000000000005*state[8] + stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*state[1]) + (-stiffness_front*state[0] - stiffness_rear*state[0])*state[5]/(mass*state[4])) + state[5];
|
||||
out_6942410117250554106[6] = dt*(center_to_front*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*state[1]) + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])*state[5]/(rotational_inertia*state[4]) + (-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])*state[6]/(rotational_inertia*state[4])) + state[6];
|
||||
out_6942410117250554106[7] = state[7];
|
||||
out_6942410117250554106[8] = state[8];
|
||||
void f_fun(double *state, double dt, double *out_3923934035523038452) {
|
||||
out_3923934035523038452[0] = state[0];
|
||||
out_3923934035523038452[1] = state[1];
|
||||
out_3923934035523038452[2] = state[2];
|
||||
out_3923934035523038452[3] = state[3];
|
||||
out_3923934035523038452[4] = state[4];
|
||||
out_3923934035523038452[5] = dt*((-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]))*state[6] - 9.8100000000000005*state[8] + stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*state[1]) + (-stiffness_front*state[0] - stiffness_rear*state[0])*state[5]/(mass*state[4])) + state[5];
|
||||
out_3923934035523038452[6] = dt*(center_to_front*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*state[1]) + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])*state[5]/(rotational_inertia*state[4]) + (-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])*state[6]/(rotational_inertia*state[4])) + state[6];
|
||||
out_3923934035523038452[7] = state[7];
|
||||
out_3923934035523038452[8] = state[8];
|
||||
}
|
||||
void F_fun(double *state, double dt, double *out_8478175790585558502) {
|
||||
out_8478175790585558502[0] = 1;
|
||||
out_8478175790585558502[1] = 0;
|
||||
out_8478175790585558502[2] = 0;
|
||||
out_8478175790585558502[3] = 0;
|
||||
out_8478175790585558502[4] = 0;
|
||||
out_8478175790585558502[5] = 0;
|
||||
out_8478175790585558502[6] = 0;
|
||||
out_8478175790585558502[7] = 0;
|
||||
out_8478175790585558502[8] = 0;
|
||||
out_8478175790585558502[9] = 0;
|
||||
out_8478175790585558502[10] = 1;
|
||||
out_8478175790585558502[11] = 0;
|
||||
out_8478175790585558502[12] = 0;
|
||||
out_8478175790585558502[13] = 0;
|
||||
out_8478175790585558502[14] = 0;
|
||||
out_8478175790585558502[15] = 0;
|
||||
out_8478175790585558502[16] = 0;
|
||||
out_8478175790585558502[17] = 0;
|
||||
out_8478175790585558502[18] = 0;
|
||||
out_8478175790585558502[19] = 0;
|
||||
out_8478175790585558502[20] = 1;
|
||||
out_8478175790585558502[21] = 0;
|
||||
out_8478175790585558502[22] = 0;
|
||||
out_8478175790585558502[23] = 0;
|
||||
out_8478175790585558502[24] = 0;
|
||||
out_8478175790585558502[25] = 0;
|
||||
out_8478175790585558502[26] = 0;
|
||||
out_8478175790585558502[27] = 0;
|
||||
out_8478175790585558502[28] = 0;
|
||||
out_8478175790585558502[29] = 0;
|
||||
out_8478175790585558502[30] = 1;
|
||||
out_8478175790585558502[31] = 0;
|
||||
out_8478175790585558502[32] = 0;
|
||||
out_8478175790585558502[33] = 0;
|
||||
out_8478175790585558502[34] = 0;
|
||||
out_8478175790585558502[35] = 0;
|
||||
out_8478175790585558502[36] = 0;
|
||||
out_8478175790585558502[37] = 0;
|
||||
out_8478175790585558502[38] = 0;
|
||||
out_8478175790585558502[39] = 0;
|
||||
out_8478175790585558502[40] = 1;
|
||||
out_8478175790585558502[41] = 0;
|
||||
out_8478175790585558502[42] = 0;
|
||||
out_8478175790585558502[43] = 0;
|
||||
out_8478175790585558502[44] = 0;
|
||||
out_8478175790585558502[45] = dt*(stiffness_front*(-state[2] - state[3] + state[7])/(mass*state[1]) + (-stiffness_front - stiffness_rear)*state[5]/(mass*state[4]) + (-center_to_front*stiffness_front + center_to_rear*stiffness_rear)*state[6]/(mass*state[4]));
|
||||
out_8478175790585558502[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
|
||||
out_8478175790585558502[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
|
||||
out_8478175790585558502[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
|
||||
out_8478175790585558502[49] = dt*((-1 - (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*pow(state[4], 2)))*state[6] - (-stiffness_front*state[0] - stiffness_rear*state[0])*state[5]/(mass*pow(state[4], 2)));
|
||||
out_8478175790585558502[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
|
||||
out_8478175790585558502[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
|
||||
out_8478175790585558502[52] = dt*stiffness_front*state[0]/(mass*state[1]);
|
||||
out_8478175790585558502[53] = -9.8100000000000005*dt;
|
||||
out_8478175790585558502[54] = dt*(center_to_front*stiffness_front*(-state[2] - state[3] + state[7])/(rotational_inertia*state[1]) + (-center_to_front*stiffness_front + center_to_rear*stiffness_rear)*state[5]/(rotational_inertia*state[4]) + (-pow(center_to_front, 2)*stiffness_front - pow(center_to_rear, 2)*stiffness_rear)*state[6]/(rotational_inertia*state[4]));
|
||||
out_8478175790585558502[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
|
||||
out_8478175790585558502[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
|
||||
out_8478175790585558502[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
|
||||
out_8478175790585558502[58] = dt*(-(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])*state[5]/(rotational_inertia*pow(state[4], 2)) - (-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])*state[6]/(rotational_inertia*pow(state[4], 2)));
|
||||
out_8478175790585558502[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
|
||||
out_8478175790585558502[60] = dt*(-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])/(rotational_inertia*state[4]) + 1;
|
||||
out_8478175790585558502[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
|
||||
out_8478175790585558502[62] = 0;
|
||||
out_8478175790585558502[63] = 0;
|
||||
out_8478175790585558502[64] = 0;
|
||||
out_8478175790585558502[65] = 0;
|
||||
out_8478175790585558502[66] = 0;
|
||||
out_8478175790585558502[67] = 0;
|
||||
out_8478175790585558502[68] = 0;
|
||||
out_8478175790585558502[69] = 0;
|
||||
out_8478175790585558502[70] = 1;
|
||||
out_8478175790585558502[71] = 0;
|
||||
out_8478175790585558502[72] = 0;
|
||||
out_8478175790585558502[73] = 0;
|
||||
out_8478175790585558502[74] = 0;
|
||||
out_8478175790585558502[75] = 0;
|
||||
out_8478175790585558502[76] = 0;
|
||||
out_8478175790585558502[77] = 0;
|
||||
out_8478175790585558502[78] = 0;
|
||||
out_8478175790585558502[79] = 0;
|
||||
out_8478175790585558502[80] = 1;
|
||||
void F_fun(double *state, double dt, double *out_4825516617134300251) {
|
||||
out_4825516617134300251[0] = 1;
|
||||
out_4825516617134300251[1] = 0;
|
||||
out_4825516617134300251[2] = 0;
|
||||
out_4825516617134300251[3] = 0;
|
||||
out_4825516617134300251[4] = 0;
|
||||
out_4825516617134300251[5] = 0;
|
||||
out_4825516617134300251[6] = 0;
|
||||
out_4825516617134300251[7] = 0;
|
||||
out_4825516617134300251[8] = 0;
|
||||
out_4825516617134300251[9] = 0;
|
||||
out_4825516617134300251[10] = 1;
|
||||
out_4825516617134300251[11] = 0;
|
||||
out_4825516617134300251[12] = 0;
|
||||
out_4825516617134300251[13] = 0;
|
||||
out_4825516617134300251[14] = 0;
|
||||
out_4825516617134300251[15] = 0;
|
||||
out_4825516617134300251[16] = 0;
|
||||
out_4825516617134300251[17] = 0;
|
||||
out_4825516617134300251[18] = 0;
|
||||
out_4825516617134300251[19] = 0;
|
||||
out_4825516617134300251[20] = 1;
|
||||
out_4825516617134300251[21] = 0;
|
||||
out_4825516617134300251[22] = 0;
|
||||
out_4825516617134300251[23] = 0;
|
||||
out_4825516617134300251[24] = 0;
|
||||
out_4825516617134300251[25] = 0;
|
||||
out_4825516617134300251[26] = 0;
|
||||
out_4825516617134300251[27] = 0;
|
||||
out_4825516617134300251[28] = 0;
|
||||
out_4825516617134300251[29] = 0;
|
||||
out_4825516617134300251[30] = 1;
|
||||
out_4825516617134300251[31] = 0;
|
||||
out_4825516617134300251[32] = 0;
|
||||
out_4825516617134300251[33] = 0;
|
||||
out_4825516617134300251[34] = 0;
|
||||
out_4825516617134300251[35] = 0;
|
||||
out_4825516617134300251[36] = 0;
|
||||
out_4825516617134300251[37] = 0;
|
||||
out_4825516617134300251[38] = 0;
|
||||
out_4825516617134300251[39] = 0;
|
||||
out_4825516617134300251[40] = 1;
|
||||
out_4825516617134300251[41] = 0;
|
||||
out_4825516617134300251[42] = 0;
|
||||
out_4825516617134300251[43] = 0;
|
||||
out_4825516617134300251[44] = 0;
|
||||
out_4825516617134300251[45] = dt*(stiffness_front*(-state[2] - state[3] + state[7])/(mass*state[1]) + (-stiffness_front - stiffness_rear)*state[5]/(mass*state[4]) + (-center_to_front*stiffness_front + center_to_rear*stiffness_rear)*state[6]/(mass*state[4]));
|
||||
out_4825516617134300251[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
|
||||
out_4825516617134300251[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
|
||||
out_4825516617134300251[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
|
||||
out_4825516617134300251[49] = dt*((-1 - (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*pow(state[4], 2)))*state[6] - (-stiffness_front*state[0] - stiffness_rear*state[0])*state[5]/(mass*pow(state[4], 2)));
|
||||
out_4825516617134300251[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
|
||||
out_4825516617134300251[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
|
||||
out_4825516617134300251[52] = dt*stiffness_front*state[0]/(mass*state[1]);
|
||||
out_4825516617134300251[53] = -9.8100000000000005*dt;
|
||||
out_4825516617134300251[54] = dt*(center_to_front*stiffness_front*(-state[2] - state[3] + state[7])/(rotational_inertia*state[1]) + (-center_to_front*stiffness_front + center_to_rear*stiffness_rear)*state[5]/(rotational_inertia*state[4]) + (-pow(center_to_front, 2)*stiffness_front - pow(center_to_rear, 2)*stiffness_rear)*state[6]/(rotational_inertia*state[4]));
|
||||
out_4825516617134300251[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
|
||||
out_4825516617134300251[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
|
||||
out_4825516617134300251[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
|
||||
out_4825516617134300251[58] = dt*(-(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])*state[5]/(rotational_inertia*pow(state[4], 2)) - (-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])*state[6]/(rotational_inertia*pow(state[4], 2)));
|
||||
out_4825516617134300251[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
|
||||
out_4825516617134300251[60] = dt*(-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])/(rotational_inertia*state[4]) + 1;
|
||||
out_4825516617134300251[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
|
||||
out_4825516617134300251[62] = 0;
|
||||
out_4825516617134300251[63] = 0;
|
||||
out_4825516617134300251[64] = 0;
|
||||
out_4825516617134300251[65] = 0;
|
||||
out_4825516617134300251[66] = 0;
|
||||
out_4825516617134300251[67] = 0;
|
||||
out_4825516617134300251[68] = 0;
|
||||
out_4825516617134300251[69] = 0;
|
||||
out_4825516617134300251[70] = 1;
|
||||
out_4825516617134300251[71] = 0;
|
||||
out_4825516617134300251[72] = 0;
|
||||
out_4825516617134300251[73] = 0;
|
||||
out_4825516617134300251[74] = 0;
|
||||
out_4825516617134300251[75] = 0;
|
||||
out_4825516617134300251[76] = 0;
|
||||
out_4825516617134300251[77] = 0;
|
||||
out_4825516617134300251[78] = 0;
|
||||
out_4825516617134300251[79] = 0;
|
||||
out_4825516617134300251[80] = 1;
|
||||
}
|
||||
void h_25(double *state, double *unused, double *out_5217460560532285521) {
|
||||
out_5217460560532285521[0] = state[6];
|
||||
void h_25(double *state, double *unused, double *out_2301414804881314403) {
|
||||
out_2301414804881314403[0] = state[6];
|
||||
}
|
||||
void H_25(double *state, double *unused, double *out_926268651874594874) {
|
||||
out_926268651874594874[0] = 0;
|
||||
out_926268651874594874[1] = 0;
|
||||
out_926268651874594874[2] = 0;
|
||||
out_926268651874594874[3] = 0;
|
||||
out_926268651874594874[4] = 0;
|
||||
out_926268651874594874[5] = 0;
|
||||
out_926268651874594874[6] = 1;
|
||||
out_926268651874594874[7] = 0;
|
||||
out_926268651874594874[8] = 0;
|
||||
void H_25(double *state, double *unused, double *out_8854691336899505371) {
|
||||
out_8854691336899505371[0] = 0;
|
||||
out_8854691336899505371[1] = 0;
|
||||
out_8854691336899505371[2] = 0;
|
||||
out_8854691336899505371[3] = 0;
|
||||
out_8854691336899505371[4] = 0;
|
||||
out_8854691336899505371[5] = 0;
|
||||
out_8854691336899505371[6] = 1;
|
||||
out_8854691336899505371[7] = 0;
|
||||
out_8854691336899505371[8] = 0;
|
||||
}
|
||||
void h_24(double *state, double *unused, double *out_5731469901121999514) {
|
||||
out_5731469901121999514[0] = state[4];
|
||||
out_5731469901121999514[1] = state[5];
|
||||
void h_24(double *state, double *unused, double *out_620520591641681701) {
|
||||
out_620520591641681701[0] = state[4];
|
||||
out_620520591641681701[1] = state[5];
|
||||
}
|
||||
void H_24(double *state, double *unused, double *out_7501840458466112975) {
|
||||
out_7501840458466112975[0] = 0;
|
||||
out_7501840458466112975[1] = 0;
|
||||
out_7501840458466112975[2] = 0;
|
||||
out_7501840458466112975[3] = 0;
|
||||
out_7501840458466112975[4] = 1;
|
||||
out_7501840458466112975[5] = 0;
|
||||
out_7501840458466112975[6] = 0;
|
||||
out_7501840458466112975[7] = 0;
|
||||
out_7501840458466112975[8] = 0;
|
||||
out_7501840458466112975[9] = 0;
|
||||
out_7501840458466112975[10] = 0;
|
||||
out_7501840458466112975[11] = 0;
|
||||
out_7501840458466112975[12] = 0;
|
||||
out_7501840458466112975[13] = 0;
|
||||
out_7501840458466112975[14] = 1;
|
||||
out_7501840458466112975[15] = 0;
|
||||
out_7501840458466112975[16] = 0;
|
||||
out_7501840458466112975[17] = 0;
|
||||
void H_24(double *state, double *unused, double *out_4845543409843537211) {
|
||||
out_4845543409843537211[0] = 0;
|
||||
out_4845543409843537211[1] = 0;
|
||||
out_4845543409843537211[2] = 0;
|
||||
out_4845543409843537211[3] = 0;
|
||||
out_4845543409843537211[4] = 1;
|
||||
out_4845543409843537211[5] = 0;
|
||||
out_4845543409843537211[6] = 0;
|
||||
out_4845543409843537211[7] = 0;
|
||||
out_4845543409843537211[8] = 0;
|
||||
out_4845543409843537211[9] = 0;
|
||||
out_4845543409843537211[10] = 0;
|
||||
out_4845543409843537211[11] = 0;
|
||||
out_4845543409843537211[12] = 0;
|
||||
out_4845543409843537211[13] = 0;
|
||||
out_4845543409843537211[14] = 1;
|
||||
out_4845543409843537211[15] = 0;
|
||||
out_4845543409843537211[16] = 0;
|
||||
out_4845543409843537211[17] = 0;
|
||||
}
|
||||
void h_30(double *state, double *unused, double *out_1580011032278263171) {
|
||||
out_1580011032278263171[0] = state[4];
|
||||
void h_30(double *state, double *unused, double *out_8684770504579348888) {
|
||||
out_8684770504579348888[0] = state[4];
|
||||
}
|
||||
void H_30(double *state, double *unused, double *out_7842958993366211629) {
|
||||
out_7842958993366211629[0] = 0;
|
||||
out_7842958993366211629[1] = 0;
|
||||
out_7842958993366211629[2] = 0;
|
||||
out_7842958993366211629[3] = 0;
|
||||
out_7842958993366211629[4] = 1;
|
||||
out_7842958993366211629[5] = 0;
|
||||
out_7842958993366211629[6] = 0;
|
||||
out_7842958993366211629[7] = 0;
|
||||
out_7842958993366211629[8] = 0;
|
||||
void H_30(double *state, double *unused, double *out_6336358378392256744) {
|
||||
out_6336358378392256744[0] = 0;
|
||||
out_6336358378392256744[1] = 0;
|
||||
out_6336358378392256744[2] = 0;
|
||||
out_6336358378392256744[3] = 0;
|
||||
out_6336358378392256744[4] = 1;
|
||||
out_6336358378392256744[5] = 0;
|
||||
out_6336358378392256744[6] = 0;
|
||||
out_6336358378392256744[7] = 0;
|
||||
out_6336358378392256744[8] = 0;
|
||||
}
|
||||
void h_26(double *state, double *unused, double *out_7458296519836978259) {
|
||||
out_7458296519836978259[0] = state[7];
|
||||
void h_26(double *state, double *unused, double *out_8818463716228540293) {
|
||||
out_8818463716228540293[0] = state[7];
|
||||
}
|
||||
void H_26(double *state, double *unused, double *out_1583122715984906778) {
|
||||
out_1583122715984906778[0] = 0;
|
||||
out_1583122715984906778[1] = 0;
|
||||
out_1583122715984906778[2] = 0;
|
||||
out_1583122715984906778[3] = 0;
|
||||
out_1583122715984906778[4] = 0;
|
||||
out_1583122715984906778[5] = 0;
|
||||
out_1583122715984906778[6] = 0;
|
||||
out_1583122715984906778[7] = 1;
|
||||
out_1583122715984906778[8] = 0;
|
||||
void H_26(double *state, double *unused, double *out_5850549417935990021) {
|
||||
out_5850549417935990021[0] = 0;
|
||||
out_5850549417935990021[1] = 0;
|
||||
out_5850549417935990021[2] = 0;
|
||||
out_5850549417935990021[3] = 0;
|
||||
out_5850549417935990021[4] = 0;
|
||||
out_5850549417935990021[5] = 0;
|
||||
out_5850549417935990021[6] = 0;
|
||||
out_5850549417935990021[7] = 1;
|
||||
out_5850549417935990021[8] = 0;
|
||||
}
|
||||
void h_27(double *state, double *unused, double *out_3545652929298450020) {
|
||||
out_3545652929298450020[0] = state[3];
|
||||
void h_27(double *state, double *unused, double *out_2700258462779531242) {
|
||||
out_2700258462779531242[0] = state[3];
|
||||
}
|
||||
void H_27(double *state, double *unused, double *out_5668195681565786718) {
|
||||
out_5668195681565786718[0] = 0;
|
||||
out_5668195681565786718[1] = 0;
|
||||
out_5668195681565786718[2] = 0;
|
||||
out_5668195681565786718[3] = 1;
|
||||
out_5668195681565786718[4] = 0;
|
||||
out_5668195681565786718[5] = 0;
|
||||
out_5668195681565786718[6] = 0;
|
||||
out_5668195681565786718[7] = 0;
|
||||
out_5668195681565786718[8] = 0;
|
||||
void H_27(double *state, double *unused, double *out_4112764307208313527) {
|
||||
out_4112764307208313527[0] = 0;
|
||||
out_4112764307208313527[1] = 0;
|
||||
out_4112764307208313527[2] = 0;
|
||||
out_4112764307208313527[3] = 1;
|
||||
out_4112764307208313527[4] = 0;
|
||||
out_4112764307208313527[5] = 0;
|
||||
out_4112764307208313527[6] = 0;
|
||||
out_4112764307208313527[7] = 0;
|
||||
out_4112764307208313527[8] = 0;
|
||||
}
|
||||
void h_29(double *state, double *unused, double *out_7065095063619095626) {
|
||||
out_7065095063619095626[0] = state[1];
|
||||
void h_29(double *state, double *unused, double *out_1249627070150648075) {
|
||||
out_1249627070150648075[0] = state[1];
|
||||
}
|
||||
void H_29(double *state, double *unused, double *out_8353190337680603813) {
|
||||
out_8353190337680603813[0] = 0;
|
||||
out_8353190337680603813[1] = 1;
|
||||
out_8353190337680603813[2] = 0;
|
||||
out_8353190337680603813[3] = 0;
|
||||
out_8353190337680603813[4] = 0;
|
||||
out_8353190337680603813[5] = 0;
|
||||
out_8353190337680603813[6] = 0;
|
||||
out_8353190337680603813[7] = 0;
|
||||
out_8353190337680603813[8] = 0;
|
||||
void H_29(double *state, double *unused, double *out_5826127034077864560) {
|
||||
out_5826127034077864560[0] = 0;
|
||||
out_5826127034077864560[1] = 1;
|
||||
out_5826127034077864560[2] = 0;
|
||||
out_5826127034077864560[3] = 0;
|
||||
out_5826127034077864560[4] = 0;
|
||||
out_5826127034077864560[5] = 0;
|
||||
out_5826127034077864560[6] = 0;
|
||||
out_5826127034077864560[7] = 0;
|
||||
out_5826127034077864560[8] = 0;
|
||||
}
|
||||
void h_28(double *state, double *unused, double *out_8502049626997252450) {
|
||||
out_8502049626997252450[0] = state[0];
|
||||
void h_28(double *state, double *unused, double *out_5424608509547706960) {
|
||||
out_5424608509547706960[0] = state[0];
|
||||
}
|
||||
void H_28(double *state, double *unused, double *out_3270791320611073239) {
|
||||
out_3270791320611073239[0] = 1;
|
||||
out_3270791320611073239[1] = 0;
|
||||
out_3270791320611073239[2] = 0;
|
||||
out_3270791320611073239[3] = 0;
|
||||
out_3270791320611073239[4] = 0;
|
||||
out_3270791320611073239[5] = 0;
|
||||
out_3270791320611073239[6] = 0;
|
||||
out_3270791320611073239[7] = 0;
|
||||
out_3270791320611073239[8] = 0;
|
||||
void H_28(double *state, double *unused, double *out_7538218022562156482) {
|
||||
out_7538218022562156482[0] = 1;
|
||||
out_7538218022562156482[1] = 0;
|
||||
out_7538218022562156482[2] = 0;
|
||||
out_7538218022562156482[3] = 0;
|
||||
out_7538218022562156482[4] = 0;
|
||||
out_7538218022562156482[5] = 0;
|
||||
out_7538218022562156482[6] = 0;
|
||||
out_7538218022562156482[7] = 0;
|
||||
out_7538218022562156482[8] = 0;
|
||||
}
|
||||
void h_31(double *state, double *unused, double *out_6261968348496233601) {
|
||||
out_6261968348496233601[0] = state[8];
|
||||
void h_31(double *state, double *unused, double *out_5938864333135336753) {
|
||||
out_5938864333135336753[0] = state[8];
|
||||
}
|
||||
void H_31(double *state, double *unused, double *out_956914613751555302) {
|
||||
out_956914613751555302[0] = 0;
|
||||
out_956914613751555302[1] = 0;
|
||||
out_956914613751555302[2] = 0;
|
||||
out_956914613751555302[3] = 0;
|
||||
out_956914613751555302[4] = 0;
|
||||
out_956914613751555302[5] = 0;
|
||||
out_956914613751555302[6] = 0;
|
||||
out_956914613751555302[7] = 0;
|
||||
out_956914613751555302[8] = 1;
|
||||
void H_31(double *state, double *unused, double *out_8824045375022544943) {
|
||||
out_8824045375022544943[0] = 0;
|
||||
out_8824045375022544943[1] = 0;
|
||||
out_8824045375022544943[2] = 0;
|
||||
out_8824045375022544943[3] = 0;
|
||||
out_8824045375022544943[4] = 0;
|
||||
out_8824045375022544943[5] = 0;
|
||||
out_8824045375022544943[6] = 0;
|
||||
out_8824045375022544943[7] = 0;
|
||||
out_8824045375022544943[8] = 1;
|
||||
}
|
||||
#include <eigen3/Eigen/Dense>
|
||||
#include <iostream>
|
||||
@@ -518,68 +518,68 @@ void car_update_28(double *in_x, double *in_P, double *in_z, double *in_R, doubl
|
||||
void car_update_31(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea) {
|
||||
update<1, 3, 0>(in_x, in_P, h_31, H_31, NULL, in_z, in_R, in_ea, MAHA_THRESH_31);
|
||||
}
|
||||
void car_err_fun(double *nom_x, double *delta_x, double *out_5118140892357841772) {
|
||||
err_fun(nom_x, delta_x, out_5118140892357841772);
|
||||
void car_err_fun(double *nom_x, double *delta_x, double *out_6670847255313813537) {
|
||||
err_fun(nom_x, delta_x, out_6670847255313813537);
|
||||
}
|
||||
void car_inv_err_fun(double *nom_x, double *true_x, double *out_4745321206345718051) {
|
||||
inv_err_fun(nom_x, true_x, out_4745321206345718051);
|
||||
void car_inv_err_fun(double *nom_x, double *true_x, double *out_3529315537186539635) {
|
||||
inv_err_fun(nom_x, true_x, out_3529315537186539635);
|
||||
}
|
||||
void car_H_mod_fun(double *state, double *out_2596711998114896803) {
|
||||
H_mod_fun(state, out_2596711998114896803);
|
||||
void car_H_mod_fun(double *state, double *out_338496889012731866) {
|
||||
H_mod_fun(state, out_338496889012731866);
|
||||
}
|
||||
void car_f_fun(double *state, double dt, double *out_6942410117250554106) {
|
||||
f_fun(state, dt, out_6942410117250554106);
|
||||
void car_f_fun(double *state, double dt, double *out_3923934035523038452) {
|
||||
f_fun(state, dt, out_3923934035523038452);
|
||||
}
|
||||
void car_F_fun(double *state, double dt, double *out_8478175790585558502) {
|
||||
F_fun(state, dt, out_8478175790585558502);
|
||||
void car_F_fun(double *state, double dt, double *out_4825516617134300251) {
|
||||
F_fun(state, dt, out_4825516617134300251);
|
||||
}
|
||||
void car_h_25(double *state, double *unused, double *out_5217460560532285521) {
|
||||
h_25(state, unused, out_5217460560532285521);
|
||||
void car_h_25(double *state, double *unused, double *out_2301414804881314403) {
|
||||
h_25(state, unused, out_2301414804881314403);
|
||||
}
|
||||
void car_H_25(double *state, double *unused, double *out_926268651874594874) {
|
||||
H_25(state, unused, out_926268651874594874);
|
||||
void car_H_25(double *state, double *unused, double *out_8854691336899505371) {
|
||||
H_25(state, unused, out_8854691336899505371);
|
||||
}
|
||||
void car_h_24(double *state, double *unused, double *out_5731469901121999514) {
|
||||
h_24(state, unused, out_5731469901121999514);
|
||||
void car_h_24(double *state, double *unused, double *out_620520591641681701) {
|
||||
h_24(state, unused, out_620520591641681701);
|
||||
}
|
||||
void car_H_24(double *state, double *unused, double *out_7501840458466112975) {
|
||||
H_24(state, unused, out_7501840458466112975);
|
||||
void car_H_24(double *state, double *unused, double *out_4845543409843537211) {
|
||||
H_24(state, unused, out_4845543409843537211);
|
||||
}
|
||||
void car_h_30(double *state, double *unused, double *out_1580011032278263171) {
|
||||
h_30(state, unused, out_1580011032278263171);
|
||||
void car_h_30(double *state, double *unused, double *out_8684770504579348888) {
|
||||
h_30(state, unused, out_8684770504579348888);
|
||||
}
|
||||
void car_H_30(double *state, double *unused, double *out_7842958993366211629) {
|
||||
H_30(state, unused, out_7842958993366211629);
|
||||
void car_H_30(double *state, double *unused, double *out_6336358378392256744) {
|
||||
H_30(state, unused, out_6336358378392256744);
|
||||
}
|
||||
void car_h_26(double *state, double *unused, double *out_7458296519836978259) {
|
||||
h_26(state, unused, out_7458296519836978259);
|
||||
void car_h_26(double *state, double *unused, double *out_8818463716228540293) {
|
||||
h_26(state, unused, out_8818463716228540293);
|
||||
}
|
||||
void car_H_26(double *state, double *unused, double *out_1583122715984906778) {
|
||||
H_26(state, unused, out_1583122715984906778);
|
||||
void car_H_26(double *state, double *unused, double *out_5850549417935990021) {
|
||||
H_26(state, unused, out_5850549417935990021);
|
||||
}
|
||||
void car_h_27(double *state, double *unused, double *out_3545652929298450020) {
|
||||
h_27(state, unused, out_3545652929298450020);
|
||||
void car_h_27(double *state, double *unused, double *out_2700258462779531242) {
|
||||
h_27(state, unused, out_2700258462779531242);
|
||||
}
|
||||
void car_H_27(double *state, double *unused, double *out_5668195681565786718) {
|
||||
H_27(state, unused, out_5668195681565786718);
|
||||
void car_H_27(double *state, double *unused, double *out_4112764307208313527) {
|
||||
H_27(state, unused, out_4112764307208313527);
|
||||
}
|
||||
void car_h_29(double *state, double *unused, double *out_7065095063619095626) {
|
||||
h_29(state, unused, out_7065095063619095626);
|
||||
void car_h_29(double *state, double *unused, double *out_1249627070150648075) {
|
||||
h_29(state, unused, out_1249627070150648075);
|
||||
}
|
||||
void car_H_29(double *state, double *unused, double *out_8353190337680603813) {
|
||||
H_29(state, unused, out_8353190337680603813);
|
||||
void car_H_29(double *state, double *unused, double *out_5826127034077864560) {
|
||||
H_29(state, unused, out_5826127034077864560);
|
||||
}
|
||||
void car_h_28(double *state, double *unused, double *out_8502049626997252450) {
|
||||
h_28(state, unused, out_8502049626997252450);
|
||||
void car_h_28(double *state, double *unused, double *out_5424608509547706960) {
|
||||
h_28(state, unused, out_5424608509547706960);
|
||||
}
|
||||
void car_H_28(double *state, double *unused, double *out_3270791320611073239) {
|
||||
H_28(state, unused, out_3270791320611073239);
|
||||
void car_H_28(double *state, double *unused, double *out_7538218022562156482) {
|
||||
H_28(state, unused, out_7538218022562156482);
|
||||
}
|
||||
void car_h_31(double *state, double *unused, double *out_6261968348496233601) {
|
||||
h_31(state, unused, out_6261968348496233601);
|
||||
void car_h_31(double *state, double *unused, double *out_5938864333135336753) {
|
||||
h_31(state, unused, out_5938864333135336753);
|
||||
}
|
||||
void car_H_31(double *state, double *unused, double *out_956914613751555302) {
|
||||
H_31(state, unused, out_956914613751555302);
|
||||
void car_H_31(double *state, double *unused, double *out_8824045375022544943) {
|
||||
H_31(state, unused, out_8824045375022544943);
|
||||
}
|
||||
void car_predict(double *in_x, double *in_P, double *in_Q, double dt) {
|
||||
predict(in_x, in_P, in_Q, dt);
|
||||
|
||||
@@ -9,27 +9,27 @@ void car_update_27(double *in_x, double *in_P, double *in_z, double *in_R, doubl
|
||||
void car_update_29(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
|
||||
void car_update_28(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
|
||||
void car_update_31(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
|
||||
void car_err_fun(double *nom_x, double *delta_x, double *out_5118140892357841772);
|
||||
void car_inv_err_fun(double *nom_x, double *true_x, double *out_4745321206345718051);
|
||||
void car_H_mod_fun(double *state, double *out_2596711998114896803);
|
||||
void car_f_fun(double *state, double dt, double *out_6942410117250554106);
|
||||
void car_F_fun(double *state, double dt, double *out_8478175790585558502);
|
||||
void car_h_25(double *state, double *unused, double *out_5217460560532285521);
|
||||
void car_H_25(double *state, double *unused, double *out_926268651874594874);
|
||||
void car_h_24(double *state, double *unused, double *out_5731469901121999514);
|
||||
void car_H_24(double *state, double *unused, double *out_7501840458466112975);
|
||||
void car_h_30(double *state, double *unused, double *out_1580011032278263171);
|
||||
void car_H_30(double *state, double *unused, double *out_7842958993366211629);
|
||||
void car_h_26(double *state, double *unused, double *out_7458296519836978259);
|
||||
void car_H_26(double *state, double *unused, double *out_1583122715984906778);
|
||||
void car_h_27(double *state, double *unused, double *out_3545652929298450020);
|
||||
void car_H_27(double *state, double *unused, double *out_5668195681565786718);
|
||||
void car_h_29(double *state, double *unused, double *out_7065095063619095626);
|
||||
void car_H_29(double *state, double *unused, double *out_8353190337680603813);
|
||||
void car_h_28(double *state, double *unused, double *out_8502049626997252450);
|
||||
void car_H_28(double *state, double *unused, double *out_3270791320611073239);
|
||||
void car_h_31(double *state, double *unused, double *out_6261968348496233601);
|
||||
void car_H_31(double *state, double *unused, double *out_956914613751555302);
|
||||
void car_err_fun(double *nom_x, double *delta_x, double *out_6670847255313813537);
|
||||
void car_inv_err_fun(double *nom_x, double *true_x, double *out_3529315537186539635);
|
||||
void car_H_mod_fun(double *state, double *out_338496889012731866);
|
||||
void car_f_fun(double *state, double dt, double *out_3923934035523038452);
|
||||
void car_F_fun(double *state, double dt, double *out_4825516617134300251);
|
||||
void car_h_25(double *state, double *unused, double *out_2301414804881314403);
|
||||
void car_H_25(double *state, double *unused, double *out_8854691336899505371);
|
||||
void car_h_24(double *state, double *unused, double *out_620520591641681701);
|
||||
void car_H_24(double *state, double *unused, double *out_4845543409843537211);
|
||||
void car_h_30(double *state, double *unused, double *out_8684770504579348888);
|
||||
void car_H_30(double *state, double *unused, double *out_6336358378392256744);
|
||||
void car_h_26(double *state, double *unused, double *out_8818463716228540293);
|
||||
void car_H_26(double *state, double *unused, double *out_5850549417935990021);
|
||||
void car_h_27(double *state, double *unused, double *out_2700258462779531242);
|
||||
void car_H_27(double *state, double *unused, double *out_4112764307208313527);
|
||||
void car_h_29(double *state, double *unused, double *out_1249627070150648075);
|
||||
void car_H_29(double *state, double *unused, double *out_5826127034077864560);
|
||||
void car_h_28(double *state, double *unused, double *out_5424608509547706960);
|
||||
void car_H_28(double *state, double *unused, double *out_7538218022562156482);
|
||||
void car_h_31(double *state, double *unused, double *out_5938864333135336753);
|
||||
void car_H_31(double *state, double *unused, double *out_8824045375022544943);
|
||||
void car_predict(double *in_x, double *in_P, double *in_Q, double dt);
|
||||
void car_set_mass(double x);
|
||||
void car_set_rotational_inertia(double x);
|
||||
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user