fossekall-interface 0.1.138 → 0.1.140

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -227,6 +227,10 @@ export declare const ControlPolicyCommands_SetManualPolicyPayload: import("typed
227
227
  value: import("typed-binary").ByteSchema;
228
228
  }>;
229
229
  export type ControlPolicyCommands_SetManualPolicyPayload = bin.Parsed<typeof ControlPolicyCommands_SetManualPolicyPayload>;
230
+ export declare const LinkMonitorCommands_MarkSeenPayload: import("typed-binary").ObjectSchema<{
231
+ payload: import("typed-binary").ByteSchema;
232
+ }>;
233
+ export type LinkMonitorCommands_MarkSeenPayload = bin.Parsed<typeof LinkMonitorCommands_MarkSeenPayload>;
230
234
  export declare const RegulatorCommands_SetEnabledPayload: import("typed-binary").ObjectSchema<{
231
235
  regulator_id: import("typed-binary").ByteSchema;
232
236
  value: import("typed-binary").ByteSchema;
@@ -494,6 +498,13 @@ export declare const spec: {
494
498
  };
495
499
  };
496
500
  };
501
+ LinkMonitorCommands_MarkSeenPayload: {
502
+ id: number;
503
+ schema: import("typed-binary").ObjectSchema<{
504
+ payload: import("typed-binary").ByteSchema;
505
+ }>;
506
+ enums: {};
507
+ };
497
508
  RegulatorCommands_SetEnabledPayload: {
498
509
  id: number;
499
510
  schema: import("typed-binary").ObjectSchema<{
@@ -1,5 +1,5 @@
1
1
  import bin, { Measurer, Schema } from 'typed-binary';
2
- // This file was generated by FRICC on 2026-07-06 13:11:50. Do not edit manually!
2
+ // This file was generated by FRICC on 2026-07-09 20:14:19. Do not edit manually!
3
3
  // The current version of typed-binary does not support 64-bit primitives.
4
4
  // So for we'll implement our own schemas. :)
5
5
  const __littleEndian = true;
@@ -202,6 +202,9 @@ export const SolenoidCommands_OpenCloseSolenoidPayload = bin.object({
202
202
  export const ControlPolicyCommands_SetManualPolicyPayload = bin.object({
203
203
  value: bin.u8, // ControlPolicyCommands::PolicyValue
204
204
  });
205
+ export const LinkMonitorCommands_MarkSeenPayload = bin.object({
206
+ payload: bin.u8, // unsigned char
207
+ });
205
208
  export const RegulatorCommands_SetEnabledPayload = bin.object({
206
209
  regulator_id: bin.u8, // regulator::Id
207
210
  value: bin.u8, // RegulatorCommands::RegulatorValue
@@ -310,6 +313,11 @@ export const spec = {
310
313
  value: ControlPolicyCommands_PolicyValue,
311
314
  },
312
315
  },
316
+ LinkMonitorCommands_MarkSeenPayload: {
317
+ id: 128,
318
+ schema: LinkMonitorCommands_MarkSeenPayload,
319
+ enums: {},
320
+ },
313
321
  RegulatorCommands_SetEnabledPayload: {
314
322
  id: 112,
315
323
  schema: RegulatorCommands_SetEnabledPayload,
@@ -419,6 +419,20 @@
419
419
  ],
420
420
  "format_string": "<B"
421
421
  },
422
+ "LinkMonitorCommands::MarkSeenPayload": {
423
+ "id": 128,
424
+ "kind": "struct",
425
+ "type": "LinkMonitorCommands::MarkSeenPayload",
426
+ "fields": [
427
+ {
428
+ "name": "payload",
429
+ "kind": "primitive",
430
+ "type": "unsigned char",
431
+ "format_string": "<B"
432
+ }
433
+ ],
434
+ "format_string": "<B"
435
+ },
422
436
  "RegulatorCommands::SetEnabledPayload": {
423
437
  "id": 112,
424
438
  "kind": "struct",
@@ -50,6 +50,7 @@ export declare const fsm_AbortReason: {
50
50
  readonly FuelTankOverpressure: 2;
51
51
  readonly OxTankOverpressure: 3;
52
52
  readonly ChamberUnderpressure: 4;
53
+ readonly ConnectionLost: 5;
53
54
  };
54
55
  export type fsm_AbortReason = (typeof fsm_AbortReason)[keyof typeof fsm_AbortReason];
55
56
  export declare const sensors_pressure_Id: {
@@ -63,6 +64,13 @@ export declare const sensors_pressure_Id: {
63
64
  readonly Count: 7;
64
65
  };
65
66
  export type sensors_pressure_Id = (typeof sensors_pressure_Id)[keyof typeof sensors_pressure_Id];
67
+ export declare const sensors_capacitance_Id: {
68
+ readonly Main: 0;
69
+ readonly LiquidRef: 1;
70
+ readonly GasRef: 2;
71
+ readonly Count: 3;
72
+ };
73
+ export type sensors_capacitance_Id = (typeof sensors_capacitance_Id)[keyof typeof sensors_capacitance_Id];
66
74
  export declare const actuators_servo_Id: {
67
75
  readonly MainFuel: 0;
68
76
  readonly MainOx: 1;
@@ -116,6 +124,17 @@ export declare const proto_can_thermocouple_Id: {
116
124
  readonly Count: 8;
117
125
  };
118
126
  export type proto_can_thermocouple_Id = (typeof proto_can_thermocouple_Id)[keyof typeof proto_can_thermocouple_Id];
127
+ export declare const sensors_bms_ChargingStatus: {
128
+ readonly NotCharging: 0;
129
+ readonly TrickleCharge: 1;
130
+ readonly PreCharge: 2;
131
+ readonly FastCharge: 3;
132
+ readonly TaperCharge: 4;
133
+ readonly Reserved: 5;
134
+ readonly TopOffTimerCharge: 6;
135
+ readonly ChargeTermination: 7;
136
+ };
137
+ export type sensors_bms_ChargingStatus = (typeof sensors_bms_ChargingStatus)[keyof typeof sensors_bms_ChargingStatus];
119
138
  export declare const HeartBeatTelemetry: import("typed-binary").ObjectSchema<{
120
139
  message: import("typed-binary").ArraySchema<import("typed-binary").Int8Schema>;
121
140
  status_flags: import("typed-binary").ByteSchema;
@@ -136,6 +155,7 @@ export type actuators_bldc_BldcTelemetry = bin.Parsed<typeof actuators_bldc_Bldc
136
155
  export declare const BldcTelemetryPacket: import("typed-binary").ObjectSchema<{
137
156
  bldc_id: import("typed-binary").ByteSchema;
138
157
  fsm_state: import("typed-binary").ByteSchema;
158
+ timestamp_ms: import("typed-binary").Uint32Schema;
139
159
  telemetry: import("typed-binary").ObjectSchema<{
140
160
  valve_position: import("typed-binary").Float32Schema;
141
161
  motor_position: import("typed-binary").Float32Schema;
@@ -189,16 +209,56 @@ export declare const PressureSensorPacket: import("typed-binary").ObjectSchema<{
189
209
  }>;
190
210
  }>;
191
211
  export type PressureSensorPacket = bin.Parsed<typeof PressureSensorPacket>;
212
+ export declare const sensors_capacitance_CapacitanceSample: import("typed-binary").ObjectSchema<{
213
+ offset_cpf: import("typed-binary").Int16Schema;
214
+ raw_cpf: import("typed-binary").Int16Schema;
215
+ adjusted_cpf: import("typed-binary").Int16Schema;
216
+ }>;
217
+ export type sensors_capacitance_CapacitanceSample = bin.Parsed<typeof sensors_capacitance_CapacitanceSample>;
218
+ export declare const sensors_capacitance_CapacitanceBatch: import("typed-binary").ObjectSchema<{
219
+ t0_us: UInt64Schema;
220
+ dt_us: import("typed-binary").Uint32Schema;
221
+ count: import("typed-binary").ByteSchema;
222
+ seq: import("typed-binary").ByteSchema;
223
+ samples: import("typed-binary").ArraySchema<import("typed-binary").ObjectSchema<{
224
+ offset_cpf: import("typed-binary").Int16Schema;
225
+ raw_cpf: import("typed-binary").Int16Schema;
226
+ adjusted_cpf: import("typed-binary").Int16Schema;
227
+ }>>;
228
+ }>;
229
+ export type sensors_capacitance_CapacitanceBatch = bin.Parsed<typeof sensors_capacitance_CapacitanceBatch>;
230
+ export declare const CapacitanceSensorPacket: import("typed-binary").ObjectSchema<{
231
+ sensor_id: import("typed-binary").ByteSchema;
232
+ data: import("typed-binary").ObjectSchema<{
233
+ t0_us: UInt64Schema;
234
+ dt_us: import("typed-binary").Uint32Schema;
235
+ count: import("typed-binary").ByteSchema;
236
+ seq: import("typed-binary").ByteSchema;
237
+ samples: import("typed-binary").ArraySchema<import("typed-binary").ObjectSchema<{
238
+ offset_cpf: import("typed-binary").Int16Schema;
239
+ raw_cpf: import("typed-binary").Int16Schema;
240
+ adjusted_cpf: import("typed-binary").Int16Schema;
241
+ }>>;
242
+ }>;
243
+ }>;
244
+ export type CapacitanceSensorPacket = bin.Parsed<typeof CapacitanceSensorPacket>;
245
+ export declare const sensors_capacitance_LevelBatch: import("typed-binary").ObjectSchema<{
246
+ t0_us: UInt64Schema;
247
+ dt_us: import("typed-binary").Uint32Schema;
248
+ count: import("typed-binary").ByteSchema;
249
+ seq: import("typed-binary").ByteSchema;
250
+ heights_m: import("typed-binary").ArraySchema<import("typed-binary").Float32Schema>;
251
+ }>;
252
+ export type sensors_capacitance_LevelBatch = bin.Parsed<typeof sensors_capacitance_LevelBatch>;
192
253
  export declare const LevelTelemetryPacket: import("typed-binary").ObjectSchema<{
193
254
  timestamp_ms: import("typed-binary").Uint32Schema;
194
- faults: import("typed-binary").Uint16Schema;
195
- height_m: import("typed-binary").Float32Schema;
196
- main_count: import("typed-binary").ByteSchema;
197
- gas_count: import("typed-binary").ByteSchema;
198
- liquid_count: import("typed-binary").ByteSchema;
199
- main_cpf: import("typed-binary").ArraySchema<import("typed-binary").Int16Schema>;
200
- gas_cpf: import("typed-binary").ArraySchema<import("typed-binary").Int16Schema>;
201
- liquid_cpf: import("typed-binary").ArraySchema<import("typed-binary").Int16Schema>;
255
+ data: import("typed-binary").ObjectSchema<{
256
+ t0_us: UInt64Schema;
257
+ dt_us: import("typed-binary").Uint32Schema;
258
+ count: import("typed-binary").ByteSchema;
259
+ seq: import("typed-binary").ByteSchema;
260
+ heights_m: import("typed-binary").ArraySchema<import("typed-binary").Float32Schema>;
261
+ }>;
202
262
  }>;
203
263
  export type LevelTelemetryPacket = bin.Parsed<typeof LevelTelemetryPacket>;
204
264
  export declare const actuators_servo_ServoStatus: import("typed-binary").ObjectSchema<{
@@ -381,6 +441,102 @@ export declare const BatteryMonitorTelemetryPacket: import("typed-binary").Objec
381
441
  voltages: import("typed-binary").ArraySchema<import("typed-binary").Float32Schema>;
382
442
  }>;
383
443
  export type BatteryMonitorTelemetryPacket = bin.Parsed<typeof BatteryMonitorTelemetryPacket>;
444
+ export declare const sensors_bms_RailMeasurement: import("typed-binary").ObjectSchema<{
445
+ current: import("typed-binary").Float32Schema;
446
+ volts: import("typed-binary").Float32Schema;
447
+ shunt_voltage: import("typed-binary").Float32Schema;
448
+ power: import("typed-binary").Float32Schema;
449
+ }>;
450
+ export type sensors_bms_RailMeasurement = bin.Parsed<typeof sensors_bms_RailMeasurement>;
451
+ export declare const sensors_bms_RailData: import("typed-binary").ObjectSchema<{
452
+ vbat: import("typed-binary").ObjectSchema<{
453
+ current: import("typed-binary").Float32Schema;
454
+ volts: import("typed-binary").Float32Schema;
455
+ shunt_voltage: import("typed-binary").Float32Schema;
456
+ power: import("typed-binary").Float32Schema;
457
+ }>;
458
+ v_12: import("typed-binary").ObjectSchema<{
459
+ current: import("typed-binary").Float32Schema;
460
+ volts: import("typed-binary").Float32Schema;
461
+ shunt_voltage: import("typed-binary").Float32Schema;
462
+ power: import("typed-binary").Float32Schema;
463
+ }>;
464
+ v_24: import("typed-binary").ObjectSchema<{
465
+ current: import("typed-binary").Float32Schema;
466
+ volts: import("typed-binary").Float32Schema;
467
+ shunt_voltage: import("typed-binary").Float32Schema;
468
+ power: import("typed-binary").Float32Schema;
469
+ }>;
470
+ }>;
471
+ export type sensors_bms_RailData = bin.Parsed<typeof sensors_bms_RailData>;
472
+ export declare const sensors_bms_BatteryPackData: import("typed-binary").ObjectSchema<{
473
+ cell: import("typed-binary").ArraySchema<import("typed-binary").Float32Schema>;
474
+ voltage: import("typed-binary").Float32Schema;
475
+ current: import("typed-binary").Float32Schema;
476
+ die_temperature: import("typed-binary").Float32Schema;
477
+ balancing_mask: import("typed-binary").ByteSchema;
478
+ alert: import("typed-binary").BoolSchema;
479
+ comms_ok: import("typed-binary").BoolSchema;
480
+ }>;
481
+ export type sensors_bms_BatteryPackData = bin.Parsed<typeof sensors_bms_BatteryPackData>;
482
+ export declare const sensors_bms_ChargerData: import("typed-binary").ObjectSchema<{
483
+ vac: Float64Schema;
484
+ vbat: Float64Schema;
485
+ vsys: Float64Schema;
486
+ iac: Float64Schema;
487
+ ibat: Float64Schema;
488
+ temperature: Float64Schema;
489
+ charging: import("typed-binary").BoolSchema;
490
+ power_good: import("typed-binary").BoolSchema;
491
+ faults: import("typed-binary").ByteSchema;
492
+ state: import("typed-binary").Uint32Schema;
493
+ }>;
494
+ export type sensors_bms_ChargerData = bin.Parsed<typeof sensors_bms_ChargerData>;
495
+ export declare const BmsTelemetryPacket: import("typed-binary").ObjectSchema<{
496
+ timestamp_ms: import("typed-binary").Uint32Schema;
497
+ rail: import("typed-binary").ObjectSchema<{
498
+ vbat: import("typed-binary").ObjectSchema<{
499
+ current: import("typed-binary").Float32Schema;
500
+ volts: import("typed-binary").Float32Schema;
501
+ shunt_voltage: import("typed-binary").Float32Schema;
502
+ power: import("typed-binary").Float32Schema;
503
+ }>;
504
+ v_12: import("typed-binary").ObjectSchema<{
505
+ current: import("typed-binary").Float32Schema;
506
+ volts: import("typed-binary").Float32Schema;
507
+ shunt_voltage: import("typed-binary").Float32Schema;
508
+ power: import("typed-binary").Float32Schema;
509
+ }>;
510
+ v_24: import("typed-binary").ObjectSchema<{
511
+ current: import("typed-binary").Float32Schema;
512
+ volts: import("typed-binary").Float32Schema;
513
+ shunt_voltage: import("typed-binary").Float32Schema;
514
+ power: import("typed-binary").Float32Schema;
515
+ }>;
516
+ }>;
517
+ battery_pack: import("typed-binary").ObjectSchema<{
518
+ cell: import("typed-binary").ArraySchema<import("typed-binary").Float32Schema>;
519
+ voltage: import("typed-binary").Float32Schema;
520
+ current: import("typed-binary").Float32Schema;
521
+ die_temperature: import("typed-binary").Float32Schema;
522
+ balancing_mask: import("typed-binary").ByteSchema;
523
+ alert: import("typed-binary").BoolSchema;
524
+ comms_ok: import("typed-binary").BoolSchema;
525
+ }>;
526
+ charger: import("typed-binary").ObjectSchema<{
527
+ vac: Float64Schema;
528
+ vbat: Float64Schema;
529
+ vsys: Float64Schema;
530
+ iac: Float64Schema;
531
+ ibat: Float64Schema;
532
+ temperature: Float64Schema;
533
+ charging: import("typed-binary").BoolSchema;
534
+ power_good: import("typed-binary").BoolSchema;
535
+ faults: import("typed-binary").ByteSchema;
536
+ state: import("typed-binary").Uint32Schema;
537
+ }>;
538
+ }>;
539
+ export type BmsTelemetryPacket = bin.Parsed<typeof BmsTelemetryPacket>;
384
540
  export declare const spec: {
385
541
  HeartBeatTelemetry: {
386
542
  port: number;
@@ -396,6 +552,7 @@ export declare const spec: {
396
552
  schema: import("typed-binary").ObjectSchema<{
397
553
  bldc_id: import("typed-binary").ByteSchema;
398
554
  fsm_state: import("typed-binary").ByteSchema;
555
+ timestamp_ms: import("typed-binary").Uint32Schema;
399
556
  telemetry: import("typed-binary").ObjectSchema<{
400
557
  valve_position: import("typed-binary").Float32Schema;
401
558
  motor_position: import("typed-binary").Float32Schema;
@@ -491,6 +648,7 @@ export declare const spec: {
491
648
  readonly FuelTankOverpressure: 2;
492
649
  readonly OxTankOverpressure: 3;
493
650
  readonly ChamberUnderpressure: 4;
651
+ readonly ConnectionLost: 5;
494
652
  };
495
653
  };
496
654
  };
@@ -523,21 +681,50 @@ export declare const spec: {
523
681
  data: {};
524
682
  };
525
683
  };
684
+ CapacitanceSensorPacket: {
685
+ port: number;
686
+ fragment: string;
687
+ packed: null;
688
+ schema: import("typed-binary").ObjectSchema<{
689
+ sensor_id: import("typed-binary").ByteSchema;
690
+ data: import("typed-binary").ObjectSchema<{
691
+ t0_us: UInt64Schema;
692
+ dt_us: import("typed-binary").Uint32Schema;
693
+ count: import("typed-binary").ByteSchema;
694
+ seq: import("typed-binary").ByteSchema;
695
+ samples: import("typed-binary").ArraySchema<import("typed-binary").ObjectSchema<{
696
+ offset_cpf: import("typed-binary").Int16Schema;
697
+ raw_cpf: import("typed-binary").Int16Schema;
698
+ adjusted_cpf: import("typed-binary").Int16Schema;
699
+ }>>;
700
+ }>;
701
+ }>;
702
+ enums: {
703
+ sensor_id: {
704
+ readonly Main: 0;
705
+ readonly LiquidRef: 1;
706
+ readonly GasRef: 2;
707
+ readonly Count: 3;
708
+ };
709
+ data: {};
710
+ };
711
+ };
526
712
  LevelTelemetryPacket: {
527
713
  port: number;
528
714
  packed: null;
529
715
  schema: import("typed-binary").ObjectSchema<{
530
716
  timestamp_ms: import("typed-binary").Uint32Schema;
531
- faults: import("typed-binary").Uint16Schema;
532
- height_m: import("typed-binary").Float32Schema;
533
- main_count: import("typed-binary").ByteSchema;
534
- gas_count: import("typed-binary").ByteSchema;
535
- liquid_count: import("typed-binary").ByteSchema;
536
- main_cpf: import("typed-binary").ArraySchema<import("typed-binary").Int16Schema>;
537
- gas_cpf: import("typed-binary").ArraySchema<import("typed-binary").Int16Schema>;
538
- liquid_cpf: import("typed-binary").ArraySchema<import("typed-binary").Int16Schema>;
717
+ data: import("typed-binary").ObjectSchema<{
718
+ t0_us: UInt64Schema;
719
+ dt_us: import("typed-binary").Uint32Schema;
720
+ count: import("typed-binary").ByteSchema;
721
+ seq: import("typed-binary").ByteSchema;
722
+ heights_m: import("typed-binary").ArraySchema<import("typed-binary").Float32Schema>;
723
+ }>;
539
724
  }>;
540
- enums: {};
725
+ enums: {
726
+ data: {};
727
+ };
541
728
  };
542
729
  ServoStatusPacket: {
543
730
  port: number;
@@ -738,6 +925,73 @@ export declare const spec: {
738
925
  }>;
739
926
  enums: {};
740
927
  };
928
+ BmsTelemetryPacket: {
929
+ port: number;
930
+ schema: import("typed-binary").ObjectSchema<{
931
+ timestamp_ms: import("typed-binary").Uint32Schema;
932
+ rail: import("typed-binary").ObjectSchema<{
933
+ vbat: import("typed-binary").ObjectSchema<{
934
+ current: import("typed-binary").Float32Schema;
935
+ volts: import("typed-binary").Float32Schema;
936
+ shunt_voltage: import("typed-binary").Float32Schema;
937
+ power: import("typed-binary").Float32Schema;
938
+ }>;
939
+ v_12: import("typed-binary").ObjectSchema<{
940
+ current: import("typed-binary").Float32Schema;
941
+ volts: import("typed-binary").Float32Schema;
942
+ shunt_voltage: import("typed-binary").Float32Schema;
943
+ power: import("typed-binary").Float32Schema;
944
+ }>;
945
+ v_24: import("typed-binary").ObjectSchema<{
946
+ current: import("typed-binary").Float32Schema;
947
+ volts: import("typed-binary").Float32Schema;
948
+ shunt_voltage: import("typed-binary").Float32Schema;
949
+ power: import("typed-binary").Float32Schema;
950
+ }>;
951
+ }>;
952
+ battery_pack: import("typed-binary").ObjectSchema<{
953
+ cell: import("typed-binary").ArraySchema<import("typed-binary").Float32Schema>;
954
+ voltage: import("typed-binary").Float32Schema;
955
+ current: import("typed-binary").Float32Schema;
956
+ die_temperature: import("typed-binary").Float32Schema;
957
+ balancing_mask: import("typed-binary").ByteSchema;
958
+ alert: import("typed-binary").BoolSchema;
959
+ comms_ok: import("typed-binary").BoolSchema;
960
+ }>;
961
+ charger: import("typed-binary").ObjectSchema<{
962
+ vac: Float64Schema;
963
+ vbat: Float64Schema;
964
+ vsys: Float64Schema;
965
+ iac: Float64Schema;
966
+ ibat: Float64Schema;
967
+ temperature: Float64Schema;
968
+ charging: import("typed-binary").BoolSchema;
969
+ power_good: import("typed-binary").BoolSchema;
970
+ faults: import("typed-binary").ByteSchema;
971
+ state: import("typed-binary").Uint32Schema;
972
+ }>;
973
+ }>;
974
+ enums: {
975
+ rail: {
976
+ vbat: {};
977
+ v_12: {};
978
+ v_24: {};
979
+ };
980
+ battery_pack: {};
981
+ charger: {
982
+ state: {
983
+ readonly NotCharging: 0;
984
+ readonly TrickleCharge: 1;
985
+ readonly PreCharge: 2;
986
+ readonly FastCharge: 3;
987
+ readonly TaperCharge: 4;
988
+ readonly Reserved: 5;
989
+ readonly TopOffTimerCharge: 6;
990
+ readonly ChargeTermination: 7;
991
+ };
992
+ };
993
+ };
994
+ };
741
995
  };
742
996
  export default spec;
743
997
  export type Spec = typeof spec;
@@ -1,5 +1,5 @@
1
1
  import bin, { Measurer, Schema } from 'typed-binary';
2
- // This file was generated by FRICC on 2026-07-06 13:11:53. Do not edit manually!
2
+ // This file was generated by FRICC on 2026-07-09 20:14:22. Do not edit manually!
3
3
  // The current version of typed-binary does not support 64-bit primitives.
4
4
  // So for we'll implement our own schemas. :)
5
5
  const __littleEndian = true;
@@ -96,6 +96,7 @@ export const fsm_AbortReason = {
96
96
  FuelTankOverpressure: 2,
97
97
  OxTankOverpressure: 3,
98
98
  ChamberUnderpressure: 4,
99
+ ConnectionLost: 5,
99
100
  };
100
101
  export const sensors_pressure_Id = {
101
102
  N2Tank: 0,
@@ -107,6 +108,12 @@ export const sensors_pressure_Id = {
107
108
  Chamber: 6,
108
109
  Count: 7,
109
110
  };
111
+ export const sensors_capacitance_Id = {
112
+ Main: 0,
113
+ LiquidRef: 1,
114
+ GasRef: 2,
115
+ Count: 3,
116
+ };
110
117
  export const actuators_servo_Id = {
111
118
  MainFuel: 0,
112
119
  MainOx: 1,
@@ -153,6 +160,16 @@ export const proto_can_thermocouple_Id = {
153
160
  ExtraNodeOne: 7,
154
161
  Count: 8,
155
162
  };
163
+ export const sensors_bms_ChargingStatus = {
164
+ NotCharging: 0,
165
+ TrickleCharge: 1,
166
+ PreCharge: 2,
167
+ FastCharge: 3,
168
+ TaperCharge: 4,
169
+ Reserved: 5,
170
+ TopOffTimerCharge: 6,
171
+ ChargeTermination: 7,
172
+ };
156
173
  export const HeartBeatTelemetry = bin.object({
157
174
  message: bin.arrayOf(bin.i8, 16), // char[16]
158
175
  status_flags: bin.u8, // unsigned char
@@ -171,6 +188,7 @@ export const actuators_bldc_BldcTelemetry = bin.object({
171
188
  export const BldcTelemetryPacket = bin.object({
172
189
  bldc_id: bin.u8, // actuators::bldc::Id
173
190
  fsm_state: bin.u8, // StateId
191
+ timestamp_ms: bin.u32, // unsigned int
174
192
  telemetry: actuators_bldc_BldcTelemetry, // actuators::bldc::BldcTelemetry
175
193
  });
176
194
  export const fsm_FsmStatus = bin.object({
@@ -196,16 +214,32 @@ export const PressureSensorPacket = bin.object({
196
214
  sensor_id: bin.u8, // sensors::pressure::Id
197
215
  data: sensors_pressure_PressureBatch, // sensors::pressure::PressureBatch
198
216
  });
217
+ export const sensors_capacitance_CapacitanceSample = bin.object({
218
+ offset_cpf: bin.i16, // short
219
+ raw_cpf: bin.i16, // short
220
+ adjusted_cpf: bin.i16, // short
221
+ });
222
+ export const sensors_capacitance_CapacitanceBatch = bin.object({
223
+ t0_us: u64, // unsigned long long
224
+ dt_us: bin.u32, // unsigned int
225
+ count: bin.u8, // unsigned char
226
+ seq: bin.u8, // unsigned char
227
+ samples: bin.arrayOf(sensors_capacitance_CapacitanceSample, 8), // sensors::capacitance::CapacitanceSample[8]
228
+ });
229
+ export const CapacitanceSensorPacket = bin.object({
230
+ sensor_id: bin.u8, // sensors::capacitance::Id
231
+ data: sensors_capacitance_CapacitanceBatch, // sensors::capacitance::CapacitanceBatch
232
+ });
233
+ export const sensors_capacitance_LevelBatch = bin.object({
234
+ t0_us: u64, // unsigned long long
235
+ dt_us: bin.u32, // unsigned int
236
+ count: bin.u8, // unsigned char
237
+ seq: bin.u8, // unsigned char
238
+ heights_m: bin.arrayOf(bin.f32, 10), // float[10]
239
+ });
199
240
  export const LevelTelemetryPacket = bin.object({
200
241
  timestamp_ms: bin.u32, // unsigned int
201
- faults: bin.u16, // unsigned short
202
- height_m: bin.f32, // float
203
- main_count: bin.u8, // unsigned char
204
- gas_count: bin.u8, // unsigned char
205
- liquid_count: bin.u8, // unsigned char
206
- main_cpf: bin.arrayOf(bin.i16, 8), // short[8]
207
- gas_cpf: bin.arrayOf(bin.i16, 8), // short[8]
208
- liquid_cpf: bin.arrayOf(bin.i16, 8), // short[8]
242
+ data: sensors_capacitance_LevelBatch, // sensors::capacitance::LevelBatch
209
243
  });
210
244
  export const actuators_servo_ServoStatus = bin.object({
211
245
  commanded_angle_deg: bin.f32, // float
@@ -296,6 +330,44 @@ export const BatteryMonitorTelemetryPacket = bin.object({
296
330
  timestamp_ms: bin.u32, // unsigned int
297
331
  voltages: bin.arrayOf(bin.f32, 2), // float[2]
298
332
  });
333
+ export const sensors_bms_RailMeasurement = bin.object({
334
+ current: bin.f32, // float
335
+ volts: bin.f32, // float
336
+ shunt_voltage: bin.f32, // float
337
+ power: bin.f32, // float
338
+ });
339
+ export const sensors_bms_RailData = bin.object({
340
+ vbat: sensors_bms_RailMeasurement, // sensors::bms::RailMeasurement
341
+ v_12: sensors_bms_RailMeasurement, // sensors::bms::RailMeasurement
342
+ v_24: sensors_bms_RailMeasurement, // sensors::bms::RailMeasurement
343
+ });
344
+ export const sensors_bms_BatteryPackData = bin.object({
345
+ cell: bin.arrayOf(bin.f32, 6), // float[6]
346
+ voltage: bin.f32, // float
347
+ current: bin.f32, // float
348
+ die_temperature: bin.f32, // float
349
+ balancing_mask: bin.u8, // unsigned char
350
+ alert: bin.bool, // bool
351
+ comms_ok: bin.bool, // bool
352
+ });
353
+ export const sensors_bms_ChargerData = bin.object({
354
+ vac: f64, // double
355
+ vbat: f64, // double
356
+ vsys: f64, // double
357
+ iac: f64, // double
358
+ ibat: f64, // double
359
+ temperature: f64, // double
360
+ charging: bin.bool, // bool
361
+ power_good: bin.bool, // bool
362
+ faults: bin.u8, // unsigned char
363
+ state: bin.u32, // sensors::bms::ChargingStatus
364
+ });
365
+ export const BmsTelemetryPacket = bin.object({
366
+ timestamp_ms: bin.u32, // unsigned int
367
+ rail: sensors_bms_RailData, // sensors::bms::RailData
368
+ battery_pack: sensors_bms_BatteryPackData, // sensors::bms::BatteryPackData
369
+ charger: sensors_bms_ChargerData, // sensors::bms::ChargerData
370
+ });
299
371
  export const spec = {
300
372
  HeartBeatTelemetry: {
301
373
  port: 57005,
@@ -334,11 +406,23 @@ export const spec = {
334
406
  data: {},
335
407
  },
336
408
  },
409
+ CapacitanceSensorPacket: {
410
+ port: 5011,
411
+ fragment: "sensor_id",
412
+ packed: null,
413
+ schema: CapacitanceSensorPacket,
414
+ enums: {
415
+ sensor_id: sensors_capacitance_Id,
416
+ data: {},
417
+ },
418
+ },
337
419
  LevelTelemetryPacket: {
338
420
  port: 5010,
339
421
  packed: null,
340
422
  schema: LevelTelemetryPacket,
341
- enums: {},
423
+ enums: {
424
+ data: {},
425
+ },
342
426
  },
343
427
  ServoStatusPacket: {
344
428
  port: 5003,
@@ -402,5 +486,20 @@ export const spec = {
402
486
  schema: BatteryMonitorTelemetryPacket,
403
487
  enums: {},
404
488
  },
489
+ BmsTelemetryPacket: {
490
+ port: 5012,
491
+ schema: BmsTelemetryPacket,
492
+ enums: {
493
+ rail: {
494
+ vbat: {},
495
+ v_12: {},
496
+ v_24: {},
497
+ },
498
+ battery_pack: {},
499
+ charger: {
500
+ state: sensors_bms_ChargingStatus,
501
+ },
502
+ },
503
+ },
405
504
  };
406
505
  export default spec;