message: allow configuring motor parameters without reboot
diff: @@ -239,12 +239,16 @@ public:
  make_protocol_ro_property("TIMING_LOG_FOC_CURRENT", &timing_log_[TIMING_LOG_FOC_CURRENT])
  ),
  make_protocol_object("config",
  - make_protocol_property("pre_calibrated", &config_.pre_calibrated),
  + make_protocol_property("pre_calibrated", &config_.pre_calibrated,
  + [](void* ctx) { static_cast<Motor*>(ctx)->is_calibrated_ =
  + static_cast<Motor*>(ctx)->is_calibrated_ || static_cast<Motor*>(ctx)->config_.pre_calibrated; }, this),
  make_protocol_property("pole_pairs", &config_.pole_pairs),
  make_protocol_property("calibration_current", &config_.calibration_current),
  make_protocol_property("resistance_calib_max_voltage", &config_.resistance_calib_max_voltage),
  - make_protocol_property("phase_inductance", &config_.phase_inductance),
  - make_protocol_property("phase_resistance", &config_.phase_resistance),
  + make_protocol_property("phase_inductance", &config_.phase_inductance,
  + [](void* ctx) { static_cast<Motor*>(ctx)->update_current_controller_gains(); }, this),
  + make_protocol_property("phase_resistance", &config_.phase_resistance,
  + [](void* ctx) { static_cast<Motor*>(ctx)->update_current_controller_gains(); }, this),
  make_protocol_property("direction", &config_.direction),
  make_protocol_property("motor_type", &config_.motor_type),
  make_protocol_property("current_lim", &config_.current_lim),
  