Просмотр исходного кода

[fix][wheel] Undefined w error

Wu Han 6 лет назад
Родитель
Сommit
bca91bc46c
2 измененных файлов с 5 добавлено и 5 удалено
  1. 2 2
      wheel/wheel.c
  2. 3 3
      wheel/wheel.h

+ 2 - 2
wheel/wheel.c

@@ -38,7 +38,7 @@ wheel_t wheel_create(motor_t w_motor, encoder_t w_encoder, controller_t w_contro
     new_wheel -> gear_ratio   = gear_ratio;
     new_wheel -> gear_ratio   = gear_ratio;
 
 
     // 3. pre compute the speed to rpm transform ;)
     // 3. pre compute the speed to rpm transform ;)
-    new_wheel -> speed_to_rpm = 1.0 / (w->radius * 2.0 * 60.0 * PI);
+    new_wheel -> speed_to_rpm = 1.0f / (radius * 2.0f * 60.0f * PI);
 
 
     return new_wheel;
     return new_wheel;
 }
 }
@@ -113,7 +113,7 @@ rt_err_t wheel_reset(wheel_t whl)
 /** speed = rpm x 60 x 2 x PI x radius **/
 /** speed = rpm x 60 x 2 x PI x radius **/
 /** so : rpm = speed x 1.0f / (radius x 60 x 2 x PT) */
 /** so : rpm = speed x 1.0f / (radius x 60 x 2 x PT) */
 /** then : rpm = speed * speed_to_rpm_transform --> precomputed */
 /** then : rpm = speed * speed_to_rpm_transform --> precomputed */
-rt_err_t wheel_set_speed(wheel_t whl, double speed)
+rt_err_t wheel_set_speed(wheel_t whl, float speed)
 {
 {
     RT_ASSERT(whl != RT_NULL);
     RT_ASSERT(whl != RT_NULL);
 
 

+ 3 - 3
wheel/wheel.h

@@ -16,7 +16,7 @@
 #include <motor.h>
 #include <motor.h>
 #include <controller.h>
 #include <controller.h>
 
 
-#define PI 3.1415926
+#define PI 3.1415926f
 
 
 typedef struct wheel *wheel_t;
 typedef struct wheel *wheel_t;
 
 
@@ -28,7 +28,7 @@ struct wheel
 
 
     rt_int16_t      rpm;
     rt_int16_t      rpm;
     float           radius;
     float           radius;
-    double          speed_to_rpm;
+    float          speed_to_rpm;
     rt_uint16_t     gear_ratio;
     rt_uint16_t     gear_ratio;
 };
 };
 
 
@@ -40,7 +40,7 @@ rt_err_t    wheel_disable(wheel_t whl);
 rt_err_t    wheel_reset(wheel_t whl);
 rt_err_t    wheel_reset(wheel_t whl);
 
 
 /** speed = rpm x 60 x 2 x PI x radius **/
 /** speed = rpm x 60 x 2 x PI x radius **/
-rt_err_t    wheel_set_speed(wheel_t whl, double speed);
+rt_err_t    wheel_set_speed(wheel_t whl, float speed);
 rt_err_t    wheel_set_rpm(wheel_t whl, rt_int16_t rpm);
 rt_err_t    wheel_set_rpm(wheel_t whl, rt_int16_t rpm);
 
 
 void        wheel_update(wheel_t whl);
 void        wheel_update(wheel_t whl);