Compare commits

..

2 Commits

Author SHA1 Message Date
github-actions[bot] a7fda63287 sunnypilot v0.10.1
version: sunnypilot v0.10.1 (staging)
date: 2025-09-08T03:38:38
master commit: 698e0ca00f
2025-09-08 03:38:38 +00:00
github-actions[bot] f059cb2df5 sunnypilot v0.10.1 release 2025-09-08 03:38:27 +00:00
47 changed files with 1471 additions and 6963 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
FROM ghcr.io/sunnypilot/sunnypilot-tici-base:latest
FROM ghcr.io/sunnypilot/sunnypilot-base:latest
ENV PYTHONUNBUFFERED=1
+10 -9
View File
@@ -22,7 +22,7 @@ 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 `staging-tici` 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-c3-new` branch.
### If you want to use our newest branches (our rewrite)
> [!TIP]
@@ -31,24 +31,25 @@ Please refer to [Recommended Branches](#-recommended-branches) to find your pref
* 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: ```https://staging-tici.sunnypilot.ai```.
3. Input the installation URL per [Recommended Branches](#-recommended-branches). Example: ```https://staging-c3-new.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: `staging-tici`
4. Scroll to select the desired branch per Recommended Branches (see below). Example: `staging-c3-new`
| Branch | Installation URL |
|:---------------:|:---------------------------------------------:|
| `staging-tici` | `https://staging-tici.sunnypilot.ai` |
| `custom-branch` | `https://install.sunnypilot.ai/{branch_name}` |
| `release-tici` | **Not yet available**. |
| 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]
> You can use sunnypilot/targetbranch as an install URL. Example: 'sunnypilot/staging-tici'.
> You can use sunnypilot/targetbranch as an install URL. Example: 'sunnypilot/staging-c3-new'.
> [!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.
+1 -14
View File
@@ -202,20 +202,7 @@ struct CarControlSP @0xa5cd762cd951a455 {
struct Param {
key @0 :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;
value @1 :Text;
}
}
+24 -120
View File
@@ -2153,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<89> b_a5cd762cd951a455 = {
static const ::capnp::_::AlignedData<85> 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,
@@ -2161,23 +2161,19 @@ static const ::capnp::_::AlignedData<89> 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, 39, 0, 0, 0,
33, 0, 0, 0, 23, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
57, 0, 0, 0, 231, 0, 0, 0,
41, 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,
8, 0, 0, 0, 1, 0, 1, 0,
4, 0, 0, 0, 1, 0, 1, 0,
196, 104, 250, 22, 99, 55, 14, 226,
9, 0, 0, 0, 50, 0, 0, 0,
82, 153, 58, 145, 116, 199, 36, 234,
5, 0, 0, 0, 82, 0, 0, 0,
1, 0, 0, 0, 50, 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,
@@ -2254,21 +2250,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, 89, d_a5cd762cd951a455, m_a5cd762cd951a455,
0xa5cd762cd951a455, b_a5cd762cd951a455.words, 85, 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<79> b_e20e376316fa68c4 = {
static const ::capnp::_::AlignedData<48> b_e20e376316fa68c4 = {
{ 0, 0, 0, 0, 5, 0, 6, 0,
196, 104, 250, 22, 99, 55, 14, 226,
26, 0, 0, 0, 1, 0, 1, 0,
26, 0, 0, 0, 1, 0, 0, 0,
85, 164, 81, 217, 44, 118, 205, 165,
3, 0, 7, 0, 0, 0, 0, 0,
2, 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, 231, 0, 0, 0,
29, 0, 0, 0, 119, 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,
@@ -2276,35 +2272,21 @@ static const ::capnp::_::AlignedData<79> 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,
16, 0, 0, 0, 3, 0, 4, 0,
8, 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,
97, 0, 0, 0, 34, 0, 0, 0,
41, 0, 0, 0, 34, 0, 0, 0,
0, 0, 0, 0, 0, 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,
36, 0, 0, 0, 3, 0, 1, 0,
48, 0, 0, 0, 2, 0, 1, 0,
1, 0, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
101, 0, 0, 0, 130, 0, 0, 0,
45, 0, 0, 0, 50, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 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,
40, 0, 0, 0, 3, 0, 1, 0,
52, 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,
@@ -2313,102 +2295,24 @@ static const ::capnp::_::AlignedData<79> 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,
13, 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,
0, 0, 0, 0, 0, 0, 0, 0,
13, 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, }
};
::capnp::word const* const bp_e20e376316fa68c4 = b_e20e376316fa68c4.words;
#if !CAPNP_LITE
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};
static const uint16_t m_e20e376316fa68c4[] = {0, 1};
static const uint16_t i_e20e376316fa68c4[] = {0, 1};
const ::capnp::_::RawSchema s_e20e376316fa68c4 = {
0xe20e376316fa68c4, b_e20e376316fa68c4.words, 79, d_e20e376316fa68c4, m_e20e376316fa68c4,
1, 4, i_e20e376316fa68c4, nullptr, nullptr, { &s_e20e376316fa68c4, nullptr, nullptr, 0, 0, nullptr }, false
0xe20e376316fa68c4, b_e20e376316fa68c4.words, 48, nullptr, m_e20e376316fa68c4,
0, 2, 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,
+15 -91
View File
@@ -99,17 +99,6 @@ 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 {
@@ -432,8 +421,6 @@ struct CarControlSP {
class Builder;
class Pipeline;
struct Param;
typedef ::capnp::schemas::ParamType_ea24c774913a9952 ParamType;
struct _capnpPrivate {
CAPNP_DECLARE_STRUCT_HEADER(a5cd762cd951a455, 0, 4)
@@ -451,7 +438,7 @@ struct CarControlSP::Param {
class Pipeline;
struct _capnpPrivate {
CAPNP_DECLARE_STRUCT_HEADER(e20e376316fa68c4, 1, 3)
CAPNP_DECLARE_STRUCT_HEADER(e20e376316fa68c4, 0, 2)
#if !CAPNP_LITE
static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
#endif // !CAPNP_LITE
@@ -2558,13 +2545,8 @@ 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::Data::Reader getValue() const;
inline ::capnp::Text::Reader getValue() const;
private:
::capnp::_::StructReader _reader;
@@ -2601,22 +2583,12 @@ 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::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();
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();
private:
::capnp::_::StructBuilder _builder;
@@ -5819,88 +5791,40 @@ inline ::capnp::Orphan< ::capnp::Text> CarControlSP::Param::Builder::disownKey()
::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline bool CarControlSP::Param::Reader::hasValueDEPRECATED() const {
inline bool CarControlSP::Param::Reader::hasValue() const {
return !_reader.getPointerField(
::capnp::bounded<1>() * ::capnp::POINTERS).isNull();
}
inline bool CarControlSP::Param::Builder::hasValueDEPRECATED() {
inline bool CarControlSP::Param::Builder::hasValue() {
return !_builder.getPointerField(
::capnp::bounded<1>() * ::capnp::POINTERS).isNull();
}
inline ::capnp::Text::Reader CarControlSP::Param::Reader::getValueDEPRECATED() const {
inline ::capnp::Text::Reader CarControlSP::Param::Reader::getValue() const {
return ::capnp::_::PointerHelpers< ::capnp::Text>::get(_reader.getPointerField(
::capnp::bounded<1>() * ::capnp::POINTERS));
}
inline ::capnp::Text::Builder CarControlSP::Param::Builder::getValueDEPRECATED() {
inline ::capnp::Text::Builder CarControlSP::Param::Builder::getValue() {
return ::capnp::_::PointerHelpers< ::capnp::Text>::get(_builder.getPointerField(
::capnp::bounded<1>() * ::capnp::POINTERS));
}
inline void CarControlSP::Param::Builder::setValueDEPRECATED( ::capnp::Text::Reader value) {
inline void CarControlSP::Param::Builder::setValue( ::capnp::Text::Reader value) {
::capnp::_::PointerHelpers< ::capnp::Text>::set(_builder.getPointerField(
::capnp::bounded<1>() * ::capnp::POINTERS), value);
}
inline ::capnp::Text::Builder CarControlSP::Param::Builder::initValueDEPRECATED(unsigned int size) {
inline ::capnp::Text::Builder CarControlSP::Param::Builder::initValue(unsigned int size) {
return ::capnp::_::PointerHelpers< ::capnp::Text>::init(_builder.getPointerField(
::capnp::bounded<1>() * ::capnp::POINTERS), size);
}
inline void CarControlSP::Param::Builder::adoptValueDEPRECATED(
inline void CarControlSP::Param::Builder::adoptValue(
::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::disownValueDEPRECATED() {
inline ::capnp::Orphan< ::capnp::Text> CarControlSP::Param::Builder::disownValue() {
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);
-1
View File
@@ -146,7 +146,6 @@ 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}},
Binary file not shown.
-6
View File
@@ -1331,12 +1331,6 @@
"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",
+1 -13
View File
@@ -125,19 +125,7 @@ class CarControlSP:
@auto_dataclass
class Param:
key: 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()
value: str = auto_field()
@auto_dataclass
@@ -1,187 +0,0 @@
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";
@@ -1,187 +0,0 @@
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";
@@ -1,371 +0,0 @@
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
@@ -1,422 +0,0 @@
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
@@ -1,358 +0,0 @@
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
@@ -5,56 +5,7 @@ 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_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
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)
+1 -1
View File
@@ -14,7 +14,7 @@ dependencies = [
"numpy",
"crcmod",
"tqdm",
"pycapnp==2.1.0",
"pycapnp",
"pycryptodome",
]
+3 -3
View File
@@ -26348,7 +26348,7 @@ __Pyx_RefNannySetupContext("PyInit_ekf_sym_pyx", 0);
(void)__Pyx_modinit_variable_import_code(__pyx_mstate);
(void)__Pyx_modinit_function_import_code(__pyx_mstate);
/*--- Execution code ---*/
__Pyx_TraceStartFunc("PyInit_ekf_sym_pyx", __pyx_f[0], 1, 1, 0, 0, __PYX_ERR(0, 1, __pyx_L1_error));
__Pyx_TraceStartFunc("PyInit_ekf_sym_pyx", __pyx_f[0], 1, 0, 0, 0, __PYX_ERR(0, 1, __pyx_L1_error));
/* "View.MemoryView":100
*
@@ -27142,7 +27142,7 @@ __Pyx_RefNannySetupContext("PyInit_ekf_sym_pyx", 0);
__Pyx_GOTREF(__pyx_t_5);
if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_test, __pyx_t_5) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_TraceReturnValue(Py_None, 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));
__Pyx_TraceReturnValue(Py_None, 0, 0, __PYX_ERR(0, 1, __pyx_L1_error));
__Pyx_PyMonitoring_ExitScope(0);
/*--- Wrapped vars code ---*/
@@ -27153,7 +27153,7 @@ __Pyx_RefNannySetupContext("PyInit_ekf_sym_pyx", 0);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_TraceException(__pyx_lineno, 0, 0);
__Pyx_TraceExceptionUnwind(1, 0);
__Pyx_TraceExceptionUnwind(0, 0);
if (__pyx_m) {
if (__pyx_mstate->__pyx_d && stringtab_initialized) {
__Pyx_AddTraceback("init rednose.helpers.ekf_sym_pyx", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -1,538 +0,0 @@
{
"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
]
}
}
@@ -1,524 +0,0 @@
{
"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
]
}
}
+342 -342
View File
@@ -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_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 err_fun(double *nom_x, double *delta_x, double *out_311236628735257153) {
out_311236628735257153[0] = delta_x[0] + nom_x[0];
out_311236628735257153[1] = delta_x[1] + nom_x[1];
out_311236628735257153[2] = delta_x[2] + nom_x[2];
out_311236628735257153[3] = delta_x[3] + nom_x[3];
out_311236628735257153[4] = delta_x[4] + nom_x[4];
out_311236628735257153[5] = delta_x[5] + nom_x[5];
out_311236628735257153[6] = delta_x[6] + nom_x[6];
out_311236628735257153[7] = delta_x[7] + nom_x[7];
out_311236628735257153[8] = delta_x[8] + nom_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 inv_err_fun(double *nom_x, double *true_x, double *out_7313915667919824068) {
out_7313915667919824068[0] = -nom_x[0] + true_x[0];
out_7313915667919824068[1] = -nom_x[1] + true_x[1];
out_7313915667919824068[2] = -nom_x[2] + true_x[2];
out_7313915667919824068[3] = -nom_x[3] + true_x[3];
out_7313915667919824068[4] = -nom_x[4] + true_x[4];
out_7313915667919824068[5] = -nom_x[5] + true_x[5];
out_7313915667919824068[6] = -nom_x[6] + true_x[6];
out_7313915667919824068[7] = -nom_x[7] + true_x[7];
out_7313915667919824068[8] = -nom_x[8] + true_x[8];
}
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 H_mod_fun(double *state, double *out_9020713222352451970) {
out_9020713222352451970[0] = 1.0;
out_9020713222352451970[1] = 0.0;
out_9020713222352451970[2] = 0.0;
out_9020713222352451970[3] = 0.0;
out_9020713222352451970[4] = 0.0;
out_9020713222352451970[5] = 0.0;
out_9020713222352451970[6] = 0.0;
out_9020713222352451970[7] = 0.0;
out_9020713222352451970[8] = 0.0;
out_9020713222352451970[9] = 0.0;
out_9020713222352451970[10] = 1.0;
out_9020713222352451970[11] = 0.0;
out_9020713222352451970[12] = 0.0;
out_9020713222352451970[13] = 0.0;
out_9020713222352451970[14] = 0.0;
out_9020713222352451970[15] = 0.0;
out_9020713222352451970[16] = 0.0;
out_9020713222352451970[17] = 0.0;
out_9020713222352451970[18] = 0.0;
out_9020713222352451970[19] = 0.0;
out_9020713222352451970[20] = 1.0;
out_9020713222352451970[21] = 0.0;
out_9020713222352451970[22] = 0.0;
out_9020713222352451970[23] = 0.0;
out_9020713222352451970[24] = 0.0;
out_9020713222352451970[25] = 0.0;
out_9020713222352451970[26] = 0.0;
out_9020713222352451970[27] = 0.0;
out_9020713222352451970[28] = 0.0;
out_9020713222352451970[29] = 0.0;
out_9020713222352451970[30] = 1.0;
out_9020713222352451970[31] = 0.0;
out_9020713222352451970[32] = 0.0;
out_9020713222352451970[33] = 0.0;
out_9020713222352451970[34] = 0.0;
out_9020713222352451970[35] = 0.0;
out_9020713222352451970[36] = 0.0;
out_9020713222352451970[37] = 0.0;
out_9020713222352451970[38] = 0.0;
out_9020713222352451970[39] = 0.0;
out_9020713222352451970[40] = 1.0;
out_9020713222352451970[41] = 0.0;
out_9020713222352451970[42] = 0.0;
out_9020713222352451970[43] = 0.0;
out_9020713222352451970[44] = 0.0;
out_9020713222352451970[45] = 0.0;
out_9020713222352451970[46] = 0.0;
out_9020713222352451970[47] = 0.0;
out_9020713222352451970[48] = 0.0;
out_9020713222352451970[49] = 0.0;
out_9020713222352451970[50] = 1.0;
out_9020713222352451970[51] = 0.0;
out_9020713222352451970[52] = 0.0;
out_9020713222352451970[53] = 0.0;
out_9020713222352451970[54] = 0.0;
out_9020713222352451970[55] = 0.0;
out_9020713222352451970[56] = 0.0;
out_9020713222352451970[57] = 0.0;
out_9020713222352451970[58] = 0.0;
out_9020713222352451970[59] = 0.0;
out_9020713222352451970[60] = 1.0;
out_9020713222352451970[61] = 0.0;
out_9020713222352451970[62] = 0.0;
out_9020713222352451970[63] = 0.0;
out_9020713222352451970[64] = 0.0;
out_9020713222352451970[65] = 0.0;
out_9020713222352451970[66] = 0.0;
out_9020713222352451970[67] = 0.0;
out_9020713222352451970[68] = 0.0;
out_9020713222352451970[69] = 0.0;
out_9020713222352451970[70] = 1.0;
out_9020713222352451970[71] = 0.0;
out_9020713222352451970[72] = 0.0;
out_9020713222352451970[73] = 0.0;
out_9020713222352451970[74] = 0.0;
out_9020713222352451970[75] = 0.0;
out_9020713222352451970[76] = 0.0;
out_9020713222352451970[77] = 0.0;
out_9020713222352451970[78] = 0.0;
out_9020713222352451970[79] = 0.0;
out_9020713222352451970[80] = 1.0;
}
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_1159356000309350310) {
out_1159356000309350310[0] = state[0];
out_1159356000309350310[1] = state[1];
out_1159356000309350310[2] = state[2];
out_1159356000309350310[3] = state[3];
out_1159356000309350310[4] = state[4];
out_1159356000309350310[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_1159356000309350310[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_1159356000309350310[7] = state[7];
out_1159356000309350310[8] = state[8];
}
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 F_fun(double *state, double dt, double *out_8529210458665284284) {
out_8529210458665284284[0] = 1;
out_8529210458665284284[1] = 0;
out_8529210458665284284[2] = 0;
out_8529210458665284284[3] = 0;
out_8529210458665284284[4] = 0;
out_8529210458665284284[5] = 0;
out_8529210458665284284[6] = 0;
out_8529210458665284284[7] = 0;
out_8529210458665284284[8] = 0;
out_8529210458665284284[9] = 0;
out_8529210458665284284[10] = 1;
out_8529210458665284284[11] = 0;
out_8529210458665284284[12] = 0;
out_8529210458665284284[13] = 0;
out_8529210458665284284[14] = 0;
out_8529210458665284284[15] = 0;
out_8529210458665284284[16] = 0;
out_8529210458665284284[17] = 0;
out_8529210458665284284[18] = 0;
out_8529210458665284284[19] = 0;
out_8529210458665284284[20] = 1;
out_8529210458665284284[21] = 0;
out_8529210458665284284[22] = 0;
out_8529210458665284284[23] = 0;
out_8529210458665284284[24] = 0;
out_8529210458665284284[25] = 0;
out_8529210458665284284[26] = 0;
out_8529210458665284284[27] = 0;
out_8529210458665284284[28] = 0;
out_8529210458665284284[29] = 0;
out_8529210458665284284[30] = 1;
out_8529210458665284284[31] = 0;
out_8529210458665284284[32] = 0;
out_8529210458665284284[33] = 0;
out_8529210458665284284[34] = 0;
out_8529210458665284284[35] = 0;
out_8529210458665284284[36] = 0;
out_8529210458665284284[37] = 0;
out_8529210458665284284[38] = 0;
out_8529210458665284284[39] = 0;
out_8529210458665284284[40] = 1;
out_8529210458665284284[41] = 0;
out_8529210458665284284[42] = 0;
out_8529210458665284284[43] = 0;
out_8529210458665284284[44] = 0;
out_8529210458665284284[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_8529210458665284284[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_8529210458665284284[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_8529210458665284284[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_8529210458665284284[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_8529210458665284284[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_8529210458665284284[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_8529210458665284284[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_8529210458665284284[53] = -9.8100000000000005*dt;
out_8529210458665284284[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_8529210458665284284[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_8529210458665284284[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8529210458665284284[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8529210458665284284[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_8529210458665284284[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_8529210458665284284[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_8529210458665284284[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8529210458665284284[62] = 0;
out_8529210458665284284[63] = 0;
out_8529210458665284284[64] = 0;
out_8529210458665284284[65] = 0;
out_8529210458665284284[66] = 0;
out_8529210458665284284[67] = 0;
out_8529210458665284284[68] = 0;
out_8529210458665284284[69] = 0;
out_8529210458665284284[70] = 1;
out_8529210458665284284[71] = 0;
out_8529210458665284284[72] = 0;
out_8529210458665284284[73] = 0;
out_8529210458665284284[74] = 0;
out_8529210458665284284[75] = 0;
out_8529210458665284284[76] = 0;
out_8529210458665284284[77] = 0;
out_8529210458665284284[78] = 0;
out_8529210458665284284[79] = 0;
out_8529210458665284284[80] = 1;
}
void h_25(double *state, double *unused, double *out_2301414804881314403) {
out_2301414804881314403[0] = state[6];
void h_25(double *state, double *unused, double *out_4254560804621753910) {
out_4254560804621753910[0] = state[6];
}
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_25(double *state, double *unused, double *out_7096198754133444274) {
out_7096198754133444274[0] = 0;
out_7096198754133444274[1] = 0;
out_7096198754133444274[2] = 0;
out_7096198754133444274[3] = 0;
out_7096198754133444274[4] = 0;
out_7096198754133444274[5] = 0;
out_7096198754133444274[6] = 1;
out_7096198754133444274[7] = 0;
out_7096198754133444274[8] = 0;
}
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_5260315530328507674) {
out_5260315530328507674[0] = state[4];
out_5260315530328507674[1] = state[5];
}
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_24(double *state, double *unused, double *out_4918984330526294301) {
out_4918984330526294301[0] = 0;
out_4918984330526294301[1] = 0;
out_4918984330526294301[2] = 0;
out_4918984330526294301[3] = 0;
out_4918984330526294301[4] = 1;
out_4918984330526294301[5] = 0;
out_4918984330526294301[6] = 0;
out_4918984330526294301[7] = 0;
out_4918984330526294301[8] = 0;
out_4918984330526294301[9] = 0;
out_4918984330526294301[10] = 0;
out_4918984330526294301[11] = 0;
out_4918984330526294301[12] = 0;
out_4918984330526294301[13] = 0;
out_4918984330526294301[14] = 1;
out_4918984330526294301[15] = 0;
out_4918984330526294301[16] = 0;
out_4918984330526294301[17] = 0;
}
void h_30(double *state, double *unused, double *out_8684770504579348888) {
out_8684770504579348888[0] = state[4];
void h_30(double *state, double *unused, double *out_7892010332875776260) {
out_7892010332875776260[0] = state[4];
}
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_30(double *state, double *unused, double *out_4577865795626195647) {
out_4577865795626195647[0] = 0;
out_4577865795626195647[1] = 0;
out_4577865795626195647[2] = 0;
out_4577865795626195647[3] = 0;
out_4577865795626195647[4] = 1;
out_4577865795626195647[5] = 0;
out_4577865795626195647[6] = 0;
out_4577865795626195647[7] = 0;
out_4577865795626195647[8] = 0;
}
void h_26(double *state, double *unused, double *out_8818463716228540293) {
out_8818463716228540293[0] = state[7];
void h_26(double *state, double *unused, double *out_3494058251594147248) {
out_3494058251594147248[0] = state[7];
}
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_26(double *state, double *unused, double *out_3791672784372643673) {
out_3791672784372643673[0] = 0;
out_3791672784372643673[1] = 0;
out_3791672784372643673[2] = 0;
out_3791672784372643673[3] = 0;
out_3791672784372643673[4] = 0;
out_3791672784372643673[5] = 0;
out_3791672784372643673[6] = 0;
out_3791672784372643673[7] = 1;
out_3791672784372643673[8] = 0;
}
void h_27(double *state, double *unused, double *out_2700258462779531242) {
out_2700258462779531242[0] = state[3];
void h_27(double *state, double *unused, double *out_4727408367385086855) {
out_4727408367385086855[0] = state[3];
}
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_27(double *state, double *unused, double *out_6752629107426620558) {
out_6752629107426620558[0] = 0;
out_6752629107426620558[1] = 0;
out_6752629107426620558[2] = 0;
out_6752629107426620558[3] = 1;
out_6752629107426620558[4] = 0;
out_6752629107426620558[5] = 0;
out_6752629107426620558[6] = 0;
out_6752629107426620558[7] = 0;
out_6752629107426620558[8] = 0;
}
void h_29(double *state, double *unused, double *out_1249627070150648075) {
out_1249627070150648075[0] = state[1];
void h_29(double *state, double *unused, double *out_5328826524998450409) {
out_5328826524998450409[0] = state[1];
}
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_29(double *state, double *unused, double *out_4067634451311803463) {
out_4067634451311803463[0] = 0;
out_4067634451311803463[1] = 1;
out_4067634451311803463[2] = 0;
out_4067634451311803463[3] = 0;
out_4067634451311803463[4] = 0;
out_4067634451311803463[5] = 0;
out_4067634451311803463[6] = 0;
out_4067634451311803463[7] = 0;
out_4067634451311803463[8] = 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_274264900275758790) {
out_274264900275758790[0] = state[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_28(double *state, double *unused, double *out_9150033468381334037) {
out_9150033468381334037[0] = 1;
out_9150033468381334037[1] = 0;
out_9150033468381334037[2] = 0;
out_9150033468381334037[3] = 0;
out_9150033468381334037[4] = 0;
out_9150033468381334037[5] = 0;
out_9150033468381334037[6] = 0;
out_9150033468381334037[7] = 0;
out_9150033468381334037[8] = 0;
}
void h_31(double *state, double *unused, double *out_5938864333135336753) {
out_5938864333135336753[0] = state[8];
void h_31(double *state, double *unused, double *out_2109033173680061951) {
out_2109033173680061951[0] = state[8];
}
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;
void H_31(double *state, double *unused, double *out_4417880886605995149) {
out_4417880886605995149[0] = 0;
out_4417880886605995149[1] = 0;
out_4417880886605995149[2] = 0;
out_4417880886605995149[3] = 0;
out_4417880886605995149[4] = 0;
out_4417880886605995149[5] = 0;
out_4417880886605995149[6] = 0;
out_4417880886605995149[7] = 0;
out_4417880886605995149[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_6670847255313813537) {
err_fun(nom_x, delta_x, out_6670847255313813537);
void car_err_fun(double *nom_x, double *delta_x, double *out_311236628735257153) {
err_fun(nom_x, delta_x, out_311236628735257153);
}
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_inv_err_fun(double *nom_x, double *true_x, double *out_7313915667919824068) {
inv_err_fun(nom_x, true_x, out_7313915667919824068);
}
void car_H_mod_fun(double *state, double *out_338496889012731866) {
H_mod_fun(state, out_338496889012731866);
void car_H_mod_fun(double *state, double *out_9020713222352451970) {
H_mod_fun(state, out_9020713222352451970);
}
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_1159356000309350310) {
f_fun(state, dt, out_1159356000309350310);
}
void car_F_fun(double *state, double dt, double *out_4825516617134300251) {
F_fun(state, dt, out_4825516617134300251);
void car_F_fun(double *state, double dt, double *out_8529210458665284284) {
F_fun(state, dt, out_8529210458665284284);
}
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_4254560804621753910) {
h_25(state, unused, out_4254560804621753910);
}
void car_H_25(double *state, double *unused, double *out_8854691336899505371) {
H_25(state, unused, out_8854691336899505371);
void car_H_25(double *state, double *unused, double *out_7096198754133444274) {
H_25(state, unused, out_7096198754133444274);
}
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_5260315530328507674) {
h_24(state, unused, out_5260315530328507674);
}
void car_H_24(double *state, double *unused, double *out_4845543409843537211) {
H_24(state, unused, out_4845543409843537211);
void car_H_24(double *state, double *unused, double *out_4918984330526294301) {
H_24(state, unused, out_4918984330526294301);
}
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_7892010332875776260) {
h_30(state, unused, out_7892010332875776260);
}
void car_H_30(double *state, double *unused, double *out_6336358378392256744) {
H_30(state, unused, out_6336358378392256744);
void car_H_30(double *state, double *unused, double *out_4577865795626195647) {
H_30(state, unused, out_4577865795626195647);
}
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_3494058251594147248) {
h_26(state, unused, out_3494058251594147248);
}
void car_H_26(double *state, double *unused, double *out_5850549417935990021) {
H_26(state, unused, out_5850549417935990021);
void car_H_26(double *state, double *unused, double *out_3791672784372643673) {
H_26(state, unused, out_3791672784372643673);
}
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_4727408367385086855) {
h_27(state, unused, out_4727408367385086855);
}
void car_H_27(double *state, double *unused, double *out_4112764307208313527) {
H_27(state, unused, out_4112764307208313527);
void car_H_27(double *state, double *unused, double *out_6752629107426620558) {
H_27(state, unused, out_6752629107426620558);
}
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_5328826524998450409) {
h_29(state, unused, out_5328826524998450409);
}
void car_H_29(double *state, double *unused, double *out_5826127034077864560) {
H_29(state, unused, out_5826127034077864560);
void car_H_29(double *state, double *unused, double *out_4067634451311803463) {
H_29(state, unused, out_4067634451311803463);
}
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_274264900275758790) {
h_28(state, unused, out_274264900275758790);
}
void car_H_28(double *state, double *unused, double *out_7538218022562156482) {
H_28(state, unused, out_7538218022562156482);
void car_H_28(double *state, double *unused, double *out_9150033468381334037) {
H_28(state, unused, out_9150033468381334037);
}
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_2109033173680061951) {
h_31(state, unused, out_2109033173680061951);
}
void car_H_31(double *state, double *unused, double *out_8824045375022544943) {
H_31(state, unused, out_8824045375022544943);
void car_H_31(double *state, double *unused, double *out_4417880886605995149) {
H_31(state, unused, out_4417880886605995149);
}
void car_predict(double *in_x, double *in_P, double *in_Q, double dt) {
predict(in_x, in_P, in_Q, dt);
+21 -21
View File
@@ -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_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_err_fun(double *nom_x, double *delta_x, double *out_311236628735257153);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_7313915667919824068);
void car_H_mod_fun(double *state, double *out_9020713222352451970);
void car_f_fun(double *state, double dt, double *out_1159356000309350310);
void car_F_fun(double *state, double dt, double *out_8529210458665284284);
void car_h_25(double *state, double *unused, double *out_4254560804621753910);
void car_H_25(double *state, double *unused, double *out_7096198754133444274);
void car_h_24(double *state, double *unused, double *out_5260315530328507674);
void car_H_24(double *state, double *unused, double *out_4918984330526294301);
void car_h_30(double *state, double *unused, double *out_7892010332875776260);
void car_H_30(double *state, double *unused, double *out_4577865795626195647);
void car_h_26(double *state, double *unused, double *out_3494058251594147248);
void car_H_26(double *state, double *unused, double *out_3791672784372643673);
void car_h_27(double *state, double *unused, double *out_4727408367385086855);
void car_H_27(double *state, double *unused, double *out_6752629107426620558);
void car_h_29(double *state, double *unused, double *out_5328826524998450409);
void car_H_29(double *state, double *unused, double *out_4067634451311803463);
void car_h_28(double *state, double *unused, double *out_274264900275758790);
void car_H_28(double *state, double *unused, double *out_9150033468381334037);
void car_h_31(double *state, double *unused, double *out_2109033173680061951);
void car_H_31(double *state, double *unused, double *out_4417880886605995149);
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.
Binary file not shown.
File diff suppressed because it is too large Load Diff
+13 -13
View File
@@ -5,18 +5,18 @@ void pose_update_4(double *in_x, double *in_P, double *in_z, double *in_R, doubl
void pose_update_10(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void pose_update_13(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void pose_update_14(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void pose_err_fun(double *nom_x, double *delta_x, double *out_1387667857402197864);
void pose_inv_err_fun(double *nom_x, double *true_x, double *out_7508820603663648737);
void pose_H_mod_fun(double *state, double *out_6469646688903378101);
void pose_f_fun(double *state, double dt, double *out_6697963188238977834);
void pose_F_fun(double *state, double dt, double *out_429527558939684598);
void pose_h_4(double *state, double *unused, double *out_7652981531568014253);
void pose_H_4(double *state, double *unused, double *out_3195424610112428848);
void pose_h_10(double *state, double *unused, double *out_6006750715563175580);
void pose_H_10(double *state, double *unused, double *out_7894245787152231876);
void pose_h_13(double *state, double *unused, double *out_8907628765272580202);
void pose_H_13(double *state, double *unused, double *out_7640688255280421839);
void pose_h_14(double *state, double *unused, double *out_3516354322614119174);
void pose_H_14(double *state, double *unused, double *out_7158665466451913377);
void pose_err_fun(double *nom_x, double *delta_x, double *out_5712645316975978292);
void pose_inv_err_fun(double *nom_x, double *true_x, double *out_2375481713030026782);
void pose_H_mod_fun(double *state, double *out_9187572088722537132);
void pose_f_fun(double *state, double dt, double *out_6968288532191998630);
void pose_F_fun(double *state, double dt, double *out_396713754572384652);
void pose_h_4(double *state, double *unused, double *out_3828905798867891597);
void pose_H_4(double *state, double *unused, double *out_8433411086667824525);
void pose_h_10(double *state, double *unused, double *out_5109572919123009845);
void pose_H_10(double *state, double *unused, double *out_1305010934300019274);
void pose_h_13(double *state, double *unused, double *out_5661171709549975544);
void pose_H_13(double *state, double *unused, double *out_5221137261335491724);
void pose_h_14(double *state, double *unused, double *out_6329175778955850944);
void pose_H_14(double *state, double *unused, double *out_6930544554746354795);
void pose_predict(double *in_x, double *in_P, double *in_Q, double dt);
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
@@ -73,7 +73,7 @@ class ControlsExt:
# MADS state
CC_SP.mads = sm['selfdriveStateSP'].mads
CC_SP.params = self.param_store.param_list
CC_SP.params = self.param_store.publish()
return CC_SP
@@ -4,41 +4,39 @@ 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.
"""
import capnp
from cereal import custom
from opendbc.car import structs
from openpilot.common.params import Params
from sunnypilot.sunnylink.utils import get_param_as_byte
class ParamStore:
keys: list[str]
_params: dict[str, custom.CarControlSP.Param]
values: dict[str, str]
def __init__(self, CP: structs.CarParams):
universal_params: list[str] = []
brand_params: list[str] = []
self.keys = universal_params + brand_params
self._params = {}
self.values = {}
self.cached_params_list: list[capnp.lib.capnp._DynamicStructBuilder] | None = None
self.frame = 0
def update(self, params: Params) -> None:
if self.frame % 300 == 0:
old_values = dict(self.values)
self.values = {k: params.get(k) or "0" for k in self.keys}
if old_values != self.values:
self.cached_params_list = None
self.frame += 1
if self.frame % 300 != 0:
return
for key in self.keys:
param_type = params.get_type(key).name.lower() # Using string instead of number because its "loose" dependency, and could change by OP at anytime.
# Over engineering opportunity: It's possible this conversion is slow, we may check the value as params returns it for cache purposes. Not today.
param_value = get_param_as_byte(key, params)
if (existing_param := self._params.get(key)) is not None and existing_param.value == param_value:
continue
self._params[key] = custom.CarControlSP.Param(key=key, value=param_value, type=param_type)
@property
def param_list(self) -> list[custom.CarControlSP.Param]:
return [v for k,v in self._params.items()]
def publish(self) -> list[capnp.lib.capnp._DynamicStructBuilder]:
if self.cached_params_list is None:
# TODO-SP: Why are we doing a list instead of a dictionary here?
self.cached_params_list = [custom.CarControlSP.Param(key=k, value=self.values[k]) for k in self.keys]
return self.cached_params_list
+14 -12
View File
@@ -23,7 +23,7 @@ from websocket import (ABNF, WebSocket, WebSocketException, WebSocketTimeoutExce
import cereal.messaging as messaging
from sunnypilot.sunnylink.api import SunnylinkApi
from sunnypilot.sunnylink.utils import sunnylink_need_register, sunnylink_ready, get_param_as_byte, save_param_from_base64_encoded_string
from sunnypilot.sunnylink.utils import sunnylink_need_register, sunnylink_ready, get_param_as_byte
SUNNYLINK_ATHENA_HOST = os.getenv('SUNNYLINK_ATHENA_HOST', 'wss://ws.stg.api.sunnypilot.ai')
HANDLER_THREADS = int(os.getenv('HANDLER_THREADS', "4"))
@@ -184,18 +184,14 @@ def getParams(params_keys: list[str], compression: bool = False) -> str | dict[s
try:
param_keys_validated = [key for key in params_keys if key in getParamsAllKeys()]
params_dict: dict[str, list[dict[str, str | bool | int]]] = {"params": []}
for key in param_keys_validated:
value = get_param_as_byte(key)
if value is None:
continue
params_dict["params"].append({
params_dict: dict[str, list[dict[str, str | bool | int ]]] = {"params": [
{
"key": key,
"value": base64.b64encode(gzip.compress(value) if compression else value).decode('utf-8'),
"value": base64.b64encode(gzip.compress(get_param_as_byte(key)) if compression else get_param_as_byte(key)).decode('utf-8'),
"type": int(params.get_type(key).value),
"is_compressed": compression
})
} for key in param_keys_validated
]}
response = {str(param.get('key')): str(param.get('value')) for param in params_dict.get("params", [])}
response |= {"params": json.dumps(params_dict.get("params", []))} # Upcoming for settings v1
@@ -208,9 +204,15 @@ def getParams(params_keys: list[str], compression: bool = False) -> str | dict[s
@dispatcher.add_method
def saveParams(params_to_update: dict[str, str], compression: bool = False) -> None:
for key, value in params_to_update.items():
params = Params()
params_dict = {key: base64.b64decode(value) for key, value in params_to_update.items()}
if compression:
params_dict = {key: gzip.decompress(value) for key, value in params_dict.items()}
for key, value in params_dict.items():
try:
save_param_from_base64_encoded_string(key, value, compression)
params.put(key, value)
except Exception as e:
cloudlog.error(f"sunnylinkd.saveParams.exception {e}")
+24 -5
View File
@@ -12,7 +12,7 @@ from enum import Enum
from typing import Any
from openpilot.common.git import get_branch
from openpilot.common.params import Params, ParamKeyFlag
from openpilot.common.params import Params, ParamKeyType, ParamKeyFlag
from openpilot.common.realtime import Ratekeeper
from openpilot.common.swaglog import cloudlog
from openpilot.system.version import get_version
@@ -20,7 +20,7 @@ from openpilot.system.version import get_version
from cereal import messaging, custom
from sunnypilot.sunnylink.api import SunnylinkApi
from sunnypilot.sunnylink.backups.utils import decrypt_compressed_data, encrypt_compress_data, SnakeCaseEncoder
from sunnypilot.sunnylink.utils import get_param_as_byte, save_param_from_base64_encoded_string
from sunnypilot.sunnylink.utils import get_param_as_byte
class OperationType(Enum):
@@ -173,7 +173,8 @@ class BackupManagerSP:
self._update_progress(75.0, OperationType.RESTORE)
# Apply configuration
self._apply_config(config_data)
all_values_encoded = self._get_metadata_value(backup_metadata, "all_values_encoded", "false")
self._apply_config(config_data, str(all_values_encoded).lower() == "true")
self.restore_status = custom.BackupManagerSP.Status.completed
self._update_progress(100.0, OperationType.RESTORE)
@@ -186,7 +187,7 @@ class BackupManagerSP:
self._report_status()
return False
def _apply_config(self, config_data: dict[str, str]) -> None:
def _apply_config(self, config_data: dict[str, str], all_values_encoded: bool = False) -> None:
"""Applies configuration data from a backup, but only for parameters marked as backupable."""
backupable_params = [k.decode('utf-8') for k in self.params.all_keys(ParamKeyFlag.BACKUP)]
backupable_set_lower = {p.lower() for p in backupable_params}
@@ -198,8 +199,26 @@ class BackupManagerSP:
if param.lower() in backupable_set_lower:
# Find real param name (with correct casing)
real_param = next(p for p in backupable_params if p.lower() == param.lower())
param_type = self.params.get_type(real_param)
try:
save_param_from_base64_encoded_string(real_param, encoded_value)
value = base64.b64decode(encoded_value) if all_values_encoded else encoded_value
if param_type != ParamKeyType.BYTES:
value = value.decode('utf-8') # type: ignore
if param_type == ParamKeyType.STRING:
value = value
elif param_type == ParamKeyType.BOOL:
value = value.lower() in ('true', '1', 'yes') # type: ignore
elif param_type == ParamKeyType.INT:
value = int(value) # type: ignore
elif param_type == ParamKeyType.FLOAT:
value = float(value) # type: ignore
elif param_type == ParamKeyType.TIME:
value = str(value)
elif param_type == ParamKeyType.JSON:
value = json.loads(value)
self.params.put(real_param, value)
restored_count += 1
except Exception as e:
cloudlog.error(f"Failed to restore param {param}: {str(e)}")
+3 -49
View File
@@ -1,5 +1,3 @@
import base64
import gzip
import json
from sunnypilot.sunnylink.api import SunnylinkApi, UNREGISTERED_SUNNYLINK_DONGLE_ID
from openpilot.common.params import Params, ParamKeyType
@@ -60,57 +58,13 @@ def get_api_token():
print(f"API Token: {token}")
def get_param_as_byte(param_name: str, params=None) -> bytes | None:
"""Get a parameter as bytes. Returns None if the parameter does not exist."""
params = params or Params() # Use existing Params instance if provided
def get_param_as_byte(param_name: str) -> bytes:
params = Params()
param = params.get(param_name)
if param is None:
return None
param_type = params.get_type(param_name)
if param_type == ParamKeyType.BYTES:
return bytes(param)
elif param_type == ParamKeyType.JSON:
return json.dumps(param).encode('utf-8')
return str(param).encode('utf-8')
def save_param_from_base64_encoded_string(param_name: str, base64_encoded_data: str, is_compressed=False) -> None:
"""Save a parameter from bytes. Overwrites the parameter if it already exists."""
params = Params()
# Find real param name (with correct casing)
param_type = params.get_type(param_name)
value = base64.b64decode(base64_encoded_data)
if is_compressed:
value = gzip.decompress(value)
# We convert to string anything that isn't bytes first. We later transform further.
param_value = _convert_param_to_type(value, param_type)
params.put(param_name, param_value)
def _convert_param_to_type(value: bytes, param_type: ParamKeyType) -> bytes | str | int | float | bool | dict | None:
"""
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 openpilot/sunnypilot/car/__init__.py.
"""
# We convert to string anything that isn't bytes first. We later transform further.
if param_type != ParamKeyType.BYTES:
value = value.decode('utf-8') # type: ignore
if param_type == ParamKeyType.STRING:
value = value
elif param_type == ParamKeyType.BOOL:
value = value.lower() in ('true', '1', 'yes') # type: ignore
elif param_type == ParamKeyType.INT:
value = int(value) # type: ignore
elif param_type == ParamKeyType.FLOAT:
value = float(value) # type: ignore
elif param_type == ParamKeyType.TIME:
value = str(value) # type: ignore
elif param_type == ParamKeyType.JSON:
value = json.loads(value)
return value
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+8 -5
View File
@@ -10,8 +10,8 @@ from openpilot.common.basedir import BASEDIR
from openpilot.common.swaglog import cloudlog
from openpilot.common.git import get_commit, get_origin, get_branch, get_short_branch, get_commit_date
RELEASE_SP_BRANCHES = ['release-c3']
TESTED_SP_BRANCHES = ['staging-c3', 'staging-c3-new', 'staging-tici']
RELEASE_SP_BRANCHES = ['release-c3', 'release']
TESTED_SP_BRANCHES = ['staging-c3', 'staging-c3-new', 'staging']
MASTER_SP_BRANCHES = ['master']
RELEASE_BRANCHES = ['release3-staging', 'release3', 'release-tici', 'nightly'] + RELEASE_SP_BRANCHES
TESTED_BRANCHES = RELEASE_BRANCHES + ['devel', 'devel-staging', 'nightly-dev'] + TESTED_SP_BRANCHES
@@ -21,6 +21,9 @@ SP_BRANCH_MIGRATIONS = {
("tici", "dev-c3-new"): "staging-tici",
("tici", "master"): "master-tici",
("tici", "master-dev-c3-new"): "master-tici",
("tizi", "staging-c3-new"): "staging",
("tizi", "dev-c3-new"): "dev",
("tizi", "master-dev-c3-new"): "master-dev",
}
BUILD_METADATA_FILENAME = "build.json"
@@ -131,7 +134,7 @@ class BuildMetadata:
@property
def development_channel(self) -> bool:
return self.channel.startswith("dev-") or self.channel.endswith("-prebuilt")
return self.channel == "dev" or self.channel.startswith("dev-") or self.channel.endswith("-prebuilt")
@property
def channel_type(self) -> str:
@@ -139,11 +142,11 @@ class BuildMetadata:
return "tici"
elif self.development_channel:
return "development"
elif self.channel.startswith("staging-"):
elif self.tested_channel:
return "staging"
elif self.master_channel:
return "master"
elif self.tested_channel:
elif self.release_channel:
return "release"
else:
return "feature"
Generated
+1 -1
View File
@@ -912,7 +912,7 @@ dependencies = [
{ name = "yapf" },
]
wheels = [
{ url = "https://github.com/commaai/metadrive/releases/download/MetaDrive-minimal-0.4.2.4/metadrive_simulator-0.4.2.4-py3-none-any.whl", hash = "sha256:d0afaf3b005e35e14b929d5491d2d5b64562d0c1cd5093ba969fb63908670dd4" },
{ url = "https://github.com/commaai/metadrive/releases/download/MetaDrive-minimal-0.4.2.4/metadrive_simulator-0.4.2.4-py3-none-any.whl", hash = "sha256:fbf0ea9be67e65cd45d38ff930e3d49f705dd76c9ddbd1e1482e3f87b61efcef" },
]
[package.metadata]