Skip to content

Commit 3ab83a6

Browse files
author
guoyongchao
committed
change pointer to void && hide structure
1 parent 31c944a commit 3ab83a6

File tree

5 files changed

+25
-23
lines changed

5 files changed

+25
-23
lines changed

encoder/ab_phase_encoder.c

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@
44
#define DBG_LEVEL DBG_LOG
55
#include <rtdbg.h>
66

7+
struct ab_phase_encoder
8+
{
9+
struct encoder enc;
10+
rt_base_t pin_a; /* interrupt pin */
11+
rt_base_t pin_b;
12+
rt_int16_t last_value;
13+
};
14+
715
static const uint8_t AB_PHASE_ENCODER_TABLE[4] = {2, 0, 3, 1};
816

917
static void encoder_isr(void *args)
@@ -24,7 +32,7 @@ static void encoder_isr(void *args)
2432
enc_sub->last_value = val;
2533
}
2634

27-
static rt_err_t ab_phase_encoder_enable(encoder_t enc)
35+
static rt_err_t ab_phase_encoder_enable(void *enc)
2836
{
2937
RT_ASSERT(enc != RT_NULL);
3038

@@ -43,7 +51,7 @@ static rt_err_t ab_phase_encoder_enable(encoder_t enc)
4351
return RT_EOK;
4452
}
4553

46-
static rt_err_t ab_phase_encoder_disable(encoder_t enc)
54+
static rt_err_t ab_phase_encoder_disable(void *enc)
4755
{
4856
RT_ASSERT(enc != RT_NULL);
4957

@@ -55,7 +63,7 @@ static rt_err_t ab_phase_encoder_disable(encoder_t enc)
5563
return RT_EOK;
5664
}
5765

58-
static rt_err_t ab_phase_encoder_destroy(encoder_t enc)
66+
static rt_err_t ab_phase_encoder_destroy(void *enc)
5967
{
6068
RT_ASSERT(enc != RT_NULL);
6169

encoder/ab_phase_encoder.h

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,7 @@
33

44
#include "encoder.h"
55

6-
struct ab_phase_encoder
7-
{
8-
struct encoder enc;
9-
rt_base_t pin_a; /* interrupt pin */
10-
rt_base_t pin_b;
11-
rt_int16_t last_value;
12-
};
13-
6+
struct ab_phase_encoder;
147
typedef struct ab_phase_encoder *ab_phase_encoder_t;
158

169
ab_phase_encoder_t ab_phase_encoder_create(rt_base_t pin_a, rt_base_t pin_b, rt_uint16_t pulse_revol);

encoder/encoder.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ struct encoder
2121
rt_int32_t last_count;
2222
rt_int16_t cps;
2323
enum encoder_direction dir;
24-
rt_err_t (*enable)(encoder_t enc);
25-
rt_err_t (*disable)(encoder_t enc);
26-
rt_err_t (*destroy)(encoder_t enc);
24+
rt_err_t (*enable)(void *enc);
25+
rt_err_t (*disable)(void *enc);
26+
rt_err_t (*destroy)(void *enc);
2727
};
2828

2929
encoder_t encoder_create(rt_size_t size);

encoder/single_phase_encoder.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,20 @@
44
#define DBG_LEVEL DBG_LOG
55
#include <rtdbg.h>
66

7+
struct single_phase_encoder
8+
{
9+
struct encoder enc;
10+
rt_base_t pin; /* interrupt pin */
11+
};
12+
713
static void encoder_isr(void *args)
814
{
915
rt_int32_t* pulse_count = (rt_int32_t*)args;
1016
(*pulse_count)++;
1117
// LOG_D("Count %d", *pulse_count);
1218
}
1319

14-
static rt_err_t single_phase_encoder_enable(encoder_t enc)
20+
static rt_err_t single_phase_encoder_enable(void *enc)
1521
{
1622
RT_ASSERT(enc != RT_NULL);
1723

@@ -25,7 +31,7 @@ static rt_err_t single_phase_encoder_enable(encoder_t enc)
2531
return rt_pin_irq_enable(enc_sub->pin, PIN_IRQ_ENABLE);
2632
}
2733

28-
static rt_err_t single_phase_encoder_disable(encoder_t enc)
34+
static rt_err_t single_phase_encoder_disable(void *enc)
2935
{
3036
RT_ASSERT(enc != RT_NULL);
3137

@@ -34,7 +40,7 @@ static rt_err_t single_phase_encoder_disable(encoder_t enc)
3440
return rt_pin_irq_enable(enc_sub->pin, PIN_IRQ_DISABLE);;
3541
}
3642

37-
static rt_err_t single_phase_encoder_destroy(encoder_t enc)
43+
static rt_err_t single_phase_encoder_destroy(void *enc)
3844
{
3945
RT_ASSERT(enc != RT_NULL);
4046

encoder/single_phase_encoder.h

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,7 @@
33

44
#include "encoder.h"
55

6-
struct single_phase_encoder
7-
{
8-
struct encoder enc;
9-
rt_base_t pin; /* interrupt pin */
10-
};
11-
6+
struct single_phase_encoder;
127
typedef struct single_phase_encoder *single_phase_encoder_t;
138

149
single_phase_encoder_t single_phase_encoder_create(rt_base_t pin, rt_uint16_t pulse_revol);

0 commit comments

Comments
 (0)