rivian-python-client 2.2.0b8__tar.gz → 2.2.0b9__tar.gz

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.
Files changed (95) hide show
  1. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/PKG-INFO +1 -1
  2. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/__version__.py +1 -1
  3. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/body.py +15 -4
  4. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/dynamics.py +15 -4
  5. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/energy.py +2 -2
  6. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/body.proto +10 -3
  7. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/body_pb2.py +36 -34
  8. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/body_pb2.pyi +15 -4
  9. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/dynamics.proto +9 -3
  10. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/dynamics_pb2.py +18 -16
  11. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/dynamics_pb2.pyi +13 -4
  12. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/.gitignore +0 -0
  13. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/README.md +0 -0
  14. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/pyproject.toml +0 -0
  15. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/__init__.py +0 -0
  16. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/ble.py +0 -0
  17. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/const.py +0 -0
  18. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/exceptions.py +0 -0
  19. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/__init__.py +0 -0
  20. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/charging.py +0 -0
  21. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/comfort.py +0 -0
  22. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/core.py +0 -0
  23. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/departure.py +0 -0
  24. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/device_table.py +0 -0
  25. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/energy_edge_compute.py +0 -0
  26. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/gearguard_streaming.py +0 -0
  27. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/geofence.py +0 -0
  28. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/holiday_celebration.py +0 -0
  29. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/navigation.py +0 -0
  30. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/ota.py +0 -0
  31. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/parallax.py +0 -0
  32. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/__init__.py +0 -0
  33. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/charging.proto +0 -0
  34. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/charging_pb2.py +0 -0
  35. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/charging_pb2.pyi +0 -0
  36. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/comfort.proto +0 -0
  37. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/comfort_pb2.py +0 -0
  38. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/comfort_pb2.pyi +0 -0
  39. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/departure.proto +0 -0
  40. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/departure_pb2.py +0 -0
  41. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/departure_pb2.pyi +0 -0
  42. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/device_table.proto +0 -0
  43. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/device_table_pb2.py +0 -0
  44. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/device_table_pb2.pyi +0 -0
  45. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/energy.proto +0 -0
  46. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/energy_edge_compute.proto +0 -0
  47. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/energy_edge_compute_pb2.py +0 -0
  48. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/energy_edge_compute_pb2.pyi +0 -0
  49. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/energy_pb2.py +0 -0
  50. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/energy_pb2.pyi +0 -0
  51. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/gearguard_streaming.proto +0 -0
  52. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/gearguard_streaming_pb2.py +0 -0
  53. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/gearguard_streaming_pb2.pyi +0 -0
  54. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/geofence.proto +0 -0
  55. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/geofence_pb2.py +0 -0
  56. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/geofence_pb2.pyi +0 -0
  57. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/holiday_celebration.proto +0 -0
  58. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/holiday_celebration_pb2.py +0 -0
  59. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/holiday_celebration_pb2.pyi +0 -0
  60. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/navigation.proto +0 -0
  61. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/navigation_pb2.py +0 -0
  62. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/navigation_pb2.pyi +0 -0
  63. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/ota.proto +0 -0
  64. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/ota_pb2.py +0 -0
  65. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/ota_pb2.pyi +0 -0
  66. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/parallax.proto +0 -0
  67. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/parallax_pb2.py +0 -0
  68. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/parallax_pb2.pyi +0 -0
  69. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/secure_file_transfer.proto +0 -0
  70. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/secure_file_transfer_pb2.py +0 -0
  71. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/secure_file_transfer_pb2.pyi +0 -0
  72. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/security.proto +0 -0
  73. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/security_pb2.py +0 -0
  74. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/security_pb2.pyi +0 -0
  75. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/user_passcodes.proto +0 -0
  76. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/user_passcodes_pb2.py +0 -0
  77. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/user_passcodes_pb2.pyi +0 -0
  78. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/vehicle.proto +0 -0
  79. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/vehicle_access.proto +0 -0
  80. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/vehicle_access_pb2.py +0 -0
  81. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/vehicle_access_pb2.pyi +0 -0
  82. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/vehicle_pb2.py +0 -0
  83. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/proto/vehicle_pb2.pyi +0 -0
  84. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/secure_file_transfer.py +0 -0
  85. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/security.py +0 -0
  86. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/user_passcodes.py +0 -0
  87. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/vehicle.py +0 -0
  88. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/parallax/vehicle_access.py +0 -0
  89. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/py.typed +0 -0
  90. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/rivian.py +0 -0
  91. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/schemas/charging.graphql +0 -0
  92. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/schemas/gateway.graphql +0 -0
  93. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/schemas/orders.graphql +0 -0
  94. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/utils.py +0 -0
  95. {rivian_python_client-2.2.0b8 → rivian_python_client-2.2.0b9}/src/rivian/ws_monitor.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: rivian-python-client
3
- Version: 2.2.0b8
3
+ Version: 2.2.0b9
4
4
  Summary: Rivian API Client (Unofficial)
5
5
  Author-email: Brian Retterer <bretterer@gmail.com>, "J.R. Gutierrez" <jrgutier@gmail.com>, Nathan Spencer <natekspencer@gmail.com>, Trevor Mack <drummer8001@gmail.com>
6
6
  License-Expression: MIT
@@ -1,4 +1,4 @@
1
1
  # This file is auto-generated by Hatchling. As such, do not:
2
2
  # - modify
3
3
  # - track in version control e.g. be sure to add to .gitignore
4
- __version__ = VERSION = '2.2.0b8'
4
+ __version__ = VERSION = '2.2.0b9'
@@ -241,9 +241,20 @@ def decode_trailer_state(m: body_pb2.TrailerState) -> dict[str, Any]:
241
241
  def decode_wiper_fluid_level(m: body_pb2.WiperFluidLevel) -> dict[str, Any]:
242
242
  """body.wipers.fluid_level — washer fluid level.
243
243
 
244
+ The value numbering is a best guess.
245
+
244
246
  Fields:
245
- _wiperFluidLevel: int — raw
247
+ wiperFluidState: str | None ("normal" | "low" | "empty")
246
248
  """
247
- if (v := _present(m, "field_2")) is None:
248
- return {}
249
- return {"_wiperFluidLevel": v}
249
+ return {
250
+ "wiperFluidState": _enum(
251
+ _WIPER_FLUID_STATE_MAP, m.state or None, what="wiper fluid state"
252
+ )
253
+ }
254
+
255
+
256
+ _WIPER_FLUID_STATE_MAP: Final[dict[int, str]] = {
257
+ body_pb2.WIPER_FLUID_STATE_NORMAL: "normal",
258
+ body_pb2.WIPER_FLUID_STATE_LOW: "low",
259
+ body_pb2.WIPER_FLUID_STATE_EMPTY: "empty",
260
+ }
@@ -248,9 +248,20 @@ def decode_mass_estimate(m: dynamics_pb2.MassEstimate) -> dict[str, Any]:
248
248
  def decode_brake_fluid_level(m: dynamics_pb2.BrakeFluidLevel) -> dict[str, Any]:
249
249
  """dynamics.brakes.fluid_level — brake fluid level.
250
250
 
251
+ The value numbering is a best guess.
252
+
251
253
  Fields:
252
- _brakeFluidLevel: int — raw
254
+ brakeFluidLow: str ("inactive" | "active" | "signal_not_available")
253
255
  """
254
- if (v := _present(m, "field_1")) is None:
255
- return {}
256
- return {"_brakeFluidLevel": v}
256
+ return {
257
+ "brakeFluidLow": _enum(
258
+ _BRAKE_FLUID_LOW_MAP, m.fluid_low, what="brake fluid low"
259
+ )
260
+ }
261
+
262
+
263
+ _BRAKE_FLUID_LOW_MAP: Final[dict[int, str]] = {
264
+ dynamics_pb2.BRAKE_FLUID_LOW_SIGNAL_NOT_AVAILABLE: "signal_not_available",
265
+ dynamics_pb2.BRAKE_FLUID_LOW_INACTIVE: "inactive",
266
+ dynamics_pb2.BRAKE_FLUID_LOW_ACTIVE: "active",
267
+ }
@@ -64,7 +64,7 @@ def decode_battery_characteristics(
64
64
  batteryChemistry: str | None ("nca" | "lfp" | "nmc")
65
65
  batteryModuleType: str | None (e.g. "9m")
66
66
  batteryPackCapacity: str | None (e.g. "135kwh")
67
- batteryCapacity: float (kWh; usable)
67
+ batteryUsableCapacity: float (kWh)
68
68
  batteryMaxCapacity: float (kWh)
69
69
  """
70
70
  result: dict[str, Any] = {
@@ -83,7 +83,7 @@ def decode_battery_characteristics(
83
83
  "batteryMaxCapacity": round(m.user_max_kwh, 2),
84
84
  }
85
85
  if (v := _present(m, "user_total_kwh")) is not None:
86
- result["batteryCapacity"] = round(v, 2)
86
+ result["batteryUsableCapacity"] = round(v, 2)
87
87
  return result
88
88
 
89
89
 
@@ -254,7 +254,14 @@ enum WindowsNextAction {
254
254
 
255
255
  // body.wipers.fluid_level
256
256
  message WiperFluidLevel {
257
- // Likely the app's FluidLevelState (normal | low | empty, i.e. the
258
- // gateway's wiperFluidState); its numbers are unknown.
259
- optional int32 field_2 = 2;
257
+ WiperFluidState state = 2;
258
+ }
259
+
260
+ // Best guess: the app's FluidLevelState values (the gateway's
261
+ // wiperFluidState), numbered in the app's normal | low | empty order.
262
+ enum WiperFluidState {
263
+ WIPER_FLUID_STATE_UNSPECIFIED = 0;
264
+ WIPER_FLUID_STATE_NORMAL = 1;
265
+ WIPER_FLUID_STATE_LOW = 2;
266
+ WIPER_FLUID_STATE_EMPTY = 3;
260
267
  }
@@ -24,45 +24,47 @@ _sym_db = _symbol_database.Default()
24
24
 
25
25
 
26
26
 
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n rivian/parallax/proto/body.proto\x12\x14rivian.parallax.body\"\xa4\x07\n\rClosuresState\x12<\n\x07\x63losure\x18\x01 \x03(\x0b\x32+.rivian.parallax.body.ClosuresState.Closure\x1a\xd4\x06\n\x07\x43losure\x12+\n\x02id\x18\x01 \x01(\x0e\x32\x1f.rivian.parallax.body.ClosureId\x12\x36\n\x05state\x18\x02 \x01(\x0e\x32\".rivian.parallax.body.ClosureStateH\x00\x88\x01\x01\x12\x1d\n\x15open_position_percent\x18\x03 \x01(\x05\x12\x31\n\x05\x66\x61ult\x18\x04 \x01(\x0e\x32\".rivian.parallax.body.ClosureFault\x12I\n\x13windows_next_action\x18\x05 \x01(\x0e\x32\'.rivian.parallax.body.WindowsNextActionH\x01\x88\x01\x01\x12\x45\n\x11\x66runk_next_action\x18\x06 \x01(\x0e\x32%.rivian.parallax.body.FrunkNextActionH\x02\x88\x01\x01\x12K\n\x14liftgate_next_action\x18\x07 \x01(\x0e\x32(.rivian.parallax.body.LiftgateNextActionH\x03\x88\x01\x01\x12J\n\x14side_bin_next_action\x18\x08 \x01(\x0e\x32\'.rivian.parallax.body.SideBinNextActionH\x04\x88\x01\x01\x12K\n\x14tailgate_next_action\x18\t \x01(\x0e\x32(.rivian.parallax.body.TailgateNextActionH\x05\x88\x01\x01\x12Y\n\x1c\x63harge_port_door_next_action\x18\n \x01(\x0e\x32..rivian.parallax.body.ChargePortDoorNextActionH\x06\x88\x01\x01\x12\x1b\n\x13tonneau_next_action\x18\x0b \x01(\x05\x42\x08\n\x06_stateB\x16\n\x14_windows_next_actionB\x14\n\x12_frunk_next_actionB\x17\n\x15_liftgate_next_actionB\x17\n\x15_side_bin_next_actionB\x17\n\x15_tailgate_next_actionB\x1f\n\x1d_charge_port_door_next_action\"\xe3\x01\n\nLocksState\x12\x33\n\x04lock\x18\x01 \x03(\x0b\x32%.rivian.parallax.body.LocksState.Lock\x1a\x9f\x01\n\x04Lock\x12(\n\x02id\x18\x01 \x01(\x0e\x32\x1c.rivian.parallax.body.LockId\x12\x33\n\x05state\x18\x02 \x01(\x0e\x32\x1f.rivian.parallax.body.LockStateH\x00\x88\x01\x01\x12.\n\x05\x66\x61ult\x18\x03 \x01(\x0e\x32\x1f.rivian.parallax.body.LockFaultB\x08\n\x06_state\"\xd1\x01\n\x0cWindowsState\x12\x39\n\x06window\x18\x01 \x03(\x0b\x32).rivian.parallax.body.WindowsState.Window\x1a\x85\x01\n\x06Window\x12\x36\n\x08instance\x18\x01 \x01(\x0e\x32$.rivian.parallax.body.WindowInstance\x12\x43\n\x12\x63\x61libration_status\x18\x02 \x01(\x0e\x32\'.rivian.parallax.body.CalibrationStatus\"\x9b\x01\n\x0cTrailerState\x12<\n\x08presence\x18\x01 \x01(\x0e\x32%.rivian.parallax.body.TrailerPresenceH\x00\x88\x01\x01\x12@\n\x11rear_hitch_status\x18\x02 \x01(\x0e\x32%.rivian.parallax.body.RearHitchStatusB\x0b\n\t_presence\"3\n\x0fWiperFluidLevel\x12\x14\n\x07\x66ield_2\x18\x02 \x01(\x05H\x00\x88\x01\x01\x42\n\n\x08_field_2*\xe8\x02\n\tClosureId\x12\x1a\n\x16\x43LOSURE_ID_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x44OOR_FRONT_LEFT\x10\x01\x12\x14\n\x10\x44OOR_FRONT_RIGHT\x10\x02\x12\x12\n\x0e\x44OOR_REAR_LEFT\x10\x03\x12\x13\n\x0f\x44OOR_REAR_RIGHT\x10\x04\x12\t\n\x05\x46RUNK\x10\x05\x12\x0c\n\x08TAILGATE\x10\x06\x12\x0c\n\x08LIFTGATE\x10\x07\x12\x11\n\rSIDE_BIN_LEFT\x10\x08\x12\x12\n\x0eSIDE_BIN_RIGHT\x10\t\x12\x0f\n\x0b\x43HARGE_PORT\x10\n\x12\x0b\n\x07TONNEAU\x10\x0b\x12\x15\n\x11WINDOW_FRONT_LEFT\x10\x0c\x12\x16\n\x12WINDOW_FRONT_RIGHT\x10\r\x12\x14\n\x10WINDOW_REAR_LEFT\x10\x0e\x12\x15\n\x11WINDOW_REAR_RIGHT\x10\x0f\x12\x0f\n\x0bWINDOW_REAR\x10\x10\x12\x12\n\rGROUP_WINDOWS\x10\x90N*\xad\x01\n\x0c\x43losureState\x12\x1d\n\x19\x43LOSURE_STATE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43LOSURE_STATE_OPEN\x10\x01\x12\x18\n\x14\x43LOSURE_STATE_CLOSED\x10\x02\x12\x16\n\x12\x43LOSURE_STATE_AJAR\x10\x03\x12\x19\n\x15\x43LOSURE_STATE_OPENING\x10\x04\x12\x19\n\x15\x43LOSURE_STATE_CLOSING\x10\x05*\xf3\x02\n\x06LockId\x12\x17\n\x13LOCK_ID_UNSPECIFIED\x10\x00\x12\x18\n\x14LOCK_DOOR_FRONT_LEFT\x10\x01\x12\x19\n\x15LOCK_DOOR_FRONT_RIGHT\x10\x02\x12\x17\n\x13LOCK_DOOR_REAR_LEFT\x10\x03\x12\x18\n\x14LOCK_DOOR_REAR_RIGHT\x10\x04\x12\x0e\n\nLOCK_FRUNK\x10\x05\x12\x11\n\rLOCK_TAILGATE\x10\x06\x12\x11\n\rLOCK_LIFTGATE\x10\x07\x12\x16\n\x12LOCK_SIDE_BIN_LEFT\x10\x08\x12\x17\n\x13LOCK_SIDE_BIN_RIGHT\x10\t\x12\x14\n\x10LOCK_CHARGE_PORT\x10\n\x12\x17\n\x13LOCK_TRUNK_SECURITY\x10\x0b\x12\x17\n\x13LOCK_CENTER_CONSOLE\x10\x0c\x12\x12\n\x0eLOCK_GLOVE_BOX\x10\r\x12\x13\n\x0fLOCK_GEAR_GUARD\x10\x0e\x12\x10\n\x0cLOCK_TONNEAU\x10\x0f*z\n\tLockState\x12\x1a\n\x16LOCK_STATE_UNSPECIFIED\x10\x00\x12\x15\n\x11LOCK_STATE_LOCKED\x10\x01\x12\x17\n\x13LOCK_STATE_UNLOCKED\x10\x02\x12!\n\x1dLOCK_STATE_PARTIALLY_UNLOCKED\x10\x03*?\n\tLockFault\x12\x1a\n\x16LOCK_FAULT_UNSPECIFIED\x10\x00\x12\x16\n\x12LOCK_FAULT_FAULTED\x10\x01*\xcb\x01\n\x0eWindowInstance\x12\x1f\n\x1bWINDOW_INSTANCE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aWINDOW_INSTANCE_FRONT_LEFT\x10\x01\x12\x1f\n\x1bWINDOW_INSTANCE_FRONT_RIGHT\x10\x02\x12\x1d\n\x19WINDOW_INSTANCE_REAR_LEFT\x10\x03\x12\x1e\n\x1aWINDOW_INSTANCE_REAR_RIGHT\x10\x04\x12\x18\n\x14WINDOW_INSTANCE_REAR\x10\x05*\x81\x01\n\x11\x43\x61librationStatus\x12\"\n\x1e\x43\x41LIBRATION_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1d\x43\x41LIBRATION_STATUS_CALIBRATED\x10\x01\x12%\n!CALIBRATION_STATUS_NOT_CALIBRATED\x10\x02*\xd8\x01\n\x0fRearHitchStatus\x12!\n\x1dREAR_HITCH_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1dREAR_HITCH_STATUS_NOT_PRESENT\x10\x01\x12\x1f\n\x1bREAR_HITCH_STATUS_ACCESSORY\x10\x02\x12\x1e\n\x1aREAR_HITCH_STATUS_TRAILER1\x10\x03\x12\x1e\n\x1aREAR_HITCH_STATUS_TRAILER2\x10\x04\x12\x1e\n\x1aREAR_HITCH_STATUS_TRAILER3\x10\x05*\xaa\x01\n\x0c\x43losureFault\x12\x1d\n\x19\x43LOSURE_FAULT_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43LOSURE_FAULT_NO_FAULT\x10\x01\x12\x19\n\x15\x43LOSURE_FAULT_GENERAL\x10\x02\x12&\n\"CLOSURE_FAULT_NO_POWERED_OPERATION\x10\x03\x12\x1c\n\x18\x43LOSURE_FAULT_OBSTRUCTED\x10\x04*\x97\x01\n\x0fTrailerPresence\x12 \n\x1cTRAILER_PRESENCE_UNSPECIFIED\x10\x00\x12\x17\n\x13TRAILER_NOT_PRESENT\x10\x01\x12\x13\n\x0fTRAILER_PRESENT\x10\x02\x12\x1f\n\x1bTRAILER_PRESENT_WITH_BRAKES\x10\x03\x12\x13\n\x0fTRAILER_INVALID\x10\x04*\x9f\x04\n\x18\x43hargePortDoorNextAction\x12\x18\n\x14\x43HARGE_PORT_DOOR_SNA\x10\x00\x12!\n\x1d\x43HARGE_PORT_DOOR_OPEN_ALLOWED\x10\x01\x12\'\n#CHARGE_PORT_DOOR_OPEN_NOT_AVAILABLE\x10\x02\x12-\n)CHARGE_PORT_DOOR_OPEN_NOT_ALLOWED_FAULTED\x10\x03\x12\x1c\n\x18\x43HARGE_PORT_DOOR_OPENING\x10\x04\x12\"\n\x1e\x43HARGE_PORT_DOOR_CLOSE_ALLOWED\x10\x05\x12;\n7CHARGE_PORT_DOOR_OBSTRUCTED_WHILE_OPENING_CLOSE_ALLOWED\x10\x06\x12:\n6CHARGE_PORT_DOOR_OBSTRUCTED_WHILE_OPENING_OPEN_ALLOWED\x10\x07\x12;\n7CHARGE_PORT_DOOR_OBSTRUCTED_WHILE_CLOSING_CLOSE_ALLOWED\x10\x08\x12(\n$CHARGE_PORT_DOOR_CLOSE_NOT_AVAILABLE\x10\t\x12.\n*CHARGE_PORT_DOOR_CLOSE_NOT_ALLOWED_FAULTED\x10\n\x12\x1c\n\x18\x43HARGE_PORT_DOOR_CLOSING\x10\x0b*\xb0\x03\n\x0f\x46runkNextAction\x12\r\n\tFRUNK_SNA\x10\x00\x12\x16\n\x12\x46RUNK_OPEN_ALLOWED\x10\x01\x12\x17\n\x13\x46RUNK_CLOSE_ALLOWED\x10\x02\x12\x11\n\rFRUNK_OPENING\x10\x03\x12\x11\n\rFRUNK_CLOSING\x10\x04\x12\x1c\n\x18\x46RUNK_OPEN_NOT_AVAILABLE\x10\x05\x12\x1d\n\x19\x46RUNK_CLOSE_NOT_AVAILABLE\x10\x06\x12\"\n\x1e\x46RUNK_OPEN_NOT_ALLOWED_FAULTED\x10\x07\x12#\n\x1f\x46RUNK_CLOSE_NOT_ALLOWED_FAULTED\x10\x08\x12)\n%FRUNK_OPEN_ALLOWED_NO_POWER_OPERATION\x10\t\x12.\n*FRUNK_CLOSE_NOT_ALLOWED_NO_POWER_OPERATION\x10\n\x12*\n&FRUNK_OBSTRUCTED_OPENING_CLOSE_ALLOWED\x10\x0b\x12*\n&FRUNK_OBSTRUCTED_CLOSING_CLOSE_ALLOWED\x10\x0c*\xa7\x06\n\x12LiftgateNextAction\x12\x10\n\x0cLIFTGATE_SNA\x10\x00\x12\x19\n\x15LIFTGATE_OPEN_ALLOWED\x10\x01\x12\x1a\n\x16LIFTGATE_CLOSE_ALLOWED\x10\x02\x12\x14\n\x10LIFTGATE_OPENING\x10\x03\x12\x14\n\x10LIFTGATE_CLOSING\x10\x04\x12\x1f\n\x1bLIFTGATE_OPEN_NOT_AVAILABLE\x10\x05\x12 \n\x1cLIFTGATE_CLOSE_NOT_AVAILABLE\x10\x06\x12%\n!LIFTGATE_OPEN_NOT_ALLOWED_FAULTED\x10\x07\x12&\n\"LIFTGATE_CLOSE_NOT_ALLOWED_FAULTED\x10\x08\x12,\n(LIFTGATE_OPEN_ALLOWED_NO_POWER_OPERATION\x10\t\x12\x31\n-LIFTGATE_CLOSE_NOT_ALLOWED_NO_POWER_OPERATION\x10\n\x12-\n)LIFTGATE_OBSTRUCTED_OPENING_CLOSE_ALLOWED\x10\x0b\x12-\n)LIFTGATE_OBSTRUCTED_CLOSING_CLOSE_ALLOWED\x10\x0c\x12.\n*LIFTGATE_LOWER_GATE_OPEN_CLOSE_NOT_ALLOWED\x10\r\x12&\n\"LIFTGATE_OPENING_PAUSE_NOT_ALLOWED\x10\x0e\x12&\n\"LIFTGATE_CLOSING_PAUSE_NOT_ALLOWED\x10\x0f\x12+\n\'LIFTGATE_OPEN_ALLOWED_OBSTACLE_DETECTED\x10\x10\x12*\n&LIFTGATE_OPEN_ALLOWED_TRAILER_DETECTED\x10\x11\x12,\n(LIFTGATE_CLOSE_ALLOWED_OBSTACLE_DETECTED\x10\x12\x12+\n\'LIFTGATE_CLOSE_ALLOWED_TRAILER_DETECTED\x10\x13\x12\x17\n\x13LIFTGATE_PROCESSING\x10\x14*\xb2\x02\n\x11SideBinNextAction\x12\x10\n\x0cSIDE_BIN_SNA\x10\x00\x12\x19\n\x15SIDE_BIN_OPEN_ALLOWED\x10\x01\x12\x14\n\x10SIDE_BIN_OPENING\x10\x02\x12\x1f\n\x1bSIDE_BIN_OPEN_NOT_AVAILABLE\x10\x03\x12%\n!SIDE_BIN_OPEN_NOT_ALLOWED_FAULTED\x10\x04\x12\x32\n.SIDE_BIN_STUCK_AJAR_WHILE_OPENING_OPEN_ALLOWED\x10\x05\x12-\n)SIDE_BIN_OPEN_ALREADY_NO_ACTION_AVAILABLE\x10\x06\x12/\n+SIDE_BIN_OPEN_ALLOWED_CONFIRM_VEHICLE_ANGLE\x10\x07*\x8c\x03\n\x12TailgateNextAction\x12\x10\n\x0cTAILGATE_SNA\x10\x00\x12\x19\n\x15TAILGATE_OPEN_ALLOWED\x10\x01\x12\x14\n\x10TAILGATE_OPENING\x10\x02\x12\x1f\n\x1bTAILGATE_OPEN_NOT_AVAILABLE\x10\x03\x12%\n!TAILGATE_OPEN_NOT_ALLOWED_FAULTED\x10\x04\x12\x32\n.TAILGATE_STUCK_AJAR_WHILE_OPENING_OPEN_ALLOWED\x10\x05\x12-\n)TAILGATE_OPEN_ALREADY_NO_ACTION_AVAILABLE\x10\x06\x12/\n+TAILGATE_OPEN_ALLOWED_CONFIRM_VEHICLE_ANGLE\x10\x07\x12+\n\'TAILGATE_OPEN_ALLOWED_OBSTACLE_DETECTED\x10\x08\x12*\n&TAILGATE_OPEN_ALLOWED_TRAILER_DETECTED\x10\t*\xb0\x03\n\x11WindowsNextAction\x12\x0f\n\x0bWINDOWS_SNA\x10\x00\x12\x18\n\x14WINDOWS_OPEN_ALLOWED\x10\x01\x12\x19\n\x15WINDOWS_CLOSE_ALLOWED\x10\x02\x12\x13\n\x0fWINDOWS_OPENING\x10\x03\x12\x13\n\x0fWINDOWS_CLOSING\x10\x04\x12\x12\n\x0eWINDOWS_MOVING\x10\x05\x12\x1e\n\x1aWINDOWS_OPEN_NOT_AVAILABLE\x10\x06\x12\x1f\n\x1bWINDOWS_CLOSE_NOT_AVAILABLE\x10\x07\x12$\n WINDOWS_OPEN_NOT_ALLOWED_FAULTED\x10\x08\x12%\n!WINDOWS_CLOSE_NOT_ALLOWED_FAULTED\x10\t\x12\x32\n.WINDOWS_OBSTRUCTED_WHILE_CLOSING_CLOSE_ALLOWED\x10\n\x12*\n&WINDOWS_CLOSE_NOT_ALLOWED_UNCALIBRATED\x10\x0b\x12)\n%WINDOWS_OPEN_NOT_ALLOWED_UNCALIBRATED\x10\x0c\x62\x06proto3')
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n rivian/parallax/proto/body.proto\x12\x14rivian.parallax.body\"\xa4\x07\n\rClosuresState\x12<\n\x07\x63losure\x18\x01 \x03(\x0b\x32+.rivian.parallax.body.ClosuresState.Closure\x1a\xd4\x06\n\x07\x43losure\x12+\n\x02id\x18\x01 \x01(\x0e\x32\x1f.rivian.parallax.body.ClosureId\x12\x36\n\x05state\x18\x02 \x01(\x0e\x32\".rivian.parallax.body.ClosureStateH\x00\x88\x01\x01\x12\x1d\n\x15open_position_percent\x18\x03 \x01(\x05\x12\x31\n\x05\x66\x61ult\x18\x04 \x01(\x0e\x32\".rivian.parallax.body.ClosureFault\x12I\n\x13windows_next_action\x18\x05 \x01(\x0e\x32\'.rivian.parallax.body.WindowsNextActionH\x01\x88\x01\x01\x12\x45\n\x11\x66runk_next_action\x18\x06 \x01(\x0e\x32%.rivian.parallax.body.FrunkNextActionH\x02\x88\x01\x01\x12K\n\x14liftgate_next_action\x18\x07 \x01(\x0e\x32(.rivian.parallax.body.LiftgateNextActionH\x03\x88\x01\x01\x12J\n\x14side_bin_next_action\x18\x08 \x01(\x0e\x32\'.rivian.parallax.body.SideBinNextActionH\x04\x88\x01\x01\x12K\n\x14tailgate_next_action\x18\t \x01(\x0e\x32(.rivian.parallax.body.TailgateNextActionH\x05\x88\x01\x01\x12Y\n\x1c\x63harge_port_door_next_action\x18\n \x01(\x0e\x32..rivian.parallax.body.ChargePortDoorNextActionH\x06\x88\x01\x01\x12\x1b\n\x13tonneau_next_action\x18\x0b \x01(\x05\x42\x08\n\x06_stateB\x16\n\x14_windows_next_actionB\x14\n\x12_frunk_next_actionB\x17\n\x15_liftgate_next_actionB\x17\n\x15_side_bin_next_actionB\x17\n\x15_tailgate_next_actionB\x1f\n\x1d_charge_port_door_next_action\"\xe3\x01\n\nLocksState\x12\x33\n\x04lock\x18\x01 \x03(\x0b\x32%.rivian.parallax.body.LocksState.Lock\x1a\x9f\x01\n\x04Lock\x12(\n\x02id\x18\x01 \x01(\x0e\x32\x1c.rivian.parallax.body.LockId\x12\x33\n\x05state\x18\x02 \x01(\x0e\x32\x1f.rivian.parallax.body.LockStateH\x00\x88\x01\x01\x12.\n\x05\x66\x61ult\x18\x03 \x01(\x0e\x32\x1f.rivian.parallax.body.LockFaultB\x08\n\x06_state\"\xd1\x01\n\x0cWindowsState\x12\x39\n\x06window\x18\x01 \x03(\x0b\x32).rivian.parallax.body.WindowsState.Window\x1a\x85\x01\n\x06Window\x12\x36\n\x08instance\x18\x01 \x01(\x0e\x32$.rivian.parallax.body.WindowInstance\x12\x43\n\x12\x63\x61libration_status\x18\x02 \x01(\x0e\x32\'.rivian.parallax.body.CalibrationStatus\"\x9b\x01\n\x0cTrailerState\x12<\n\x08presence\x18\x01 \x01(\x0e\x32%.rivian.parallax.body.TrailerPresenceH\x00\x88\x01\x01\x12@\n\x11rear_hitch_status\x18\x02 \x01(\x0e\x32%.rivian.parallax.body.RearHitchStatusB\x0b\n\t_presence\"G\n\x0fWiperFluidLevel\x12\x34\n\x05state\x18\x02 \x01(\x0e\x32%.rivian.parallax.body.WiperFluidState*\xe8\x02\n\tClosureId\x12\x1a\n\x16\x43LOSURE_ID_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x44OOR_FRONT_LEFT\x10\x01\x12\x14\n\x10\x44OOR_FRONT_RIGHT\x10\x02\x12\x12\n\x0e\x44OOR_REAR_LEFT\x10\x03\x12\x13\n\x0f\x44OOR_REAR_RIGHT\x10\x04\x12\t\n\x05\x46RUNK\x10\x05\x12\x0c\n\x08TAILGATE\x10\x06\x12\x0c\n\x08LIFTGATE\x10\x07\x12\x11\n\rSIDE_BIN_LEFT\x10\x08\x12\x12\n\x0eSIDE_BIN_RIGHT\x10\t\x12\x0f\n\x0b\x43HARGE_PORT\x10\n\x12\x0b\n\x07TONNEAU\x10\x0b\x12\x15\n\x11WINDOW_FRONT_LEFT\x10\x0c\x12\x16\n\x12WINDOW_FRONT_RIGHT\x10\r\x12\x14\n\x10WINDOW_REAR_LEFT\x10\x0e\x12\x15\n\x11WINDOW_REAR_RIGHT\x10\x0f\x12\x0f\n\x0bWINDOW_REAR\x10\x10\x12\x12\n\rGROUP_WINDOWS\x10\x90N*\xad\x01\n\x0c\x43losureState\x12\x1d\n\x19\x43LOSURE_STATE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43LOSURE_STATE_OPEN\x10\x01\x12\x18\n\x14\x43LOSURE_STATE_CLOSED\x10\x02\x12\x16\n\x12\x43LOSURE_STATE_AJAR\x10\x03\x12\x19\n\x15\x43LOSURE_STATE_OPENING\x10\x04\x12\x19\n\x15\x43LOSURE_STATE_CLOSING\x10\x05*\xf3\x02\n\x06LockId\x12\x17\n\x13LOCK_ID_UNSPECIFIED\x10\x00\x12\x18\n\x14LOCK_DOOR_FRONT_LEFT\x10\x01\x12\x19\n\x15LOCK_DOOR_FRONT_RIGHT\x10\x02\x12\x17\n\x13LOCK_DOOR_REAR_LEFT\x10\x03\x12\x18\n\x14LOCK_DOOR_REAR_RIGHT\x10\x04\x12\x0e\n\nLOCK_FRUNK\x10\x05\x12\x11\n\rLOCK_TAILGATE\x10\x06\x12\x11\n\rLOCK_LIFTGATE\x10\x07\x12\x16\n\x12LOCK_SIDE_BIN_LEFT\x10\x08\x12\x17\n\x13LOCK_SIDE_BIN_RIGHT\x10\t\x12\x14\n\x10LOCK_CHARGE_PORT\x10\n\x12\x17\n\x13LOCK_TRUNK_SECURITY\x10\x0b\x12\x17\n\x13LOCK_CENTER_CONSOLE\x10\x0c\x12\x12\n\x0eLOCK_GLOVE_BOX\x10\r\x12\x13\n\x0fLOCK_GEAR_GUARD\x10\x0e\x12\x10\n\x0cLOCK_TONNEAU\x10\x0f*z\n\tLockState\x12\x1a\n\x16LOCK_STATE_UNSPECIFIED\x10\x00\x12\x15\n\x11LOCK_STATE_LOCKED\x10\x01\x12\x17\n\x13LOCK_STATE_UNLOCKED\x10\x02\x12!\n\x1dLOCK_STATE_PARTIALLY_UNLOCKED\x10\x03*?\n\tLockFault\x12\x1a\n\x16LOCK_FAULT_UNSPECIFIED\x10\x00\x12\x16\n\x12LOCK_FAULT_FAULTED\x10\x01*\xcb\x01\n\x0eWindowInstance\x12\x1f\n\x1bWINDOW_INSTANCE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aWINDOW_INSTANCE_FRONT_LEFT\x10\x01\x12\x1f\n\x1bWINDOW_INSTANCE_FRONT_RIGHT\x10\x02\x12\x1d\n\x19WINDOW_INSTANCE_REAR_LEFT\x10\x03\x12\x1e\n\x1aWINDOW_INSTANCE_REAR_RIGHT\x10\x04\x12\x18\n\x14WINDOW_INSTANCE_REAR\x10\x05*\x81\x01\n\x11\x43\x61librationStatus\x12\"\n\x1e\x43\x41LIBRATION_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1d\x43\x41LIBRATION_STATUS_CALIBRATED\x10\x01\x12%\n!CALIBRATION_STATUS_NOT_CALIBRATED\x10\x02*\xd8\x01\n\x0fRearHitchStatus\x12!\n\x1dREAR_HITCH_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1dREAR_HITCH_STATUS_NOT_PRESENT\x10\x01\x12\x1f\n\x1bREAR_HITCH_STATUS_ACCESSORY\x10\x02\x12\x1e\n\x1aREAR_HITCH_STATUS_TRAILER1\x10\x03\x12\x1e\n\x1aREAR_HITCH_STATUS_TRAILER2\x10\x04\x12\x1e\n\x1aREAR_HITCH_STATUS_TRAILER3\x10\x05*\xaa\x01\n\x0c\x43losureFault\x12\x1d\n\x19\x43LOSURE_FAULT_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43LOSURE_FAULT_NO_FAULT\x10\x01\x12\x19\n\x15\x43LOSURE_FAULT_GENERAL\x10\x02\x12&\n\"CLOSURE_FAULT_NO_POWERED_OPERATION\x10\x03\x12\x1c\n\x18\x43LOSURE_FAULT_OBSTRUCTED\x10\x04*\x97\x01\n\x0fTrailerPresence\x12 \n\x1cTRAILER_PRESENCE_UNSPECIFIED\x10\x00\x12\x17\n\x13TRAILER_NOT_PRESENT\x10\x01\x12\x13\n\x0fTRAILER_PRESENT\x10\x02\x12\x1f\n\x1bTRAILER_PRESENT_WITH_BRAKES\x10\x03\x12\x13\n\x0fTRAILER_INVALID\x10\x04*\x9f\x04\n\x18\x43hargePortDoorNextAction\x12\x18\n\x14\x43HARGE_PORT_DOOR_SNA\x10\x00\x12!\n\x1d\x43HARGE_PORT_DOOR_OPEN_ALLOWED\x10\x01\x12\'\n#CHARGE_PORT_DOOR_OPEN_NOT_AVAILABLE\x10\x02\x12-\n)CHARGE_PORT_DOOR_OPEN_NOT_ALLOWED_FAULTED\x10\x03\x12\x1c\n\x18\x43HARGE_PORT_DOOR_OPENING\x10\x04\x12\"\n\x1e\x43HARGE_PORT_DOOR_CLOSE_ALLOWED\x10\x05\x12;\n7CHARGE_PORT_DOOR_OBSTRUCTED_WHILE_OPENING_CLOSE_ALLOWED\x10\x06\x12:\n6CHARGE_PORT_DOOR_OBSTRUCTED_WHILE_OPENING_OPEN_ALLOWED\x10\x07\x12;\n7CHARGE_PORT_DOOR_OBSTRUCTED_WHILE_CLOSING_CLOSE_ALLOWED\x10\x08\x12(\n$CHARGE_PORT_DOOR_CLOSE_NOT_AVAILABLE\x10\t\x12.\n*CHARGE_PORT_DOOR_CLOSE_NOT_ALLOWED_FAULTED\x10\n\x12\x1c\n\x18\x43HARGE_PORT_DOOR_CLOSING\x10\x0b*\xb0\x03\n\x0f\x46runkNextAction\x12\r\n\tFRUNK_SNA\x10\x00\x12\x16\n\x12\x46RUNK_OPEN_ALLOWED\x10\x01\x12\x17\n\x13\x46RUNK_CLOSE_ALLOWED\x10\x02\x12\x11\n\rFRUNK_OPENING\x10\x03\x12\x11\n\rFRUNK_CLOSING\x10\x04\x12\x1c\n\x18\x46RUNK_OPEN_NOT_AVAILABLE\x10\x05\x12\x1d\n\x19\x46RUNK_CLOSE_NOT_AVAILABLE\x10\x06\x12\"\n\x1e\x46RUNK_OPEN_NOT_ALLOWED_FAULTED\x10\x07\x12#\n\x1f\x46RUNK_CLOSE_NOT_ALLOWED_FAULTED\x10\x08\x12)\n%FRUNK_OPEN_ALLOWED_NO_POWER_OPERATION\x10\t\x12.\n*FRUNK_CLOSE_NOT_ALLOWED_NO_POWER_OPERATION\x10\n\x12*\n&FRUNK_OBSTRUCTED_OPENING_CLOSE_ALLOWED\x10\x0b\x12*\n&FRUNK_OBSTRUCTED_CLOSING_CLOSE_ALLOWED\x10\x0c*\xa7\x06\n\x12LiftgateNextAction\x12\x10\n\x0cLIFTGATE_SNA\x10\x00\x12\x19\n\x15LIFTGATE_OPEN_ALLOWED\x10\x01\x12\x1a\n\x16LIFTGATE_CLOSE_ALLOWED\x10\x02\x12\x14\n\x10LIFTGATE_OPENING\x10\x03\x12\x14\n\x10LIFTGATE_CLOSING\x10\x04\x12\x1f\n\x1bLIFTGATE_OPEN_NOT_AVAILABLE\x10\x05\x12 \n\x1cLIFTGATE_CLOSE_NOT_AVAILABLE\x10\x06\x12%\n!LIFTGATE_OPEN_NOT_ALLOWED_FAULTED\x10\x07\x12&\n\"LIFTGATE_CLOSE_NOT_ALLOWED_FAULTED\x10\x08\x12,\n(LIFTGATE_OPEN_ALLOWED_NO_POWER_OPERATION\x10\t\x12\x31\n-LIFTGATE_CLOSE_NOT_ALLOWED_NO_POWER_OPERATION\x10\n\x12-\n)LIFTGATE_OBSTRUCTED_OPENING_CLOSE_ALLOWED\x10\x0b\x12-\n)LIFTGATE_OBSTRUCTED_CLOSING_CLOSE_ALLOWED\x10\x0c\x12.\n*LIFTGATE_LOWER_GATE_OPEN_CLOSE_NOT_ALLOWED\x10\r\x12&\n\"LIFTGATE_OPENING_PAUSE_NOT_ALLOWED\x10\x0e\x12&\n\"LIFTGATE_CLOSING_PAUSE_NOT_ALLOWED\x10\x0f\x12+\n\'LIFTGATE_OPEN_ALLOWED_OBSTACLE_DETECTED\x10\x10\x12*\n&LIFTGATE_OPEN_ALLOWED_TRAILER_DETECTED\x10\x11\x12,\n(LIFTGATE_CLOSE_ALLOWED_OBSTACLE_DETECTED\x10\x12\x12+\n\'LIFTGATE_CLOSE_ALLOWED_TRAILER_DETECTED\x10\x13\x12\x17\n\x13LIFTGATE_PROCESSING\x10\x14*\xb2\x02\n\x11SideBinNextAction\x12\x10\n\x0cSIDE_BIN_SNA\x10\x00\x12\x19\n\x15SIDE_BIN_OPEN_ALLOWED\x10\x01\x12\x14\n\x10SIDE_BIN_OPENING\x10\x02\x12\x1f\n\x1bSIDE_BIN_OPEN_NOT_AVAILABLE\x10\x03\x12%\n!SIDE_BIN_OPEN_NOT_ALLOWED_FAULTED\x10\x04\x12\x32\n.SIDE_BIN_STUCK_AJAR_WHILE_OPENING_OPEN_ALLOWED\x10\x05\x12-\n)SIDE_BIN_OPEN_ALREADY_NO_ACTION_AVAILABLE\x10\x06\x12/\n+SIDE_BIN_OPEN_ALLOWED_CONFIRM_VEHICLE_ANGLE\x10\x07*\x8c\x03\n\x12TailgateNextAction\x12\x10\n\x0cTAILGATE_SNA\x10\x00\x12\x19\n\x15TAILGATE_OPEN_ALLOWED\x10\x01\x12\x14\n\x10TAILGATE_OPENING\x10\x02\x12\x1f\n\x1bTAILGATE_OPEN_NOT_AVAILABLE\x10\x03\x12%\n!TAILGATE_OPEN_NOT_ALLOWED_FAULTED\x10\x04\x12\x32\n.TAILGATE_STUCK_AJAR_WHILE_OPENING_OPEN_ALLOWED\x10\x05\x12-\n)TAILGATE_OPEN_ALREADY_NO_ACTION_AVAILABLE\x10\x06\x12/\n+TAILGATE_OPEN_ALLOWED_CONFIRM_VEHICLE_ANGLE\x10\x07\x12+\n\'TAILGATE_OPEN_ALLOWED_OBSTACLE_DETECTED\x10\x08\x12*\n&TAILGATE_OPEN_ALLOWED_TRAILER_DETECTED\x10\t*\xb0\x03\n\x11WindowsNextAction\x12\x0f\n\x0bWINDOWS_SNA\x10\x00\x12\x18\n\x14WINDOWS_OPEN_ALLOWED\x10\x01\x12\x19\n\x15WINDOWS_CLOSE_ALLOWED\x10\x02\x12\x13\n\x0fWINDOWS_OPENING\x10\x03\x12\x13\n\x0fWINDOWS_CLOSING\x10\x04\x12\x12\n\x0eWINDOWS_MOVING\x10\x05\x12\x1e\n\x1aWINDOWS_OPEN_NOT_AVAILABLE\x10\x06\x12\x1f\n\x1bWINDOWS_CLOSE_NOT_AVAILABLE\x10\x07\x12$\n WINDOWS_OPEN_NOT_ALLOWED_FAULTED\x10\x08\x12%\n!WINDOWS_CLOSE_NOT_ALLOWED_FAULTED\x10\t\x12\x32\n.WINDOWS_OBSTRUCTED_WHILE_CLOSING_CLOSE_ALLOWED\x10\n\x12*\n&WINDOWS_CLOSE_NOT_ALLOWED_UNCALIBRATED\x10\x0b\x12)\n%WINDOWS_OPEN_NOT_ALLOWED_UNCALIBRATED\x10\x0c*\x8a\x01\n\x0fWiperFluidState\x12!\n\x1dWIPER_FLUID_STATE_UNSPECIFIED\x10\x00\x12\x1c\n\x18WIPER_FLUID_STATE_NORMAL\x10\x01\x12\x19\n\x15WIPER_FLUID_STATE_LOW\x10\x02\x12\x1b\n\x17WIPER_FLUID_STATE_EMPTY\x10\x03\x62\x06proto3')
28
28
 
29
29
  _globals = globals()
30
30
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
31
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rivian.parallax.proto.body_pb2', _globals)
32
32
  if not _descriptor._USE_C_DESCRIPTORS:
33
33
  DESCRIPTOR._loaded_options = None
34
- _globals['_CLOSUREID']._serialized_start=1647
35
- _globals['_CLOSUREID']._serialized_end=2007
36
- _globals['_CLOSURESTATE']._serialized_start=2010
37
- _globals['_CLOSURESTATE']._serialized_end=2183
38
- _globals['_LOCKID']._serialized_start=2186
39
- _globals['_LOCKID']._serialized_end=2557
40
- _globals['_LOCKSTATE']._serialized_start=2559
41
- _globals['_LOCKSTATE']._serialized_end=2681
42
- _globals['_LOCKFAULT']._serialized_start=2683
43
- _globals['_LOCKFAULT']._serialized_end=2746
44
- _globals['_WINDOWINSTANCE']._serialized_start=2749
45
- _globals['_WINDOWINSTANCE']._serialized_end=2952
46
- _globals['_CALIBRATIONSTATUS']._serialized_start=2955
47
- _globals['_CALIBRATIONSTATUS']._serialized_end=3084
48
- _globals['_REARHITCHSTATUS']._serialized_start=3087
49
- _globals['_REARHITCHSTATUS']._serialized_end=3303
50
- _globals['_CLOSUREFAULT']._serialized_start=3306
51
- _globals['_CLOSUREFAULT']._serialized_end=3476
52
- _globals['_TRAILERPRESENCE']._serialized_start=3479
53
- _globals['_TRAILERPRESENCE']._serialized_end=3630
54
- _globals['_CHARGEPORTDOORNEXTACTION']._serialized_start=3633
55
- _globals['_CHARGEPORTDOORNEXTACTION']._serialized_end=4176
56
- _globals['_FRUNKNEXTACTION']._serialized_start=4179
57
- _globals['_FRUNKNEXTACTION']._serialized_end=4611
58
- _globals['_LIFTGATENEXTACTION']._serialized_start=4614
59
- _globals['_LIFTGATENEXTACTION']._serialized_end=5421
60
- _globals['_SIDEBINNEXTACTION']._serialized_start=5424
61
- _globals['_SIDEBINNEXTACTION']._serialized_end=5730
62
- _globals['_TAILGATENEXTACTION']._serialized_start=5733
63
- _globals['_TAILGATENEXTACTION']._serialized_end=6129
64
- _globals['_WINDOWSNEXTACTION']._serialized_start=6132
65
- _globals['_WINDOWSNEXTACTION']._serialized_end=6564
34
+ _globals['_CLOSUREID']._serialized_start=1667
35
+ _globals['_CLOSUREID']._serialized_end=2027
36
+ _globals['_CLOSURESTATE']._serialized_start=2030
37
+ _globals['_CLOSURESTATE']._serialized_end=2203
38
+ _globals['_LOCKID']._serialized_start=2206
39
+ _globals['_LOCKID']._serialized_end=2577
40
+ _globals['_LOCKSTATE']._serialized_start=2579
41
+ _globals['_LOCKSTATE']._serialized_end=2701
42
+ _globals['_LOCKFAULT']._serialized_start=2703
43
+ _globals['_LOCKFAULT']._serialized_end=2766
44
+ _globals['_WINDOWINSTANCE']._serialized_start=2769
45
+ _globals['_WINDOWINSTANCE']._serialized_end=2972
46
+ _globals['_CALIBRATIONSTATUS']._serialized_start=2975
47
+ _globals['_CALIBRATIONSTATUS']._serialized_end=3104
48
+ _globals['_REARHITCHSTATUS']._serialized_start=3107
49
+ _globals['_REARHITCHSTATUS']._serialized_end=3323
50
+ _globals['_CLOSUREFAULT']._serialized_start=3326
51
+ _globals['_CLOSUREFAULT']._serialized_end=3496
52
+ _globals['_TRAILERPRESENCE']._serialized_start=3499
53
+ _globals['_TRAILERPRESENCE']._serialized_end=3650
54
+ _globals['_CHARGEPORTDOORNEXTACTION']._serialized_start=3653
55
+ _globals['_CHARGEPORTDOORNEXTACTION']._serialized_end=4196
56
+ _globals['_FRUNKNEXTACTION']._serialized_start=4199
57
+ _globals['_FRUNKNEXTACTION']._serialized_end=4631
58
+ _globals['_LIFTGATENEXTACTION']._serialized_start=4634
59
+ _globals['_LIFTGATENEXTACTION']._serialized_end=5441
60
+ _globals['_SIDEBINNEXTACTION']._serialized_start=5444
61
+ _globals['_SIDEBINNEXTACTION']._serialized_end=5750
62
+ _globals['_TAILGATENEXTACTION']._serialized_start=5753
63
+ _globals['_TAILGATENEXTACTION']._serialized_end=6149
64
+ _globals['_WINDOWSNEXTACTION']._serialized_start=6152
65
+ _globals['_WINDOWSNEXTACTION']._serialized_end=6584
66
+ _globals['_WIPERFLUIDSTATE']._serialized_start=6587
67
+ _globals['_WIPERFLUIDSTATE']._serialized_end=6725
66
68
  _globals['_CLOSURESSTATE']._serialized_start=59
67
69
  _globals['_CLOSURESSTATE']._serialized_end=991
68
70
  _globals['_CLOSURESSTATE_CLOSURE']._serialized_start=139
@@ -78,5 +80,5 @@ if not _descriptor._USE_C_DESCRIPTORS:
78
80
  _globals['_TRAILERSTATE']._serialized_start=1436
79
81
  _globals['_TRAILERSTATE']._serialized_end=1591
80
82
  _globals['_WIPERFLUIDLEVEL']._serialized_start=1593
81
- _globals['_WIPERFLUIDLEVEL']._serialized_end=1644
83
+ _globals['_WIPERFLUIDLEVEL']._serialized_end=1664
82
84
  # @@protoc_insertion_point(module_scope)
@@ -202,6 +202,13 @@ class WindowsNextAction(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
202
202
  WINDOWS_OBSTRUCTED_WHILE_CLOSING_CLOSE_ALLOWED: _ClassVar[WindowsNextAction]
203
203
  WINDOWS_CLOSE_NOT_ALLOWED_UNCALIBRATED: _ClassVar[WindowsNextAction]
204
204
  WINDOWS_OPEN_NOT_ALLOWED_UNCALIBRATED: _ClassVar[WindowsNextAction]
205
+
206
+ class WiperFluidState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
207
+ __slots__ = ()
208
+ WIPER_FLUID_STATE_UNSPECIFIED: _ClassVar[WiperFluidState]
209
+ WIPER_FLUID_STATE_NORMAL: _ClassVar[WiperFluidState]
210
+ WIPER_FLUID_STATE_LOW: _ClassVar[WiperFluidState]
211
+ WIPER_FLUID_STATE_EMPTY: _ClassVar[WiperFluidState]
205
212
  CLOSURE_ID_UNSPECIFIED: ClosureId
206
213
  DOOR_FRONT_LEFT: ClosureId
207
214
  DOOR_FRONT_RIGHT: ClosureId
@@ -350,6 +357,10 @@ WINDOWS_CLOSE_NOT_ALLOWED_FAULTED: WindowsNextAction
350
357
  WINDOWS_OBSTRUCTED_WHILE_CLOSING_CLOSE_ALLOWED: WindowsNextAction
351
358
  WINDOWS_CLOSE_NOT_ALLOWED_UNCALIBRATED: WindowsNextAction
352
359
  WINDOWS_OPEN_NOT_ALLOWED_UNCALIBRATED: WindowsNextAction
360
+ WIPER_FLUID_STATE_UNSPECIFIED: WiperFluidState
361
+ WIPER_FLUID_STATE_NORMAL: WiperFluidState
362
+ WIPER_FLUID_STATE_LOW: WiperFluidState
363
+ WIPER_FLUID_STATE_EMPTY: WiperFluidState
353
364
 
354
365
  class ClosuresState(_message.Message):
355
366
  __slots__ = ("closure",)
@@ -419,7 +430,7 @@ class TrailerState(_message.Message):
419
430
  def __init__(self, presence: _Optional[_Union[TrailerPresence, str]] = ..., rear_hitch_status: _Optional[_Union[RearHitchStatus, str]] = ...) -> None: ...
420
431
 
421
432
  class WiperFluidLevel(_message.Message):
422
- __slots__ = ("field_2",)
423
- FIELD_2_FIELD_NUMBER: _ClassVar[int]
424
- field_2: int
425
- def __init__(self, field_2: _Optional[int] = ...) -> None: ...
433
+ __slots__ = ("state",)
434
+ STATE_FIELD_NUMBER: _ClassVar[int]
435
+ state: WiperFluidState
436
+ def __init__(self, state: _Optional[_Union[WiperFluidState, str]] = ...) -> None: ...
@@ -146,7 +146,13 @@ message MassEstimate {
146
146
 
147
147
  // dynamics.brakes.fluid_level
148
148
  message BrakeFluidLevel {
149
- // Likely the app's FluidLevelLow (inactive | active | signal not
150
- // available, i.e. the gateway's brakeFluidLow); its numbers are unknown.
151
- optional int32 field_1 = 1;
149
+ BrakeFluidLow fluid_low = 1;
150
+ }
151
+
152
+ // Best guess: the app's FluidLevelLow values (the gateway's brakeFluidLow),
153
+ // numbered like the other SNA / false / true enums.
154
+ enum BrakeFluidLow {
155
+ BRAKE_FLUID_LOW_SIGNAL_NOT_AVAILABLE = 0;
156
+ BRAKE_FLUID_LOW_INACTIVE = 1;
157
+ BRAKE_FLUID_LOW_ACTIVE = 2;
152
158
  }
@@ -24,27 +24,29 @@ _sym_db = _symbol_database.Default()
24
24
 
25
25
 
26
26
 
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$rivian/parallax/proto/dynamics.proto\x12\x18rivian.parallax.dynamics\"\x89\x01\n\tDriveMode\x12;\n\x04mode\x18\x01 \x01(\x0e\x32(.rivian.parallax.dynamics.DriveModeValueH\x00\x88\x01\x01\x12\x1a\n\x12limited_accel_cold\x18\x08 \x01(\x08\x12\x1a\n\x12limited_regen_cold\x18\t \x01(\x08\x42\x07\n\x05_mode\"9\n\x04Gear\x12\x31\n\x04gear\x18\x01 \x01(\x0e\x32#.rivian.parallax.dynamics.GearValue\"\xdb\x01\n\x04Gnss\x12\x10\n\x08latitude\x18\x01 \x01(\x01\x12\x11\n\tlongitude\x18\x02 \x01(\x01\x12\x10\n\x08\x61ltitude\x18\x03 \x01(\x01\x12\r\n\x05speed\x18\x04 \x01(\x02\x12\x0f\n\x07\x62\x65\x61ring\x18\x05 \x01(\x02\x12!\n\x19position_horizontal_error\x18\x06 \x01(\x02\x12\x1f\n\x17position_vertical_error\x18\x07 \x01(\x02\x12\x13\n\x0bspeed_error\x18\x08 \x01(\x02\x12\x15\n\rbearing_error\x18\t \x01(\x02\x12\x0c\n\x04time\x18\n \x01(\x03\"a\n\rKnownLocation\x12\x43\n\x08location\x18\x01 \x01(\x0e\x32,.rivian.parallax.dynamics.KnownLocationValueH\x00\x88\x01\x01\x42\x0b\n\t_location\".\n\x08Odometer\x12\x15\n\x08\x64istance\x18\x01 \x01(\x03H\x00\x88\x01\x01\x42\x0b\n\t_distance\"\xd7\x01\n\x05Range\x12\x19\n\x11\x64istance_to_empty\x18\x01 \x01(\x05\x12@\n\tthreshold\x18\x02 \x01(\x0e\x32(.rivian.parallax.dynamics.RangeThresholdH\x00\x88\x01\x01\x12L\n\x12temperature_impact\x18\x03 \x01(\x0e\x32+.rivian.parallax.dynamics.TemperatureImpactH\x01\x88\x01\x01\x42\x0c\n\n_thresholdB\x15\n\x13_temperature_impact\"\xb6\x02\n\nTiresState\x12\x1b\n\x13tpms_monitor_status\x18\x01 \x01(\x05\x12\x37\n\x04tire\x18\x02 \x03(\x0b\x32).rivian.parallax.dynamics.TiresState.Tire\x1a\xd1\x01\n\x04Tire\x12\x33\n\x03pos\x18\x01 \x01(\x0e\x32&.rivian.parallax.dynamics.TirePosition\x12\x41\n\x06status\x18\x02 \x01(\x0e\x32,.rivian.parallax.dynamics.TirePressureStatusH\x00\x88\x01\x01\x12\x15\n\x08pressure\x18\x03 \x01(\x01H\x01\x88\x01\x01\x12\x0f\n\x07invalid\x18\x04 \x01(\x08\x12\x11\n\ttimestamp\x18\x05 \x01(\x03\x42\t\n\x07_statusB\x0b\n\t_pressure\"\xbe\x01\n\nEfficiency\x12\x17\n\nefficiency\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x14\n\x07\x66ield_2\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12=\n\x07history\x18\x03 \x03(\x0b\x32,.rivian.parallax.dynamics.Efficiency.History\x1a\'\n\x07History\x12\r\n\x05index\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05\x42\r\n\x0b_efficiencyB\n\n\x08_field_2\"*\n\x0cMassEstimate\x12\x11\n\x04mass\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\x07\n\x05_mass\"3\n\x0f\x42rakeFluidLevel\x12\x14\n\x07\x66ield_1\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\n\n\x08_field_1*\xcd\x03\n\x0e\x44riveModeValue\x12\x1a\n\x16\x44RIVE_MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x44RIVE_MODE_INIT\x10\x01\x12\x17\n\x13\x44RIVE_MODE_EVERYDAY\x10\x02\x12 \n\x1c\x44RIVE_MODE_OFF_ROAD_SNOW_ICE\x10\x03\x12\"\n\x1e\x44RIVE_MODE_OFF_ROAD_SPORT_AUTO\x10\x04\x12#\n\x1f\x44RIVE_MODE_OFF_ROAD_SPORT_DRIFT\x10\x05\x12\x1b\n\x17\x44RIVE_MODE_SPORT_LAUNCH\x10\x06\x12\x14\n\x10\x44RIVE_MODE_FAULT\x10\x07\x12\x14\n\x10\x44RIVE_MODE_SPORT\x10\x08\x12\x17\n\x13\x44RIVE_MODE_DISTANCE\x10\t\x12\x15\n\x11\x44RIVE_MODE_TOWING\x10\n\x12\x1c\n\x18\x44RIVE_MODE_OFF_ROAD_AUTO\x10\x0b\x12\x1c\n\x18\x44RIVE_MODE_OFF_ROAD_SAND\x10\x0c\x12\x1d\n\x19\x44RIVE_MODE_OFF_ROAD_ROCKS\x10\r\x12\x1b\n\x17\x44RIVE_MODE_OFF_ROAD_MUD\x10\x0e\x12\x15\n\x11\x44RIVE_MODE_WINTER\x10\x0f*d\n\tGearValue\x12\x14\n\x10GEAR_NOT_DEFINED\x10\x00\x12\r\n\tGEAR_PARK\x10\x01\x12\x10\n\x0cGEAR_REVERSE\x10\x02\x12\x10\n\x0cGEAR_NEUTRAL\x10\x03\x12\x0e\n\nGEAR_DRIVE\x10\x04*\x82\x01\n\x12KnownLocationValue\x12\x1e\n\x1aKNOWN_LOCATION_UNSPECIFIED\x10\x00\x12\x1a\n\x16KNOWN_LOCATION_UNKNOWN\x10\x01\x12\x17\n\x13KNOWN_LOCATION_HOME\x10\x02\x12\x17\n\x13KNOWN_LOCATION_WORK\x10\x03*\xa3\x01\n\x0eRangeThreshold\x12\x1f\n\x1bRANGE_THRESHOLD_UNSPECIFIED\x10\x00\x12\x1a\n\x16RANGE_THRESHOLD_NORMAL\x10\x01\x12\x17\n\x13RANGE_THRESHOLD_LOW\x10\x02\x12\x17\n\x13RANGE_THRESHOLD_RED\x10\x03\x12\"\n\x1eRANGE_THRESHOLD_CRITICALLY_LOW\x10\x04*\x93\x01\n\x11TemperatureImpact\x12\"\n\x1eTEMPERATURE_IMPACT_UNSPECIFIED\x10\x00\x12\x1c\n\x18TEMPERATURE_NORMAL_RANGE\x10\x01\x12\x1f\n\x1bTEMPERATURE_COLD_MAY_IMPACT\x10\x02\x12\x1b\n\x17TEMPERATURE_COLD_IMPACT\x10\x03*\x81\x01\n\x0cTirePosition\x12\x1d\n\x19TIRE_POSITION_UNSPECIFIED\x10\x00\x12\x13\n\x0fTIRE_FRONT_LEFT\x10\x01\x12\x14\n\x10TIRE_FRONT_RIGHT\x10\x02\x12\x12\n\x0eTIRE_REAR_LEFT\x10\x03\x12\x13\n\x0fTIRE_REAR_RIGHT\x10\x04*\xd4\x01\n\x12TirePressureStatus\x12$\n TIRE_PRESSURE_STATUS_UNSPECIFIED\x10\x00\x12\x1f\n\x1bTIRE_PRESSURE_STATUS_NORMAL\x10\x01\x12%\n!TIRE_PRESSURE_STATUS_WARNING_HARD\x10\x02\x12%\n!TIRE_PRESSURE_STATUS_WARNING_SOFT\x10\x03\x12)\n%TIRE_PRESSURE_STATUS_WARNING_PUNCTURE\x10\x04\x62\x06proto3')
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$rivian/parallax/proto/dynamics.proto\x12\x18rivian.parallax.dynamics\"\x89\x01\n\tDriveMode\x12;\n\x04mode\x18\x01 \x01(\x0e\x32(.rivian.parallax.dynamics.DriveModeValueH\x00\x88\x01\x01\x12\x1a\n\x12limited_accel_cold\x18\x08 \x01(\x08\x12\x1a\n\x12limited_regen_cold\x18\t \x01(\x08\x42\x07\n\x05_mode\"9\n\x04Gear\x12\x31\n\x04gear\x18\x01 \x01(\x0e\x32#.rivian.parallax.dynamics.GearValue\"\xdb\x01\n\x04Gnss\x12\x10\n\x08latitude\x18\x01 \x01(\x01\x12\x11\n\tlongitude\x18\x02 \x01(\x01\x12\x10\n\x08\x61ltitude\x18\x03 \x01(\x01\x12\r\n\x05speed\x18\x04 \x01(\x02\x12\x0f\n\x07\x62\x65\x61ring\x18\x05 \x01(\x02\x12!\n\x19position_horizontal_error\x18\x06 \x01(\x02\x12\x1f\n\x17position_vertical_error\x18\x07 \x01(\x02\x12\x13\n\x0bspeed_error\x18\x08 \x01(\x02\x12\x15\n\rbearing_error\x18\t \x01(\x02\x12\x0c\n\x04time\x18\n \x01(\x03\"a\n\rKnownLocation\x12\x43\n\x08location\x18\x01 \x01(\x0e\x32,.rivian.parallax.dynamics.KnownLocationValueH\x00\x88\x01\x01\x42\x0b\n\t_location\".\n\x08Odometer\x12\x15\n\x08\x64istance\x18\x01 \x01(\x03H\x00\x88\x01\x01\x42\x0b\n\t_distance\"\xd7\x01\n\x05Range\x12\x19\n\x11\x64istance_to_empty\x18\x01 \x01(\x05\x12@\n\tthreshold\x18\x02 \x01(\x0e\x32(.rivian.parallax.dynamics.RangeThresholdH\x00\x88\x01\x01\x12L\n\x12temperature_impact\x18\x03 \x01(\x0e\x32+.rivian.parallax.dynamics.TemperatureImpactH\x01\x88\x01\x01\x42\x0c\n\n_thresholdB\x15\n\x13_temperature_impact\"\xb6\x02\n\nTiresState\x12\x1b\n\x13tpms_monitor_status\x18\x01 \x01(\x05\x12\x37\n\x04tire\x18\x02 \x03(\x0b\x32).rivian.parallax.dynamics.TiresState.Tire\x1a\xd1\x01\n\x04Tire\x12\x33\n\x03pos\x18\x01 \x01(\x0e\x32&.rivian.parallax.dynamics.TirePosition\x12\x41\n\x06status\x18\x02 \x01(\x0e\x32,.rivian.parallax.dynamics.TirePressureStatusH\x00\x88\x01\x01\x12\x15\n\x08pressure\x18\x03 \x01(\x01H\x01\x88\x01\x01\x12\x0f\n\x07invalid\x18\x04 \x01(\x08\x12\x11\n\ttimestamp\x18\x05 \x01(\x03\x42\t\n\x07_statusB\x0b\n\t_pressure\"\xbe\x01\n\nEfficiency\x12\x17\n\nefficiency\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12\x14\n\x07\x66ield_2\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12=\n\x07history\x18\x03 \x03(\x0b\x32,.rivian.parallax.dynamics.Efficiency.History\x1a\'\n\x07History\x12\r\n\x05index\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05\x42\r\n\x0b_efficiencyB\n\n\x08_field_2\"*\n\x0cMassEstimate\x12\x11\n\x04mass\x18\x01 \x01(\x05H\x00\x88\x01\x01\x42\x07\n\x05_mass\"M\n\x0f\x42rakeFluidLevel\x12:\n\tfluid_low\x18\x01 \x01(\x0e\x32\'.rivian.parallax.dynamics.BrakeFluidLow*\xcd\x03\n\x0e\x44riveModeValue\x12\x1a\n\x16\x44RIVE_MODE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x44RIVE_MODE_INIT\x10\x01\x12\x17\n\x13\x44RIVE_MODE_EVERYDAY\x10\x02\x12 \n\x1c\x44RIVE_MODE_OFF_ROAD_SNOW_ICE\x10\x03\x12\"\n\x1e\x44RIVE_MODE_OFF_ROAD_SPORT_AUTO\x10\x04\x12#\n\x1f\x44RIVE_MODE_OFF_ROAD_SPORT_DRIFT\x10\x05\x12\x1b\n\x17\x44RIVE_MODE_SPORT_LAUNCH\x10\x06\x12\x14\n\x10\x44RIVE_MODE_FAULT\x10\x07\x12\x14\n\x10\x44RIVE_MODE_SPORT\x10\x08\x12\x17\n\x13\x44RIVE_MODE_DISTANCE\x10\t\x12\x15\n\x11\x44RIVE_MODE_TOWING\x10\n\x12\x1c\n\x18\x44RIVE_MODE_OFF_ROAD_AUTO\x10\x0b\x12\x1c\n\x18\x44RIVE_MODE_OFF_ROAD_SAND\x10\x0c\x12\x1d\n\x19\x44RIVE_MODE_OFF_ROAD_ROCKS\x10\r\x12\x1b\n\x17\x44RIVE_MODE_OFF_ROAD_MUD\x10\x0e\x12\x15\n\x11\x44RIVE_MODE_WINTER\x10\x0f*d\n\tGearValue\x12\x14\n\x10GEAR_NOT_DEFINED\x10\x00\x12\r\n\tGEAR_PARK\x10\x01\x12\x10\n\x0cGEAR_REVERSE\x10\x02\x12\x10\n\x0cGEAR_NEUTRAL\x10\x03\x12\x0e\n\nGEAR_DRIVE\x10\x04*\x82\x01\n\x12KnownLocationValue\x12\x1e\n\x1aKNOWN_LOCATION_UNSPECIFIED\x10\x00\x12\x1a\n\x16KNOWN_LOCATION_UNKNOWN\x10\x01\x12\x17\n\x13KNOWN_LOCATION_HOME\x10\x02\x12\x17\n\x13KNOWN_LOCATION_WORK\x10\x03*\xa3\x01\n\x0eRangeThreshold\x12\x1f\n\x1bRANGE_THRESHOLD_UNSPECIFIED\x10\x00\x12\x1a\n\x16RANGE_THRESHOLD_NORMAL\x10\x01\x12\x17\n\x13RANGE_THRESHOLD_LOW\x10\x02\x12\x17\n\x13RANGE_THRESHOLD_RED\x10\x03\x12\"\n\x1eRANGE_THRESHOLD_CRITICALLY_LOW\x10\x04*\x93\x01\n\x11TemperatureImpact\x12\"\n\x1eTEMPERATURE_IMPACT_UNSPECIFIED\x10\x00\x12\x1c\n\x18TEMPERATURE_NORMAL_RANGE\x10\x01\x12\x1f\n\x1bTEMPERATURE_COLD_MAY_IMPACT\x10\x02\x12\x1b\n\x17TEMPERATURE_COLD_IMPACT\x10\x03*\x81\x01\n\x0cTirePosition\x12\x1d\n\x19TIRE_POSITION_UNSPECIFIED\x10\x00\x12\x13\n\x0fTIRE_FRONT_LEFT\x10\x01\x12\x14\n\x10TIRE_FRONT_RIGHT\x10\x02\x12\x12\n\x0eTIRE_REAR_LEFT\x10\x03\x12\x13\n\x0fTIRE_REAR_RIGHT\x10\x04*\xd4\x01\n\x12TirePressureStatus\x12$\n TIRE_PRESSURE_STATUS_UNSPECIFIED\x10\x00\x12\x1f\n\x1bTIRE_PRESSURE_STATUS_NORMAL\x10\x01\x12%\n!TIRE_PRESSURE_STATUS_WARNING_HARD\x10\x02\x12%\n!TIRE_PRESSURE_STATUS_WARNING_SOFT\x10\x03\x12)\n%TIRE_PRESSURE_STATUS_WARNING_PUNCTURE\x10\x04*s\n\rBrakeFluidLow\x12(\n$BRAKE_FLUID_LOW_SIGNAL_NOT_AVAILABLE\x10\x00\x12\x1c\n\x18\x42RAKE_FLUID_LOW_INACTIVE\x10\x01\x12\x1a\n\x16\x42RAKE_FLUID_LOW_ACTIVE\x10\x02\x62\x06proto3')
28
28
 
29
29
  _globals = globals()
30
30
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
31
  _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'rivian.parallax.proto.dynamics_pb2', _globals)
32
32
  if not _descriptor._USE_C_DESCRIPTORS:
33
33
  DESCRIPTOR._loaded_options = None
34
- _globals['_DRIVEMODEVALUE']._serialized_start=1456
35
- _globals['_DRIVEMODEVALUE']._serialized_end=1917
36
- _globals['_GEARVALUE']._serialized_start=1919
37
- _globals['_GEARVALUE']._serialized_end=2019
38
- _globals['_KNOWNLOCATIONVALUE']._serialized_start=2022
39
- _globals['_KNOWNLOCATIONVALUE']._serialized_end=2152
40
- _globals['_RANGETHRESHOLD']._serialized_start=2155
41
- _globals['_RANGETHRESHOLD']._serialized_end=2318
42
- _globals['_TEMPERATUREIMPACT']._serialized_start=2321
43
- _globals['_TEMPERATUREIMPACT']._serialized_end=2468
44
- _globals['_TIREPOSITION']._serialized_start=2471
45
- _globals['_TIREPOSITION']._serialized_end=2600
46
- _globals['_TIREPRESSURESTATUS']._serialized_start=2603
47
- _globals['_TIREPRESSURESTATUS']._serialized_end=2815
34
+ _globals['_DRIVEMODEVALUE']._serialized_start=1482
35
+ _globals['_DRIVEMODEVALUE']._serialized_end=1943
36
+ _globals['_GEARVALUE']._serialized_start=1945
37
+ _globals['_GEARVALUE']._serialized_end=2045
38
+ _globals['_KNOWNLOCATIONVALUE']._serialized_start=2048
39
+ _globals['_KNOWNLOCATIONVALUE']._serialized_end=2178
40
+ _globals['_RANGETHRESHOLD']._serialized_start=2181
41
+ _globals['_RANGETHRESHOLD']._serialized_end=2344
42
+ _globals['_TEMPERATUREIMPACT']._serialized_start=2347
43
+ _globals['_TEMPERATUREIMPACT']._serialized_end=2494
44
+ _globals['_TIREPOSITION']._serialized_start=2497
45
+ _globals['_TIREPOSITION']._serialized_end=2626
46
+ _globals['_TIREPRESSURESTATUS']._serialized_start=2629
47
+ _globals['_TIREPRESSURESTATUS']._serialized_end=2841
48
+ _globals['_BRAKEFLUIDLOW']._serialized_start=2843
49
+ _globals['_BRAKEFLUIDLOW']._serialized_end=2958
48
50
  _globals['_DRIVEMODE']._serialized_start=67
49
51
  _globals['_DRIVEMODE']._serialized_end=204
50
52
  _globals['_GEAR']._serialized_start=206
@@ -68,5 +70,5 @@ if not _descriptor._USE_C_DESCRIPTORS:
68
70
  _globals['_MASSESTIMATE']._serialized_start=1358
69
71
  _globals['_MASSESTIMATE']._serialized_end=1400
70
72
  _globals['_BRAKEFLUIDLEVEL']._serialized_start=1402
71
- _globals['_BRAKEFLUIDLEVEL']._serialized_end=1453
73
+ _globals['_BRAKEFLUIDLEVEL']._serialized_end=1479
72
74
  # @@protoc_insertion_point(module_scope)
@@ -71,6 +71,12 @@ class TirePressureStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
71
71
  TIRE_PRESSURE_STATUS_WARNING_HARD: _ClassVar[TirePressureStatus]
72
72
  TIRE_PRESSURE_STATUS_WARNING_SOFT: _ClassVar[TirePressureStatus]
73
73
  TIRE_PRESSURE_STATUS_WARNING_PUNCTURE: _ClassVar[TirePressureStatus]
74
+
75
+ class BrakeFluidLow(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
76
+ __slots__ = ()
77
+ BRAKE_FLUID_LOW_SIGNAL_NOT_AVAILABLE: _ClassVar[BrakeFluidLow]
78
+ BRAKE_FLUID_LOW_INACTIVE: _ClassVar[BrakeFluidLow]
79
+ BRAKE_FLUID_LOW_ACTIVE: _ClassVar[BrakeFluidLow]
74
80
  DRIVE_MODE_UNSPECIFIED: DriveModeValue
75
81
  DRIVE_MODE_INIT: DriveModeValue
76
82
  DRIVE_MODE_EVERYDAY: DriveModeValue
@@ -115,6 +121,9 @@ TIRE_PRESSURE_STATUS_NORMAL: TirePressureStatus
115
121
  TIRE_PRESSURE_STATUS_WARNING_HARD: TirePressureStatus
116
122
  TIRE_PRESSURE_STATUS_WARNING_SOFT: TirePressureStatus
117
123
  TIRE_PRESSURE_STATUS_WARNING_PUNCTURE: TirePressureStatus
124
+ BRAKE_FLUID_LOW_SIGNAL_NOT_AVAILABLE: BrakeFluidLow
125
+ BRAKE_FLUID_LOW_INACTIVE: BrakeFluidLow
126
+ BRAKE_FLUID_LOW_ACTIVE: BrakeFluidLow
118
127
 
119
128
  class DriveMode(_message.Message):
120
129
  __slots__ = ("mode", "limited_accel_cold", "limited_regen_cold")
@@ -223,7 +232,7 @@ class MassEstimate(_message.Message):
223
232
  def __init__(self, mass: _Optional[int] = ...) -> None: ...
224
233
 
225
234
  class BrakeFluidLevel(_message.Message):
226
- __slots__ = ("field_1",)
227
- FIELD_1_FIELD_NUMBER: _ClassVar[int]
228
- field_1: int
229
- def __init__(self, field_1: _Optional[int] = ...) -> None: ...
235
+ __slots__ = ("fluid_low",)
236
+ FLUID_LOW_FIELD_NUMBER: _ClassVar[int]
237
+ fluid_low: BrakeFluidLow
238
+ def __init__(self, fluid_low: _Optional[_Union[BrakeFluidLow, str]] = ...) -> None: ...