Explorar el Código

[motor] change pointer to void && hide structure

guoyongchao hace 6 años
padre
commit
08bc1cb6d5
Se han modificado 5 ficheros con 29 adiciones y 27 borrados
  1. 12 3
      motor/dual_pwm_motor.c
  2. 1 9
      motor/dual_pwm_motor.h
  3. 3 3
      motor/motor.h
  4. 12 3
      motor/single_pwm_motor.c
  5. 1 9
      motor/single_pwm_motor.h

+ 12 - 3
motor/dual_pwm_motor.c

@@ -4,7 +4,16 @@
 #define DBG_LEVEL DBG_LOG
 #include <rtdbg.h>
 
-static rt_err_t dual_pwm_motor_enable(motor_t mot)
+struct dual_pwm_motor
+{
+    struct motor mot;
+    struct rt_device_pwm *pwm1_dev;
+    int pwm1_channel;
+    struct rt_device_pwm *pwm2_dev;
+    int pwm2_channel;
+};
+
+static rt_err_t dual_pwm_motor_enable(void *mot)
 {
     RT_ASSERT(mot != RT_NULL);
 
@@ -16,7 +25,7 @@ static rt_err_t dual_pwm_motor_enable(motor_t mot)
     return RT_EOK;
 }
 
-static rt_err_t dual_pwm_motor_disable(motor_t mot)
+static rt_err_t dual_pwm_motor_disable(void *mot)
 {
     RT_ASSERT(mot != RT_NULL);
 
@@ -28,7 +37,7 @@ static rt_err_t dual_pwm_motor_disable(motor_t mot)
     return RT_EOK;
 }
 
-static rt_err_t dual_pwm_motor_set_speed(motor_t mot, rt_int16_t thousands)
+static rt_err_t dual_pwm_motor_set_speed(void *mot, rt_int16_t thousands)
 {
     RT_ASSERT(mot != RT_NULL);
 

+ 1 - 9
motor/dual_pwm_motor.h

@@ -3,17 +3,9 @@
 
 #include "motor.h"
 
+struct dual_pwm_motor;
 typedef struct dual_pwm_motor *dual_pwm_motor_t;
 
-struct dual_pwm_motor
-{
-    struct motor mot;
-    struct rt_device_pwm *pwm1_dev;
-    int pwm1_channel;
-    struct rt_device_pwm *pwm2_dev;
-    int pwm2_channel;
-};
-
 dual_pwm_motor_t dual_pwm_motor_create(char *pwm1, int pwm1_channel, char *pwm2, int pwm2_channel);
 
 #endif // __DUAL_PWM_MOTOR_H__

+ 3 - 3
motor/motor.h

@@ -11,9 +11,9 @@ typedef struct motor *motor_t;
 
 struct motor
 {
-    rt_err_t    (*enable)(motor_t mot);
-    rt_err_t    (*disable)(motor_t mot);
-    rt_err_t    (*set_speed)(motor_t mot, rt_int16_t thousands);
+    rt_err_t    (*enable)(void *mot);
+    rt_err_t    (*disable)(void *mot);
+    rt_err_t    (*set_speed)(void *mot, rt_int16_t thousands);
 };
 
 motor_t  motor_create(rt_size_t size);

+ 12 - 3
motor/single_pwm_motor.c

@@ -4,7 +4,16 @@
 #define DBG_LEVEL         DBG_LOG
 #include <rtdbg.h>
 
-static rt_err_t single_pwm_motor_enable(motor_t mot)
+struct single_pwm_motor
+{
+    struct motor mot;
+    struct rt_device_pwm *pwm_dev;
+    int channel;
+    rt_base_t pin1;
+    rt_base_t pin2;
+};
+
+static rt_err_t single_pwm_motor_enable(void *mot)
 {
     RT_ASSERT(mot != RT_NULL);
 
@@ -15,7 +24,7 @@ static rt_err_t single_pwm_motor_enable(motor_t mot)
     return RT_EOK;
 }
 
-static rt_err_t single_pwm_motor_disable(motor_t mot)
+static rt_err_t single_pwm_motor_disable(void *mot)
 {
     RT_ASSERT(mot != RT_NULL);
 
@@ -26,7 +35,7 @@ static rt_err_t single_pwm_motor_disable(motor_t mot)
     return RT_EOK;
 }
 
-static rt_err_t single_pwm_motor_set_speed(motor_t mot, rt_int16_t thousands)
+static rt_err_t single_pwm_motor_set_speed(void *mot, rt_int16_t thousands)
 {
     RT_ASSERT(mot != RT_NULL);
     

+ 1 - 9
motor/single_pwm_motor.h

@@ -3,17 +3,9 @@
 
 #include "motor.h"
 
+struct single_pwm_motor;
 typedef struct single_pwm_motor *single_pwm_motor_t;
 
-struct single_pwm_motor
-{
-    struct motor mot;
-    struct rt_device_pwm *pwm_dev;
-    int channel;
-    rt_base_t pin1;
-    rt_base_t pin2;
-};
-
 single_pwm_motor_t  single_pwm_motor_create(char *pwm, int channel, rt_base_t pin1, rt_base_t pin2);
 
 #endif // __SINGLE_PWM_MOTOR_H__