From ae58be87bce08f03389eb13f60e4496e0da40400 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Sat, 18 Jan 2025 13:29:02 -0800 Subject: [PATCH] cereal fork compatibility (#34414) * more custom * cleanup * lil more --- cereal/custom.capnp | 34 +++++++++++++++++++++++++++++++++- cereal/log.capnp | 18 +++++++++++++++++- 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/cereal/custom.capnp b/cereal/custom.capnp index 369222add8..3348e859ef 100644 --- a/cereal/custom.capnp +++ b/cereal/custom.capnp @@ -7,7 +7,9 @@ $Cxx.namespace("cereal"); # These structs are guaranteed to remain reserved and empty in mainline # cereal, so use these if you want custom events in your fork. -# you can rename the struct, but don't change the identifier +# DO rename the structs +# DON'T change the identifier (e.g. @0x81c2f05a394cf4af) + struct CustomReserved0 @0x81c2f05a394cf4af { } @@ -37,3 +39,33 @@ struct CustomReserved8 @0xf416ec09499d9d19 { struct CustomReserved9 @0xa1680744031fdb2d { } + +struct CustomReserved10 @0xcb9fd56c7057593a { +} + +struct CustomReserved11 @0xc2243c65e0340384 { +} + +struct CustomReserved12 @0x9ccdc8676701b412 { +} + +struct CustomReserved13 @0xcd96dafb67a082d0 { +} + +struct CustomReserved14 @0xb057204d7deadf3f { +} + +struct CustomReserved15 @0xbd443b539493bc68 { +} + +struct CustomReserved16 @0xfc6241ed8877b611 { +} + +struct CustomReserved17 @0xa30662f84033036c { +} + +struct CustomReserved18 @0xc86a3d38d13eb3ef { +} + +struct CustomReserved19 @0xa4f1eb3323f5f582 { +} diff --git a/cereal/log.capnp b/cereal/log.capnp index 83e64b5a85..1209f3fd95 100644 --- a/cereal/log.capnp +++ b/cereal/log.capnp @@ -2554,11 +2554,17 @@ struct Event { livestreamWideRoadEncodeData @121 :EncodeData; livestreamDriverEncodeData @122 :EncodeData; + # *********** Custom: reserved for forks *********** + + # DO change the name of the field + # DON'T change anything after the "@" customReservedRawData0 @124 :Data; customReservedRawData1 @125 :Data; customReservedRawData2 @126 :Data; - # *********** Custom: reserved for forks *********** + # DO change the name of the field and struct + # DON'T change the ID (e.g. @107) + # DON'T change which struct it points to customReserved0 @107 :Custom.CustomReserved0; customReserved1 @108 :Custom.CustomReserved1; customReserved2 @109 :Custom.CustomReserved2; @@ -2569,6 +2575,16 @@ struct Event { customReserved7 @114 :Custom.CustomReserved7; customReserved8 @115 :Custom.CustomReserved8; customReserved9 @116 :Custom.CustomReserved9; + customReserved10 @136 :Custom.CustomReserved10; + customReserved11 @137 :Custom.CustomReserved11; + customReserved12 @138 :Custom.CustomReserved12; + customReserved13 @139 :Custom.CustomReserved13; + customReserved14 @140 :Custom.CustomReserved14; + customReserved15 @141 :Custom.CustomReserved15; + customReserved16 @142 :Custom.CustomReserved16; + customReserved17 @143 :Custom.CustomReserved17; + customReserved18 @144 :Custom.CustomReserved18; + customReserved19 @145 :Custom.CustomReserved19; # *********** legacy + deprecated *********** model @9 :Legacy.ModelData; # TODO: rename modelV2 and mark this as deprecated