message: pickle function for acceleration limits
diff: @@ -63,7 +63,22 @@ void python_dynamic(py::module m) {
  .def_readwrite("lat_acc_max", &AccelerationLimits::lat_acc_max)
  .def_readwrite("lat_acc_min", &AccelerationLimits::lat_acc_min)
  .def_readwrite("lon_acc_max", &AccelerationLimits::lon_acc_max)
  - .def_readwrite("lon_acc_min", &AccelerationLimits::lon_acc_min);
  + .def_readwrite("lon_acc_min", &AccelerationLimits::lon_acc_min)
  + .def("__repr__",
  + [](const AccelerationLimits& b) { return "bark.dynamic.AccelerationLimits"; })
  + .def(py::pickle(
  + [](const AccelerationLimits& a) {
  + return py::make_tuple(a.lat_acc_max, a.lat_acc_min, a.lon_acc_max, a.lon_acc_min);
  + },
  + [](py::tuple t) {
  + if (t.size() != 4)
  + throw std::runtime_error("Invalid AccelerationLimits!");
  + /* Create a new C++ instance */
  + return new AccelerationLimits{t[0].cast<double>(),
  + t[1].cast<double>(),
  + t[2].cast<double>(),
  + t[3].cast<double>()};
  + }));
  py::enum_<StateDefinition>(m, "StateDefinition", py::arithmetic())
  .value("TIME_POSITION", TIME_POSITION)
  