diff --git a/src/drivers/uavcannode/UavcanNodeParamManager.cpp b/src/drivers/uavcannode/UavcanNodeParamManager.cpp index e405e93b5f..4d80948ed7 100644 --- a/src/drivers/uavcannode/UavcanNodeParamManager.cpp +++ b/src/drivers/uavcannode/UavcanNodeParamManager.cpp @@ -108,14 +108,20 @@ void UavcanNodeParamManager::readParamDefaultMaxMin(const Name &name, Value &out param_type_t value_type = param_type(param_handle); if (value_type == PARAM_TYPE_INT32) { - out_max.to() = INT32_MAX; + int32_t default_value = 0; + param_get_default_value(param_handle, &default_value); + out_default.to() = default_value; + out_min.to() = INT32_MIN; - out_default.to() = 0; + out_max.to() = INT32_MAX; } else if (value_type == PARAM_TYPE_FLOAT) { - out_max.to() = FLT_MAX; + float default_value = 0; + param_get_default_value(param_handle, &default_value); + out_default.to() = default_value; + out_min.to() = -FLT_MAX; - out_default.to() = 0.0; + out_max.to() = FLT_MAX; } }