mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-09-10 18:23:44 +08:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a64b9aa9b8 | |||
| 0138eca61d | |||
| 139a40de29 |
+21
@@ -0,0 +1,21 @@
|
|||||||
|
.DS_Store
|
||||||
|
.tags
|
||||||
|
|
||||||
|
*.pyc
|
||||||
|
.*.swp
|
||||||
|
.*.swo
|
||||||
|
.*.un~
|
||||||
|
*.o
|
||||||
|
*.d
|
||||||
|
*.so
|
||||||
|
*.a
|
||||||
|
*.clb
|
||||||
|
config.json
|
||||||
|
clcache
|
||||||
|
|
||||||
|
board/obj/
|
||||||
|
selfdrive/boardd/boardd
|
||||||
|
selfdrive/logcatd/logcatd
|
||||||
|
selfdrive/sensord/sensord
|
||||||
|
selfdrive/ui/ui
|
||||||
|
|
||||||
@@ -1,3 +1,9 @@
|
|||||||
|
Version 0.2.2 (2017-01-10)
|
||||||
|
===========================
|
||||||
|
* Board triggers started signal on CAN messages
|
||||||
|
* Improved autoexposure
|
||||||
|
* Handle out of space, improve upload status
|
||||||
|
|
||||||
Version 0.2.1 (2016-12-14)
|
Version 0.2.1 (2016-12-14)
|
||||||
===========================
|
===========================
|
||||||
* Performance improvements, removal of more numpy
|
* Performance improvements, removal of more numpy
|
||||||
|
|||||||
+25
-3
@@ -25,7 +25,12 @@ USB_OTG_GlobalTypeDef *USBx = USB_OTG_FS;
|
|||||||
|
|
||||||
// debug safety check: is controls allowed?
|
// debug safety check: is controls allowed?
|
||||||
int controls_allowed = 0;
|
int controls_allowed = 0;
|
||||||
|
int started = 0;
|
||||||
|
int can_live = 0, pending_can_live = 0;
|
||||||
|
|
||||||
|
// optional features
|
||||||
int gas_interceptor_detected = 0;
|
int gas_interceptor_detected = 0;
|
||||||
|
int started_signal_detected = 0;
|
||||||
|
|
||||||
// ********************* instantiate queues *********************
|
// ********************* instantiate queues *********************
|
||||||
|
|
||||||
@@ -147,6 +152,9 @@ void CAN2_TX_IRQHandler() {
|
|||||||
// CAN receive handlers
|
// CAN receive handlers
|
||||||
void can_rx(CAN_TypeDef *CAN, int can_number) {
|
void can_rx(CAN_TypeDef *CAN, int can_number) {
|
||||||
while (CAN->RF0R & CAN_RF0R_FMP0) {
|
while (CAN->RF0R & CAN_RF0R_FMP0) {
|
||||||
|
// can is live
|
||||||
|
pending_can_live = 1;
|
||||||
|
|
||||||
// add to my fifo
|
// add to my fifo
|
||||||
CAN_FIFOMailBox_TypeDef to_push;
|
CAN_FIFOMailBox_TypeDef to_push;
|
||||||
to_push.RIR = CAN->sFIFOMailBox[0].RIR;
|
to_push.RIR = CAN->sFIFOMailBox[0].RIR;
|
||||||
@@ -256,6 +264,7 @@ int get_health_pkt(void *dat) {
|
|||||||
uint8_t started;
|
uint8_t started;
|
||||||
uint8_t controls_allowed;
|
uint8_t controls_allowed;
|
||||||
uint8_t gas_interceptor_detected;
|
uint8_t gas_interceptor_detected;
|
||||||
|
uint8_t started_signal_detected;
|
||||||
} *health = dat;
|
} *health = dat;
|
||||||
health->voltage = adc_get(ADCCHAN_VOLTAGE);
|
health->voltage = adc_get(ADCCHAN_VOLTAGE);
|
||||||
#ifdef ENABLE_CURRENT_SENSOR
|
#ifdef ENABLE_CURRENT_SENSOR
|
||||||
@@ -263,9 +272,12 @@ int get_health_pkt(void *dat) {
|
|||||||
#else
|
#else
|
||||||
health->current = 0;
|
health->current = 0;
|
||||||
#endif
|
#endif
|
||||||
health->started = (GPIOC->IDR & (1 << 13)) != 0;
|
health->started = started;
|
||||||
|
|
||||||
health->controls_allowed = controls_allowed;
|
health->controls_allowed = controls_allowed;
|
||||||
|
|
||||||
health->gas_interceptor_detected = gas_interceptor_detected;
|
health->gas_interceptor_detected = gas_interceptor_detected;
|
||||||
|
health->started_signal_detected = started_signal_detected;
|
||||||
return sizeof(*health);
|
return sizeof(*health);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -468,6 +480,9 @@ int main() {
|
|||||||
|
|
||||||
// LED should keep on blinking all the time
|
// LED should keep on blinking all the time
|
||||||
while (1) {
|
while (1) {
|
||||||
|
can_live = pending_can_live;
|
||||||
|
pending_can_live = 0;
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
puts("** blink ");
|
puts("** blink ");
|
||||||
puth(can_rx_q.r_ptr); puts(" "); puth(can_rx_q.w_ptr); puts(" ");
|
puth(can_rx_q.r_ptr); puts(" "); puth(can_rx_q.w_ptr); puts(" ");
|
||||||
@@ -489,14 +504,21 @@ int main() {
|
|||||||
GPIOB->ODR &= ~(1 << 10);
|
GPIOB->ODR &= ~(1 << 10);
|
||||||
delay(1000000);
|
delay(1000000);
|
||||||
|
|
||||||
if (GPIOC->IDR & (1 << 13)) {
|
// started logic
|
||||||
|
int started_signal = (GPIOC->IDR & (1 << 13)) != 0;
|
||||||
|
if (started_signal) { started_signal_detected = 1; }
|
||||||
|
|
||||||
|
if (started_signal || (!started_signal_detected && can_live)) {
|
||||||
|
started = 1;
|
||||||
|
|
||||||
// turn on fan at half speed
|
// turn on fan at half speed
|
||||||
set_fan_speed(32768);
|
set_fan_speed(32768);
|
||||||
} else {
|
} else {
|
||||||
|
started = 0;
|
||||||
|
|
||||||
// turn off fan
|
// turn off fan
|
||||||
set_fan_speed(0);
|
set_fan_speed(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
+20
-16
@@ -235,12 +235,12 @@ void cereal_set_CanData(const struct cereal_CanData *s, cereal_CanData_list l, i
|
|||||||
|
|
||||||
cereal_ThermalData_ptr cereal_new_ThermalData(struct capn_segment *s) {
|
cereal_ThermalData_ptr cereal_new_ThermalData(struct capn_segment *s) {
|
||||||
cereal_ThermalData_ptr p;
|
cereal_ThermalData_ptr p;
|
||||||
p.p = capn_new_struct(s, 16, 0);
|
p.p = capn_new_struct(s, 24, 0);
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
cereal_ThermalData_list cereal_new_ThermalData_list(struct capn_segment *s, int len) {
|
cereal_ThermalData_list cereal_new_ThermalData_list(struct capn_segment *s, int len) {
|
||||||
cereal_ThermalData_list p;
|
cereal_ThermalData_list p;
|
||||||
p.p = capn_new_list(s, len, 16, 0);
|
p.p = capn_new_list(s, len, 24, 0);
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
void cereal_read_ThermalData(struct cereal_ThermalData *s, cereal_ThermalData_ptr p) {
|
void cereal_read_ThermalData(struct cereal_ThermalData *s, cereal_ThermalData_ptr p) {
|
||||||
@@ -252,6 +252,7 @@ void cereal_read_ThermalData(struct cereal_ThermalData *s, cereal_ThermalData_pt
|
|||||||
s->mem = capn_read16(p.p, 8);
|
s->mem = capn_read16(p.p, 8);
|
||||||
s->gpu = capn_read16(p.p, 10);
|
s->gpu = capn_read16(p.p, 10);
|
||||||
s->bat = capn_read32(p.p, 12);
|
s->bat = capn_read32(p.p, 12);
|
||||||
|
s->freeSpace = capn_to_f32(capn_read32(p.p, 16));
|
||||||
}
|
}
|
||||||
void cereal_write_ThermalData(const struct cereal_ThermalData *s, cereal_ThermalData_ptr p) {
|
void cereal_write_ThermalData(const struct cereal_ThermalData *s, cereal_ThermalData_ptr p) {
|
||||||
capn_resolve(&p.p);
|
capn_resolve(&p.p);
|
||||||
@@ -262,6 +263,7 @@ void cereal_write_ThermalData(const struct cereal_ThermalData *s, cereal_Thermal
|
|||||||
capn_write16(p.p, 8, s->mem);
|
capn_write16(p.p, 8, s->mem);
|
||||||
capn_write16(p.p, 10, s->gpu);
|
capn_write16(p.p, 10, s->gpu);
|
||||||
capn_write32(p.p, 12, s->bat);
|
capn_write32(p.p, 12, s->bat);
|
||||||
|
capn_write32(p.p, 16, capn_from_f32(s->freeSpace));
|
||||||
}
|
}
|
||||||
void cereal_get_ThermalData(struct cereal_ThermalData *s, cereal_ThermalData_list l, int i) {
|
void cereal_get_ThermalData(struct cereal_ThermalData *s, cereal_ThermalData_list l, int i) {
|
||||||
cereal_ThermalData_ptr p;
|
cereal_ThermalData_ptr p;
|
||||||
@@ -291,6 +293,7 @@ void cereal_read_HealthData(struct cereal_HealthData *s, cereal_HealthData_ptr p
|
|||||||
s->started = (capn_read8(p.p, 8) & 1) != 0;
|
s->started = (capn_read8(p.p, 8) & 1) != 0;
|
||||||
s->controlsAllowed = (capn_read8(p.p, 8) & 2) != 0;
|
s->controlsAllowed = (capn_read8(p.p, 8) & 2) != 0;
|
||||||
s->gasInterceptorDetected = (capn_read8(p.p, 8) & 4) != 0;
|
s->gasInterceptorDetected = (capn_read8(p.p, 8) & 4) != 0;
|
||||||
|
s->startedSignalDetected = (capn_read8(p.p, 8) & 8) != 0;
|
||||||
}
|
}
|
||||||
void cereal_write_HealthData(const struct cereal_HealthData *s, cereal_HealthData_ptr p) {
|
void cereal_write_HealthData(const struct cereal_HealthData *s, cereal_HealthData_ptr p) {
|
||||||
capn_resolve(&p.p);
|
capn_resolve(&p.p);
|
||||||
@@ -299,6 +302,7 @@ void cereal_write_HealthData(const struct cereal_HealthData *s, cereal_HealthDat
|
|||||||
capn_write1(p.p, 64, s->started != 0);
|
capn_write1(p.p, 64, s->started != 0);
|
||||||
capn_write1(p.p, 65, s->controlsAllowed != 0);
|
capn_write1(p.p, 65, s->controlsAllowed != 0);
|
||||||
capn_write1(p.p, 66, s->gasInterceptorDetected != 0);
|
capn_write1(p.p, 66, s->gasInterceptorDetected != 0);
|
||||||
|
capn_write1(p.p, 67, s->startedSignalDetected != 0);
|
||||||
}
|
}
|
||||||
void cereal_get_HealthData(struct cereal_HealthData *s, cereal_HealthData_list l, int i) {
|
void cereal_get_HealthData(struct cereal_HealthData *s, cereal_HealthData_list l, int i) {
|
||||||
cereal_HealthData_ptr p;
|
cereal_HealthData_ptr p;
|
||||||
@@ -361,11 +365,11 @@ void cereal_read_Live20Data(struct cereal_Live20Data *s, cereal_Live20Data_ptr p
|
|||||||
s->canMonoTimes.p = capn_getp(p.p, 3, 0);
|
s->canMonoTimes.p = capn_getp(p.p, 3, 0);
|
||||||
s->mdMonoTime = capn_read64(p.p, 16);
|
s->mdMonoTime = capn_read64(p.p, 16);
|
||||||
s->ftMonoTime = capn_read64(p.p, 24);
|
s->ftMonoTime = capn_read64(p.p, 24);
|
||||||
s->warpMatrix.p = capn_getp(p.p, 0, 0);
|
s->warpMatrixDEPRECATED.p = capn_getp(p.p, 0, 0);
|
||||||
s->angleOffset = capn_to_f32(capn_read32(p.p, 0));
|
s->angleOffsetDEPRECATED = capn_to_f32(capn_read32(p.p, 0));
|
||||||
s->calStatus = (int8_t) ((int8_t)capn_read8(p.p, 4));
|
s->calStatusDEPRECATED = (int8_t) ((int8_t)capn_read8(p.p, 4));
|
||||||
s->calCycle = (int32_t) ((int32_t)capn_read32(p.p, 12));
|
s->calCycleDEPRECATED = (int32_t) ((int32_t)capn_read32(p.p, 12));
|
||||||
s->calPerc = (int8_t) ((int8_t)capn_read8(p.p, 5));
|
s->calPercDEPRECATED = (int8_t) ((int8_t)capn_read8(p.p, 5));
|
||||||
s->leadOne.p = capn_getp(p.p, 1, 0);
|
s->leadOne.p = capn_getp(p.p, 1, 0);
|
||||||
s->leadTwo.p = capn_getp(p.p, 2, 0);
|
s->leadTwo.p = capn_getp(p.p, 2, 0);
|
||||||
s->cumLagMs = capn_to_f32(capn_read32(p.p, 8));
|
s->cumLagMs = capn_to_f32(capn_read32(p.p, 8));
|
||||||
@@ -375,11 +379,11 @@ void cereal_write_Live20Data(const struct cereal_Live20Data *s, cereal_Live20Dat
|
|||||||
capn_setp(p.p, 3, s->canMonoTimes.p);
|
capn_setp(p.p, 3, s->canMonoTimes.p);
|
||||||
capn_write64(p.p, 16, s->mdMonoTime);
|
capn_write64(p.p, 16, s->mdMonoTime);
|
||||||
capn_write64(p.p, 24, s->ftMonoTime);
|
capn_write64(p.p, 24, s->ftMonoTime);
|
||||||
capn_setp(p.p, 0, s->warpMatrix.p);
|
capn_setp(p.p, 0, s->warpMatrixDEPRECATED.p);
|
||||||
capn_write32(p.p, 0, capn_from_f32(s->angleOffset));
|
capn_write32(p.p, 0, capn_from_f32(s->angleOffsetDEPRECATED));
|
||||||
capn_write8(p.p, 4, (uint8_t) (s->calStatus));
|
capn_write8(p.p, 4, (uint8_t) (s->calStatusDEPRECATED));
|
||||||
capn_write32(p.p, 12, (uint32_t) (s->calCycle));
|
capn_write32(p.p, 12, (uint32_t) (s->calCycleDEPRECATED));
|
||||||
capn_write8(p.p, 5, (uint8_t) (s->calPerc));
|
capn_write8(p.p, 5, (uint8_t) (s->calPercDEPRECATED));
|
||||||
capn_setp(p.p, 1, s->leadOne.p);
|
capn_setp(p.p, 1, s->leadOne.p);
|
||||||
capn_setp(p.p, 2, s->leadTwo.p);
|
capn_setp(p.p, 2, s->leadTwo.p);
|
||||||
capn_write32(p.p, 8, capn_from_f32(s->cumLagMs));
|
capn_write32(p.p, 8, capn_from_f32(s->cumLagMs));
|
||||||
@@ -545,7 +549,7 @@ void cereal_read_Live100Data(struct cereal_Live100Data *s, cereal_Live100Data_pt
|
|||||||
s->l20MonoTime = capn_read64(p.p, 72);
|
s->l20MonoTime = capn_read64(p.p, 72);
|
||||||
s->mdMonoTime = capn_read64(p.p, 80);
|
s->mdMonoTime = capn_read64(p.p, 80);
|
||||||
s->vEgo = capn_to_f32(capn_read32(p.p, 0));
|
s->vEgo = capn_to_f32(capn_read32(p.p, 0));
|
||||||
s->aEgo = capn_to_f32(capn_read32(p.p, 4));
|
s->aEgoDEPRECATED = capn_to_f32(capn_read32(p.p, 4));
|
||||||
s->vPid = capn_to_f32(capn_read32(p.p, 8));
|
s->vPid = capn_to_f32(capn_read32(p.p, 8));
|
||||||
s->vTargetLead = capn_to_f32(capn_read32(p.p, 12));
|
s->vTargetLead = capn_to_f32(capn_read32(p.p, 12));
|
||||||
s->upAccelCmd = capn_to_f32(capn_read32(p.p, 16));
|
s->upAccelCmd = capn_to_f32(capn_read32(p.p, 16));
|
||||||
@@ -558,7 +562,7 @@ void cereal_read_Live100Data(struct cereal_Live100Data *s, cereal_Live100Data_pt
|
|||||||
s->aTargetMax = capn_to_f32(capn_read32(p.p, 44));
|
s->aTargetMax = capn_to_f32(capn_read32(p.p, 44));
|
||||||
s->jerkFactor = capn_to_f32(capn_read32(p.p, 48));
|
s->jerkFactor = capn_to_f32(capn_read32(p.p, 48));
|
||||||
s->angleSteers = capn_to_f32(capn_read32(p.p, 52));
|
s->angleSteers = capn_to_f32(capn_read32(p.p, 52));
|
||||||
s->hudLead = (int32_t) ((int32_t)capn_read32(p.p, 56));
|
s->hudLeadDEPRECATED = (int32_t) ((int32_t)capn_read32(p.p, 56));
|
||||||
s->cumLagMs = capn_to_f32(capn_read32(p.p, 60));
|
s->cumLagMs = capn_to_f32(capn_read32(p.p, 60));
|
||||||
s->enabled = (capn_read8(p.p, 88) & 1) != 0;
|
s->enabled = (capn_read8(p.p, 88) & 1) != 0;
|
||||||
s->steerOverride = (capn_read8(p.p, 88) & 2) != 0;
|
s->steerOverride = (capn_read8(p.p, 88) & 2) != 0;
|
||||||
@@ -575,7 +579,7 @@ void cereal_write_Live100Data(const struct cereal_Live100Data *s, cereal_Live100
|
|||||||
capn_write64(p.p, 72, s->l20MonoTime);
|
capn_write64(p.p, 72, s->l20MonoTime);
|
||||||
capn_write64(p.p, 80, s->mdMonoTime);
|
capn_write64(p.p, 80, s->mdMonoTime);
|
||||||
capn_write32(p.p, 0, capn_from_f32(s->vEgo));
|
capn_write32(p.p, 0, capn_from_f32(s->vEgo));
|
||||||
capn_write32(p.p, 4, capn_from_f32(s->aEgo));
|
capn_write32(p.p, 4, capn_from_f32(s->aEgoDEPRECATED));
|
||||||
capn_write32(p.p, 8, capn_from_f32(s->vPid));
|
capn_write32(p.p, 8, capn_from_f32(s->vPid));
|
||||||
capn_write32(p.p, 12, capn_from_f32(s->vTargetLead));
|
capn_write32(p.p, 12, capn_from_f32(s->vTargetLead));
|
||||||
capn_write32(p.p, 16, capn_from_f32(s->upAccelCmd));
|
capn_write32(p.p, 16, capn_from_f32(s->upAccelCmd));
|
||||||
@@ -588,7 +592,7 @@ void cereal_write_Live100Data(const struct cereal_Live100Data *s, cereal_Live100
|
|||||||
capn_write32(p.p, 44, capn_from_f32(s->aTargetMax));
|
capn_write32(p.p, 44, capn_from_f32(s->aTargetMax));
|
||||||
capn_write32(p.p, 48, capn_from_f32(s->jerkFactor));
|
capn_write32(p.p, 48, capn_from_f32(s->jerkFactor));
|
||||||
capn_write32(p.p, 52, capn_from_f32(s->angleSteers));
|
capn_write32(p.p, 52, capn_from_f32(s->angleSteers));
|
||||||
capn_write32(p.p, 56, (uint32_t) (s->hudLead));
|
capn_write32(p.p, 56, (uint32_t) (s->hudLeadDEPRECATED));
|
||||||
capn_write32(p.p, 60, capn_from_f32(s->cumLagMs));
|
capn_write32(p.p, 60, capn_from_f32(s->cumLagMs));
|
||||||
capn_write1(p.p, 704, s->enabled != 0);
|
capn_write1(p.p, 704, s->enabled != 0);
|
||||||
capn_write1(p.p, 705, s->steerOverride != 0);
|
capn_write1(p.p, 705, s->steerOverride != 0);
|
||||||
|
|||||||
@@ -193,13 +193,14 @@ struct cereal_ThermalData {
|
|||||||
uint16_t mem;
|
uint16_t mem;
|
||||||
uint16_t gpu;
|
uint16_t gpu;
|
||||||
uint32_t bat;
|
uint32_t bat;
|
||||||
|
float freeSpace;
|
||||||
};
|
};
|
||||||
|
|
||||||
static const size_t cereal_ThermalData_word_count = 2;
|
static const size_t cereal_ThermalData_word_count = 3;
|
||||||
|
|
||||||
static const size_t cereal_ThermalData_pointer_count = 0;
|
static const size_t cereal_ThermalData_pointer_count = 0;
|
||||||
|
|
||||||
static const size_t cereal_ThermalData_struct_bytes_count = 16;
|
static const size_t cereal_ThermalData_struct_bytes_count = 24;
|
||||||
|
|
||||||
struct cereal_HealthData {
|
struct cereal_HealthData {
|
||||||
uint32_t voltage;
|
uint32_t voltage;
|
||||||
@@ -207,6 +208,7 @@ struct cereal_HealthData {
|
|||||||
unsigned started : 1;
|
unsigned started : 1;
|
||||||
unsigned controlsAllowed : 1;
|
unsigned controlsAllowed : 1;
|
||||||
unsigned gasInterceptorDetected : 1;
|
unsigned gasInterceptorDetected : 1;
|
||||||
|
unsigned startedSignalDetected : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
static const size_t cereal_HealthData_word_count = 2;
|
static const size_t cereal_HealthData_word_count = 2;
|
||||||
@@ -232,11 +234,11 @@ struct cereal_Live20Data {
|
|||||||
capn_list64 canMonoTimes;
|
capn_list64 canMonoTimes;
|
||||||
uint64_t mdMonoTime;
|
uint64_t mdMonoTime;
|
||||||
uint64_t ftMonoTime;
|
uint64_t ftMonoTime;
|
||||||
capn_list32 warpMatrix;
|
capn_list32 warpMatrixDEPRECATED;
|
||||||
float angleOffset;
|
float angleOffsetDEPRECATED;
|
||||||
int8_t calStatus;
|
int8_t calStatusDEPRECATED;
|
||||||
int32_t calCycle;
|
int32_t calCycleDEPRECATED;
|
||||||
int8_t calPerc;
|
int8_t calPercDEPRECATED;
|
||||||
cereal_Live20Data_LeadData_ptr leadOne;
|
cereal_Live20Data_LeadData_ptr leadOne;
|
||||||
cereal_Live20Data_LeadData_ptr leadTwo;
|
cereal_Live20Data_LeadData_ptr leadTwo;
|
||||||
float cumLagMs;
|
float cumLagMs;
|
||||||
@@ -307,7 +309,7 @@ struct cereal_Live100Data {
|
|||||||
uint64_t l20MonoTime;
|
uint64_t l20MonoTime;
|
||||||
uint64_t mdMonoTime;
|
uint64_t mdMonoTime;
|
||||||
float vEgo;
|
float vEgo;
|
||||||
float aEgo;
|
float aEgoDEPRECATED;
|
||||||
float vPid;
|
float vPid;
|
||||||
float vTargetLead;
|
float vTargetLead;
|
||||||
float upAccelCmd;
|
float upAccelCmd;
|
||||||
@@ -320,7 +322,7 @@ struct cereal_Live100Data {
|
|||||||
float aTargetMax;
|
float aTargetMax;
|
||||||
float jerkFactor;
|
float jerkFactor;
|
||||||
float angleSteers;
|
float angleSteers;
|
||||||
int32_t hudLead;
|
int32_t hudLeadDEPRECATED;
|
||||||
float cumLagMs;
|
float cumLagMs;
|
||||||
unsigned enabled : 1;
|
unsigned enabled : 1;
|
||||||
unsigned steerOverride : 1;
|
unsigned steerOverride : 1;
|
||||||
|
|||||||
+254
-212
@@ -641,73 +641,80 @@ const ::capnp::_::RawSchema s_8785009a964c7c59 = {
|
|||||||
0, 4, i_8785009a964c7c59, nullptr, nullptr, { &s_8785009a964c7c59, nullptr, nullptr, 0, 0, nullptr }
|
0, 4, i_8785009a964c7c59, nullptr, nullptr, { &s_8785009a964c7c59, nullptr, nullptr, 0, 0, nullptr }
|
||||||
};
|
};
|
||||||
#endif // !CAPNP_LITE
|
#endif // !CAPNP_LITE
|
||||||
static const ::capnp::_::AlignedData<122> b_8d8231a40b7fe6e0 = {
|
static const ::capnp::_::AlignedData<138> b_8d8231a40b7fe6e0 = {
|
||||||
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
||||||
224, 230, 127, 11, 164, 49, 130, 141,
|
224, 230, 127, 11, 164, 49, 130, 141,
|
||||||
10, 0, 0, 0, 1, 0, 2, 0,
|
10, 0, 0, 0, 1, 0, 3, 0,
|
||||||
91, 40, 164, 37, 126, 241, 177, 243,
|
91, 40, 164, 37, 126, 241, 177, 243,
|
||||||
0, 0, 7, 0, 0, 0, 0, 0,
|
0, 0, 7, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
21, 0, 0, 0, 178, 0, 0, 0,
|
21, 0, 0, 0, 178, 0, 0, 0,
|
||||||
29, 0, 0, 0, 7, 0, 0, 0,
|
29, 0, 0, 0, 7, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
25, 0, 0, 0, 143, 1, 0, 0,
|
25, 0, 0, 0, 199, 1, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
108, 111, 103, 46, 99, 97, 112, 110,
|
108, 111, 103, 46, 99, 97, 112, 110,
|
||||||
112, 58, 84, 104, 101, 114, 109, 97,
|
112, 58, 84, 104, 101, 114, 109, 97,
|
||||||
108, 68, 97, 116, 97, 0, 0, 0,
|
108, 68, 97, 116, 97, 0, 0, 0,
|
||||||
0, 0, 0, 0, 1, 0, 1, 0,
|
0, 0, 0, 0, 1, 0, 1, 0,
|
||||||
28, 0, 0, 0, 3, 0, 4, 0,
|
32, 0, 0, 0, 3, 0, 4, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
181, 0, 0, 0, 42, 0, 0, 0,
|
209, 0, 0, 0, 42, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
176, 0, 0, 0, 3, 0, 1, 0,
|
204, 0, 0, 0, 3, 0, 1, 0,
|
||||||
188, 0, 0, 0, 2, 0, 1, 0,
|
216, 0, 0, 0, 2, 0, 1, 0,
|
||||||
1, 0, 0, 0, 1, 0, 0, 0,
|
1, 0, 0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 1, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
185, 0, 0, 0, 42, 0, 0, 0,
|
213, 0, 0, 0, 42, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
180, 0, 0, 0, 3, 0, 1, 0,
|
208, 0, 0, 0, 3, 0, 1, 0,
|
||||||
192, 0, 0, 0, 2, 0, 1, 0,
|
220, 0, 0, 0, 2, 0, 1, 0,
|
||||||
2, 0, 0, 0, 2, 0, 0, 0,
|
2, 0, 0, 0, 2, 0, 0, 0,
|
||||||
0, 0, 1, 0, 2, 0, 0, 0,
|
0, 0, 1, 0, 2, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
189, 0, 0, 0, 42, 0, 0, 0,
|
217, 0, 0, 0, 42, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
184, 0, 0, 0, 3, 0, 1, 0,
|
212, 0, 0, 0, 3, 0, 1, 0,
|
||||||
196, 0, 0, 0, 2, 0, 1, 0,
|
224, 0, 0, 0, 2, 0, 1, 0,
|
||||||
3, 0, 0, 0, 3, 0, 0, 0,
|
3, 0, 0, 0, 3, 0, 0, 0,
|
||||||
0, 0, 1, 0, 3, 0, 0, 0,
|
0, 0, 1, 0, 3, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
193, 0, 0, 0, 42, 0, 0, 0,
|
221, 0, 0, 0, 42, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
188, 0, 0, 0, 3, 0, 1, 0,
|
216, 0, 0, 0, 3, 0, 1, 0,
|
||||||
200, 0, 0, 0, 2, 0, 1, 0,
|
228, 0, 0, 0, 2, 0, 1, 0,
|
||||||
4, 0, 0, 0, 4, 0, 0, 0,
|
4, 0, 0, 0, 4, 0, 0, 0,
|
||||||
0, 0, 1, 0, 4, 0, 0, 0,
|
0, 0, 1, 0, 4, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
197, 0, 0, 0, 34, 0, 0, 0,
|
225, 0, 0, 0, 34, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
192, 0, 0, 0, 3, 0, 1, 0,
|
220, 0, 0, 0, 3, 0, 1, 0,
|
||||||
204, 0, 0, 0, 2, 0, 1, 0,
|
232, 0, 0, 0, 2, 0, 1, 0,
|
||||||
5, 0, 0, 0, 5, 0, 0, 0,
|
5, 0, 0, 0, 5, 0, 0, 0,
|
||||||
0, 0, 1, 0, 5, 0, 0, 0,
|
0, 0, 1, 0, 5, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
201, 0, 0, 0, 34, 0, 0, 0,
|
229, 0, 0, 0, 34, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
196, 0, 0, 0, 3, 0, 1, 0,
|
224, 0, 0, 0, 3, 0, 1, 0,
|
||||||
208, 0, 0, 0, 2, 0, 1, 0,
|
236, 0, 0, 0, 2, 0, 1, 0,
|
||||||
6, 0, 0, 0, 3, 0, 0, 0,
|
6, 0, 0, 0, 3, 0, 0, 0,
|
||||||
0, 0, 1, 0, 6, 0, 0, 0,
|
0, 0, 1, 0, 6, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
205, 0, 0, 0, 34, 0, 0, 0,
|
233, 0, 0, 0, 34, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
200, 0, 0, 0, 3, 0, 1, 0,
|
228, 0, 0, 0, 3, 0, 1, 0,
|
||||||
212, 0, 0, 0, 2, 0, 1, 0,
|
240, 0, 0, 0, 2, 0, 1, 0,
|
||||||
|
7, 0, 0, 0, 4, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 7, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
237, 0, 0, 0, 82, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
236, 0, 0, 0, 3, 0, 1, 0,
|
||||||
|
248, 0, 0, 0, 2, 0, 1, 0,
|
||||||
99, 112, 117, 48, 0, 0, 0, 0,
|
99, 112, 117, 48, 0, 0, 0, 0,
|
||||||
7, 0, 0, 0, 0, 0, 0, 0,
|
7, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
@@ -762,19 +769,28 @@ static const ::capnp::_::AlignedData<122> b_8d8231a40b7fe6e0 = {
|
|||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
8, 0, 0, 0, 0, 0, 0, 0,
|
8, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
102, 114, 101, 101, 83, 112, 97, 99,
|
||||||
|
101, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 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_8d8231a40b7fe6e0 = b_8d8231a40b7fe6e0.words;
|
::capnp::word const* const bp_8d8231a40b7fe6e0 = b_8d8231a40b7fe6e0.words;
|
||||||
#if !CAPNP_LITE
|
#if !CAPNP_LITE
|
||||||
static const uint16_t m_8d8231a40b7fe6e0[] = {6, 0, 1, 2, 3, 5, 4};
|
static const uint16_t m_8d8231a40b7fe6e0[] = {6, 0, 1, 2, 3, 7, 5, 4};
|
||||||
static const uint16_t i_8d8231a40b7fe6e0[] = {0, 1, 2, 3, 4, 5, 6};
|
static const uint16_t i_8d8231a40b7fe6e0[] = {0, 1, 2, 3, 4, 5, 6, 7};
|
||||||
const ::capnp::_::RawSchema s_8d8231a40b7fe6e0 = {
|
const ::capnp::_::RawSchema s_8d8231a40b7fe6e0 = {
|
||||||
0x8d8231a40b7fe6e0, b_8d8231a40b7fe6e0.words, 122, nullptr, m_8d8231a40b7fe6e0,
|
0x8d8231a40b7fe6e0, b_8d8231a40b7fe6e0.words, 138, nullptr, m_8d8231a40b7fe6e0,
|
||||||
0, 7, i_8d8231a40b7fe6e0, nullptr, nullptr, { &s_8d8231a40b7fe6e0, nullptr, nullptr, 0, 0, nullptr }
|
0, 8, i_8d8231a40b7fe6e0, nullptr, nullptr, { &s_8d8231a40b7fe6e0, nullptr, nullptr, 0, 0, nullptr }
|
||||||
};
|
};
|
||||||
#endif // !CAPNP_LITE
|
#endif // !CAPNP_LITE
|
||||||
static const ::capnp::_::AlignedData<95> b_cfa2b0c2c82af1e4 = {
|
static const ::capnp::_::AlignedData<112> b_cfa2b0c2c82af1e4 = {
|
||||||
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
||||||
228, 241, 42, 200, 194, 176, 162, 207,
|
228, 241, 42, 200, 194, 176, 162, 207,
|
||||||
10, 0, 0, 0, 1, 0, 2, 0,
|
10, 0, 0, 0, 1, 0, 2, 0,
|
||||||
@@ -784,49 +800,56 @@ static const ::capnp::_::AlignedData<95> b_cfa2b0c2c82af1e4 = {
|
|||||||
21, 0, 0, 0, 170, 0, 0, 0,
|
21, 0, 0, 0, 170, 0, 0, 0,
|
||||||
29, 0, 0, 0, 7, 0, 0, 0,
|
29, 0, 0, 0, 7, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
25, 0, 0, 0, 31, 1, 0, 0,
|
25, 0, 0, 0, 87, 1, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
108, 111, 103, 46, 99, 97, 112, 110,
|
108, 111, 103, 46, 99, 97, 112, 110,
|
||||||
112, 58, 72, 101, 97, 108, 116, 104,
|
112, 58, 72, 101, 97, 108, 116, 104,
|
||||||
68, 97, 116, 97, 0, 0, 0, 0,
|
68, 97, 116, 97, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 1, 0, 1, 0,
|
0, 0, 0, 0, 1, 0, 1, 0,
|
||||||
20, 0, 0, 0, 3, 0, 4, 0,
|
24, 0, 0, 0, 3, 0, 4, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
125, 0, 0, 0, 66, 0, 0, 0,
|
153, 0, 0, 0, 66, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
120, 0, 0, 0, 3, 0, 1, 0,
|
|
||||||
132, 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,
|
|
||||||
129, 0, 0, 0, 66, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
124, 0, 0, 0, 3, 0, 1, 0,
|
|
||||||
136, 0, 0, 0, 2, 0, 1, 0,
|
|
||||||
2, 0, 0, 0, 64, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 2, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
133, 0, 0, 0, 66, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
128, 0, 0, 0, 3, 0, 1, 0,
|
|
||||||
140, 0, 0, 0, 2, 0, 1, 0,
|
|
||||||
3, 0, 0, 0, 65, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 3, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
137, 0, 0, 0, 130, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
136, 0, 0, 0, 3, 0, 1, 0,
|
|
||||||
148, 0, 0, 0, 2, 0, 1, 0,
|
|
||||||
4, 0, 0, 0, 66, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 4, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
145, 0, 0, 0, 186, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
148, 0, 0, 0, 3, 0, 1, 0,
|
148, 0, 0, 0, 3, 0, 1, 0,
|
||||||
160, 0, 0, 0, 2, 0, 1, 0,
|
160, 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,
|
||||||
|
157, 0, 0, 0, 66, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
152, 0, 0, 0, 3, 0, 1, 0,
|
||||||
|
164, 0, 0, 0, 2, 0, 1, 0,
|
||||||
|
2, 0, 0, 0, 64, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 2, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
161, 0, 0, 0, 66, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
156, 0, 0, 0, 3, 0, 1, 0,
|
||||||
|
168, 0, 0, 0, 2, 0, 1, 0,
|
||||||
|
3, 0, 0, 0, 65, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 3, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
165, 0, 0, 0, 130, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
164, 0, 0, 0, 3, 0, 1, 0,
|
||||||
|
176, 0, 0, 0, 2, 0, 1, 0,
|
||||||
|
4, 0, 0, 0, 66, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 4, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
173, 0, 0, 0, 186, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
176, 0, 0, 0, 3, 0, 1, 0,
|
||||||
|
188, 0, 0, 0, 2, 0, 1, 0,
|
||||||
|
5, 0, 0, 0, 67, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 5, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
185, 0, 0, 0, 178, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
188, 0, 0, 0, 3, 0, 1, 0,
|
||||||
|
200, 0, 0, 0, 2, 0, 1, 0,
|
||||||
118, 111, 108, 116, 97, 103, 101, 0,
|
118, 111, 108, 116, 97, 103, 101, 0,
|
||||||
8, 0, 0, 0, 0, 0, 0, 0,
|
8, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
@@ -863,6 +886,16 @@ static const ::capnp::_::AlignedData<95> b_cfa2b0c2c82af1e4 = {
|
|||||||
103, 97, 115, 73, 110, 116, 101, 114,
|
103, 97, 115, 73, 110, 116, 101, 114,
|
||||||
99, 101, 112, 116, 111, 114, 68, 101,
|
99, 101, 112, 116, 111, 114, 68, 101,
|
||||||
116, 101, 99, 116, 101, 100, 0, 0,
|
116, 101, 99, 116, 101, 100, 0, 0,
|
||||||
|
1, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 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, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
115, 116, 97, 114, 116, 101, 100, 83,
|
||||||
|
105, 103, 110, 97, 108, 68, 101, 116,
|
||||||
|
101, 99, 116, 101, 100, 0, 0, 0,
|
||||||
1, 0, 0, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
@@ -873,11 +906,11 @@ static const ::capnp::_::AlignedData<95> b_cfa2b0c2c82af1e4 = {
|
|||||||
};
|
};
|
||||||
::capnp::word const* const bp_cfa2b0c2c82af1e4 = b_cfa2b0c2c82af1e4.words;
|
::capnp::word const* const bp_cfa2b0c2c82af1e4 = b_cfa2b0c2c82af1e4.words;
|
||||||
#if !CAPNP_LITE
|
#if !CAPNP_LITE
|
||||||
static const uint16_t m_cfa2b0c2c82af1e4[] = {3, 1, 4, 2, 0};
|
static const uint16_t m_cfa2b0c2c82af1e4[] = {3, 1, 4, 2, 5, 0};
|
||||||
static const uint16_t i_cfa2b0c2c82af1e4[] = {0, 1, 2, 3, 4};
|
static const uint16_t i_cfa2b0c2c82af1e4[] = {0, 1, 2, 3, 4, 5};
|
||||||
const ::capnp::_::RawSchema s_cfa2b0c2c82af1e4 = {
|
const ::capnp::_::RawSchema s_cfa2b0c2c82af1e4 = {
|
||||||
0xcfa2b0c2c82af1e4, b_cfa2b0c2c82af1e4.words, 95, nullptr, m_cfa2b0c2c82af1e4,
|
0xcfa2b0c2c82af1e4, b_cfa2b0c2c82af1e4.words, 112, nullptr, m_cfa2b0c2c82af1e4,
|
||||||
0, 5, i_cfa2b0c2c82af1e4, nullptr, nullptr, { &s_cfa2b0c2c82af1e4, nullptr, nullptr, 0, 0, nullptr }
|
0, 6, i_cfa2b0c2c82af1e4, nullptr, nullptr, { &s_cfa2b0c2c82af1e4, nullptr, nullptr, 0, 0, nullptr }
|
||||||
};
|
};
|
||||||
#endif // !CAPNP_LITE
|
#endif // !CAPNP_LITE
|
||||||
static const ::capnp::_::AlignedData<81> b_c08240f996aefced = {
|
static const ::capnp::_::AlignedData<81> b_c08240f996aefced = {
|
||||||
@@ -972,7 +1005,7 @@ const ::capnp::_::RawSchema s_c08240f996aefced = {
|
|||||||
0, 4, i_c08240f996aefced, nullptr, nullptr, { &s_c08240f996aefced, nullptr, nullptr, 0, 0, nullptr }
|
0, 4, i_c08240f996aefced, nullptr, nullptr, { &s_c08240f996aefced, nullptr, nullptr, 0, 0, nullptr }
|
||||||
};
|
};
|
||||||
#endif // !CAPNP_LITE
|
#endif // !CAPNP_LITE
|
||||||
static const ::capnp::_::AlignedData<202> b_9a185389d6fdd05f = {
|
static const ::capnp::_::AlignedData<208> b_9a185389d6fdd05f = {
|
||||||
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
||||||
95, 208, 253, 214, 137, 83, 24, 154,
|
95, 208, 253, 214, 137, 83, 24, 154,
|
||||||
10, 0, 0, 0, 1, 0, 4, 0,
|
10, 0, 0, 0, 1, 0, 4, 0,
|
||||||
@@ -997,82 +1030,83 @@ static const ::capnp::_::AlignedData<202> b_9a185389d6fdd05f = {
|
|||||||
3, 0, 0, 0, 0, 0, 0, 0,
|
3, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
37, 1, 0, 0, 90, 0, 0, 0,
|
37, 1, 0, 0, 170, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
36, 1, 0, 0, 3, 0, 1, 0,
|
40, 1, 0, 0, 3, 0, 1, 0,
|
||||||
64, 1, 0, 0, 2, 0, 1, 0,
|
68, 1, 0, 0, 2, 0, 1, 0,
|
||||||
4, 0, 0, 0, 0, 0, 0, 0,
|
4, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
61, 1, 0, 0, 98, 0, 0, 0,
|
65, 1, 0, 0, 178, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
60, 1, 0, 0, 3, 0, 1, 0,
|
|
||||||
72, 1, 0, 0, 2, 0, 1, 0,
|
|
||||||
5, 0, 0, 0, 4, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 2, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
69, 1, 0, 0, 82, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
68, 1, 0, 0, 3, 0, 1, 0,
|
68, 1, 0, 0, 3, 0, 1, 0,
|
||||||
80, 1, 0, 0, 2, 0, 1, 0,
|
80, 1, 0, 0, 2, 0, 1, 0,
|
||||||
|
5, 0, 0, 0, 4, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 2, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
77, 1, 0, 0, 162, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
80, 1, 0, 0, 3, 0, 1, 0,
|
||||||
|
92, 1, 0, 0, 2, 0, 1, 0,
|
||||||
8, 0, 0, 0, 1, 0, 0, 0,
|
8, 0, 0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 1, 0, 3, 0, 0, 0,
|
0, 0, 1, 0, 3, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
77, 1, 0, 0, 66, 0, 0, 0,
|
89, 1, 0, 0, 66, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
72, 1, 0, 0, 3, 0, 1, 0,
|
|
||||||
84, 1, 0, 0, 2, 0, 1, 0,
|
|
||||||
9, 0, 0, 0, 2, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 4, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
81, 1, 0, 0, 66, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
76, 1, 0, 0, 3, 0, 1, 0,
|
|
||||||
88, 1, 0, 0, 2, 0, 1, 0,
|
|
||||||
10, 0, 0, 0, 2, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 5, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
85, 1, 0, 0, 74, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
84, 1, 0, 0, 3, 0, 1, 0,
|
84, 1, 0, 0, 3, 0, 1, 0,
|
||||||
96, 1, 0, 0, 2, 0, 1, 0,
|
96, 1, 0, 0, 2, 0, 1, 0,
|
||||||
|
9, 0, 0, 0, 2, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 4, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
93, 1, 0, 0, 66, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
88, 1, 0, 0, 3, 0, 1, 0,
|
||||||
|
100, 1, 0, 0, 2, 0, 1, 0,
|
||||||
|
10, 0, 0, 0, 2, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 5, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
97, 1, 0, 0, 74, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
96, 1, 0, 0, 3, 0, 1, 0,
|
||||||
|
108, 1, 0, 0, 2, 0, 1, 0,
|
||||||
1, 0, 0, 0, 2, 0, 0, 0,
|
1, 0, 0, 0, 2, 0, 0, 0,
|
||||||
0, 0, 1, 0, 6, 0, 0, 0,
|
0, 0, 1, 0, 6, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
93, 1, 0, 0, 90, 0, 0, 0,
|
105, 1, 0, 0, 90, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
92, 1, 0, 0, 3, 0, 1, 0,
|
104, 1, 0, 0, 3, 0, 1, 0,
|
||||||
104, 1, 0, 0, 2, 0, 1, 0,
|
116, 1, 0, 0, 2, 0, 1, 0,
|
||||||
2, 0, 0, 0, 3, 0, 0, 0,
|
2, 0, 0, 0, 3, 0, 0, 0,
|
||||||
0, 0, 1, 0, 7, 0, 0, 0,
|
0, 0, 1, 0, 7, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
101, 1, 0, 0, 90, 0, 0, 0,
|
113, 1, 0, 0, 90, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
100, 1, 0, 0, 3, 0, 1, 0,
|
|
||||||
112, 1, 0, 0, 2, 0, 1, 0,
|
|
||||||
6, 0, 0, 0, 3, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 8, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
109, 1, 0, 0, 74, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
108, 1, 0, 0, 3, 0, 1, 0,
|
|
||||||
120, 1, 0, 0, 2, 0, 1, 0,
|
|
||||||
7, 0, 0, 0, 5, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 9, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
117, 1, 0, 0, 66, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
112, 1, 0, 0, 3, 0, 1, 0,
|
112, 1, 0, 0, 3, 0, 1, 0,
|
||||||
124, 1, 0, 0, 2, 0, 1, 0,
|
124, 1, 0, 0, 2, 0, 1, 0,
|
||||||
|
6, 0, 0, 0, 3, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 8, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
121, 1, 0, 0, 154, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
124, 1, 0, 0, 3, 0, 1, 0,
|
||||||
|
136, 1, 0, 0, 2, 0, 1, 0,
|
||||||
|
7, 0, 0, 0, 5, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 9, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
133, 1, 0, 0, 146, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
136, 1, 0, 0, 3, 0, 1, 0,
|
||||||
|
148, 1, 0, 0, 2, 0, 1, 0,
|
||||||
0, 0, 0, 0, 3, 0, 0, 0,
|
0, 0, 0, 0, 3, 0, 0, 0,
|
||||||
0, 0, 1, 0, 10, 0, 0, 0,
|
0, 0, 1, 0, 10, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
121, 1, 0, 0, 106, 0, 0, 0,
|
145, 1, 0, 0, 106, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
120, 1, 0, 0, 3, 0, 1, 0,
|
144, 1, 0, 0, 3, 0, 1, 0,
|
||||||
148, 1, 0, 0, 2, 0, 1, 0,
|
172, 1, 0, 0, 2, 0, 1, 0,
|
||||||
119, 97, 114, 112, 77, 97, 116, 114,
|
119, 97, 114, 112, 77, 97, 116, 114,
|
||||||
105, 120, 0, 0, 0, 0, 0, 0,
|
105, 120, 68, 69, 80, 82, 69, 67,
|
||||||
|
65, 84, 69, 68, 0, 0, 0, 0,
|
||||||
14, 0, 0, 0, 0, 0, 0, 0,
|
14, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
@@ -1085,7 +1119,8 @@ static const ::capnp::_::AlignedData<202> b_9a185389d6fdd05f = {
|
|||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
97, 110, 103, 108, 101, 79, 102, 102,
|
97, 110, 103, 108, 101, 79, 102, 102,
|
||||||
115, 101, 116, 0, 0, 0, 0, 0,
|
115, 101, 116, 68, 69, 80, 82, 69,
|
||||||
|
67, 65, 84, 69, 68, 0, 0, 0,
|
||||||
10, 0, 0, 0, 0, 0, 0, 0,
|
10, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
@@ -1094,7 +1129,8 @@ static const ::capnp::_::AlignedData<202> b_9a185389d6fdd05f = {
|
|||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
99, 97, 108, 83, 116, 97, 116, 117,
|
99, 97, 108, 83, 116, 97, 116, 117,
|
||||||
115, 0, 0, 0, 0, 0, 0, 0,
|
115, 68, 69, 80, 82, 69, 67, 65,
|
||||||
|
84, 69, 68, 0, 0, 0, 0, 0,
|
||||||
2, 0, 0, 0, 0, 0, 0, 0,
|
2, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
@@ -1146,7 +1182,8 @@ static const ::capnp::_::AlignedData<202> b_9a185389d6fdd05f = {
|
|||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
99, 97, 108, 67, 121, 99, 108, 101,
|
99, 97, 108, 67, 121, 99, 108, 101,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
68, 69, 80, 82, 69, 67, 65, 84,
|
||||||
|
69, 68, 0, 0, 0, 0, 0, 0,
|
||||||
4, 0, 0, 0, 0, 0, 0, 0,
|
4, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
@@ -1154,7 +1191,9 @@ static const ::capnp::_::AlignedData<202> b_9a185389d6fdd05f = {
|
|||||||
4, 0, 0, 0, 0, 0, 0, 0,
|
4, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
99, 97, 108, 80, 101, 114, 99, 0,
|
99, 97, 108, 80, 101, 114, 99, 68,
|
||||||
|
69, 80, 82, 69, 67, 65, 84, 69,
|
||||||
|
68, 0, 0, 0, 0, 0, 0, 0,
|
||||||
2, 0, 0, 0, 0, 0, 0, 0,
|
2, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
@@ -1184,7 +1223,7 @@ static const ::capnp::_::RawSchema* const d_9a185389d6fdd05f[] = {
|
|||||||
static const uint16_t m_9a185389d6fdd05f[] = {1, 8, 9, 2, 10, 5, 7, 3, 4, 6, 0};
|
static const uint16_t m_9a185389d6fdd05f[] = {1, 8, 9, 2, 10, 5, 7, 3, 4, 6, 0};
|
||||||
static const uint16_t i_9a185389d6fdd05f[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
|
static const uint16_t i_9a185389d6fdd05f[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
|
||||||
const ::capnp::_::RawSchema s_9a185389d6fdd05f = {
|
const ::capnp::_::RawSchema s_9a185389d6fdd05f = {
|
||||||
0x9a185389d6fdd05f, b_9a185389d6fdd05f.words, 202, d_9a185389d6fdd05f, m_9a185389d6fdd05f,
|
0x9a185389d6fdd05f, b_9a185389d6fdd05f.words, 208, d_9a185389d6fdd05f, m_9a185389d6fdd05f,
|
||||||
1, 11, i_9a185389d6fdd05f, nullptr, nullptr, { &s_9a185389d6fdd05f, nullptr, nullptr, 0, 0, nullptr }
|
1, 11, i_9a185389d6fdd05f, nullptr, nullptr, { &s_9a185389d6fdd05f, nullptr, nullptr, 0, 0, nullptr }
|
||||||
};
|
};
|
||||||
#endif // !CAPNP_LITE
|
#endif // !CAPNP_LITE
|
||||||
@@ -1675,7 +1714,7 @@ const ::capnp::_::RawSchema s_8faa644732dec251 = {
|
|||||||
0, 10, i_8faa644732dec251, nullptr, nullptr, { &s_8faa644732dec251, nullptr, nullptr, 0, 0, nullptr }
|
0, 10, i_8faa644732dec251, nullptr, nullptr, { &s_8faa644732dec251, nullptr, nullptr, 0, 0, nullptr }
|
||||||
};
|
};
|
||||||
#endif // !CAPNP_LITE
|
#endif // !CAPNP_LITE
|
||||||
static const ::capnp::_::AlignedData<443> b_97ff69c53601abf1 = {
|
static const ::capnp::_::AlignedData<446> b_97ff69c53601abf1 = {
|
||||||
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
{ 0, 0, 0, 0, 5, 0, 6, 0,
|
||||||
241, 171, 1, 54, 197, 105, 255, 151,
|
241, 171, 1, 54, 197, 105, 255, 151,
|
||||||
10, 0, 0, 0, 1, 0, 13, 0,
|
10, 0, 0, 0, 1, 0, 13, 0,
|
||||||
@@ -1703,185 +1742,185 @@ static const ::capnp::_::AlignedData<443> b_97ff69c53601abf1 = {
|
|||||||
5, 0, 0, 0, 1, 0, 0, 0,
|
5, 0, 0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 1, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
233, 2, 0, 0, 42, 0, 0, 0,
|
233, 2, 0, 0, 122, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
228, 2, 0, 0, 3, 0, 1, 0,
|
|
||||||
240, 2, 0, 0, 2, 0, 1, 0,
|
|
||||||
6, 0, 0, 0, 2, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 2, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
237, 2, 0, 0, 42, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
232, 2, 0, 0, 3, 0, 1, 0,
|
232, 2, 0, 0, 3, 0, 1, 0,
|
||||||
244, 2, 0, 0, 2, 0, 1, 0,
|
244, 2, 0, 0, 2, 0, 1, 0,
|
||||||
|
6, 0, 0, 0, 2, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 2, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
241, 2, 0, 0, 42, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
236, 2, 0, 0, 3, 0, 1, 0,
|
||||||
|
248, 2, 0, 0, 2, 0, 1, 0,
|
||||||
7, 0, 0, 0, 3, 0, 0, 0,
|
7, 0, 0, 0, 3, 0, 0, 0,
|
||||||
0, 0, 1, 0, 3, 0, 0, 0,
|
0, 0, 1, 0, 3, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
241, 2, 0, 0, 98, 0, 0, 0,
|
245, 2, 0, 0, 98, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
240, 2, 0, 0, 3, 0, 1, 0,
|
244, 2, 0, 0, 3, 0, 1, 0,
|
||||||
252, 2, 0, 0, 2, 0, 1, 0,
|
0, 3, 0, 0, 2, 0, 1, 0,
|
||||||
8, 0, 0, 0, 4, 0, 0, 0,
|
8, 0, 0, 0, 4, 0, 0, 0,
|
||||||
0, 0, 1, 0, 4, 0, 0, 0,
|
0, 0, 1, 0, 4, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
249, 2, 0, 0, 90, 0, 0, 0,
|
253, 2, 0, 0, 90, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
248, 2, 0, 0, 3, 0, 1, 0,
|
252, 2, 0, 0, 3, 0, 1, 0,
|
||||||
4, 3, 0, 0, 2, 0, 1, 0,
|
8, 3, 0, 0, 2, 0, 1, 0,
|
||||||
9, 0, 0, 0, 5, 0, 0, 0,
|
9, 0, 0, 0, 5, 0, 0, 0,
|
||||||
0, 0, 1, 0, 5, 0, 0, 0,
|
0, 0, 1, 0, 5, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
1, 3, 0, 0, 90, 0, 0, 0,
|
5, 3, 0, 0, 90, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
0, 3, 0, 0, 3, 0, 1, 0,
|
|
||||||
12, 3, 0, 0, 2, 0, 1, 0,
|
|
||||||
10, 0, 0, 0, 6, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 6, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
9, 3, 0, 0, 66, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
4, 3, 0, 0, 3, 0, 1, 0,
|
4, 3, 0, 0, 3, 0, 1, 0,
|
||||||
16, 3, 0, 0, 2, 0, 1, 0,
|
16, 3, 0, 0, 2, 0, 1, 0,
|
||||||
11, 0, 0, 0, 7, 0, 0, 0,
|
10, 0, 0, 0, 6, 0, 0, 0,
|
||||||
0, 0, 1, 0, 7, 0, 0, 0,
|
0, 0, 1, 0, 6, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
13, 3, 0, 0, 42, 0, 0, 0,
|
13, 3, 0, 0, 66, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
8, 3, 0, 0, 3, 0, 1, 0,
|
8, 3, 0, 0, 3, 0, 1, 0,
|
||||||
20, 3, 0, 0, 2, 0, 1, 0,
|
20, 3, 0, 0, 2, 0, 1, 0,
|
||||||
12, 0, 0, 0, 8, 0, 0, 0,
|
11, 0, 0, 0, 7, 0, 0, 0,
|
||||||
0, 0, 1, 0, 8, 0, 0, 0,
|
0, 0, 1, 0, 7, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
17, 3, 0, 0, 66, 0, 0, 0,
|
17, 3, 0, 0, 42, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
12, 3, 0, 0, 3, 0, 1, 0,
|
12, 3, 0, 0, 3, 0, 1, 0,
|
||||||
24, 3, 0, 0, 2, 0, 1, 0,
|
24, 3, 0, 0, 2, 0, 1, 0,
|
||||||
13, 0, 0, 0, 9, 0, 0, 0,
|
12, 0, 0, 0, 8, 0, 0, 0,
|
||||||
0, 0, 1, 0, 9, 0, 0, 0,
|
0, 0, 1, 0, 8, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
21, 3, 0, 0, 66, 0, 0, 0,
|
21, 3, 0, 0, 66, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
16, 3, 0, 0, 3, 0, 1, 0,
|
16, 3, 0, 0, 3, 0, 1, 0,
|
||||||
28, 3, 0, 0, 2, 0, 1, 0,
|
28, 3, 0, 0, 2, 0, 1, 0,
|
||||||
|
13, 0, 0, 0, 9, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 9, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
25, 3, 0, 0, 66, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
20, 3, 0, 0, 3, 0, 1, 0,
|
||||||
|
32, 3, 0, 0, 2, 0, 1, 0,
|
||||||
14, 0, 0, 0, 10, 0, 0, 0,
|
14, 0, 0, 0, 10, 0, 0, 0,
|
||||||
0, 0, 1, 0, 10, 0, 0, 0,
|
0, 0, 1, 0, 10, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
25, 3, 0, 0, 90, 0, 0, 0,
|
29, 3, 0, 0, 90, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
24, 3, 0, 0, 3, 0, 1, 0,
|
28, 3, 0, 0, 3, 0, 1, 0,
|
||||||
36, 3, 0, 0, 2, 0, 1, 0,
|
40, 3, 0, 0, 2, 0, 1, 0,
|
||||||
15, 0, 0, 0, 11, 0, 0, 0,
|
15, 0, 0, 0, 11, 0, 0, 0,
|
||||||
0, 0, 1, 0, 11, 0, 0, 0,
|
0, 0, 1, 0, 11, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
33, 3, 0, 0, 90, 0, 0, 0,
|
37, 3, 0, 0, 90, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
32, 3, 0, 0, 3, 0, 1, 0,
|
36, 3, 0, 0, 3, 0, 1, 0,
|
||||||
44, 3, 0, 0, 2, 0, 1, 0,
|
48, 3, 0, 0, 2, 0, 1, 0,
|
||||||
16, 0, 0, 0, 12, 0, 0, 0,
|
16, 0, 0, 0, 12, 0, 0, 0,
|
||||||
0, 0, 1, 0, 12, 0, 0, 0,
|
0, 0, 1, 0, 12, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
41, 3, 0, 0, 90, 0, 0, 0,
|
45, 3, 0, 0, 90, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
40, 3, 0, 0, 3, 0, 1, 0,
|
44, 3, 0, 0, 3, 0, 1, 0,
|
||||||
52, 3, 0, 0, 2, 0, 1, 0,
|
56, 3, 0, 0, 2, 0, 1, 0,
|
||||||
17, 0, 0, 0, 13, 0, 0, 0,
|
17, 0, 0, 0, 13, 0, 0, 0,
|
||||||
0, 0, 1, 0, 13, 0, 0, 0,
|
0, 0, 1, 0, 13, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
49, 3, 0, 0, 98, 0, 0, 0,
|
53, 3, 0, 0, 98, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
48, 3, 0, 0, 3, 0, 1, 0,
|
|
||||||
60, 3, 0, 0, 2, 0, 1, 0,
|
|
||||||
18, 0, 0, 0, 14, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 14, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
57, 3, 0, 0, 66, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
52, 3, 0, 0, 3, 0, 1, 0,
|
52, 3, 0, 0, 3, 0, 1, 0,
|
||||||
64, 3, 0, 0, 2, 0, 1, 0,
|
64, 3, 0, 0, 2, 0, 1, 0,
|
||||||
|
18, 0, 0, 0, 14, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 14, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
61, 3, 0, 0, 146, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
64, 3, 0, 0, 3, 0, 1, 0,
|
||||||
|
76, 3, 0, 0, 2, 0, 1, 0,
|
||||||
19, 0, 0, 0, 15, 0, 0, 0,
|
19, 0, 0, 0, 15, 0, 0, 0,
|
||||||
0, 0, 1, 0, 15, 0, 0, 0,
|
0, 0, 1, 0, 15, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
61, 3, 0, 0, 74, 0, 0, 0,
|
73, 3, 0, 0, 74, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
60, 3, 0, 0, 3, 0, 1, 0,
|
72, 3, 0, 0, 3, 0, 1, 0,
|
||||||
72, 3, 0, 0, 2, 0, 1, 0,
|
84, 3, 0, 0, 2, 0, 1, 0,
|
||||||
0, 0, 0, 0, 8, 0, 0, 0,
|
0, 0, 0, 0, 8, 0, 0, 0,
|
||||||
0, 0, 1, 0, 16, 0, 0, 0,
|
0, 0, 1, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
69, 3, 0, 0, 98, 0, 0, 0,
|
81, 3, 0, 0, 98, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
68, 3, 0, 0, 3, 0, 1, 0,
|
80, 3, 0, 0, 3, 0, 1, 0,
|
||||||
80, 3, 0, 0, 2, 0, 1, 0,
|
92, 3, 0, 0, 2, 0, 1, 0,
|
||||||
2, 0, 0, 0, 9, 0, 0, 0,
|
2, 0, 0, 0, 9, 0, 0, 0,
|
||||||
0, 0, 1, 0, 17, 0, 0, 0,
|
0, 0, 1, 0, 17, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
77, 3, 0, 0, 98, 0, 0, 0,
|
89, 3, 0, 0, 98, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
76, 3, 0, 0, 3, 0, 1, 0,
|
|
||||||
88, 3, 0, 0, 2, 0, 1, 0,
|
|
||||||
3, 0, 0, 0, 10, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 18, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
85, 3, 0, 0, 90, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
84, 3, 0, 0, 3, 0, 1, 0,
|
|
||||||
96, 3, 0, 0, 2, 0, 1, 0,
|
|
||||||
20, 0, 0, 0, 192, 2, 0, 0,
|
|
||||||
0, 0, 1, 0, 19, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
93, 3, 0, 0, 66, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
88, 3, 0, 0, 3, 0, 1, 0,
|
88, 3, 0, 0, 3, 0, 1, 0,
|
||||||
100, 3, 0, 0, 2, 0, 1, 0,
|
100, 3, 0, 0, 2, 0, 1, 0,
|
||||||
21, 0, 0, 0, 193, 2, 0, 0,
|
3, 0, 0, 0, 10, 0, 0, 0,
|
||||||
0, 0, 1, 0, 20, 0, 0, 0,
|
0, 0, 1, 0, 18, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
97, 3, 0, 0, 114, 0, 0, 0,
|
97, 3, 0, 0, 90, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
96, 3, 0, 0, 3, 0, 1, 0,
|
96, 3, 0, 0, 3, 0, 1, 0,
|
||||||
108, 3, 0, 0, 2, 0, 1, 0,
|
108, 3, 0, 0, 2, 0, 1, 0,
|
||||||
|
20, 0, 0, 0, 192, 2, 0, 0,
|
||||||
|
0, 0, 1, 0, 19, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
105, 3, 0, 0, 66, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
100, 3, 0, 0, 3, 0, 1, 0,
|
||||||
|
112, 3, 0, 0, 2, 0, 1, 0,
|
||||||
|
21, 0, 0, 0, 193, 2, 0, 0,
|
||||||
|
0, 0, 1, 0, 20, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
109, 3, 0, 0, 114, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
108, 3, 0, 0, 3, 0, 1, 0,
|
||||||
|
120, 3, 0, 0, 2, 0, 1, 0,
|
||||||
1, 0, 0, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 21, 0, 0, 0,
|
0, 0, 1, 0, 21, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
105, 3, 0, 0, 106, 0, 0, 0,
|
117, 3, 0, 0, 106, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
104, 3, 0, 0, 3, 0, 1, 0,
|
116, 3, 0, 0, 3, 0, 1, 0,
|
||||||
132, 3, 0, 0, 2, 0, 1, 0,
|
144, 3, 0, 0, 2, 0, 1, 0,
|
||||||
22, 0, 0, 0, 23, 0, 0, 0,
|
22, 0, 0, 0, 23, 0, 0, 0,
|
||||||
0, 0, 1, 0, 22, 0, 0, 0,
|
0, 0, 1, 0, 22, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
129, 3, 0, 0, 66, 0, 0, 0,
|
141, 3, 0, 0, 66, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
124, 3, 0, 0, 3, 0, 1, 0,
|
136, 3, 0, 0, 3, 0, 1, 0,
|
||||||
136, 3, 0, 0, 2, 0, 1, 0,
|
148, 3, 0, 0, 2, 0, 1, 0,
|
||||||
23, 0, 0, 0, 194, 2, 0, 0,
|
23, 0, 0, 0, 194, 2, 0, 0,
|
||||||
0, 0, 1, 0, 23, 0, 0, 0,
|
0, 0, 1, 0, 23, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
133, 3, 0, 0, 98, 0, 0, 0,
|
145, 3, 0, 0, 98, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
132, 3, 0, 0, 3, 0, 1, 0,
|
144, 3, 0, 0, 3, 0, 1, 0,
|
||||||
144, 3, 0, 0, 2, 0, 1, 0,
|
156, 3, 0, 0, 2, 0, 1, 0,
|
||||||
24, 0, 0, 0, 1, 0, 0, 0,
|
24, 0, 0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 1, 0, 24, 0, 0, 0,
|
0, 0, 1, 0, 24, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
141, 3, 0, 0, 90, 0, 0, 0,
|
153, 3, 0, 0, 90, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
140, 3, 0, 0, 3, 0, 1, 0,
|
152, 3, 0, 0, 3, 0, 1, 0,
|
||||||
152, 3, 0, 0, 2, 0, 1, 0,
|
164, 3, 0, 0, 2, 0, 1, 0,
|
||||||
25, 0, 0, 0, 2, 0, 0, 0,
|
25, 0, 0, 0, 2, 0, 0, 0,
|
||||||
0, 0, 1, 0, 25, 0, 0, 0,
|
0, 0, 1, 0, 25, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
149, 3, 0, 0, 90, 0, 0, 0,
|
161, 3, 0, 0, 90, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
148, 3, 0, 0, 3, 0, 1, 0,
|
160, 3, 0, 0, 3, 0, 1, 0,
|
||||||
160, 3, 0, 0, 2, 0, 1, 0,
|
172, 3, 0, 0, 2, 0, 1, 0,
|
||||||
26, 0, 0, 0, 24, 0, 0, 0,
|
26, 0, 0, 0, 24, 0, 0, 0,
|
||||||
0, 0, 1, 0, 26, 0, 0, 0,
|
0, 0, 1, 0, 26, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
157, 3, 0, 0, 130, 0, 0, 0,
|
169, 3, 0, 0, 130, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
156, 3, 0, 0, 3, 0, 1, 0,
|
168, 3, 0, 0, 3, 0, 1, 0,
|
||||||
168, 3, 0, 0, 2, 0, 1, 0,
|
180, 3, 0, 0, 2, 0, 1, 0,
|
||||||
118, 69, 103, 111, 0, 0, 0, 0,
|
118, 69, 103, 111, 0, 0, 0, 0,
|
||||||
10, 0, 0, 0, 0, 0, 0, 0,
|
10, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
@@ -1890,7 +1929,8 @@ static const ::capnp::_::AlignedData<443> b_97ff69c53601abf1 = {
|
|||||||
10, 0, 0, 0, 0, 0, 0, 0,
|
10, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
97, 69, 103, 111, 0, 0, 0, 0,
|
97, 69, 103, 111, 68, 69, 80, 82,
|
||||||
|
69, 67, 65, 84, 69, 68, 0, 0,
|
||||||
10, 0, 0, 0, 0, 0, 0, 0,
|
10, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
@@ -2001,7 +2041,9 @@ static const ::capnp::_::AlignedData<443> b_97ff69c53601abf1 = {
|
|||||||
10, 0, 0, 0, 0, 0, 0, 0,
|
10, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
104, 117, 100, 76, 101, 97, 100, 0,
|
104, 117, 100, 76, 101, 97, 100, 68,
|
||||||
|
69, 80, 82, 69, 67, 65, 84, 69,
|
||||||
|
68, 0, 0, 0, 0, 0, 0, 0,
|
||||||
4, 0, 0, 0, 0, 0, 0, 0,
|
4, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
@@ -2125,7 +2167,7 @@ static const ::capnp::_::AlignedData<443> b_97ff69c53601abf1 = {
|
|||||||
static const uint16_t m_97ff69c53601abf1[] = {1, 11, 10, 24, 25, 13, 26, 16, 21, 15, 19, 14, 12, 17, 18, 23, 20, 5, 9, 4, 8, 22, 0, 2, 3, 6, 7};
|
static const uint16_t m_97ff69c53601abf1[] = {1, 11, 10, 24, 25, 13, 26, 16, 21, 15, 19, 14, 12, 17, 18, 23, 20, 5, 9, 4, 8, 22, 0, 2, 3, 6, 7};
|
||||||
static const uint16_t i_97ff69c53601abf1[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26};
|
static const uint16_t i_97ff69c53601abf1[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26};
|
||||||
const ::capnp::_::RawSchema s_97ff69c53601abf1 = {
|
const ::capnp::_::RawSchema s_97ff69c53601abf1 = {
|
||||||
0x97ff69c53601abf1, b_97ff69c53601abf1.words, 443, nullptr, m_97ff69c53601abf1,
|
0x97ff69c53601abf1, b_97ff69c53601abf1.words, 446, nullptr, m_97ff69c53601abf1,
|
||||||
0, 27, i_97ff69c53601abf1, nullptr, nullptr, { &s_97ff69c53601abf1, nullptr, nullptr, 0, 0, nullptr }
|
0, 27, i_97ff69c53601abf1, nullptr, nullptr, { &s_97ff69c53601abf1, nullptr, nullptr, 0, 0, nullptr }
|
||||||
};
|
};
|
||||||
#endif // !CAPNP_LITE
|
#endif // !CAPNP_LITE
|
||||||
|
|||||||
+93
-55
@@ -158,7 +158,7 @@ struct ThermalData {
|
|||||||
class Pipeline;
|
class Pipeline;
|
||||||
|
|
||||||
struct _capnpPrivate {
|
struct _capnpPrivate {
|
||||||
CAPNP_DECLARE_STRUCT_HEADER(8d8231a40b7fe6e0, 2, 0)
|
CAPNP_DECLARE_STRUCT_HEADER(8d8231a40b7fe6e0, 3, 0)
|
||||||
#if !CAPNP_LITE
|
#if !CAPNP_LITE
|
||||||
static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
|
static constexpr ::capnp::_::RawBrandedSchema const* brand = &schema->defaultBrand;
|
||||||
#endif // !CAPNP_LITE
|
#endif // !CAPNP_LITE
|
||||||
@@ -1109,6 +1109,8 @@ public:
|
|||||||
|
|
||||||
inline ::uint32_t getBat() const;
|
inline ::uint32_t getBat() const;
|
||||||
|
|
||||||
|
inline float getFreeSpace() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
::capnp::_::StructReader _reader;
|
::capnp::_::StructReader _reader;
|
||||||
template <typename, ::capnp::Kind>
|
template <typename, ::capnp::Kind>
|
||||||
@@ -1158,6 +1160,9 @@ public:
|
|||||||
inline ::uint32_t getBat();
|
inline ::uint32_t getBat();
|
||||||
inline void setBat( ::uint32_t value);
|
inline void setBat( ::uint32_t value);
|
||||||
|
|
||||||
|
inline float getFreeSpace();
|
||||||
|
inline void setFreeSpace(float value);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
::capnp::_::StructBuilder _builder;
|
::capnp::_::StructBuilder _builder;
|
||||||
template <typename, ::capnp::Kind>
|
template <typename, ::capnp::Kind>
|
||||||
@@ -1211,6 +1216,8 @@ public:
|
|||||||
|
|
||||||
inline bool getGasInterceptorDetected() const;
|
inline bool getGasInterceptorDetected() const;
|
||||||
|
|
||||||
|
inline bool getStartedSignalDetected() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
::capnp::_::StructReader _reader;
|
::capnp::_::StructReader _reader;
|
||||||
template <typename, ::capnp::Kind>
|
template <typename, ::capnp::Kind>
|
||||||
@@ -1254,6 +1261,9 @@ public:
|
|||||||
inline bool getGasInterceptorDetected();
|
inline bool getGasInterceptorDetected();
|
||||||
inline void setGasInterceptorDetected(bool value);
|
inline void setGasInterceptorDetected(bool value);
|
||||||
|
|
||||||
|
inline bool getStartedSignalDetected();
|
||||||
|
inline void setStartedSignalDetected(bool value);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
::capnp::_::StructBuilder _builder;
|
::capnp::_::StructBuilder _builder;
|
||||||
template <typename, ::capnp::Kind>
|
template <typename, ::capnp::Kind>
|
||||||
@@ -1398,12 +1408,12 @@ public:
|
|||||||
}
|
}
|
||||||
#endif // !CAPNP_LITE
|
#endif // !CAPNP_LITE
|
||||||
|
|
||||||
inline bool hasWarpMatrix() const;
|
inline bool hasWarpMatrixDEPRECATED() const;
|
||||||
inline ::capnp::List<float>::Reader getWarpMatrix() const;
|
inline ::capnp::List<float>::Reader getWarpMatrixDEPRECATED() const;
|
||||||
|
|
||||||
inline float getAngleOffset() const;
|
inline float getAngleOffsetDEPRECATED() const;
|
||||||
|
|
||||||
inline ::int8_t getCalStatus() const;
|
inline ::int8_t getCalStatusDEPRECATED() const;
|
||||||
|
|
||||||
inline bool hasLeadOne() const;
|
inline bool hasLeadOne() const;
|
||||||
inline ::cereal::Live20Data::LeadData::Reader getLeadOne() const;
|
inline ::cereal::Live20Data::LeadData::Reader getLeadOne() const;
|
||||||
@@ -1417,9 +1427,9 @@ public:
|
|||||||
|
|
||||||
inline ::uint64_t getFtMonoTime() const;
|
inline ::uint64_t getFtMonoTime() const;
|
||||||
|
|
||||||
inline ::int32_t getCalCycle() const;
|
inline ::int32_t getCalCycleDEPRECATED() const;
|
||||||
|
|
||||||
inline ::int8_t getCalPerc() const;
|
inline ::int8_t getCalPercDEPRECATED() const;
|
||||||
|
|
||||||
inline bool hasCanMonoTimes() const;
|
inline bool hasCanMonoTimes() const;
|
||||||
inline ::capnp::List< ::uint64_t>::Reader getCanMonoTimes() const;
|
inline ::capnp::List< ::uint64_t>::Reader getCanMonoTimes() const;
|
||||||
@@ -1452,19 +1462,19 @@ public:
|
|||||||
inline ::kj::StringTree toString() const { return asReader().toString(); }
|
inline ::kj::StringTree toString() const { return asReader().toString(); }
|
||||||
#endif // !CAPNP_LITE
|
#endif // !CAPNP_LITE
|
||||||
|
|
||||||
inline bool hasWarpMatrix();
|
inline bool hasWarpMatrixDEPRECATED();
|
||||||
inline ::capnp::List<float>::Builder getWarpMatrix();
|
inline ::capnp::List<float>::Builder getWarpMatrixDEPRECATED();
|
||||||
inline void setWarpMatrix( ::capnp::List<float>::Reader value);
|
inline void setWarpMatrixDEPRECATED( ::capnp::List<float>::Reader value);
|
||||||
inline void setWarpMatrix(::kj::ArrayPtr<const float> value);
|
inline void setWarpMatrixDEPRECATED(::kj::ArrayPtr<const float> value);
|
||||||
inline ::capnp::List<float>::Builder initWarpMatrix(unsigned int size);
|
inline ::capnp::List<float>::Builder initWarpMatrixDEPRECATED(unsigned int size);
|
||||||
inline void adoptWarpMatrix(::capnp::Orphan< ::capnp::List<float>>&& value);
|
inline void adoptWarpMatrixDEPRECATED(::capnp::Orphan< ::capnp::List<float>>&& value);
|
||||||
inline ::capnp::Orphan< ::capnp::List<float>> disownWarpMatrix();
|
inline ::capnp::Orphan< ::capnp::List<float>> disownWarpMatrixDEPRECATED();
|
||||||
|
|
||||||
inline float getAngleOffset();
|
inline float getAngleOffsetDEPRECATED();
|
||||||
inline void setAngleOffset(float value);
|
inline void setAngleOffsetDEPRECATED(float value);
|
||||||
|
|
||||||
inline ::int8_t getCalStatus();
|
inline ::int8_t getCalStatusDEPRECATED();
|
||||||
inline void setCalStatus( ::int8_t value);
|
inline void setCalStatusDEPRECATED( ::int8_t value);
|
||||||
|
|
||||||
inline bool hasLeadOne();
|
inline bool hasLeadOne();
|
||||||
inline ::cereal::Live20Data::LeadData::Builder getLeadOne();
|
inline ::cereal::Live20Data::LeadData::Builder getLeadOne();
|
||||||
@@ -1489,11 +1499,11 @@ public:
|
|||||||
inline ::uint64_t getFtMonoTime();
|
inline ::uint64_t getFtMonoTime();
|
||||||
inline void setFtMonoTime( ::uint64_t value);
|
inline void setFtMonoTime( ::uint64_t value);
|
||||||
|
|
||||||
inline ::int32_t getCalCycle();
|
inline ::int32_t getCalCycleDEPRECATED();
|
||||||
inline void setCalCycle( ::int32_t value);
|
inline void setCalCycleDEPRECATED( ::int32_t value);
|
||||||
|
|
||||||
inline ::int8_t getCalPerc();
|
inline ::int8_t getCalPercDEPRECATED();
|
||||||
inline void setCalPerc( ::int8_t value);
|
inline void setCalPercDEPRECATED( ::int8_t value);
|
||||||
|
|
||||||
inline bool hasCanMonoTimes();
|
inline bool hasCanMonoTimes();
|
||||||
inline ::capnp::List< ::uint64_t>::Builder getCanMonoTimes();
|
inline ::capnp::List< ::uint64_t>::Builder getCanMonoTimes();
|
||||||
@@ -1899,7 +1909,7 @@ public:
|
|||||||
|
|
||||||
inline float getVEgo() const;
|
inline float getVEgo() const;
|
||||||
|
|
||||||
inline float getAEgo() const;
|
inline float getAEgoDEPRECATED() const;
|
||||||
|
|
||||||
inline float getVPid() const;
|
inline float getVPid() const;
|
||||||
|
|
||||||
@@ -1925,7 +1935,7 @@ public:
|
|||||||
|
|
||||||
inline float getAngleSteers() const;
|
inline float getAngleSteers() const;
|
||||||
|
|
||||||
inline ::int32_t getHudLead() const;
|
inline ::int32_t getHudLeadDEPRECATED() const;
|
||||||
|
|
||||||
inline float getCumLagMs() const;
|
inline float getCumLagMs() const;
|
||||||
|
|
||||||
@@ -1985,8 +1995,8 @@ public:
|
|||||||
inline float getVEgo();
|
inline float getVEgo();
|
||||||
inline void setVEgo(float value);
|
inline void setVEgo(float value);
|
||||||
|
|
||||||
inline float getAEgo();
|
inline float getAEgoDEPRECATED();
|
||||||
inline void setAEgo(float value);
|
inline void setAEgoDEPRECATED(float value);
|
||||||
|
|
||||||
inline float getVPid();
|
inline float getVPid();
|
||||||
inline void setVPid(float value);
|
inline void setVPid(float value);
|
||||||
@@ -2024,8 +2034,8 @@ public:
|
|||||||
inline float getAngleSteers();
|
inline float getAngleSteers();
|
||||||
inline void setAngleSteers(float value);
|
inline void setAngleSteers(float value);
|
||||||
|
|
||||||
inline ::int32_t getHudLead();
|
inline ::int32_t getHudLeadDEPRECATED();
|
||||||
inline void setHudLead( ::int32_t value);
|
inline void setHudLeadDEPRECATED( ::int32_t value);
|
||||||
|
|
||||||
inline float getCumLagMs();
|
inline float getCumLagMs();
|
||||||
inline void setCumLagMs(float value);
|
inline void setCumLagMs(float value);
|
||||||
@@ -4106,6 +4116,20 @@ inline void ThermalData::Builder::setBat( ::uint32_t value) {
|
|||||||
3 * ::capnp::ELEMENTS, value);
|
3 * ::capnp::ELEMENTS, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline float ThermalData::Reader::getFreeSpace() const {
|
||||||
|
return _reader.getDataField<float>(
|
||||||
|
4 * ::capnp::ELEMENTS);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline float ThermalData::Builder::getFreeSpace() {
|
||||||
|
return _builder.getDataField<float>(
|
||||||
|
4 * ::capnp::ELEMENTS);
|
||||||
|
}
|
||||||
|
inline void ThermalData::Builder::setFreeSpace(float value) {
|
||||||
|
_builder.setDataField<float>(
|
||||||
|
4 * ::capnp::ELEMENTS, value);
|
||||||
|
}
|
||||||
|
|
||||||
inline ::uint32_t HealthData::Reader::getVoltage() const {
|
inline ::uint32_t HealthData::Reader::getVoltage() const {
|
||||||
return _reader.getDataField< ::uint32_t>(
|
return _reader.getDataField< ::uint32_t>(
|
||||||
0 * ::capnp::ELEMENTS);
|
0 * ::capnp::ELEMENTS);
|
||||||
@@ -4176,6 +4200,20 @@ inline void HealthData::Builder::setGasInterceptorDetected(bool value) {
|
|||||||
66 * ::capnp::ELEMENTS, value);
|
66 * ::capnp::ELEMENTS, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline bool HealthData::Reader::getStartedSignalDetected() const {
|
||||||
|
return _reader.getDataField<bool>(
|
||||||
|
67 * ::capnp::ELEMENTS);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool HealthData::Builder::getStartedSignalDetected() {
|
||||||
|
return _builder.getDataField<bool>(
|
||||||
|
67 * ::capnp::ELEMENTS);
|
||||||
|
}
|
||||||
|
inline void HealthData::Builder::setStartedSignalDetected(bool value) {
|
||||||
|
_builder.setDataField<bool>(
|
||||||
|
67 * ::capnp::ELEMENTS, value);
|
||||||
|
}
|
||||||
|
|
||||||
inline bool LiveUI::Reader::getRearViewCam() const {
|
inline bool LiveUI::Reader::getRearViewCam() const {
|
||||||
return _reader.getDataField<bool>(
|
return _reader.getDataField<bool>(
|
||||||
0 * ::capnp::ELEMENTS);
|
0 * ::capnp::ELEMENTS);
|
||||||
@@ -4268,66 +4306,66 @@ inline void LiveUI::Builder::setAwarenessStatus(float value) {
|
|||||||
1 * ::capnp::ELEMENTS, value);
|
1 * ::capnp::ELEMENTS, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool Live20Data::Reader::hasWarpMatrix() const {
|
inline bool Live20Data::Reader::hasWarpMatrixDEPRECATED() const {
|
||||||
return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
|
return !_reader.getPointerField(0 * ::capnp::POINTERS).isNull();
|
||||||
}
|
}
|
||||||
inline bool Live20Data::Builder::hasWarpMatrix() {
|
inline bool Live20Data::Builder::hasWarpMatrixDEPRECATED() {
|
||||||
return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
|
return !_builder.getPointerField(0 * ::capnp::POINTERS).isNull();
|
||||||
}
|
}
|
||||||
inline ::capnp::List<float>::Reader Live20Data::Reader::getWarpMatrix() const {
|
inline ::capnp::List<float>::Reader Live20Data::Reader::getWarpMatrixDEPRECATED() const {
|
||||||
return ::capnp::_::PointerHelpers< ::capnp::List<float>>::get(
|
return ::capnp::_::PointerHelpers< ::capnp::List<float>>::get(
|
||||||
_reader.getPointerField(0 * ::capnp::POINTERS));
|
_reader.getPointerField(0 * ::capnp::POINTERS));
|
||||||
}
|
}
|
||||||
inline ::capnp::List<float>::Builder Live20Data::Builder::getWarpMatrix() {
|
inline ::capnp::List<float>::Builder Live20Data::Builder::getWarpMatrixDEPRECATED() {
|
||||||
return ::capnp::_::PointerHelpers< ::capnp::List<float>>::get(
|
return ::capnp::_::PointerHelpers< ::capnp::List<float>>::get(
|
||||||
_builder.getPointerField(0 * ::capnp::POINTERS));
|
_builder.getPointerField(0 * ::capnp::POINTERS));
|
||||||
}
|
}
|
||||||
inline void Live20Data::Builder::setWarpMatrix( ::capnp::List<float>::Reader value) {
|
inline void Live20Data::Builder::setWarpMatrixDEPRECATED( ::capnp::List<float>::Reader value) {
|
||||||
::capnp::_::PointerHelpers< ::capnp::List<float>>::set(
|
::capnp::_::PointerHelpers< ::capnp::List<float>>::set(
|
||||||
_builder.getPointerField(0 * ::capnp::POINTERS), value);
|
_builder.getPointerField(0 * ::capnp::POINTERS), value);
|
||||||
}
|
}
|
||||||
inline void Live20Data::Builder::setWarpMatrix(::kj::ArrayPtr<const float> value) {
|
inline void Live20Data::Builder::setWarpMatrixDEPRECATED(::kj::ArrayPtr<const float> value) {
|
||||||
::capnp::_::PointerHelpers< ::capnp::List<float>>::set(
|
::capnp::_::PointerHelpers< ::capnp::List<float>>::set(
|
||||||
_builder.getPointerField(0 * ::capnp::POINTERS), value);
|
_builder.getPointerField(0 * ::capnp::POINTERS), value);
|
||||||
}
|
}
|
||||||
inline ::capnp::List<float>::Builder Live20Data::Builder::initWarpMatrix(unsigned int size) {
|
inline ::capnp::List<float>::Builder Live20Data::Builder::initWarpMatrixDEPRECATED(unsigned int size) {
|
||||||
return ::capnp::_::PointerHelpers< ::capnp::List<float>>::init(
|
return ::capnp::_::PointerHelpers< ::capnp::List<float>>::init(
|
||||||
_builder.getPointerField(0 * ::capnp::POINTERS), size);
|
_builder.getPointerField(0 * ::capnp::POINTERS), size);
|
||||||
}
|
}
|
||||||
inline void Live20Data::Builder::adoptWarpMatrix(
|
inline void Live20Data::Builder::adoptWarpMatrixDEPRECATED(
|
||||||
::capnp::Orphan< ::capnp::List<float>>&& value) {
|
::capnp::Orphan< ::capnp::List<float>>&& value) {
|
||||||
::capnp::_::PointerHelpers< ::capnp::List<float>>::adopt(
|
::capnp::_::PointerHelpers< ::capnp::List<float>>::adopt(
|
||||||
_builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
|
_builder.getPointerField(0 * ::capnp::POINTERS), kj::mv(value));
|
||||||
}
|
}
|
||||||
inline ::capnp::Orphan< ::capnp::List<float>> Live20Data::Builder::disownWarpMatrix() {
|
inline ::capnp::Orphan< ::capnp::List<float>> Live20Data::Builder::disownWarpMatrixDEPRECATED() {
|
||||||
return ::capnp::_::PointerHelpers< ::capnp::List<float>>::disown(
|
return ::capnp::_::PointerHelpers< ::capnp::List<float>>::disown(
|
||||||
_builder.getPointerField(0 * ::capnp::POINTERS));
|
_builder.getPointerField(0 * ::capnp::POINTERS));
|
||||||
}
|
}
|
||||||
|
|
||||||
inline float Live20Data::Reader::getAngleOffset() const {
|
inline float Live20Data::Reader::getAngleOffsetDEPRECATED() const {
|
||||||
return _reader.getDataField<float>(
|
return _reader.getDataField<float>(
|
||||||
0 * ::capnp::ELEMENTS);
|
0 * ::capnp::ELEMENTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline float Live20Data::Builder::getAngleOffset() {
|
inline float Live20Data::Builder::getAngleOffsetDEPRECATED() {
|
||||||
return _builder.getDataField<float>(
|
return _builder.getDataField<float>(
|
||||||
0 * ::capnp::ELEMENTS);
|
0 * ::capnp::ELEMENTS);
|
||||||
}
|
}
|
||||||
inline void Live20Data::Builder::setAngleOffset(float value) {
|
inline void Live20Data::Builder::setAngleOffsetDEPRECATED(float value) {
|
||||||
_builder.setDataField<float>(
|
_builder.setDataField<float>(
|
||||||
0 * ::capnp::ELEMENTS, value);
|
0 * ::capnp::ELEMENTS, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline ::int8_t Live20Data::Reader::getCalStatus() const {
|
inline ::int8_t Live20Data::Reader::getCalStatusDEPRECATED() const {
|
||||||
return _reader.getDataField< ::int8_t>(
|
return _reader.getDataField< ::int8_t>(
|
||||||
4 * ::capnp::ELEMENTS);
|
4 * ::capnp::ELEMENTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline ::int8_t Live20Data::Builder::getCalStatus() {
|
inline ::int8_t Live20Data::Builder::getCalStatusDEPRECATED() {
|
||||||
return _builder.getDataField< ::int8_t>(
|
return _builder.getDataField< ::int8_t>(
|
||||||
4 * ::capnp::ELEMENTS);
|
4 * ::capnp::ELEMENTS);
|
||||||
}
|
}
|
||||||
inline void Live20Data::Builder::setCalStatus( ::int8_t value) {
|
inline void Live20Data::Builder::setCalStatusDEPRECATED( ::int8_t value) {
|
||||||
_builder.setDataField< ::int8_t>(
|
_builder.setDataField< ::int8_t>(
|
||||||
4 * ::capnp::ELEMENTS, value);
|
4 * ::capnp::ELEMENTS, value);
|
||||||
}
|
}
|
||||||
@@ -4448,30 +4486,30 @@ inline void Live20Data::Builder::setFtMonoTime( ::uint64_t value) {
|
|||||||
3 * ::capnp::ELEMENTS, value);
|
3 * ::capnp::ELEMENTS, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline ::int32_t Live20Data::Reader::getCalCycle() const {
|
inline ::int32_t Live20Data::Reader::getCalCycleDEPRECATED() const {
|
||||||
return _reader.getDataField< ::int32_t>(
|
return _reader.getDataField< ::int32_t>(
|
||||||
3 * ::capnp::ELEMENTS);
|
3 * ::capnp::ELEMENTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline ::int32_t Live20Data::Builder::getCalCycle() {
|
inline ::int32_t Live20Data::Builder::getCalCycleDEPRECATED() {
|
||||||
return _builder.getDataField< ::int32_t>(
|
return _builder.getDataField< ::int32_t>(
|
||||||
3 * ::capnp::ELEMENTS);
|
3 * ::capnp::ELEMENTS);
|
||||||
}
|
}
|
||||||
inline void Live20Data::Builder::setCalCycle( ::int32_t value) {
|
inline void Live20Data::Builder::setCalCycleDEPRECATED( ::int32_t value) {
|
||||||
_builder.setDataField< ::int32_t>(
|
_builder.setDataField< ::int32_t>(
|
||||||
3 * ::capnp::ELEMENTS, value);
|
3 * ::capnp::ELEMENTS, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline ::int8_t Live20Data::Reader::getCalPerc() const {
|
inline ::int8_t Live20Data::Reader::getCalPercDEPRECATED() const {
|
||||||
return _reader.getDataField< ::int8_t>(
|
return _reader.getDataField< ::int8_t>(
|
||||||
5 * ::capnp::ELEMENTS);
|
5 * ::capnp::ELEMENTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline ::int8_t Live20Data::Builder::getCalPerc() {
|
inline ::int8_t Live20Data::Builder::getCalPercDEPRECATED() {
|
||||||
return _builder.getDataField< ::int8_t>(
|
return _builder.getDataField< ::int8_t>(
|
||||||
5 * ::capnp::ELEMENTS);
|
5 * ::capnp::ELEMENTS);
|
||||||
}
|
}
|
||||||
inline void Live20Data::Builder::setCalPerc( ::int8_t value) {
|
inline void Live20Data::Builder::setCalPercDEPRECATED( ::int8_t value) {
|
||||||
_builder.setDataField< ::int8_t>(
|
_builder.setDataField< ::int8_t>(
|
||||||
5 * ::capnp::ELEMENTS, value);
|
5 * ::capnp::ELEMENTS, value);
|
||||||
}
|
}
|
||||||
@@ -4912,16 +4950,16 @@ inline void Live100Data::Builder::setVEgo(float value) {
|
|||||||
0 * ::capnp::ELEMENTS, value);
|
0 * ::capnp::ELEMENTS, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline float Live100Data::Reader::getAEgo() const {
|
inline float Live100Data::Reader::getAEgoDEPRECATED() const {
|
||||||
return _reader.getDataField<float>(
|
return _reader.getDataField<float>(
|
||||||
1 * ::capnp::ELEMENTS);
|
1 * ::capnp::ELEMENTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline float Live100Data::Builder::getAEgo() {
|
inline float Live100Data::Builder::getAEgoDEPRECATED() {
|
||||||
return _builder.getDataField<float>(
|
return _builder.getDataField<float>(
|
||||||
1 * ::capnp::ELEMENTS);
|
1 * ::capnp::ELEMENTS);
|
||||||
}
|
}
|
||||||
inline void Live100Data::Builder::setAEgo(float value) {
|
inline void Live100Data::Builder::setAEgoDEPRECATED(float value) {
|
||||||
_builder.setDataField<float>(
|
_builder.setDataField<float>(
|
||||||
1 * ::capnp::ELEMENTS, value);
|
1 * ::capnp::ELEMENTS, value);
|
||||||
}
|
}
|
||||||
@@ -5094,16 +5132,16 @@ inline void Live100Data::Builder::setAngleSteers(float value) {
|
|||||||
13 * ::capnp::ELEMENTS, value);
|
13 * ::capnp::ELEMENTS, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline ::int32_t Live100Data::Reader::getHudLead() const {
|
inline ::int32_t Live100Data::Reader::getHudLeadDEPRECATED() const {
|
||||||
return _reader.getDataField< ::int32_t>(
|
return _reader.getDataField< ::int32_t>(
|
||||||
14 * ::capnp::ELEMENTS);
|
14 * ::capnp::ELEMENTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline ::int32_t Live100Data::Builder::getHudLead() {
|
inline ::int32_t Live100Data::Builder::getHudLeadDEPRECATED() {
|
||||||
return _builder.getDataField< ::int32_t>(
|
return _builder.getDataField< ::int32_t>(
|
||||||
14 * ::capnp::ELEMENTS);
|
14 * ::capnp::ELEMENTS);
|
||||||
}
|
}
|
||||||
inline void Live100Data::Builder::setHudLead( ::int32_t value) {
|
inline void Live100Data::Builder::setHudLeadDEPRECATED( ::int32_t value) {
|
||||||
_builder.setDataField< ::int32_t>(
|
_builder.setDataField< ::int32_t>(
|
||||||
14 * ::capnp::ELEMENTS, value);
|
14 * ::capnp::ELEMENTS, value);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,6 +61,9 @@ struct ThermalData {
|
|||||||
mem @4 :UInt16;
|
mem @4 :UInt16;
|
||||||
gpu @5 :UInt16;
|
gpu @5 :UInt16;
|
||||||
bat @6 :UInt32;
|
bat @6 :UInt32;
|
||||||
|
|
||||||
|
# not thermal
|
||||||
|
freeSpace @7 :Float32;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct HealthData {
|
struct HealthData {
|
||||||
@@ -70,6 +73,7 @@ struct HealthData {
|
|||||||
started @2 :Bool;
|
started @2 :Bool;
|
||||||
controlsAllowed @3 :Bool;
|
controlsAllowed @3 :Bool;
|
||||||
gasInterceptorDetected @4 :Bool;
|
gasInterceptorDetected @4 :Bool;
|
||||||
|
startedSignalDetected @5 :Bool;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct LiveUI {
|
struct LiveUI {
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
from common.realtime import sec_since_boot
|
||||||
|
|
||||||
|
class Profiler(object):
|
||||||
|
def __init__(self, enabled=False):
|
||||||
|
self.enabled = enabled
|
||||||
|
self.cp = []
|
||||||
|
self.start_time = sec_since_boot()
|
||||||
|
self.last_time = self.start_time
|
||||||
|
|
||||||
|
def checkpoint(self, name):
|
||||||
|
if not self.enabled:
|
||||||
|
return
|
||||||
|
tt = sec_since_boot()
|
||||||
|
self.cp.append((name, tt - self.last_time))
|
||||||
|
self.last_time = tt
|
||||||
|
|
||||||
|
def display(self):
|
||||||
|
if not self.enabled:
|
||||||
|
return
|
||||||
|
print "******* Profiling *******"
|
||||||
|
tot = 0.0
|
||||||
|
for n, ms in self.cp:
|
||||||
|
print "%30s: %7.2f" % (n, ms*1000.0)
|
||||||
|
tot += ms
|
||||||
|
print " TOTAL: %7.2f" % (tot*1000.0)
|
||||||
|
|
||||||
+8
-4
@@ -28,7 +28,7 @@ if libc is not None:
|
|||||||
libc.clock_gettime.argtypes = [ctypes.c_int, ctypes.POINTER(timespec)]
|
libc.clock_gettime.argtypes = [ctypes.c_int, ctypes.POINTER(timespec)]
|
||||||
|
|
||||||
def clock_gettime(clk_id):
|
def clock_gettime(clk_id):
|
||||||
if platform.system() == "darwin":
|
if platform.system().lower() == "darwin":
|
||||||
# TODO: fix this
|
# TODO: fix this
|
||||||
return time.time()
|
return time.time()
|
||||||
else:
|
else:
|
||||||
@@ -47,7 +47,7 @@ def sec_since_boot():
|
|||||||
|
|
||||||
def set_realtime_priority(level):
|
def set_realtime_priority(level):
|
||||||
if os.getuid() != 0:
|
if os.getuid() != 0:
|
||||||
print "not setting priority, not root"
|
print("not setting priority, not root")
|
||||||
return
|
return
|
||||||
if platform.machine() == "x86_64":
|
if platform.machine() == "x86_64":
|
||||||
NR_gettid = 186
|
NR_gettid = 186
|
||||||
@@ -80,15 +80,19 @@ class Ratekeeper(object):
|
|||||||
|
|
||||||
# Maintain loop rate by calling this at the end of each loop
|
# Maintain loop rate by calling this at the end of each loop
|
||||||
def keep_time(self):
|
def keep_time(self):
|
||||||
self.monitor_time()
|
lagged = self.monitor_time()
|
||||||
if self._remaining > 0:
|
if self._remaining > 0:
|
||||||
time.sleep(self._remaining)
|
time.sleep(self._remaining)
|
||||||
|
return lagged
|
||||||
|
|
||||||
# this only monitor the cumulative lag, but does not enforce a rate
|
# this only monitor the cumulative lag, but does not enforce a rate
|
||||||
def monitor_time(self):
|
def monitor_time(self):
|
||||||
|
lagged = False
|
||||||
remaining = self._next_frame_time - sec_since_boot()
|
remaining = self._next_frame_time - sec_since_boot()
|
||||||
self._next_frame_time += self._interval
|
self._next_frame_time += self._interval
|
||||||
if remaining < -self._print_delay_threshold:
|
if remaining < -self._print_delay_threshold:
|
||||||
print self._process_name, "lagging by", round(-remaining * 1000, 2), "ms"
|
print(self._process_name, "lagging by", round(-remaining * 1000, 2), "ms")
|
||||||
|
lagged = True
|
||||||
self._frame += 1
|
self._frame += 1
|
||||||
self._remaining = remaining
|
self._remaining = remaining
|
||||||
|
return lagged
|
||||||
|
|||||||
+283
-254
@@ -15,7 +15,7 @@ NS_ :
|
|||||||
ENVVAR_DATA_
|
ENVVAR_DATA_
|
||||||
SGTYPE_
|
SGTYPE_
|
||||||
SGTYPE_VAL_
|
SGTYPE_VAL_
|
||||||
BA_DEF_SGTYPE_
|
BA_DEF_SGTYPE_
|
||||||
BA_SGTYPE_
|
BA_SGTYPE_
|
||||||
SIG_TYPE_REF_
|
SIG_TYPE_REF_
|
||||||
VAL_TABLE_
|
VAL_TABLE_
|
||||||
@@ -33,263 +33,292 @@ NS_ :
|
|||||||
|
|
||||||
BS_:
|
BS_:
|
||||||
|
|
||||||
BO_ 0x039 XXX: 3 XXX
|
BU_: INTERCEPTOR EBCM NEO ADAS PCM EPS VSA SCM BDY XXX
|
||||||
|
|
||||||
BO_ 0x091 XXX: 8 XXX
|
|
||||||
SG_ LAT_ACCEL : 0|10@1+ (0.02,-512) [-20|20] "m/s2" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x0E4 STEERING_CONTROL: 5 ADAS
|
|
||||||
SG_ STEER_TORQUE : 0|16@1- (1,0) [-3840|3840] "" Vector__XXX
|
|
||||||
SG_ STEER_TORQUE_REQUEST : 16|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ SET_ME_X00 : 17|7@1+ (1,0) [0|127] "" Vector__XXX
|
|
||||||
SG_ SET_ME_X00 : 24|8@1+ (1,0) [0|0] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 34|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 36|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x130 GAS_PEDAL2: 8 PCM
|
|
||||||
SG_ ENGINE_TORQUE_ESTIMATE : 0|16@1- (1,0) [-1000|1000] "Nm" Vector__XXX
|
|
||||||
SG_ ENGINE_TORQUE_REQUEST : 16|16@1- (1,0) [-1000|1000] "Nm" Vector__XXX
|
|
||||||
SG_ CAR_GAS : 32|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x13C GAS_PEDAL: 8 PCM
|
|
||||||
SG_ CAR_GAS : 32|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x156 STEERING_SENSORS: 6 EPS
|
|
||||||
SG_ STEER_ANGLE : 0|16@1- (-0.1,0) [-500|500] "deg" Vector__XXX
|
|
||||||
SG_ STEER_ANGLE_RATE : 16|16@1- (1,0) [-3000|3000] "deg/s" Vector__XXX
|
|
||||||
SG_ COUNTER : 42|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 44|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x158 POWERTRAIN_DATA: 8 PCM
|
|
||||||
SG_ XMISSION_SPEED : 0|16@1+ (0.002759506,0) [0|70] "m/s" Vector__XXX
|
|
||||||
SG_ ENGINE_RPM : 16|16@1+ (1,0) [0|15000] "rpm" Vector__XXX
|
|
||||||
SG_ XMISSION_SPEED2 : 32|16@1+ (0.002759506,0) [0|70] "m/s" Vector__XXX
|
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x17C POWERTRAIN_DATA2: 8 PCM
|
|
||||||
SG_ PEDAL_GAS : 0|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ ENGINE_RPM : 16|16@1+ (1,0) [0|15000] "rpm" Vector__XXX
|
|
||||||
SG_ GAS_PRESSED : 32|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ ACC_STATUS : 33|1@1+ (1,0) [0|1] "rpm" Vector__XXX
|
|
||||||
SG_ BOH_17C : 34|5@1+ (1,0) [0|1] "rpm" Vector__XXX
|
|
||||||
SG_ BRAKE_LIGHTS_ON : 39|1@1+ (1,0) [0|1] "rpm" Vector__XXX
|
|
||||||
SG_ BOH2_17C : 40|10@1+ (1,0) [0|1] "rpm" Vector__XXX
|
|
||||||
SG_ BRAKE_PRESSED : 50|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BOH3_17C : 51|5@1+ (1,0) [0|1] "rpm" Vector__XXX
|
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x18E XXX: 3 XXX
|
|
||||||
|
|
||||||
BO_ 0x18F STEER_STATUS: 7 EPS
|
|
||||||
SG_ STEER_TORQUE_SENSOR : 0|16@1- (1,0) [-31000|31000] "tbd" Vector__XXX
|
|
||||||
SG_ STEER_TORQUE_MOTOR : 16|16@1- (1,0) [-31000|31000] "tbd" Vector__XXX
|
|
||||||
SG_ STEER_STATUS : 32|4@1+ (1,0) [0|15] "" Vector__XXX
|
|
||||||
SG_ STEER_CONTROL_ACTIVE : 36|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 50|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 52|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x1A3 GEARBOX: 8 PCM
|
|
||||||
SG_ GEAR : 0|8@1+ (1,0) [0|256] "" Vector__XXX
|
|
||||||
SG_ GEAR_SHIFTER : 36|4@1+ (1,0) [0|15] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x1A4 VSA_STATUS: 8 VSA
|
|
||||||
SG_ USER_BRAKE : 0|16@1+ (0.015625,-103) [0|1000] "" Vector__XXX
|
|
||||||
SG_ ESP_DISABLED : 27|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x1A6 SCM_BUTTONS: 8 SCM
|
|
||||||
SG_ CRUISE_BUTTONS : 0|3@1+ (1,0) [0|7] "" Vector__XXX
|
|
||||||
SG_ LIGHTS_SETTING : 6|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ MAIN_ON : 40|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CRUISE_SETTING : 44|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x1AC XXX: 8 XXX
|
|
||||||
|
|
||||||
BO_ 0x1B0 STANDSTILL: 7 VSA
|
|
||||||
SG_ WHEELS_MOVING : 11|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BRAKE_ERROR_1 : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BRAKE_ERROR_2 : 14|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 50|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 52|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x1D0 WHEEL_SPEEDS: 8 VSA
|
|
||||||
SG_ WHEEL_SPEED_FL : 0|15@1+ (0.002759506,0) [0|70] "m/s" Vector__XXX
|
|
||||||
SG_ WHEEL_SPEED_FR : 15|15@1+ (0.002759506,0) [0|70] "m/s" Vector__XXX
|
|
||||||
SG_ WHEEL_SPEED_RL : 30|15@1+ (0.002759506,0) [0|70] "m/s" Vector__XXX
|
|
||||||
SG_ WHEEL_SPEED_RR : 45|15@1+ (0.002759506,0) [0|70] "m/s" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x1DC XXX: 4 XXX
|
|
||||||
|
|
||||||
BO_ 0x1EA VEHICLE_DYNAMICS: 8 VSA
|
|
||||||
SG_ LONG_ACCEL : 16|16@1- (0.0015384,0) [-20|20] "m/s2" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x1FA BRAKE_COMMAND: 8 ADAS
|
|
||||||
SG_ COMPUTER_BRAKE : 0|10@1+ (0.003906248,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ ZEROS_BOH : 10|5@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ COMPUTER_BRAKE_REQUEST : 15|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CRUISE_BOH2 : 16|3@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CRUISE_OVERRIDE : 19|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CRUISE_BOH3 : 20|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CRUISE_FAULT_CMD : 21|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CRUISE_CANCEL_CMD : 22|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ COMPUTER_BRAKE_REQUEST_2 : 23|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CRUISE_BOH4 : 24|8@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BRAKE_LIGHTS : 32|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CRUISE_BOH5 : 33|7@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CHIME : 40|3@1+ (1,0) [0|7] "" Vector__XXX
|
|
||||||
SG_ CRUISE_BOH6 : 43|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ FCW : 44|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CRUISE_BOH7 : 46|10@1+ (1,0) [0|0] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x200 GAS_COMMAND: 3 ADAS
|
|
||||||
SG_ GAS_COMMAND : 0|16@1+ (0.253984064,-328) [0|1] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 18|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 20|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x201 GAS_SENSOR: 5 ADAS
|
|
||||||
SG_ INTERCEPTOR_GAS : 0|16@1+ (0.253984064,-328) [0|1] "" Vector__XXX
|
|
||||||
SG_ INTERCEPTOR_GAS2 : 16|16@1+ (0.126992032,-656) [0|1] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 34|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 36|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x21E XXX: 7 XXX
|
|
||||||
BO_ 0x221 XXX: 4 XXX
|
|
||||||
|
|
||||||
BO_ 0x255 ROUGH_WHEEL_SPEED: 8 VSA
|
|
||||||
SG_ WHEEL_SPEED_FL : 0|8@1+ (1,0) [0|255] "mph" Vector__XXX
|
|
||||||
SG_ WHEEL_SPEED_FR : 8|8@1+ (1,0) [0|255] "mph" Vector__XXX
|
|
||||||
SG_ WHEEL_SPEED_RL : 16|8@1+ (1,0) [0|255] "mph" Vector__XXX
|
|
||||||
SG_ WHEEL_SPEED_RR : 24|8@1+ (1,0) [0|255] "mph" Vector__XXX
|
|
||||||
SG_ SET_TO_X55 : 32|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ SET_TO_X55 : 40|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x294 SCM_COMMANDS: 8 SCM
|
|
||||||
SG_ RIGHT_BLINKER : 1|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ LEFT_BLINKER : 2|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ WIPERS_SPEED : 3|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x305 SEATBELT_STATUS: 7 BDY
|
|
||||||
SG_ SEATBELT_DRIVER_LAMP : 0|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ SEATBELT_DRIVER_LATCHED : 10|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 50|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 52|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x309 XXX: 8 XXX
|
|
||||||
|
|
||||||
BO_ 0x30C ACC_HUD: 8 ADAS
|
|
||||||
SG_ PCM_SPEED : 0|16@1+ (0.002763889,0) [0|100] "m/s" Vector__XXX
|
|
||||||
SG_ PCM_GAS : 16|7@1+ (1,0) [0|127] "" Vector__XXX
|
|
||||||
SG_ ZEROS_BOH : 23|1@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ CRUISE_SPEED : 24|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ DTC_MODE : 32|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BOH : 33|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ ACC_PROBLEM : 34|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ FCM_OFF : 35|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BOH_2 : 36|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ FCM_PROBLEM : 37|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ RADAR_OBSTRUCTED : 38|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ ENABLE_MINI_CAR : 39|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ SET_ME_X03 : 40|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ HUD_LEAD : 42|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ BOH_3 : 44|1@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ BOH_4 : 45|1@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ BOH_5 : 46|1@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CRUISE_CONTROL_LABEL : 47|1@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ HUD_DISTANCE_3 : 51|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x320 XXX: 8 XXX
|
|
||||||
|
|
||||||
BO_ 0x324 CRUISE: 8 PCM
|
|
||||||
SG_ ENGINE_TEMPERATURE : 0|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ BOH : 8|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ TRIP_FUEL_CONSUMED : 16|16@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ CRUISE_SPEED_PCM : 32|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ BOH2 : 40|8@1- (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ BOH3 : 48|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x328 XXX: 8 XXX
|
|
||||||
BO_ 0x333 XXX: 7 XXX
|
|
||||||
BO_ 0x335 XXX: 5 XXX
|
|
||||||
|
|
||||||
BO_ 0x33D LKAS_HUD_2: 5 ADAS
|
|
||||||
SG_ CAM_TEMP_HIGH : 0|1@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ BOH : 1|7@1+ (1,0) [0|127] "" Vector__XXX
|
|
||||||
SG_ DASHED_LANES : 9|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ DTC : 10|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ LKAS_PROBLEM : 11|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ LKAS_OFF : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ SOLID_LANES : 13|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ LDW_RIGHT : 14|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ STEERING_REQUIRED : 15|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BOH : 16|2@1+ (1,0) [0|4] "" Vector__XXX
|
|
||||||
SG_ LDW_PROBLEM : 18|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BEEP : 22|2@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ LDW_ON : 27|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ LDW_OFF : 28|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CLEAN_WINDSHIELD : 29|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ SET_ME_X48 : 24|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 34|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 36|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
|
|
||||||
BO_ 0x372 XXX: 2 XXX
|
BO_ 57 XXX_1: 3 XXX
|
||||||
|
|
||||||
BO_ 0x374 XXX: 7 XXX
|
BO_ 145 XXX_2: 8 XXX
|
||||||
BO_ 0x377 XXX: 8 XXX
|
SG_ LAT_ACCEL : 7|10@0+ (0.02,-512) [-20|20] "m/s2" NEO
|
||||||
BO_ 0x378 XXX: 8 XXX
|
|
||||||
BO_ 0x37C XXX: 8 XXX
|
|
||||||
BO_ 0x39B XXX: 2 XXX
|
|
||||||
BO_ 0x3A1 XXX: 4 XXX
|
|
||||||
BO_ 0x3D7 XXX: 8 XXX
|
|
||||||
BO_ 0x3D9 XXX: 3 XXX
|
|
||||||
BO_ 0x400 XXX: 5 XXX
|
|
||||||
BO_ 0x403 XXX: 5 XXX
|
|
||||||
|
|
||||||
BO_ 0x405 DOORS_STATUS: 8 BDY
|
BO_ 228 STEERING_CONTROL: 5 ADAS
|
||||||
SG_ DOOR_OPEN_FL : 34|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ STEER_TORQUE : 7|16@0- (1,0) [-3840|3840] "" EPS
|
||||||
SG_ DOOR_OPEN_FR : 33|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ STEER_TORQUE_REQUEST : 23|1@0+ (1,0) [0|1] "" EPS
|
||||||
SG_ DOOR_OPEN_RL : 32|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ SET_ME_X00 : 22|7@0+ (1,0) [0|127] "" EPS
|
||||||
SG_ DOOR_OPEN_RR : 47|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ SET_ME_X00 : 31|8@0+ (1,0) [0|0] "" EPS
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" EPS
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" EPS
|
||||||
|
|
||||||
BO_ 0x406 XXX: 5 VSA
|
BO_ 304 GAS_PEDAL2: 8 PCM
|
||||||
BO_ 0x40A XXX: 5 XXX
|
SG_ ENGINE_TORQUE_ESTIMATE : 7|16@0- (1,0) [-1000|1000] "Nm" NEO
|
||||||
BO_ 0x40C XXX: 8 XXX
|
SG_ ENGINE_TORQUE_REQUEST : 23|16@0- (1,0) [-1000|1000] "Nm" NEO
|
||||||
BO_ 0x40F XXX: 8 XXX
|
SG_ CAR_GAS : 39|8@0+ (1,0) [0|255] "" NEO
|
||||||
BO_ 0x421 XXX: 5 EPS
|
|
||||||
BO_ 0x428 XXX: 7 XXX
|
|
||||||
BO_ 0x454 XXX: 8 XXX
|
|
||||||
BO_ 0x555 XXX: 5 XXX
|
|
||||||
BO_ 0x640 XXX: 5 XXX
|
|
||||||
BO_ 0x641 XXX: 8 XXX
|
|
||||||
|
|
||||||
VAL_ 0x1A6 CRUISE_BUTTONS 7 "tbd" 6 "tbd" 5 "tbd" 4 "accel_res" 3 "decel_set" 2 "cancel" 1 "main" 0 "none";
|
BO_ 316 GAS_PEDAL: 8 PCM
|
||||||
VAL_ 0x1A6 CRUISE_SETTING 3 "distance_adj" 2 "tbd" 1 "lkas_button" 0 "none";
|
SG_ CAR_GAS : 39|8@0+ (1,0) [0|255] "" NEO
|
||||||
VAL_ 0x30C HUD_LEAD 3 "no_car" 2 "solid_car" 1 "dashed_car" 0 "no_car";
|
|
||||||
VAL_ 0x1A6 LIGHTS_SETTING 3 "high_beam" 2 "low_beam" 1 "position" 0 "no_lights";
|
BO_ 342 STEERING_SENSORS: 6 EPS
|
||||||
VAL_ 0x18F STEER_STATUS 5 "fault" 4 "no_torque_alert_2" 2 "no_torque_alert_1" 0 "normal";
|
SG_ STEER_ANGLE : 7|16@0- (-0.1,0) [-500|500] "deg" NEO
|
||||||
VAL_ 0x1A3 GEAR_SHIFTER 10 "S" 4 "D" 3 "N" 2 "R" 1 "P";
|
SG_ STEER_ANGLE_RATE : 23|16@0- (1,0) [-3000|3000] "deg/s" NEO
|
||||||
VAL_ 0x33D BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep";
|
SG_ COUNTER : 45|2@0+ (1,0) [0|3] "" NEO
|
||||||
VAL_ 0x1FA CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime";
|
SG_ CHECKSUM : 43|4@0+ (1,0) [0|3] "" NEO
|
||||||
VAL_ 0x1FA FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw";
|
|
||||||
|
BO_ 344 POWERTRAIN_DATA: 8 PCM
|
||||||
|
SG_ XMISSION_SPEED : 7|16@0+ (0.002759506,0) [0|70] "m/s" NEO
|
||||||
|
SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" NEO
|
||||||
|
SG_ XMISSION_SPEED2 : 39|16@0+ (0.002759506,0) [0|70] "m/s" NEO
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
|
BO_ 380 POWERTRAIN_DATA2: 8 PCM
|
||||||
|
SG_ PEDAL_GAS : 7|8@0+ (1,0) [0|255] "" NEO
|
||||||
|
SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" NEO
|
||||||
|
SG_ GAS_PRESSED : 39|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ ACC_STATUS : 38|1@0+ (1,0) [0|1] "rpm" NEO
|
||||||
|
SG_ BOH_17C : 37|5@0+ (1,0) [0|1] "rpm" NEO
|
||||||
|
SG_ BRAKE_LIGHTS_ON : 32|1@0+ (1,0) [0|1] "rpm" NEO
|
||||||
|
SG_ BOH2_17C : 47|10@0+ (1,0) [0|1] "rpm" NEO
|
||||||
|
SG_ BRAKE_PRESSED : 53|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ BOH3_17C : 52|5@0+ (1,0) [0|1] "rpm" NEO
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
|
BO_ 398 XXX_3: 3 XXX
|
||||||
|
|
||||||
|
BO_ 399 STEER_STATUS: 7 EPS
|
||||||
|
SG_ STEER_TORQUE_SENSOR : 7|16@0- (1,0) [-31000|31000] "tbd" NEO
|
||||||
|
SG_ STEER_TORQUE_MOTOR : 23|16@0- (1,0) [-31000|31000] "tbd" NEO
|
||||||
|
SG_ STEER_STATUS : 39|4@0+ (1,0) [0|15] "" NEO
|
||||||
|
SG_ STEER_CONTROL_ACTIVE : 35|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
|
BO_ 419 GEARBOX: 8 PCM
|
||||||
|
SG_ GEAR : 7|8@0+ (1,0) [0|256] "" NEO
|
||||||
|
SG_ GEAR_SHIFTER : 35|4@0+ (1,0) [0|15] "" NEO
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
|
BO_ 420 VSA_STATUS: 8 VSA
|
||||||
|
SG_ USER_BRAKE : 7|16@0+ (0.015625,-103) [0|1000] "" NEO
|
||||||
|
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
|
BO_ 422 SCM_BUTTONS: 8 SCM
|
||||||
|
SG_ CRUISE_BUTTONS : 7|3@0+ (1,0) [0|7] "" NEO
|
||||||
|
SG_ LIGHTS_SETTING : 1|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ MAIN_ON : 47|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ CRUISE_SETTING : 43|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
|
BO_ 428 XXX_4: 8 XXX
|
||||||
|
|
||||||
|
BO_ 432 STANDSTILL: 7 VSA
|
||||||
|
SG_ WHEELS_MOVING : 12|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ BRAKE_ERROR_1 : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ BRAKE_ERROR_2 : 9|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
|
BO_ 464 WHEEL_SPEEDS: 8 VSA
|
||||||
|
SG_ WHEEL_SPEED_FL : 7|15@0+ (0.002759506,0) [0|70] "m/s" NEO
|
||||||
|
SG_ WHEEL_SPEED_FR : 8|15@0+ (0.002759506,0) [0|70] "m/s" NEO
|
||||||
|
SG_ WHEEL_SPEED_RL : 25|15@0+ (0.002759506,0) [0|70] "m/s" NEO
|
||||||
|
SG_ WHEEL_SPEED_RR : 42|15@0+ (0.002759506,0) [0|70] "m/s" NEO
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
|
BO_ 476 XXX_5: 4 XXX
|
||||||
|
|
||||||
|
BO_ 490 VEHICLE_DYNAMICS: 8 VSA
|
||||||
|
SG_ LONG_ACCEL : 23|16@0- (0.0015384,0) [-20|20] "m/s2" NEO
|
||||||
|
|
||||||
|
BO_ 506 BRAKE_COMMAND: 8 ADAS
|
||||||
|
SG_ COMPUTER_BRAKE : 7|10@0+ (0.003906248,0) [0|1] "" EBCM
|
||||||
|
SG_ ZEROS_BOH : 13|5@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ COMPUTER_BRAKE_REQUEST : 8|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ CRUISE_BOH2 : 23|3@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ CRUISE_OVERRIDE : 20|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ CRUISE_BOH3 : 19|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ CRUISE_FAULT_CMD : 18|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ CRUISE_CANCEL_CMD : 17|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ COMPUTER_BRAKE_REQUEST_2 : 16|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ CRUISE_BOH4 : 31|8@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ BRAKE_LIGHTS : 39|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ CRUISE_BOH5 : 38|7@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM
|
||||||
|
SG_ CRUISE_BOH6 : 44|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ FCW : 43|2@0+ (1,0) [0|3] "" EBCM
|
||||||
|
SG_ CRUISE_BOH7 : 41|10@0+ (1,0) [0|0] "" EBCM
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EBCM
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EBCM
|
||||||
|
|
||||||
|
BO_ 512 GAS_COMMAND: 3 NEO
|
||||||
|
SG_ GAS_COMMAND : 7|16@0+ (0.253984064,-328) [0|1] "" INTERCEPTOR
|
||||||
|
SG_ COUNTER : 21|2@0+ (1,0) [0|3] "" INTERCEPTOR
|
||||||
|
SG_ CHECKSUM : 19|4@0+ (1,0) [0|3] "" INTERCEPTOR
|
||||||
|
|
||||||
|
BO_ 513 GAS_SENSOR: 5 INTERCEPTOR
|
||||||
|
SG_ INTERCEPTOR_GAS : 7|16@0+ (0.253984064,-328) [0|1] "" NEO
|
||||||
|
SG_ INTERCEPTOR_GAS2 : 23|16@0+ (0.126992032,-656) [0|1] "" NEO
|
||||||
|
SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
|
BO_ 542 XXX_6: 7 XXX
|
||||||
|
|
||||||
|
BO_ 545 XXX_7: 4 XXX
|
||||||
|
|
||||||
|
BO_ 597 ROUGH_WHEEL_SPEED: 8 VSA
|
||||||
|
SG_ WHEEL_SPEED_FL : 7|8@0+ (1,0) [0|255] "mph" NEO
|
||||||
|
SG_ WHEEL_SPEED_FR : 15|8@0+ (1,0) [0|255] "mph" NEO
|
||||||
|
SG_ WHEEL_SPEED_RL : 23|8@0+ (1,0) [0|255] "mph" NEO
|
||||||
|
SG_ WHEEL_SPEED_RR : 31|8@0+ (1,0) [0|255] "mph" NEO
|
||||||
|
SG_ SET_TO_X55 : 39|8@0+ (1,0) [0|255] "" NEO
|
||||||
|
SG_ SET_TO_X55 : 47|8@0+ (1,0) [0|255] "" NEO
|
||||||
|
|
||||||
|
BO_ 660 SCM_COMMANDS: 8 SCM
|
||||||
|
SG_ RIGHT_BLINKER : 6|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ LEFT_BLINKER : 5|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ WIPERS_SPEED : 4|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
|
BO_ 773 SEATBELT_STATUS: 7 BDY
|
||||||
|
SG_ SEATBELT_DRIVER_LAMP : 7|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ SEATBELT_DRIVER_LATCHED : 13|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
|
BO_ 777 XXX_8: 8 XXX
|
||||||
|
|
||||||
|
BO_ 780 ACC_HUD: 8 ADAS
|
||||||
|
SG_ PCM_SPEED : 7|16@0+ (0.002763889,0) [0|100] "m/s" BDY
|
||||||
|
SG_ PCM_GAS : 23|7@0+ (1,0) [0|127] "" BDY
|
||||||
|
SG_ ZEROS_BOH : 16|1@0+ (1,0) [0|255] "" BDY
|
||||||
|
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "" BDY
|
||||||
|
SG_ DTC_MODE : 39|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ BOH : 38|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ ACC_PROBLEM : 37|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ FCM_OFF : 36|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ BOH_2 : 35|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ FCM_PROBLEM : 34|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ RADAR_OBSTRUCTED : 33|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ ENABLE_MINI_CAR : 32|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ SET_ME_X03 : 47|2@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ HUD_LEAD : 45|2@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ BOH_3 : 43|1@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ BOH_4 : 42|1@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ BOH_5 : 41|1@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ CRUISE_CONTROL_LABEL : 40|1@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ HUD_DISTANCE_3 : 52|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" BDY
|
||||||
|
|
||||||
|
BO_ 800 XXX_9: 8 XXX
|
||||||
|
|
||||||
|
BO_ 804 CRUISE: 8 PCM
|
||||||
|
SG_ ENGINE_TEMPERATURE : 7|8@0+ (1,0) [0|255] "" NEO
|
||||||
|
SG_ BOH : 15|8@0+ (1,0) [0|255] "" NEO
|
||||||
|
SG_ TRIP_FUEL_CONSUMED : 23|16@0+ (1,0) [0|255] "" NEO
|
||||||
|
SG_ CRUISE_SPEED_PCM : 39|8@0+ (1,0) [0|255] "" NEO
|
||||||
|
SG_ BOH2 : 47|8@0- (1,0) [0|255] "" NEO
|
||||||
|
SG_ BOH3 : 55|8@0+ (1,0) [0|255] "" NEO
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
|
BO_ 808 XXX_10: 8 XXX
|
||||||
|
|
||||||
|
BO_ 819 XXX_11: 7 XXX
|
||||||
|
|
||||||
|
BO_ 821 XXX_12: 5 XXX
|
||||||
|
|
||||||
|
BO_ 829 LKAS_HUD_2: 5 ADAS
|
||||||
|
SG_ CAM_TEMP_HIGH : 7|1@0+ (1,0) [0|255] "" BDY
|
||||||
|
SG_ BOH : 6|7@0+ (1,0) [0|127] "" BDY
|
||||||
|
SG_ DASHED_LANES : 14|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ DTC : 13|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ LKAS_PROBLEM : 12|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ LKAS_OFF : 11|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ SOLID_LANES : 10|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ LDW_RIGHT : 9|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ STEERING_REQUIRED : 8|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ BOH : 23|2@0+ (1,0) [0|4] "" BDY
|
||||||
|
SG_ LDW_PROBLEM : 21|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ BEEP : 17|2@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ LDW_ON : 28|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ LDW_OFF : 27|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ CLEAN_WINDSHIELD : 26|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ SET_ME_X48 : 31|8@0+ (1,0) [0|255] "" BDY
|
||||||
|
SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" BDY
|
||||||
|
|
||||||
|
BO_ 882 XXX_13: 2 XXX
|
||||||
|
|
||||||
|
BO_ 884 XXX_14: 7 XXX
|
||||||
|
|
||||||
|
BO_ 887 XXX_15: 8 XXX
|
||||||
|
|
||||||
|
BO_ 888 XXX_16: 8 XXX
|
||||||
|
|
||||||
|
BO_ 892 XXX_17: 8 XXX
|
||||||
|
|
||||||
|
BO_ 923 XXX_18: 2 XXX
|
||||||
|
|
||||||
|
BO_ 929 XXX_19: 4 XXX
|
||||||
|
|
||||||
|
BO_ 983 XXX_20: 8 XXX
|
||||||
|
|
||||||
|
BO_ 985 XXX_21: 3 XXX
|
||||||
|
|
||||||
|
BO_ 1024 XXX_22: 5 XXX
|
||||||
|
|
||||||
|
BO_ 1027 XXX_23: 5 XXX
|
||||||
|
|
||||||
|
BO_ 1029 DOORS_STATUS: 8 BDY
|
||||||
|
SG_ DOOR_OPEN_FL : 37|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ DOOR_OPEN_FR : 38|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ DOOR_OPEN_RL : 39|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ DOOR_OPEN_RR : 40|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
|
BO_ 1030 XXX_24: 5 VSA
|
||||||
|
|
||||||
|
BO_ 1034 XXX_25: 5 XXX
|
||||||
|
|
||||||
|
BO_ 1036 XXX_26: 8 XXX
|
||||||
|
|
||||||
|
BO_ 1039 XXX_27: 8 XXX
|
||||||
|
|
||||||
|
BO_ 1057 XXX_28: 5 EPS
|
||||||
|
|
||||||
|
BO_ 1064 XXX_29: 7 XXX
|
||||||
|
|
||||||
|
BO_ 1108 XXX_30: 8 XXX
|
||||||
|
|
||||||
|
BO_ 1365 XXX_31: 5 XXX
|
||||||
|
|
||||||
|
BO_ 1600 XXX_32: 5 XXX
|
||||||
|
|
||||||
|
BO_ 1601 XXX_33: 8 XXX
|
||||||
|
|
||||||
|
BO_TX_BU_ 228 : NEO,ADAS;
|
||||||
|
BO_TX_BU_ 506 : NEO,ADAS;
|
||||||
|
BO_TX_BU_ 780 : NEO,ADAS;
|
||||||
|
BO_TX_BU_ 829 : NEO,ADAS;
|
||||||
|
|
||||||
|
|
||||||
|
CM_ SG_ 419 GEAR "10 = reverse, 11 = transition";
|
||||||
|
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
|
||||||
|
CM_ SG_ 780 CRUISE_SPEED "255 = no speed";
|
||||||
|
CM_ SG_ 804 CRUISE_SPEED_PCM "255 = no speed";
|
||||||
|
CM_ SG_ 829 BEEP "beeps are pleasant, chimes are for warnngs etc...";
|
||||||
|
VAL_ 399 STEER_STATUS 5 "fault" 4 "no_torque_alert_2" 2 "no_torque_alert_1" 0 "normal" ;
|
||||||
|
VAL_ 419 GEAR_SHIFTER 10 "S" 4 "D" 3 "N" 2 "R" 1 "P" ;
|
||||||
|
VAL_ 422 CRUISE_BUTTONS 7 "tbd" 6 "tbd" 5 "tbd" 4 "accel_res" 3 "decel_set" 2 "cancel" 1 "main" 0 "none" ;
|
||||||
|
VAL_ 422 LIGHTS_SETTING 3 "high_beam" 2 "low_beam" 1 "position" 0 "no_lights" ;
|
||||||
|
VAL_ 422 CRUISE_SETTING 3 "distance_adj" 2 "tbd" 1 "lkas_button" 0 "none" ;
|
||||||
|
VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ;
|
||||||
|
VAL_ 506 FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw" ;
|
||||||
|
VAL_ 780 HUD_LEAD 3 "no_car" 2 "solid_car" 1 "dashed_car" 0 "no_car" ;
|
||||||
|
VAL_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
|
||||||
|
|
||||||
CM_ SG_ 0x1A3 GEAR "10 = reverse, 11 = transition";
|
|
||||||
CM_ SG_ 0x324 CRUISE_SPEED_ECHO "255 = no speed";
|
|
||||||
CM_ SG_ 0x33D CRUISE_SPEED "255 = no speed";
|
|
||||||
CM_ SG_ 0x1EA LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
|
|
||||||
CM_ SG_ 0x33D BEEP "beeps are pleasant, chimes are for warnngs etc...";
|
|
||||||
|
|||||||
+113
-105
@@ -15,7 +15,7 @@ NS_ :
|
|||||||
ENVVAR_DATA_
|
ENVVAR_DATA_
|
||||||
SGTYPE_
|
SGTYPE_
|
||||||
SGTYPE_VAL_
|
SGTYPE_VAL_
|
||||||
BA_DEF_SGTYPE_
|
BA_DEF_SGTYPE_
|
||||||
BA_SGTYPE_
|
BA_SGTYPE_
|
||||||
SIG_TYPE_REF_
|
SIG_TYPE_REF_
|
||||||
VAL_TABLE_
|
VAL_TABLE_
|
||||||
@@ -33,143 +33,151 @@ NS_ :
|
|||||||
|
|
||||||
BS_:
|
BS_:
|
||||||
|
|
||||||
|
BU_: ADAS RADAR NEO XXX
|
||||||
|
|
||||||
BO_ 0x300 VEHICLE_STATE: 8 ADAS
|
|
||||||
SG_ SET_ME_XF9 : 0|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ VEHICLE_SPEED : 8|8@1+ (1,0) [0|255] "kph" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x301 VEHICLE_STATE2: 8 ADAS
|
BO_ 768 VEHICLE_STATE: 8 ADAS
|
||||||
SG_ SET_ME_0F18510 : 0|28@1+ (1,0) [0|268435455] "" Vector__XXX
|
SG_ SET_ME_XF9 : 7|8@0+ (1,0) [0|255] "" Vector__XXX
|
||||||
SG_ SET_ME_25A0000 : 28|28@1+ (1,0) [0|268435455] "" Vector__XXX
|
SG_ VEHICLE_SPEED : 15|8@0+ (1,0) [0|255] "kph" Vector__XXX
|
||||||
|
|
||||||
BO_ 0x400 XXX: 8 RADAR
|
BO_ 769 VEHICLE_STATE2: 8 ADAS
|
||||||
|
SG_ SET_ME_0F18510 : 7|28@0+ (1,0) [0|268435455] "" Vector__XXX
|
||||||
|
SG_ SET_ME_25A0000 : 27|28@0+ (1,0) [0|268435455] "" Vector__XXX
|
||||||
|
|
||||||
BO_ 0x410 XXX: 8 RADAR
|
BO_ 1024 XXX_100: 8 RADAR
|
||||||
|
|
||||||
BO_ 0x411 XXX: 8 RADAR
|
BO_ 1040 XXX_101: 8 RADAR
|
||||||
|
|
||||||
BO_ 0x412 XXX: 8 RADAR
|
BO_ 1041 XXX_102: 8 RADAR
|
||||||
|
|
||||||
BO_ 0x413 XXX: 8 RADAR
|
BO_ 1042 XXX_103: 8 RADAR
|
||||||
|
|
||||||
BO_ 0x414 XXX: 8 RADAR
|
BO_ 1043 XXX_104: 8 RADAR
|
||||||
|
|
||||||
BO_ 0x415 XXX: 8 RADAR
|
BO_ 1044 XXX_105: 8 RADAR
|
||||||
|
|
||||||
BO_ 0x416 XXX: 8 RADAR
|
BO_ 1045 XXX_106: 8 RADAR
|
||||||
|
|
||||||
BO_ 0x417 XXX: 8 RADAR
|
BO_ 1046 XXX_107: 8 RADAR
|
||||||
|
|
||||||
BO_ 0x420 XXX: 8 RADAR
|
BO_ 1047 XXX_108: 8 RADAR
|
||||||
|
|
||||||
BO_ 0x421 XXX: 8 RADAR
|
BO_ 1056 XXX_109: 8 RADAR
|
||||||
|
|
||||||
BO_ 0x422 XXX: 8 RADAR
|
BO_ 1057 XXX_110: 8 RADAR
|
||||||
|
|
||||||
BO_ 0x423 XXX: 8 RADAR
|
BO_ 1058 XXX_111: 8 RADAR
|
||||||
|
|
||||||
BO_ 0x424 XXX: 8 RADAR
|
BO_ 1059 XXX_112: 8 RADAR
|
||||||
|
|
||||||
BO_ 0x430 TRACK_0: 8 RADAR
|
BO_ 1060 XXX_113: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x431 TRACK_1: 8 RADAR
|
BO_ 1072 TRACK_0: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x432 TRACK_2: 8 RADAR
|
BO_ 1073 TRACK_1: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x433 TRACK_3: 8 RADAR
|
BO_ 1074 TRACK_2: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x434 TRACK_4: 8 RADAR
|
BO_ 1075 TRACK_3: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x435 TRACK_5: 8 RADAR
|
BO_ 1076 TRACK_4: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x436 TRACK_6: 8 RADAR
|
BO_ 1077 TRACK_5: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x437 TRACK_7: 8 RADAR
|
BO_ 1078 TRACK_6: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x438 TRACK_8: 8 RADAR
|
BO_ 1079 TRACK_7: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x439 TRACK_9: 8 RADAR
|
BO_ 1080 TRACK_8: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x440 TRACK_10: 8 RADAR
|
BO_ 1081 TRACK_9: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x441 TRACK_11: 8 RADAR
|
BO_ 1088 TRACK_10: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x442 TRACK_12: 8 RADAR
|
BO_ 1089 TRACK_11: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x443 TRACK_13: 8 RADAR
|
BO_ 1090 TRACK_12: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x444 TRACK_14: 8 RADAR
|
BO_ 1091 TRACK_13: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x445 TRACK_15: 8 RADAR
|
BO_ 1092 TRACK_14: 8 RADAR
|
||||||
SG_ LONG_DIST : 0|12@1+ (0.0625,0) [0|255.5] "m" Vector__XXX
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
SG_ NEW_TRACK : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LAT_DIST : 14|10@1- (0.0625,0) [0|63.5] "m" Vector__XXX
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
SG_ REL_SPEED : 24|12@1- (0.03125,0) [0|127.5] "m/s" Vector__XXX
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
BO_ 0x4FF XXX: 8 RADAR
|
BO_ 1093 TRACK_15: 8 RADAR
|
||||||
|
SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO
|
||||||
|
SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO
|
||||||
|
SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO
|
||||||
|
|
||||||
|
BO_ 1279 XXX_114: 8 RADAR
|
||||||
|
|
||||||
|
BO_ 1280 XXX_115: 8 RADAR
|
||||||
|
|
||||||
|
BO_ 1296 XXX_116: 8 RADAR
|
||||||
|
|
||||||
|
BO_ 1297 XXX_117: 8 RADAR
|
||||||
|
|
||||||
|
BO_TX_BU_ 768 : NEO,ADAS;
|
||||||
|
BO_TX_BU_ 769 : NEO,ADAS;
|
||||||
|
|
||||||
BO_ 0x500 XXX: 8 RADAR
|
|
||||||
|
|
||||||
BO_ 0x510 XXX: 8 RADAR
|
|
||||||
|
|
||||||
BO_ 0x511 XXX: 8 RADAR
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ NS_ :
|
|||||||
ENVVAR_DATA_
|
ENVVAR_DATA_
|
||||||
SGTYPE_
|
SGTYPE_
|
||||||
SGTYPE_VAL_
|
SGTYPE_VAL_
|
||||||
BA_DEF_SGTYPE_
|
BA_DEF_SGTYPE_
|
||||||
BA_SGTYPE_
|
BA_SGTYPE_
|
||||||
SIG_TYPE_REF_
|
SIG_TYPE_REF_
|
||||||
VAL_TABLE_
|
VAL_TABLE_
|
||||||
@@ -33,287 +33,311 @@ NS_ :
|
|||||||
|
|
||||||
BS_:
|
BS_:
|
||||||
|
|
||||||
BO_ 0x039 XXX: 3 XXX
|
BU_: INTERCEPTOR EBCM NEO ADAS PCM EPS VSA SCM BDY XXX EPB
|
||||||
|
|
||||||
BO_ 0x94 XXX: 8 XXX
|
|
||||||
SG_ LAT_ACCEL : 0|10@1+ (0.02,-512) [-20|20] "m/s2" Vector__XXX
|
|
||||||
SG_ LONG_ACCEL : 31|9@1- (-0.02,0) [-20|20] "m/s2" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x0E4 STEERING_CONTROL: 5 ADAS
|
BO_ 57 XXX_1: 3 XXX
|
||||||
SG_ STEER_TORQUE : 0|16@1- (1,0) [-3840|3840] "" Vector__XXX
|
|
||||||
SG_ STEER_TORQUE_REQUEST : 16|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ SET_ME_X00 : 17|7@1+ (1,0) [0|127] "" Vector__XXX
|
|
||||||
SG_ SET_ME_X00_2 : 24|8@1+ (1,0) [0|0] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 32|4@1+ (1,0) [0|15] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 38|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x130 GAS_PEDAL2: 8 PCM
|
BO_ 148 XXX_2: 8 XXX
|
||||||
SG_ ENGINE_TORQUE_ESTIMATE : 0|16@1- (1,0) [-1000|1000] "Nm" Vector__XXX
|
SG_ LAT_ACCEL : 7|10@0+ (0.02,-512) [-20|20] "m/s2" NEO
|
||||||
SG_ ENGINE_TORQUE_REQUEST : 16|16@1- (1,0) [-1000|1000] "Nm" Vector__XXX
|
SG_ LONG_ACCEL : 24|9@0- (-0.02,0) [-20|20] "m/s2" NEO
|
||||||
SG_ CAR_GAS : 32|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x14A STEERING_SENSORS: 8 EPS
|
BO_ 228 STEERING_CONTROL: 5 ADAS
|
||||||
SG_ STEER_ANGLE : 0|16@1- (-0.1,0) [-500|500] "deg" Vector__XXX
|
SG_ STEER_TORQUE : 7|16@0- (1,0) [-3840|3840] "" EPS
|
||||||
SG_ STEER_ANGLE_RATE : 16|16@1- (-1,0) [-3000|3000] "deg/s" Vector__XXX
|
SG_ STEER_TORQUE_REQUEST : 23|1@0+ (1,0) [0|1] "" EPS
|
||||||
SG_ STEER_ANGLE_OFFSET : 32|8@1- (-0.1,0) [-128|127] "deg" Vector__XXX
|
SG_ SET_ME_X00 : 22|7@0+ (1,0) [0|127] "" EPS
|
||||||
SG_ STEER_WHEEL_ANGLE : 40|16@1- (-0.1,0) [-500|500] "deg" Vector__XXX
|
SG_ SET_ME_X00_2 : 31|8@0+ (1,0) [0|0] "" EPS
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
SG_ CHECKSUM : 39|4@0+ (1,0) [0|15] "" EPS
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
SG_ COUNTER : 33|2@0+ (1,0) [0|3] "" EPS
|
||||||
|
|
||||||
BO_ 0x158 POWERTRAIN_DATA: 8 PCM
|
BO_ 304 GAS_PEDAL2: 8 PCM
|
||||||
SG_ XMISSION_SPEED : 0|16@1+ (0.002759506,0) [0|70] "m/s" Vector__XXX
|
SG_ ENGINE_TORQUE_ESTIMATE : 7|16@0- (1,0) [-1000|1000] "Nm" NEO
|
||||||
SG_ ENGINE_RPM : 16|16@1+ (1,0) [0|15000] "rpm" Vector__XXX
|
SG_ ENGINE_TORQUE_REQUEST : 23|16@0- (1,0) [-1000|1000] "Nm" NEO
|
||||||
SG_ XMISSION_SPEED2 : 32|16@1+ (0.002759506,0) [0|70] "m/s" Vector__XXX
|
SG_ CAR_GAS : 39|8@0+ (1,0) [0|255] "" NEO
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x17C POWERTRAIN_DATA2: 8 PCM
|
BO_ 330 STEERING_SENSORS: 8 EPS
|
||||||
SG_ PEDAL_GAS : 0|8@1+ (1,0) [0|255] "" Vector__XXX
|
SG_ STEER_ANGLE : 7|16@0- (-0.1,0) [-500|500] "deg" NEO
|
||||||
SG_ ENGINE_RPM : 16|16@1+ (1,0) [0|15000] "rpm" Vector__XXX
|
SG_ STEER_ANGLE_RATE : 23|16@0- (-1,0) [-3000|3000] "deg/s" NEO
|
||||||
SG_ GAS_PRESSED : 32|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ STEER_ANGLE_OFFSET : 39|8@0- (-0.1,0) [-128|127] "deg" NEO
|
||||||
SG_ ACC_STATUS : 33|1@1+ (1,0) [0|1] "rpm" Vector__XXX
|
SG_ STEER_WHEEL_ANGLE : 47|16@0- (-0.1,0) [-500|500] "deg" NEO
|
||||||
SG_ BOH_17C : 34|5@1+ (1,0) [0|1] "rpm" Vector__XXX
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO
|
||||||
SG_ BRAKE_LIGHTS_ON : 39|1@1+ (1,0) [0|1] "rpm" Vector__XXX
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
SG_ BOH2_17C : 40|10@1+ (1,0) [0|1] "rpm" Vector__XXX
|
|
||||||
SG_ BRAKE_PRESSED : 50|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BOH3_17C : 51|5@1+ (1,0) [0|1] "rpm" Vector__XXX
|
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x18F STEER_STATUS: 7 EPS
|
BO_ 344 POWERTRAIN_DATA: 8 PCM
|
||||||
SG_ STEER_TORQUE_SENSOR : 0|16@1- (1,0) [-31000|31000] "tbd" Vector__XXX
|
SG_ XMISSION_SPEED : 7|16@0+ (0.002759506,0) [0|70] "m/s" NEO
|
||||||
SG_ STEER_TORQUE_MOTOR : 16|16@1- (1,0) [-31000|31000] "tbd" Vector__XXX
|
SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" NEO
|
||||||
SG_ STEER_STATUS : 32|4@1+ (1,0) [0|15] "" Vector__XXX
|
SG_ XMISSION_SPEED2 : 39|16@0+ (0.002759506,0) [0|70] "m/s" NEO
|
||||||
SG_ STEER_CONTROL_ACTIVE : 36|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO
|
||||||
SG_ COUNTER : 50|2@1+ (1,0) [0|3] "" Vector__XXX
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
SG_ CHECKSUM : 52|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x191 GEARBOX: 8 PCM
|
BO_ 380 POWERTRAIN_DATA2: 8 PCM
|
||||||
SG_ GEAR_SHIFTER : 2|6@1+ (1,0) [0|63] "" Vector__XXX
|
SG_ PEDAL_GAS : 7|8@0+ (1,0) [0|255] "" NEO
|
||||||
SG_ GEAR : 36|4@1+ (1,0) [0|15] "" Vector__XXX
|
SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" NEO
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
SG_ GAS_PRESSED : 39|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
SG_ ACC_STATUS : 38|1@0+ (1,0) [0|1] "rpm" NEO
|
||||||
|
SG_ BOH_17C : 37|5@0+ (1,0) [0|1] "rpm" NEO
|
||||||
|
SG_ BRAKE_LIGHTS_ON : 32|1@0+ (1,0) [0|1] "rpm" NEO
|
||||||
|
SG_ BOH2_17C : 47|10@0+ (1,0) [0|1] "rpm" NEO
|
||||||
|
SG_ BRAKE_PRESSED : 53|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ BOH3_17C : 52|5@0+ (1,0) [0|1] "rpm" NEO
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
BO_ 0x1A4 VSA_STATUS: 8 VSA
|
BO_ 399 STEER_STATUS: 7 EPS
|
||||||
SG_ USER_BRAKE : 0|16@1+ (0.015625,-103) [0|1000] "" Vector__XXX
|
SG_ STEER_TORQUE_SENSOR : 7|16@0- (1,0) [-31000|31000] "tbd" NEO
|
||||||
SG_ ESP_DISABLED : 27|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ STEER_TORQUE_MOTOR : 23|16@0- (1,0) [-31000|31000] "tbd" NEO
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
SG_ STEER_STATUS : 39|4@0+ (1,0) [0|15] "" NEO
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
SG_ STEER_CONTROL_ACTIVE : 35|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
BO_ 0x1AB XXX: 3 VSA
|
BO_ 401 GEARBOX: 8 PCM
|
||||||
|
SG_ GEAR_SHIFTER : 5|6@0+ (1,0) [0|63] "" NEO
|
||||||
|
SG_ GEAR : 35|4@0+ (1,0) [0|15] "" NEO
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
BO_ 0x1AC XXX: 8 XXX
|
BO_ 420 VSA_STATUS: 8 VSA
|
||||||
|
SG_ USER_BRAKE : 7|16@0+ (0.015625,-103) [0|1000] "" NEO
|
||||||
|
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
BO_ 0x1B0 STANDSTILL: 7 VSA
|
BO_ 427 XXX_3: 3 VSA
|
||||||
SG_ WHEELS_MOVING : 11|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BRAKE_ERROR_1 : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BRAKE_ERROR_2 : 14|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 50|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 52|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x1C2 XXX: 8 EPB
|
BO_ 428 XXX_4: 8 XXX
|
||||||
SG_ EPB_ACTIVE : 4|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ EPB_STATE : 26|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x1D0 WHEEL_SPEEDS: 8 VSA
|
BO_ 432 STANDSTILL: 7 VSA
|
||||||
SG_ WHEEL_SPEED_FL : 0|15@1+ (0.002759506,0) [0|70] "m/s" Vector__XXX
|
SG_ WHEELS_MOVING : 12|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ WHEEL_SPEED_FR : 15|15@1+ (0.002759506,0) [0|70] "m/s" Vector__XXX
|
SG_ BRAKE_ERROR_1 : 11|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ WHEEL_SPEED_RL : 30|15@1+ (0.002759506,0) [0|70] "m/s" Vector__XXX
|
SG_ BRAKE_ERROR_2 : 9|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ WHEEL_SPEED_RR : 45|15@1+ (0.002759506,0) [0|70] "m/s" Vector__XXX
|
SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
BO_ 0x1D6 XXX: 2 VSA
|
BO_ 450 XXX_5: 8 EPB
|
||||||
|
SG_ EPB_ACTIVE : 3|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ EPB_STATE : 29|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
BO_ 0x1DC XXX: 7 XXX
|
BO_ 464 WHEEL_SPEEDS: 8 VSA
|
||||||
|
SG_ WHEEL_SPEED_FL : 7|15@0+ (0.002759506,0) [0|70] "m/s" NEO
|
||||||
|
SG_ WHEEL_SPEED_FR : 8|15@0+ (0.002759506,0) [0|70] "m/s" NEO
|
||||||
|
SG_ WHEEL_SPEED_RL : 25|15@0+ (0.002759506,0) [0|70] "m/s" NEO
|
||||||
|
SG_ WHEEL_SPEED_RR : 42|15@0+ (0.002759506,0) [0|70] "m/s" NEO
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
BO_ 0x1E7 XXX: 4 VSA
|
BO_ 470 XXX_6: 2 VSA
|
||||||
SG_ BRAKE_PRESSURE1 : 0|10@1+ (0.015625,-103) [0|1000] "" Vector__XXX
|
|
||||||
SG_ BRAKE_PRESSURE2 : 14|10@1+ (0.015625,-103) [0|1000] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x1EA VEHICLE_DYNAMICS: 8 VSA
|
BO_ 476 XXX_7: 7 XXX
|
||||||
SG_ LONG_ACCEL : 16|16@1- (0.0015384,0) [-20|20] "m/s2" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x1ED XXX: 5 VSA
|
BO_ 487 XXX_8: 4 VSA
|
||||||
|
SG_ BRAKE_PRESSURE1 : 7|10@0+ (0.015625,-103) [0|1000] "" NEO
|
||||||
|
SG_ BRAKE_PRESSURE2 : 9|10@0+ (0.015625,-103) [0|1000] "" NEO
|
||||||
|
|
||||||
BO_ 0x1FA BRAKE_COMMAND: 8 ADAS
|
BO_ 490 VEHICLE_DYNAMICS: 8 VSA
|
||||||
SG_ COMPUTER_BRAKE : 0|10@1+ (0.003906248,0) [0|1.0] "" Vector__XXX
|
SG_ LONG_ACCEL : 23|16@0- (0.0015384,0) [-20|20] "m/s2" NEO
|
||||||
SG_ ZEROS_BOH : 10|5@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ COMPUTER_BRAKE_REQUEST : 15|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CRUISE_BOH2 : 16|3@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CRUISE_OVERRIDE : 19|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CRUISE_BOH3 : 20|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CRUISE_FAULT_CMD : 21|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CRUISE_CANCEL_CMD : 22|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ COMPUTER_BRAKE_REQUEST_2 : 23|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ SET_ME_0X80 : 24|8@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BRAKE_LIGHTS : 32|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CRUISE_STATES : 33|7@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CHIME : 40|3@1+ (1,0) [0|7] "" Vector__XXX
|
|
||||||
SG_ ZEROS_BOH6 : 43|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ FCW : 44|1@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ ZEROS_BOH3 : 45|2@1+ (1,0) [0|0] "" Vector__XXX
|
|
||||||
SG_ FCW2 : 47|1@1+ (1,0) [0|0] "" Vector__XXX
|
|
||||||
SG_ ZEROS_BOH4 : 48|8@1+ (1,0) [0|0] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x200 GAS_COMMAND: 3 ADAS
|
BO_ 493 XXX_9: 5 VSA
|
||||||
SG_ GAS_COMMAND : 0|16@1+ (0.253984064,-328) [0|1] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 18|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 20|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x201 GAS_SENSOR: 5 ADAS
|
BO_ 506 BRAKE_COMMAND: 8 ADAS
|
||||||
SG_ INTERCEPTOR_GAS : 0|16@1+ (0.253984064,-328) [0|1] "" Vector__XXX
|
SG_ COMPUTER_BRAKE : 7|10@0+ (0.003906248,0) [0|1] "" EBCM
|
||||||
SG_ INTERCEPTOR_GAS2 : 16|16@1+ (0.126992032,-656) [0|1] "" Vector__XXX
|
SG_ ZEROS_BOH : 13|5@0+ (1,0) [0|1] "" EBCM
|
||||||
SG_ COUNTER : 34|2@1+ (1,0) [0|3] "" Vector__XXX
|
SG_ COMPUTER_BRAKE_REQUEST : 8|1@0+ (1,0) [0|1] "" EBCM
|
||||||
SG_ CHECKSUM : 36|4@1+ (1,0) [0|3] "" Vector__XXX
|
SG_ CRUISE_BOH2 : 23|3@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ CRUISE_OVERRIDE : 20|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ CRUISE_BOH3 : 19|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ CRUISE_FAULT_CMD : 18|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ CRUISE_CANCEL_CMD : 17|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ COMPUTER_BRAKE_REQUEST_2 : 16|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ SET_ME_0X80 : 31|8@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ BRAKE_LIGHTS : 39|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ CRUISE_STATES : 38|7@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM
|
||||||
|
SG_ ZEROS_BOH6 : 44|1@0+ (1,0) [0|1] "" EBCM
|
||||||
|
SG_ FCW : 43|1@0+ (1,0) [0|3] "" EBCM
|
||||||
|
SG_ ZEROS_BOH3 : 42|2@0+ (1,0) [0|0] "" EBCM
|
||||||
|
SG_ FCW2 : 40|1@0+ (1,0) [0|0] "" EBCM
|
||||||
|
SG_ ZEROS_BOH4 : 55|8@0+ (1,0) [0|0] "" EBCM
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EBCM
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EBCM
|
||||||
|
|
||||||
BO_ 0x221 XXX: 6 XXX
|
BO_ 512 GAS_COMMAND: 3 NEO
|
||||||
|
SG_ GAS_COMMAND : 7|16@0+ (0.253984064,-328) [0|1] "" INTERCEPTOR
|
||||||
|
SG_ COUNTER : 21|2@0+ (1,0) [0|3] "" INTERCEPTOR
|
||||||
|
SG_ CHECKSUM : 19|4@0+ (1,0) [0|3] "" INTERCEPTOR
|
||||||
|
|
||||||
BO_ 0x255 ROUGH_WHEEL_SPEED: 8 VSA
|
BO_ 513 GAS_SENSOR: 5 INTERCEPTOR
|
||||||
SG_ WHEEL_SPEED_FL : 0|8@1+ (1,0) [0|255] "mph" Vector__XXX
|
SG_ INTERCEPTOR_GAS : 7|16@0+ (0.253984064,-328) [0|1] "" NEO
|
||||||
SG_ WHEEL_SPEED_FR : 8|8@1+ (1,0) [0|255] "mph" Vector__XXX
|
SG_ INTERCEPTOR_GAS2 : 23|16@0+ (0.126992032,-656) [0|1] "" NEO
|
||||||
SG_ WHEEL_SPEED_RL : 16|8@1+ (1,0) [0|255] "mph" Vector__XXX
|
SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" NEO
|
||||||
SG_ WHEEL_SPEED_RR : 24|8@1+ (1,0) [0|255] "mph" Vector__XXX
|
SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" NEO
|
||||||
SG_ SET_TO_X55 : 32|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ SET_TO_X55 : 40|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x296 CRUISE_BUTTONS: 4 SCM
|
BO_ 545 XXX_10: 6 XXX
|
||||||
SG_ CRUISE_BUTTONS : 0|3@1+ (1,0) [0|7] "" Vector__XXX
|
|
||||||
SG_ CRUISE_SETTING : 4|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x305 SEATBELT_STATUS: 7 BDY
|
BO_ 597 ROUGH_WHEEL_SPEED: 8 VSA
|
||||||
SG_ SEATBELT_DRIVER_LAMP : 0|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ WHEEL_SPEED_FL : 7|8@0+ (1,0) [0|255] "mph" NEO
|
||||||
SG_ SEATBELT_DRIVER_LATCHED : 10|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ WHEEL_SPEED_FR : 15|8@0+ (1,0) [0|255] "mph" NEO
|
||||||
SG_ COUNTER : 50|2@1+ (1,0) [0|3] "" Vector__XXX
|
SG_ WHEEL_SPEED_RL : 23|8@0+ (1,0) [0|255] "mph" NEO
|
||||||
SG_ CHECKSUM : 52|4@1+ (1,0) [0|3] "" Vector__XXX
|
SG_ WHEEL_SPEED_RR : 31|8@0+ (1,0) [0|255] "mph" NEO
|
||||||
|
SG_ SET_TO_X55 : 39|8@0+ (1,0) [0|255] "" NEO
|
||||||
|
SG_ SET_TO_X55 : 47|8@0+ (1,0) [0|255] "" NEO
|
||||||
|
|
||||||
BO_ 0x309 XXX: 8 XXX
|
BO_ 662 CRUISE_BUTTONS: 4 SCM
|
||||||
|
SG_ CRUISE_BUTTONS : 7|3@0+ (1,0) [0|7] "" NEO
|
||||||
|
SG_ CRUISE_SETTING : 3|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
BO_ 0x30C ACC_HUD: 8 ADAS
|
BO_ 773 SEATBELT_STATUS: 7 BDY
|
||||||
SG_ PCM_SPEED : 0|16@1+ (0.002763889,0) [0|100] "m/s" Vector__XXX
|
SG_ SEATBELT_DRIVER_LAMP : 7|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ PCM_GAS : 16|7@1+ (1,0) [0|127] "" Vector__XXX
|
SG_ SEATBELT_DRIVER_LATCHED : 13|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ ZEROS_BOH : 23|1@1+ (1,0) [0|255] "" Vector__XXX
|
SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO
|
||||||
SG_ CRUISE_SPEED : 24|8@1+ (1,0) [0|255] "" Vector__XXX
|
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO
|
||||||
SG_ DTC_MODE : 32|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BOH : 33|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ ACC_PROBLEM : 34|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ FCM_OFF : 35|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BOH_2 : 36|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ FCM_PROBLEM : 37|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ RADAR_OBSTRUCTED : 38|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ ENABLE_MINI_CAR : 39|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ HUD_DISTANCE : 40|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ HUD_LEAD : 42|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ BOH_3 : 44|1@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ BOH_4 : 45|1@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ BOH_5 : 46|1@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CRUISE_CONTROL_LABEL : 47|1@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x31B XXX: 8 XXX
|
BO_ 777 XXX_11: 8 XXX
|
||||||
|
|
||||||
BO_ 0x320 XXX: 8 XXX
|
BO_ 780 ACC_HUD: 8 ADAS
|
||||||
|
SG_ PCM_SPEED : 7|16@0+ (0.002763889,0) [0|100] "m/s" BDY
|
||||||
|
SG_ PCM_GAS : 23|7@0+ (1,0) [0|127] "" BDY
|
||||||
|
SG_ ZEROS_BOH : 16|1@0+ (1,0) [0|255] "" BDY
|
||||||
|
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "" BDY
|
||||||
|
SG_ DTC_MODE : 39|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ BOH : 38|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ ACC_PROBLEM : 37|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ FCM_OFF : 36|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ BOH_2 : 35|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ FCM_PROBLEM : 34|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ RADAR_OBSTRUCTED : 33|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ ENABLE_MINI_CAR : 32|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ HUD_DISTANCE : 47|2@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ HUD_LEAD : 45|2@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ BOH_3 : 43|1@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ BOH_4 : 42|1@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ BOH_5 : 41|1@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ CRUISE_CONTROL_LABEL : 40|1@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" BDY
|
||||||
|
|
||||||
BO_ 0x324 CRUISE: 8 PCM
|
BO_ 795 XXX_12: 8 XXX
|
||||||
SG_ ENGINE_TEMPERATURE : 0|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ BOH : 8|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ TRIP_FUEL_CONSUMED : 16|16@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ CRUISE_SPEED_PCM : 32|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ BOH2 : 40|8@1- (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ BOH3 : 48|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x326 SCM_FEEDBACK: 8 SCM
|
BO_ 800 XXX_13: 8 XXX
|
||||||
SG_ CMBS_BUTTON : 17|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ MAIN_ON : 27|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ RIGHT_BLINKER : 28|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ LEFT_BLINKER : 29|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
|
|
||||||
|
|
||||||
BO_ 0x328 XXX: 8 XXX
|
BO_ 804 CRUISE: 8 PCM
|
||||||
|
SG_ ENGINE_TEMPERATURE : 7|8@0+ (1,0) [0|255] "" NEO
|
||||||
|
SG_ BOH : 15|8@0+ (1,0) [0|255] "" NEO
|
||||||
|
SG_ TRIP_FUEL_CONSUMED : 23|16@0+ (1,0) [0|255] "" NEO
|
||||||
|
SG_ CRUISE_SPEED_PCM : 39|8@0+ (1,0) [0|255] "" NEO
|
||||||
|
SG_ BOH2 : 47|8@0- (1,0) [0|255] "" NEO
|
||||||
|
SG_ BOH3 : 55|8@0+ (1,0) [0|255] "" NEO
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
BO_ 0x33D LKAS_HUD_2: 5 ADAS
|
BO_ 806 SCM_FEEDBACK: 8 SCM
|
||||||
SG_ CAM_TEMP_HIGH : 0|1@1+ (1,0) [0|255] "" Vector__XXX
|
SG_ CMBS_BUTTON : 22|2@0+ (1,0) [0|3] "" NEO
|
||||||
SG_ BOH : 1|7@1+ (1,0) [0|127] "" Vector__XXX
|
SG_ MAIN_ON : 28|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ DASHED_LANES : 9|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ RIGHT_BLINKER : 27|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ DTC : 10|1@1+ (1,0) [0|1] "" Vector__XXX
|
SG_ LEFT_BLINKER : 26|1@0+ (1,0) [0|1] "" NEO
|
||||||
SG_ LKAS_PROBLEM : 11|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ LKAS_OFF : 12|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ SOLID_LANES : 13|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ LDW_RIGHT : 14|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ STEERING_REQUIRED : 15|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BOH : 16|2@1+ (1,0) [0|4] "" Vector__XXX
|
|
||||||
SG_ LDW_PROBLEM : 18|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ BEEP : 22|2@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ LDW_ON : 27|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ LDW_OFF : 28|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ CLEAN_WINDSHIELD : 29|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ SET_ME_X48 : 24|8@1+ (1,0) [0|255] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 34|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 36|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x35E XXX: 8 ADAS
|
BO_ 808 XXX_14: 8 XXX
|
||||||
SG_ UI_ALERTS : 0|56@1+ (1,0) [0|127] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x374 XXX: 8 XXX
|
BO_ 829 LKAS_HUD_2: 5 ADAS
|
||||||
BO_ 0x37B XXX: 8 XXX
|
SG_ CAM_TEMP_HIGH : 7|1@0+ (1,0) [0|255] "" BDY
|
||||||
BO_ 0x37C XXX: 8 XXX
|
SG_ BOH : 6|7@0+ (1,0) [0|127] "" BDY
|
||||||
|
SG_ DASHED_LANES : 14|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ DTC : 13|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ LKAS_PROBLEM : 12|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ LKAS_OFF : 11|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ SOLID_LANES : 10|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ LDW_RIGHT : 9|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ STEERING_REQUIRED : 8|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ BOH : 23|2@0+ (1,0) [0|4] "" BDY
|
||||||
|
SG_ LDW_PROBLEM : 21|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ BEEP : 17|2@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ LDW_ON : 28|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ LDW_OFF : 27|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ CLEAN_WINDSHIELD : 26|1@0+ (1,0) [0|1] "" BDY
|
||||||
|
SG_ SET_ME_X48 : 31|8@0+ (1,0) [0|255] "" BDY
|
||||||
|
SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" BDY
|
||||||
|
SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" BDY
|
||||||
|
|
||||||
BO_ 0x39F XXX: 8 ADAS
|
BO_ 862 XXX_15: 8 ADAS
|
||||||
SG_ ZEROS_BOH : 0|17@1+ (1,0) [0|127] "" Vector__XXX
|
SG_ UI_ALERTS : 7|56@0+ (1,0) [0|127] "" BDY
|
||||||
SG_ APPLY_BRAKES_FOR_CANC : 16|1@1+ (1,0) [0|15] "" Vector__XXX
|
|
||||||
SG_ ZEROS_BOH2 : 17|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ RESUME_INSTRUCTION : 18|1@1+ (1,0) [0|15] "" Vector__XXX
|
|
||||||
SG_ ACC_ALERTS : 19|5@1+ (1,0) [0|15] "" Vector__XXX
|
|
||||||
SG_ ZEROS_BOH2 : 24|8@1+ (1,0) [0|127] "" Vector__XXX
|
|
||||||
SG_ LEAD_SPEED : 32|9@1+ (1,0) [0|127] "" Vector__XXX
|
|
||||||
SG_ LEAD_STATE : 41|3@1+ (1,0) [0|127] "" Vector__XXX
|
|
||||||
SG_ LEAD_DISTANCE : 44|5@1+ (1,0) [0|31] "" Vector__XXX
|
|
||||||
SG_ ZEROS_BOH3 : 49|7@1+ (1,0) [0|127] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x3A1 XXX: 8 XXX
|
BO_ 884 XXX_16: 8 XXX
|
||||||
BO_ 0x3D9 XXX: 3 XXX
|
|
||||||
BO_ 0x400 XXX: 5 XXX
|
|
||||||
BO_ 0x403 XXX: 5 XXX
|
|
||||||
|
|
||||||
BO_ 0x405 DOORS_STATUS: 8 BDY
|
BO_ 891 XXX_17: 8 XXX
|
||||||
SG_ DOOR_OPEN_FL : 34|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ DOOR_OPEN_FR : 33|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ DOOR_OPEN_RL : 32|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ DOOR_OPEN_RR : 47|1@1+ (1,0) [0|1] "" Vector__XXX
|
|
||||||
SG_ COUNTER : 58|2@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
SG_ CHECKSUM : 60|4@1+ (1,0) [0|3] "" Vector__XXX
|
|
||||||
|
|
||||||
BO_ 0x40C XXX: 8 XXX
|
BO_ 892 XXX_18: 8 XXX
|
||||||
BO_ 0x40F XXX: 8 XXX
|
|
||||||
BO_ 0x454 XXX: 8 XXX
|
|
||||||
BO_ 0x516 XXX: 8 XXX
|
|
||||||
BO_ 0x52A XXX: 5 XXX
|
|
||||||
BO_ 0x551 XXX: 5 XXX
|
|
||||||
BO_ 0x555 XXX: 5 XXX
|
|
||||||
BO_ 0x590 XXX: 5 XXX
|
|
||||||
BO_ 0x640 XXX: 5 XXX
|
|
||||||
BO_ 0x641 XXX: 8 XXX
|
|
||||||
BO_ 0x661 XXX: 8 XXX
|
|
||||||
|
|
||||||
VAL_ 0x296 CRUISE_BUTTONS 7 "tbd" 6 "tbd" 5 "tbd" 4 "accel_res" 3 "decel_set" 2 "cancel" 1 "main" 0 "none";
|
BO_ 927 XXX_19: 8 ADAS
|
||||||
VAL_ 0x296 CRUISE_SETTING 3 "distance_adj" 2 "tbd" 1 "lkas_button" 0 "none";
|
SG_ ZEROS_BOH : 7|17@0+ (1,0) [0|127] "" BDY
|
||||||
VAL_ 0x33D HUD_LEAD 3 "acc_off" 2 "solid_car" 1 "dashed_car" 0 "no_car";
|
SG_ APPLY_BRAKES_FOR_CANC : 23|1@0+ (1,0) [0|15] "" BDY
|
||||||
VAL_ 0x1A6 LIGHTS_SETTING 3 "high_beam" 2 "low_beam" 1 "position" 0 "no_lights";
|
SG_ ZEROS_BOH2 : 22|1@0+ (1,0) [0|1] "" BDY
|
||||||
VAL_ 0x18F STEER_STATUS 5 "fault" 4 "no_torque_alert_2" 2 "no_torque_alert_1" 0 "normal";
|
SG_ RESUME_INSTRUCTION : 21|1@0+ (1,0) [0|15] "" BDY
|
||||||
VAL_ 0x191 GEAR_SHIFTER 32 "L" 16 "S" 8 "D" 4 "N" 2 "R" 1 "P";
|
SG_ ACC_ALERTS : 20|5@0+ (1,0) [0|15] "" BDY
|
||||||
VAL_ 0x33D BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep";
|
SG_ ZEROS_BOH2 : 31|8@0+ (1,0) [0|127] "" BDY
|
||||||
VAL_ 0x1FA CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime";
|
SG_ LEAD_SPEED : 39|9@0+ (1,0) [0|127] "" BDY
|
||||||
VAL_ 0x1C2 EPB_STATE 3 "engaged" 2 "disengaging" 1 "engaging" 0 "disengaged";
|
SG_ LEAD_STATE : 46|3@0+ (1,0) [0|127] "" BDY
|
||||||
VAL_ 0x326 CMBS_BUTTON 3 "pressed" 0 "released";
|
SG_ LEAD_DISTANCE : 43|5@0+ (1,0) [0|31] "" BDY
|
||||||
VAL_ 0x39F ACC_ALERTS 29 "esp_active_acc_canceled" 10 "b_pedal_applied" 9 "speed_too_low" 8 "speed_too_high" 7 "p_brake_applied" 6 "gear_no_d" 5 "seatbelt" 4 "too_steep_downhill" 3 "too_steep_uphill" 2 "too_close" 1 "no_vehicle_ahead";
|
SG_ ZEROS_BOH3 : 54|7@0+ (1,0) [0|127] "" BDY
|
||||||
VAL_ 0x30C CRUISE_SPEED 255 "no_speed" 252 "stopped";
|
|
||||||
|
BO_ 929 XXX_20: 8 XXX
|
||||||
|
|
||||||
|
BO_ 985 XXX_21: 3 XXX
|
||||||
|
|
||||||
|
BO_ 1024 XXX_22: 5 XXX
|
||||||
|
|
||||||
|
BO_ 1027 XXX_23: 5 XXX
|
||||||
|
|
||||||
|
BO_ 1029 DOORS_STATUS: 8 BDY
|
||||||
|
SG_ DOOR_OPEN_FL : 37|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ DOOR_OPEN_FR : 38|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ DOOR_OPEN_RL : 39|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ DOOR_OPEN_RR : 40|1@0+ (1,0) [0|1] "" NEO
|
||||||
|
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO
|
||||||
|
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO
|
||||||
|
|
||||||
|
BO_ 1036 XXX_24: 8 XXX
|
||||||
|
|
||||||
|
BO_ 1039 XXX_25: 8 XXX
|
||||||
|
|
||||||
|
BO_ 1108 XXX_26: 8 XXX
|
||||||
|
|
||||||
|
BO_ 1302 XXX_27: 8 XXX
|
||||||
|
|
||||||
|
BO_ 1322 XXX_28: 5 XXX
|
||||||
|
|
||||||
|
BO_ 1361 XXX_29: 5 XXX
|
||||||
|
|
||||||
|
BO_ 1365 XXX_30: 5 XXX
|
||||||
|
|
||||||
|
BO_ 1424 XXX_31: 5 XXX
|
||||||
|
|
||||||
|
BO_ 1600 XXX_32: 5 XXX
|
||||||
|
|
||||||
|
BO_ 1601 XXX_33: 8 XXX
|
||||||
|
|
||||||
|
BO_ 1633 XXX_34: 8 XXX
|
||||||
|
|
||||||
|
BO_TX_BU_ 228 : NEO,ADAS;
|
||||||
|
BO_TX_BU_ 506 : NEO,ADAS;
|
||||||
|
BO_TX_BU_ 780 : NEO,ADAS;
|
||||||
|
BO_TX_BU_ 829 : NEO,ADAS;
|
||||||
|
BO_TX_BU_ 862 : NEO,ADAS;
|
||||||
|
BO_TX_BU_ 927 : NEO,ADAS;
|
||||||
|
|
||||||
|
|
||||||
|
CM_ SG_ 401 GEAR "10 = reverse, 11 = transition";
|
||||||
|
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
|
||||||
|
CM_ SG_ 780 CRUISE_SPEED "255 = no speed";
|
||||||
|
CM_ SG_ 804 CRUISE_SPEED_PCM "255 = no speed";
|
||||||
|
CM_ SG_ 829 BEEP "beeps are pleasant, chimes are for warnngs etc...";
|
||||||
|
VAL_ 399 STEER_STATUS 5 "fault" 4 "no_torque_alert_2" 2 "no_torque_alert_1" 0 "normal" ;
|
||||||
|
VAL_ 401 GEAR_SHIFTER 32 "L" 16 "S" 8 "D" 4 "N" 2 "R" 1 "P" ;
|
||||||
|
VAL_ 450 EPB_STATE 3 "engaged" 2 "disengaging" 1 "engaging" 0 "disengaged" ;
|
||||||
|
VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ;
|
||||||
|
VAL_ 662 CRUISE_BUTTONS 7 "tbd" 6 "tbd" 5 "tbd" 4 "accel_res" 3 "decel_set" 2 "cancel" 1 "main" 0 "none" ;
|
||||||
|
VAL_ 662 CRUISE_SETTING 3 "distance_adj" 2 "tbd" 1 "lkas_button" 0 "none" ;
|
||||||
|
VAL_ 780 CRUISE_SPEED 255 "no_speed" 252 "stopped" ;
|
||||||
|
VAL_ 780 HUD_LEAD 3 "acc_off" 2 "solid_car" 1 "dashed_car" 0 "no_car" ;
|
||||||
|
VAL_ 806 CMBS_BUTTON 3 "pressed" 0 "released" ;
|
||||||
|
VAL_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
|
||||||
|
VAL_ 927 ACC_ALERTS 29 "esp_active_acc_canceled" 10 "b_pedal_applied" 9 "speed_too_low" 8 "speed_too_high" 7 "p_brake_applied" 6 "gear_no_d" 5 "seatbelt" 4 "too_steep_downhill" 3 "too_steep_uphill" 2 "too_close" 1 "no_vehicle_ahead" ;
|
||||||
|
|
||||||
CM_ SG_ 0x1A3 GEAR "10 = reverse, 11 = transition";
|
|
||||||
CM_ SG_ 0x324 CRUISE_SPEED_PCM "255 = no speed";
|
|
||||||
CM_ SG_ 0x30C CRUISE_SPEED "255 = no speed";
|
|
||||||
CM_ SG_ 0x1EA LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
|
|
||||||
CM_ SG_ 0x33D BEEP "beeps are pleasant, chimes are for warnngs etc...";
|
|
||||||
|
|||||||
@@ -3,21 +3,18 @@
|
|||||||
# enable wifi access point for debugging only!
|
# enable wifi access point for debugging only!
|
||||||
#service call wifi 37 i32 0 i32 1 # WifiService.setWifiApEnabled(null, true)
|
#service call wifi 37 i32 0 i32 1 # WifiService.setWifiApEnabled(null, true)
|
||||||
|
|
||||||
# use the openpilot ro key
|
|
||||||
export GIT_SSH_COMMAND="ssh -i /data/data/com.termux/files/id_rsa_openpilot_ro"
|
|
||||||
|
|
||||||
# check out the openpilot repo
|
# check out the openpilot repo
|
||||||
if [ ! -d /data/openpilot ]; then
|
if [ ! -d /data/openpilot ]; then
|
||||||
cd /tmp
|
cd /tmp
|
||||||
git clone git@github.com:commaai/openpilot.git -b release
|
git clone https://github.com/commaai/openpilot.git -b release
|
||||||
mv /tmp/openpilot /data/openpilot
|
mv /tmp/openpilot /data/openpilot
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# enter openpilot directory
|
# enter openpilot directory
|
||||||
cd /data/openpilot
|
cd /data/openpilot
|
||||||
|
|
||||||
# removed automatic update from openpilot
|
# automatic update
|
||||||
#git pull
|
git pull
|
||||||
|
|
||||||
# start manager
|
# start manager
|
||||||
cd selfdrive
|
cd selfdrive
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
-----BEGIN RSA PRIVATE KEY-----
|
|
||||||
MIIEpAIBAAKCAQEAy/ZlYE/iHHjhbSvCnBm5Zsq5GPpVugLXFHai/doqyfRxErop
|
|
||||||
/g1TIRhzK3mkHRYRN7H0L9whogwoIVr5CldoxU49FDnNbVHNimScNrL4LprRWjq6
|
|
||||||
dRmCVoxMpLHZTyX1jIkcHsMr7klcUnssyeQO2pWvZv0ZC67wM7G20r7+ZLdEa0Ck
|
|
||||||
MBh8JYhDaZx2xvYtTnt6vKMmFVE5+zW/+wDVma3a4r9pG9s0+r0wCl8CUuJ+yDhR
|
|
||||||
mzNkPJ5mJCMx99AI6k4Gq9Vsng8/35b6Azh3TucPaXOLK7yPnL3YBKUa0PpR7IRH
|
|
||||||
+OKkVCH+LL7tcPFSqPPVy/pUTBdEUROjJdSHxwIDAQABAoIBAQCxBgUM56h3T89Q
|
|
||||||
AoghFg6dkdu/Ox8GmAp231UuAJncuMUfHObvcj8xXVgwZp4zBIEjFte6ZlPmoqh9
|
|
||||||
8sht2lm7zeEjWdvbQwGjWRlgPEs9n++OYaSNl/tRBOpMk3Ppxydst1/prznE0nVH
|
|
||||||
vVKtU7w0qXAYchm30zj1lQv5s/12CTGmnpQatbo5X488RfCfv2zFX1h+lEWF8ycL
|
|
||||||
eZRi8z6l8h2Y+JLyEwPCmR+gR6XtosZ/ECQcTknavqLqdr7NbYYfOo3JfHCUtpJa
|
|
||||||
8s7m0VFhMuxFFCl1sV0eMzAynJYNVz45DyaKpr2b/2YAGY8fn96FxaWv1xw1xTkK
|
|
||||||
c5+wStwJAoGBAOjQpLZ1qGa4GwXzeHoDsGFpGgY9ug6af0M23c8O42fJHAwYkk7r
|
|
||||||
Qeo4SSBddoSfo3jdchFLo59+m3qyTKpjkph7NBBCEwaCvX3heStDIMZEWX0IOV5y
|
|
||||||
iJD/D6EXSqFmXCUUaudX2OxlaHguA0yOEx9s/5uUJrvaIHbBAOpYyar1AoGBAOBG
|
|
||||||
MJp+EA3e1Zx/VszD2Tdxn8V0DAwvy9WIEqZuG689S/Sk5GnA4m2L8Txv0xAHFvLv
|
|
||||||
JpF7Zn9AoFXGpjf9P0FF53cpjEYn9f+uK84j1HOL/6R7Nj9rcS5yL2PCP1ZHymw6
|
|
||||||
xOXl3oZa1YtYE6jfvXUaOb8Z7y8gaStP763sXmpLAoGBAM1WSBANUcvXES58gIPN
|
|
||||||
ASHJGwTqKFF8/kV//L4EuZjuDWi1u0UTxX0Yy5ZaGI/8ZKfTWCnc9qFTfzoGTAvz
|
|
||||||
6nXGJDM6s6EIaqy90qrPd/amje7y8/ZTOhP4ggZojpAvwZGKoocMOey1vCBTJOG+
|
|
||||||
ZStQbVkAn/EK/5r9uxr12FiJAoGAH9UWlPcLpExamWnhkhLCRAJWoRoFk708+0Pj
|
|
||||||
EchTGZ5jp4e3++KqwM26Ic/lb0LyWOzk1oVjWPB9UW9urEe/sK4RWnKFPHfzjKTW
|
|
||||||
Bt5DC1t1n4z1eC7x05vVah1qC/8IljAJPnBQE1XVNX/82l1XcMWWKK+vqUq6YrFn
|
|
||||||
3ZHNHN0CgYA3uUVWqW37vfJuk0MJBkQSqMo5Y5TPlCt4b1ebkdhlM4v/N+iuiPiC
|
|
||||||
PBhjP1MLeudkJvzllt4YvNWLerCKpMWuw7Zvy5uzFEsqOrVlzfnyWqqqYbYjHe9f
|
|
||||||
Ef0/yXKuGJajs54Ts6Xrm0+elVUu//pEuf6NI96Ehctqz8/BqGqAtw==
|
|
||||||
-----END RSA PRIVATE KEY-----
|
|
||||||
@@ -1,10 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# move files into place
|
|
||||||
adb push files/id_rsa_openpilot_ro /tmp/id_rsa_openpilot_ro
|
|
||||||
adb shell mv /tmp/id_rsa_openpilot_ro /data/data/com.termux/files/
|
|
||||||
|
|
||||||
# moving continue into place runs the continue script
|
# moving continue into place runs the continue script
|
||||||
adb push files/continue.sh /tmp/continue.sh
|
adb push files/continue.sh /tmp/continue.sh
|
||||||
adb shell mv /tmp/continue.sh /data/data/com.termux/files/
|
adb shell mv /tmp/continue.sh /data/data/com.termux/files/
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
Cython==0.24.1
|
Cython==0.24.1
|
||||||
bitstring==3.1.5
|
bitstring==3.1.5
|
||||||
fastcluster==1.1.21
|
fastcluster==1.1.21
|
||||||
h5py==2.6.0
|
|
||||||
libusb1==1.5.0
|
libusb1==1.5.0
|
||||||
pycapnp==0.5.9
|
pycapnp==0.5.9
|
||||||
pyzmq==15.4.0
|
pyzmq==15.4.0
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ bool spoofing_started = false;
|
|||||||
|
|
||||||
#define DEBUG_BOARDD
|
#define DEBUG_BOARDD
|
||||||
#ifdef DEBUG_BOARDD
|
#ifdef DEBUG_BOARDD
|
||||||
#define DPRINTF(fmt, ...) printf("boardd: " fmt, ## __VA_ARGS__)
|
#define DPRINTF(fmt, ...) printf("boardd(%lu): " fmt, time(NULL), ## __VA_ARGS__)
|
||||||
#else
|
#else
|
||||||
#define DPRINTF(fmt, ...)
|
#define DPRINTF(fmt, ...)
|
||||||
#endif
|
#endif
|
||||||
@@ -129,6 +129,7 @@ void can_health(void *s) {
|
|||||||
uint8_t started;
|
uint8_t started;
|
||||||
uint8_t controls_allowed;
|
uint8_t controls_allowed;
|
||||||
uint8_t gas_interceptor_detected;
|
uint8_t gas_interceptor_detected;
|
||||||
|
uint8_t started_signal_detected;
|
||||||
} health;
|
} health;
|
||||||
|
|
||||||
// recv from board
|
// recv from board
|
||||||
@@ -157,6 +158,7 @@ void can_health(void *s) {
|
|||||||
}
|
}
|
||||||
healthData.setControlsAllowed(health.controls_allowed);
|
healthData.setControlsAllowed(health.controls_allowed);
|
||||||
healthData.setGasInterceptorDetected(health.gas_interceptor_detected);
|
healthData.setGasInterceptorDetected(health.gas_interceptor_detected);
|
||||||
|
healthData.setStartedSignalDetected(health.started_signal_detected);
|
||||||
|
|
||||||
// send to health
|
// send to health
|
||||||
auto words = capnp::messageToFlatArray(msg);
|
auto words = capnp::messageToFlatArray(msg);
|
||||||
@@ -274,16 +276,16 @@ int set_realtime_priority(int level) {
|
|||||||
struct sched_param sa;
|
struct sched_param sa;
|
||||||
memset(&sa, 0, sizeof(sa));
|
memset(&sa, 0, sizeof(sa));
|
||||||
sa.sched_priority = level;
|
sa.sched_priority = level;
|
||||||
return sched_setscheduler(gettid(), SCHED_FIFO, &sa);
|
return sched_setscheduler(getpid(), SCHED_FIFO, &sa);
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
int err;
|
int err;
|
||||||
printf("boardd: starting boardd\n");
|
DPRINTF("starting boardd\n");
|
||||||
|
|
||||||
// set process priority
|
// set process priority
|
||||||
err = set_realtime_priority(4);
|
err = set_realtime_priority(4);
|
||||||
printf("boardd: setpriority returns %d\n", err);
|
DPRINTF("setpriority returns %d\n", err);
|
||||||
|
|
||||||
// check the environment
|
// check the environment
|
||||||
if (getenv("STARTED")) {
|
if (getenv("STARTED")) {
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ def boardd_mock_loop():
|
|||||||
|
|
||||||
while 1:
|
while 1:
|
||||||
tsc = messaging.drain_sock(logcan, wait_for_one=True)
|
tsc = messaging.drain_sock(logcan, wait_for_one=True)
|
||||||
snds = map(can_capnp_to_can_list, tsc)
|
snds = map(lambda x: can_capnp_to_can_list(x.can), tsc)
|
||||||
snd = []
|
snd = []
|
||||||
for s in snds:
|
for s in snds:
|
||||||
snd += s
|
snd += s
|
||||||
@@ -162,7 +162,7 @@ def boardd_loop(rate=200):
|
|||||||
# send can if we have a packet
|
# send can if we have a packet
|
||||||
tsc = messaging.recv_sock(sendcan)
|
tsc = messaging.recv_sock(sendcan)
|
||||||
if tsc is not None:
|
if tsc is not None:
|
||||||
can_send_many(can_capnp_to_can_list(tsc))
|
can_send_many(can_capnp_to_can_list(tsc.sendcan))
|
||||||
|
|
||||||
rk.keep_time()
|
rk.keep_time()
|
||||||
|
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ class CANParser(object):
|
|||||||
msg_vl = fix(ck_portion, msg)
|
msg_vl = fix(ck_portion, msg)
|
||||||
# compare recalculated vs received checksum
|
# compare recalculated vs received checksum
|
||||||
if msg_vl != cdat:
|
if msg_vl != cdat:
|
||||||
print hex(msg), "CHECKSUM FAIL"
|
print "CHECKSUM FAIL: " + hex(msg)
|
||||||
self.ck[msg] = False
|
self.ck[msg] = False
|
||||||
self.ok[msg] = False
|
self.ok[msg] = False
|
||||||
# counter check
|
# counter check
|
||||||
@@ -89,6 +89,7 @@ class CANParser(object):
|
|||||||
self.cn_vl[msg] -= 1 # counter check passed
|
self.cn_vl[msg] -= 1 # counter check passed
|
||||||
# message status is invalid if we received too many wrong counter values
|
# message status is invalid if we received too many wrong counter values
|
||||||
if self.cn_vl[msg] >= cn_vl_max:
|
if self.cn_vl[msg] >= cn_vl_max:
|
||||||
|
print "COUNTER WRONG: " + hex(msg)
|
||||||
self.ok[msg] = False
|
self.ok[msg] = False
|
||||||
|
|
||||||
# update msg time stamps and counter value
|
# update msg time stamps and counter value
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
const char *openpilot_version = "0.2.2";
|
||||||
@@ -11,6 +11,7 @@ from common.numpy_fast import clip
|
|||||||
from selfdrive.config import Conversions as CV
|
from selfdrive.config import Conversions as CV
|
||||||
from common.services import service_list
|
from common.services import service_list
|
||||||
from common.realtime import sec_since_boot, set_realtime_priority, Ratekeeper
|
from common.realtime import sec_since_boot, set_realtime_priority, Ratekeeper
|
||||||
|
from common.profiler import Profiler
|
||||||
|
|
||||||
from selfdrive.controls.lib.drive_helpers import learn_angle_offset
|
from selfdrive.controls.lib.drive_helpers import learn_angle_offset
|
||||||
|
|
||||||
@@ -72,16 +73,23 @@ def controlsd_thread(gctx, rate=100): #rate in Hz
|
|||||||
|
|
||||||
soft_disable_timer = None
|
soft_disable_timer = None
|
||||||
|
|
||||||
|
# Is cpu temp too high to enable?
|
||||||
|
overtemp = False
|
||||||
|
free_space = 1.0
|
||||||
|
|
||||||
# start the loop
|
# start the loop
|
||||||
set_realtime_priority(2)
|
set_realtime_priority(2)
|
||||||
|
|
||||||
rk = Ratekeeper(rate, print_delay_threshold=2./1000)
|
rk = Ratekeeper(rate, print_delay_threshold=2./1000)
|
||||||
while 1:
|
while 1:
|
||||||
|
prof = Profiler()
|
||||||
cur_time = sec_since_boot()
|
cur_time = sec_since_boot()
|
||||||
|
|
||||||
# read CAN
|
# read CAN
|
||||||
CS = CI.update()
|
CS = CI.update()
|
||||||
|
|
||||||
|
prof.checkpoint("CarInterface")
|
||||||
|
|
||||||
# did it request to enable?
|
# did it request to enable?
|
||||||
enable_request, enable_condition = False, False
|
enable_request, enable_condition = False, False
|
||||||
|
|
||||||
@@ -120,12 +128,14 @@ def controlsd_thread(gctx, rate=100): #rate in Hz
|
|||||||
v_cruise_kph = clip(v_cruise_kph, V_CRUISE_MIN, V_CRUISE_MAX)
|
v_cruise_kph = clip(v_cruise_kph, V_CRUISE_MIN, V_CRUISE_MAX)
|
||||||
|
|
||||||
if not enabled and b.type in ["accelCruise", "decelCruise"] and not b.pressed:
|
if not enabled and b.type in ["accelCruise", "decelCruise"] and not b.pressed:
|
||||||
enable_request = True
|
enable_request = True
|
||||||
|
|
||||||
# do disable on button down
|
# do disable on button down
|
||||||
if b.type == "cancel" and b.pressed:
|
if b.type == "cancel" and b.pressed:
|
||||||
AM.add("disable", enabled)
|
AM.add("disable", enabled)
|
||||||
|
|
||||||
|
prof.checkpoint("Buttons")
|
||||||
|
|
||||||
# *** health checking logic ***
|
# *** health checking logic ***
|
||||||
hh = messaging.recv_sock(health)
|
hh = messaging.recv_sock(health)
|
||||||
if hh is not None:
|
if hh is not None:
|
||||||
@@ -138,11 +148,15 @@ def controlsd_thread(gctx, rate=100): #rate in Hz
|
|||||||
# thermal data, checked every second
|
# thermal data, checked every second
|
||||||
td = messaging.recv_sock(thermal)
|
td = messaging.recv_sock(thermal)
|
||||||
if td is not None:
|
if td is not None:
|
||||||
cpu_temps = [td.thermal.cpu0, td.thermal.cpu1, td.thermal.cpu2,
|
# Check temperature.
|
||||||
td.thermal.cpu3, td.thermal.mem, td.thermal.gpu]
|
overtemp = any(
|
||||||
# check overtemp
|
t > 950
|
||||||
if any(t > 950 for t in cpu_temps):
|
for t in (td.thermal.cpu0, td.thermal.cpu1, td.thermal.cpu2,
|
||||||
AM.add("overheat", enabled)
|
td.thermal.cpu3, td.thermal.mem, td.thermal.gpu))
|
||||||
|
# under 15% of space free
|
||||||
|
free_space = td.thermal.freeSpace
|
||||||
|
|
||||||
|
prof.checkpoint("Health")
|
||||||
|
|
||||||
# *** getting model logic ***
|
# *** getting model logic ***
|
||||||
PP.update(cur_time, CS.vEgo)
|
PP.update(cur_time, CS.vEgo)
|
||||||
@@ -165,6 +179,11 @@ def controlsd_thread(gctx, rate=100): #rate in Hz
|
|||||||
print "enabled pressed at", cur_time
|
print "enabled pressed at", cur_time
|
||||||
last_enable_request = cur_time
|
last_enable_request = cur_time
|
||||||
|
|
||||||
|
# don't engage with less than 15% free
|
||||||
|
if free_space < 0.15:
|
||||||
|
AM.add("outOfSpace", enabled)
|
||||||
|
enable_request = False
|
||||||
|
|
||||||
if VP.brake_only:
|
if VP.brake_only:
|
||||||
enable_condition = ((cur_time - last_enable_request) < 0.2) and CS.cruiseState.enabled
|
enable_condition = ((cur_time - last_enable_request) < 0.2) and CS.cruiseState.enabled
|
||||||
else:
|
else:
|
||||||
@@ -181,6 +200,11 @@ def controlsd_thread(gctx, rate=100): #rate in Hz
|
|||||||
if PP.dead:
|
if PP.dead:
|
||||||
AM.add("modelCommIssue", enabled)
|
AM.add("modelCommIssue", enabled)
|
||||||
|
|
||||||
|
if overtemp:
|
||||||
|
AM.add("overheat", enabled)
|
||||||
|
|
||||||
|
prof.checkpoint("Model")
|
||||||
|
|
||||||
if enable_condition and not enabled and not AM.alertPresent():
|
if enable_condition and not enabled and not AM.alertPresent():
|
||||||
print "*** enabling controls"
|
print "*** enabling controls"
|
||||||
|
|
||||||
@@ -207,12 +231,16 @@ def controlsd_thread(gctx, rate=100): #rate in Hz
|
|||||||
# *** put the adaptive in adaptive cruise control ***
|
# *** put the adaptive in adaptive cruise control ***
|
||||||
AC.update(cur_time, CS.vEgo, CS.steeringAngle, LoC.v_pid, awareness_status, VP)
|
AC.update(cur_time, CS.vEgo, CS.steeringAngle, LoC.v_pid, awareness_status, VP)
|
||||||
|
|
||||||
|
prof.checkpoint("AdaptiveCruise")
|
||||||
|
|
||||||
# *** gas/brake PID loop ***
|
# *** gas/brake PID loop ***
|
||||||
final_gas, final_brake = LoC.update(enabled, CS.vEgo, v_cruise_kph, AC.v_target_lead, AC.a_target, AC.jerk_factor, VP)
|
final_gas, final_brake = LoC.update(enabled, CS.vEgo, v_cruise_kph, AC.v_target_lead, AC.a_target, AC.jerk_factor, VP)
|
||||||
|
|
||||||
# *** steering PID loop ***
|
# *** steering PID loop ***
|
||||||
final_steer, sat_flag = LaC.update(enabled, CS.vEgo, CS.steeringAngle, CS.steeringPressed, PP.d_poly, angle_offset, VP)
|
final_steer, sat_flag = LaC.update(enabled, CS.vEgo, CS.steeringAngle, CS.steeringPressed, PP.d_poly, angle_offset, VP)
|
||||||
|
|
||||||
|
prof.checkpoint("PID")
|
||||||
|
|
||||||
# ***** handle alerts ****
|
# ***** handle alerts ****
|
||||||
# send a "steering required alert" if saturation count has reached the limit
|
# send a "steering required alert" if saturation count has reached the limit
|
||||||
if sat_flag:
|
if sat_flag:
|
||||||
@@ -232,7 +260,6 @@ def controlsd_thread(gctx, rate=100): #rate in Hz
|
|||||||
soft_disable_timer -= 1
|
soft_disable_timer -= 1
|
||||||
else:
|
else:
|
||||||
soft_disable_timer = None
|
soft_disable_timer = None
|
||||||
|
|
||||||
|
|
||||||
# *** push the alerts to current ***
|
# *** push the alerts to current ***
|
||||||
alert_text_1, alert_text_2, visual_alert, audible_alert = AM.process_alerts(cur_time)
|
alert_text_1, alert_text_2, visual_alert, audible_alert = AM.process_alerts(cur_time)
|
||||||
@@ -263,6 +290,8 @@ def controlsd_thread(gctx, rate=100): #rate in Hz
|
|||||||
if not CI.apply(CC):
|
if not CI.apply(CC):
|
||||||
AM.add("controlsFailed", enabled)
|
AM.add("controlsFailed", enabled)
|
||||||
|
|
||||||
|
prof.checkpoint("CarControl")
|
||||||
|
|
||||||
# ***** publish state to logger *****
|
# ***** publish state to logger *****
|
||||||
|
|
||||||
# publish controls state at 100Hz
|
# publish controls state at 100Hz
|
||||||
@@ -311,12 +340,14 @@ def controlsd_thread(gctx, rate=100): #rate in Hz
|
|||||||
|
|
||||||
live100.send(dat.to_bytes())
|
live100.send(dat.to_bytes())
|
||||||
|
|
||||||
|
prof.checkpoint("Live100")
|
||||||
|
|
||||||
# *** run loop at fixed rate ***
|
# *** run loop at fixed rate ***
|
||||||
rk.keep_time()
|
if rk.keep_time():
|
||||||
|
prof.display()
|
||||||
|
|
||||||
def main(gctx=None):
|
def main(gctx=None):
|
||||||
controlsd_thread(gctx, 100)
|
controlsd_thread(gctx, 100)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,9 @@ class AlertManager(object):
|
|||||||
"doorOpen": alert("Take Control Immediately","Door Open", ET.SOFT_DISABLE, "steerRequired", "chimeRepeated", 1., 3., 3.),
|
"doorOpen": alert("Take Control Immediately","Door Open", ET.SOFT_DISABLE, "steerRequired", "chimeRepeated", 1., 3., 3.),
|
||||||
"seatbeltNotLatched": alert("Take Control Immediately","Seatbelt Unlatched", ET.SOFT_DISABLE, "steerRequired", "chimeRepeated", 1., 3., 3.),
|
"seatbeltNotLatched": alert("Take Control Immediately","Seatbelt Unlatched", ET.SOFT_DISABLE, "steerRequired", "chimeRepeated", 1., 3., 3.),
|
||||||
"espDisabled": alert("Take Control Immediately","ESP Off", ET.SOFT_DISABLE, "steerRequired", "chimeRepeated", 1., 3., 3.),
|
"espDisabled": alert("Take Control Immediately","ESP Off", ET.SOFT_DISABLE, "steerRequired", "chimeRepeated", 1., 3., 3.),
|
||||||
"wrongCarMode": alert("Comma Unavailable","Main Switch Off", ET.NO_ENTRY, None, None, .4, 0., 3.),
|
"wrongCarMode": alert("Comma Unavailable","Main Switch Off", ET.NO_ENTRY, None, "chimeDouble", .4, 0., 3.),
|
||||||
|
"outOfSpace": alert("Comma Unavailable","Out of Space", ET.NO_ENTRY, None, "chimeDouble", .4, 0., 3.),
|
||||||
|
"ethicalDilemma": alert("Take Control Immediately","Ethical Dilemma Detected", ET.IMMEDIATE_DISABLE, "steerRequired", "chimeRepeated", 1., 3., 3.),
|
||||||
}
|
}
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.activealerts = []
|
self.activealerts = []
|
||||||
|
|||||||
@@ -3,10 +3,17 @@ import numpy as np
|
|||||||
|
|
||||||
from common.numpy_fast import interp
|
from common.numpy_fast import interp
|
||||||
import selfdrive.messaging as messaging
|
import selfdrive.messaging as messaging
|
||||||
X_PATH = np.arange(0.0, 50.0)
|
|
||||||
|
|
||||||
def model_polyfit(points):
|
|
||||||
return np.polyfit(X_PATH, map(float, points), 3)
|
def compute_path_pinv():
|
||||||
|
deg = 3
|
||||||
|
x = np.arange(50.0)
|
||||||
|
X = np.vstack(tuple(x**n for n in range(deg, -1, -1))).T
|
||||||
|
pinv = np.linalg.pinv(X)
|
||||||
|
return pinv
|
||||||
|
|
||||||
|
def model_polyfit(points, path_pinv):
|
||||||
|
return np.dot(path_pinv, map(float, points))
|
||||||
|
|
||||||
# lane width http://safety.fhwa.dot.gov/geometric/pubs/mitigationstrategies/chapter3/3_lanewidth.cfm
|
# lane width http://safety.fhwa.dot.gov/geometric/pubs/mitigationstrategies/chapter3/3_lanewidth.cfm
|
||||||
_LANE_WIDTH_V = [3., 3.8]
|
_LANE_WIDTH_V = [3., 3.8]
|
||||||
@@ -40,24 +47,26 @@ class PathPlanner(object):
|
|||||||
self.last_model = 0.
|
self.last_model = 0.
|
||||||
self.logMonoTime = 0
|
self.logMonoTime = 0
|
||||||
self.lead_dist, self.lead_prob, self.lead_var = 0, 0, 1
|
self.lead_dist, self.lead_prob, self.lead_var = 0, 0, 1
|
||||||
|
self._path_pinv = compute_path_pinv()
|
||||||
|
|
||||||
def update(self, cur_time, v_ego):
|
def update(self, cur_time, v_ego):
|
||||||
md = messaging.recv_sock(self.model)
|
md = messaging.recv_sock(self.model)
|
||||||
|
|
||||||
if md is not None:
|
if md is not None:
|
||||||
self.logMonoTime = md.logMonoTime
|
self.logMonoTime = md.logMonoTime
|
||||||
p_poly = model_polyfit(md.model.path.points) # predicted path
|
p_poly = model_polyfit(md.model.path.points, self._path_pinv) # predicted path
|
||||||
p_prob = 1. # model does not tell this probability yet, so set to 1 for now
|
l_poly = model_polyfit(md.model.leftLane.points, self._path_pinv) # left line
|
||||||
l_poly = model_polyfit(md.model.leftLane.points) # left line
|
r_poly = model_polyfit(md.model.rightLane.points, self._path_pinv) # right line
|
||||||
l_prob = md.model.leftLane.prob # left line prob
|
|
||||||
r_poly = model_polyfit(md.model.rightLane.points) # right line
|
p_prob = 1. # model does not tell this probability yet, so set to 1 for now
|
||||||
r_prob = md.model.rightLane.prob # right line prob
|
l_prob = md.model.leftLane.prob # left line prob
|
||||||
|
r_prob = md.model.rightLane.prob # right line prob
|
||||||
|
|
||||||
self.lead_dist = md.model.lead.dist
|
self.lead_dist = md.model.lead.dist
|
||||||
self.lead_prob = md.model.lead.prob
|
self.lead_prob = md.model.lead.prob
|
||||||
self.lead_var = md.model.lead.std**2
|
self.lead_var = md.model.lead.std**2
|
||||||
|
|
||||||
#*** compute target path ***
|
# compute target path
|
||||||
self.d_poly, _, _ = calc_desired_path(l_poly, r_poly, p_poly, l_prob, r_prob, p_prob, v_ego)
|
self.d_poly, _, _ = calc_desired_path(l_poly, r_poly, p_poly, l_prob, r_prob, p_prob, v_ego)
|
||||||
|
|
||||||
self.last_model = cur_time
|
self.last_model = cur_time
|
||||||
|
|||||||
Executable
+31
@@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
import sys
|
||||||
|
import argparse
|
||||||
|
import zmq
|
||||||
|
from hexdump import hexdump
|
||||||
|
|
||||||
|
import selfdrive.messaging as messaging
|
||||||
|
from common.services import service_list
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
context = zmq.Context()
|
||||||
|
poller = zmq.Poller()
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser(description='Sniff a communcation socket')
|
||||||
|
parser.add_argument('--raw', action='store_true')
|
||||||
|
parser.add_argument("socket", type=str,
|
||||||
|
help="socket name")
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
messaging.sub_sock(context, service_list[args.socket].port, poller)
|
||||||
|
|
||||||
|
while 1:
|
||||||
|
polld = poller.poll(timeout=1000)
|
||||||
|
for sock, mode in polld:
|
||||||
|
if mode != zmq.POLLIN:
|
||||||
|
continue
|
||||||
|
if args.raw:
|
||||||
|
hexdump(sock.recv())
|
||||||
|
else:
|
||||||
|
print messaging.recv_sock(sock)
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
# fetch from environment
|
# fetch from environment
|
||||||
DONGLE_ID = os.getenv("DONGLE_ID")
|
def get_dongle_id_and_secret():
|
||||||
DONGLE_SECRET = os.getenv("DONGLE_SECRET")
|
return os.getenv("DONGLE_ID"), os.getenv("DONGLE_SECRET")
|
||||||
|
|
||||||
ROOT = '/sdcard/realdata/'
|
ROOT = '/sdcard/realdata/'
|
||||||
|
|
||||||
|
|||||||
@@ -75,10 +75,17 @@ def main(gctx=None):
|
|||||||
rotate_msg = messaging.log.LogRotate.new_message()
|
rotate_msg = messaging.log.LogRotate.new_message()
|
||||||
rotate_msg.segmentNum = cur_part
|
rotate_msg.segmentNum = cur_part
|
||||||
rotate_msg.path = cur_dir
|
rotate_msg.path = cur_dir
|
||||||
|
|
||||||
vision_control_sock.send(rotate_msg.to_bytes())
|
vision_control_sock.send(rotate_msg.to_bytes())
|
||||||
|
|
||||||
finally:
|
finally:
|
||||||
|
cloudlog.info("loggerd exiting...")
|
||||||
|
|
||||||
|
# tell visiond to stop logging
|
||||||
|
rotate_msg = messaging.log.LogRotate.new_message()
|
||||||
|
rotate_msg.segmentNum = -1
|
||||||
|
rotate_msg.path = "/dev/null"
|
||||||
|
vision_control_sock.send(rotate_msg.to_bytes())
|
||||||
|
|
||||||
|
# stop logging
|
||||||
logger.stop()
|
logger.stop()
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import traceback
|
|||||||
import threading
|
import threading
|
||||||
|
|
||||||
from selfdrive.swaglog import cloudlog
|
from selfdrive.swaglog import cloudlog
|
||||||
from selfdrive.loggerd.config import DONGLE_ID, DONGLE_SECRET, ROOT
|
from selfdrive.loggerd.config import get_dongle_id_and_secret, ROOT
|
||||||
|
|
||||||
from common.api import api_get
|
from common.api import api_get
|
||||||
|
|
||||||
@@ -205,7 +205,13 @@ class Uploader(object):
|
|||||||
def uploader_fn(exit_event):
|
def uploader_fn(exit_event):
|
||||||
cloudlog.info("uploader_fn")
|
cloudlog.info("uploader_fn")
|
||||||
|
|
||||||
uploader = Uploader(DONGLE_ID, DONGLE_SECRET, ROOT)
|
dongle_id, dongle_secret = get_dongle_id_and_secret()
|
||||||
|
|
||||||
|
if dongle_id is None or dongle_secret is None:
|
||||||
|
cloudlog.info("uploader MISSING DONGLE_ID or DONGLE_SECRET")
|
||||||
|
raise Exception("uploader can't start without dongle id and secret")
|
||||||
|
|
||||||
|
uploader = Uploader(dongle_id, dongle_secret, ROOT)
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
backoff = 0.1
|
backoff = 0.1
|
||||||
|
|||||||
+24
-11
@@ -21,6 +21,8 @@ from selfdrive.registration import register
|
|||||||
|
|
||||||
import common.crash
|
import common.crash
|
||||||
|
|
||||||
|
from selfdrive.loggerd.config import ROOT
|
||||||
|
|
||||||
# comment out anything you don't want to run
|
# comment out anything you don't want to run
|
||||||
managed_processes = {
|
managed_processes = {
|
||||||
"uploader": "selfdrive.loggerd.uploader",
|
"uploader": "selfdrive.loggerd.uploader",
|
||||||
@@ -49,10 +51,6 @@ car_started_processes = ['controlsd', 'loggerd', 'sensord', 'radard', 'calibrati
|
|||||||
# ****************** process management functions ******************
|
# ****************** process management functions ******************
|
||||||
def launcher(proc, gctx):
|
def launcher(proc, gctx):
|
||||||
try:
|
try:
|
||||||
# unset the signals
|
|
||||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
|
||||||
signal.signal(signal.SIGTERM, signal.SIG_DFL)
|
|
||||||
|
|
||||||
# import the process
|
# import the process
|
||||||
mod = importlib.import_module(proc)
|
mod = importlib.import_module(proc)
|
||||||
|
|
||||||
@@ -61,6 +59,8 @@ def launcher(proc, gctx):
|
|||||||
|
|
||||||
# exec the process
|
# exec the process
|
||||||
mod.main(gctx)
|
mod.main(gctx)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
cloudlog.info("child %s got ctrl-c" % proc)
|
||||||
except Exception:
|
except Exception:
|
||||||
# can't install the crash handler becuase sys.excepthook doesn't play nice
|
# can't install the crash handler becuase sys.excepthook doesn't play nice
|
||||||
# with threads, so catch it here.
|
# with threads, so catch it here.
|
||||||
@@ -156,10 +156,6 @@ def manager_init():
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# hook to kill all processes
|
|
||||||
signal.signal(signal.SIGINT, cleanup_all_processes)
|
|
||||||
signal.signal(signal.SIGTERM, cleanup_all_processes)
|
|
||||||
|
|
||||||
def manager_thread():
|
def manager_thread():
|
||||||
# now loop
|
# now loop
|
||||||
context = zmq.Context()
|
context = zmq.Context()
|
||||||
@@ -188,6 +184,8 @@ def manager_thread():
|
|||||||
for p in car_started_processes:
|
for p in car_started_processes:
|
||||||
start_managed_process(p)
|
start_managed_process(p)
|
||||||
|
|
||||||
|
logger_dead = False
|
||||||
|
|
||||||
while 1:
|
while 1:
|
||||||
# get health of board, log this in "thermal"
|
# get health of board, log this in "thermal"
|
||||||
td = messaging.recv_sock(health_sock, wait=True)
|
td = messaging.recv_sock(health_sock, wait=True)
|
||||||
@@ -195,6 +193,13 @@ def manager_thread():
|
|||||||
|
|
||||||
# replace thermald
|
# replace thermald
|
||||||
msg = read_thermal()
|
msg = read_thermal()
|
||||||
|
|
||||||
|
# loggerd is gated based on free space
|
||||||
|
statvfs = os.statvfs(ROOT)
|
||||||
|
avail = (statvfs.f_bavail * 1.0)/statvfs.f_blocks
|
||||||
|
|
||||||
|
# thermal message now also includes free space
|
||||||
|
msg.thermal.freeSpace = avail
|
||||||
thermal_sock.send(msg.to_bytes())
|
thermal_sock.send(msg.to_bytes())
|
||||||
print msg
|
print msg
|
||||||
|
|
||||||
@@ -209,18 +214,26 @@ def manager_thread():
|
|||||||
elif max_temp < 70.0:
|
elif max_temp < 70.0:
|
||||||
start_managed_process("uploader")
|
start_managed_process("uploader")
|
||||||
|
|
||||||
|
if avail < 0.05:
|
||||||
|
logger_dead = True
|
||||||
|
|
||||||
# start constellation of processes when the car starts
|
# start constellation of processes when the car starts
|
||||||
if not os.getenv("STARTALL"):
|
if not os.getenv("STARTALL"):
|
||||||
if td.health.started:
|
# with 2% left, we killall, otherwise the phone is bricked
|
||||||
|
if td.health.started and avail > 0.02:
|
||||||
for p in car_started_processes:
|
for p in car_started_processes:
|
||||||
start_managed_process(p)
|
if p == "loggerd" and logger_dead:
|
||||||
|
kill_managed_process(p)
|
||||||
|
else:
|
||||||
|
start_managed_process(p)
|
||||||
else:
|
else:
|
||||||
|
logger_dead = False
|
||||||
for p in car_started_processes:
|
for p in car_started_processes:
|
||||||
kill_managed_process(p)
|
kill_managed_process(p)
|
||||||
|
|
||||||
# check the status of all processes, did any of them die?
|
# check the status of all processes, did any of them die?
|
||||||
for p in running:
|
for p in running:
|
||||||
cloudlog.info(" running %s %s" % (p, running[p]))
|
cloudlog.debug(" running %s %s" % (p, running[p]))
|
||||||
|
|
||||||
|
|
||||||
# optional, build the c++ binaries and preimport the python for speed
|
# optional, build the c++ binaries and preimport the python for speed
|
||||||
|
|||||||
+37
-19
@@ -25,6 +25,8 @@
|
|||||||
#include "common/visionipc.h"
|
#include "common/visionipc.h"
|
||||||
#include "common/modeldata.h"
|
#include "common/modeldata.h"
|
||||||
|
|
||||||
|
#include "common/version.h"
|
||||||
|
|
||||||
#include "cereal/gen/c/log.capnp.h"
|
#include "cereal/gen/c/log.capnp.h"
|
||||||
|
|
||||||
#include "touch.h"
|
#include "touch.h"
|
||||||
@@ -95,7 +97,6 @@ typedef struct UIState {
|
|||||||
|
|
||||||
// base ui
|
// base ui
|
||||||
uint64_t last_base_update;
|
uint64_t last_base_update;
|
||||||
uint64_t last_rx_bytes;
|
|
||||||
uint64_t last_tx_bytes;
|
uint64_t last_tx_bytes;
|
||||||
char serial[4096];
|
char serial[4096];
|
||||||
const char* dongle_id;
|
const char* dongle_id;
|
||||||
@@ -861,6 +862,11 @@ static void ui_draw_vision(UIState *s) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void ui_draw_blank(UIState *s) {
|
||||||
|
glClearColor(0.1, 0.1, 0.1, 1.0);
|
||||||
|
glClear(GL_STENCIL_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
|
||||||
|
}
|
||||||
|
|
||||||
static void ui_draw_base(UIState *s) {
|
static void ui_draw_base(UIState *s) {
|
||||||
glClearColor(0.1, 0.1, 0.1, 1.0);
|
glClearColor(0.1, 0.1, 0.1, 1.0);
|
||||||
glClear(GL_STENCIL_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
|
glClear(GL_STENCIL_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
|
||||||
@@ -910,8 +916,10 @@ static void ui_draw(UIState *s) {
|
|||||||
|
|
||||||
if (s->vision_connected) {
|
if (s->vision_connected) {
|
||||||
ui_draw_vision(s);
|
ui_draw_vision(s);
|
||||||
} else {
|
} else if (s->awake) {
|
||||||
ui_draw_base(s);
|
ui_draw_base(s);
|
||||||
|
} else {
|
||||||
|
ui_draw_blank(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
eglSwapBuffers(s->display, s->surface);
|
eglSwapBuffers(s->display, s->surface);
|
||||||
@@ -987,9 +995,20 @@ static int pending_uploads() {
|
|||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
struct dirent *entry = NULL;
|
struct dirent *entry = NULL;
|
||||||
while ((entry = readdir(dirp))) {
|
while ((entry = readdir(dirp))) {
|
||||||
if (entry->d_name[0] != '.') {
|
if (entry->d_name[0] == '.') continue;
|
||||||
|
|
||||||
|
char subdirn[255];
|
||||||
|
snprintf(subdirn, 255, "/sdcard/realdata/%s", entry->d_name);
|
||||||
|
DIR *subdirp = opendir(subdirn);
|
||||||
|
if (!subdirp) continue;
|
||||||
|
|
||||||
|
struct dirent *subentry = NULL;
|
||||||
|
while ((subentry = readdir(subdirp))) {
|
||||||
|
if (subentry->d_name[0] == '.') continue;
|
||||||
|
//snprintf(subdirn, 255, "/sdcard/realdata/%s/%s", entry->d_name, subentry->d_name);
|
||||||
cnt++;
|
cnt++;
|
||||||
}
|
}
|
||||||
|
closedir(subdirp);
|
||||||
}
|
}
|
||||||
closedir(dirp);
|
closedir(dirp);
|
||||||
return cnt;
|
return cnt;
|
||||||
@@ -1206,20 +1225,19 @@ static void ui_update(UIState *s) {
|
|||||||
char* bat_stat = read_file("/sys/class/power_supply/battery/status");
|
char* bat_stat = read_file("/sys/class/power_supply/battery/status");
|
||||||
|
|
||||||
int tx_rate = 0;
|
int tx_rate = 0;
|
||||||
int rx_rate = 0;
|
uint64_t tx_bytes_n = 0;
|
||||||
char* rx_bytes = read_file("/sys/class/net/rmnet_data0/statistics/rx_bytes");
|
char *tx_bytes;
|
||||||
char* tx_bytes = read_file("/sys/class/net/rmnet_data0/statistics/tx_bytes");
|
|
||||||
if (rx_bytes && tx_bytes) {
|
|
||||||
uint64_t rx_bytes_n = atoll(rx_bytes);
|
|
||||||
rx_rate = rx_bytes_n - s->last_rx_bytes;
|
|
||||||
s->last_rx_bytes = rx_bytes_n;
|
|
||||||
|
|
||||||
uint64_t tx_bytes_n = atoll(tx_bytes);
|
// cellular bytes
|
||||||
tx_rate = tx_bytes_n - s->last_tx_bytes;
|
tx_bytes = read_file("/sys/class/net/rmnet_data0/statistics/tx_bytes");
|
||||||
s->last_tx_bytes = tx_bytes_n;
|
if (tx_bytes) { tx_bytes_n += atoll(tx_bytes); free(tx_bytes); }
|
||||||
}
|
|
||||||
if (rx_bytes) free(rx_bytes);
|
// wifi bytes
|
||||||
if (tx_bytes) free(tx_bytes);
|
tx_bytes = read_file("/sys/class/net/wlan0/statistics/tx_bytes");
|
||||||
|
if (tx_bytes) { tx_bytes_n += atoll(tx_bytes); free(tx_bytes); }
|
||||||
|
|
||||||
|
tx_rate = tx_bytes_n - s->last_tx_bytes;
|
||||||
|
s->last_tx_bytes = tx_bytes_n;
|
||||||
|
|
||||||
// TODO: do this properly
|
// TODO: do this properly
|
||||||
system("git rev-parse --abbrev-ref HEAD > /tmp/git_branch");
|
system("git rev-parse --abbrev-ref HEAD > /tmp/git_branch");
|
||||||
@@ -1240,10 +1258,10 @@ static void ui_update(UIState *s) {
|
|||||||
s->board_connected = !system("lsusb | grep bbaa > /dev/null");
|
s->board_connected = !system("lsusb | grep bbaa > /dev/null");
|
||||||
|
|
||||||
snprintf(s->base_text, sizeof(s->base_text),
|
snprintf(s->base_text, sizeof(s->base_text),
|
||||||
"version: %s (%s)\nserial: %s\n dongle id: %s\n battery: %s %s\npending: %d\nrx %.1fkiB/s tx %.1fkiB/s\nboard: %s",
|
"version: v%s %s (%s)\nserial: %s\n dongle id: %s\n battery: %s %s\npending: %d -> %.1f kb/s\nboard: %s",
|
||||||
git_commit, git_branch,
|
openpilot_version, git_commit, git_branch,
|
||||||
s->serial, s->dongle_id, bat_cap ? bat_cap : "(null)", bat_stat ? bat_stat : "(null)",
|
s->serial, s->dongle_id, bat_cap ? bat_cap : "(null)", bat_stat ? bat_stat : "(null)",
|
||||||
pending, rx_rate / 1024.0, tx_rate / 1024.0, s->board_connected ? "found" : "NOT FOUND");
|
pending, tx_rate / 1024.0, s->board_connected ? "found" : "NOT FOUND");
|
||||||
|
|
||||||
if (bat_cap) free(bat_cap);
|
if (bat_cap) free(bat_cap);
|
||||||
if (bat_stat) free(bat_stat);
|
if (bat_stat) free(bat_stat);
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user