|
6 | 6 |
|
7 | 7 | #include "hardware/gpio.h" |
8 | 8 |
|
9 | | -// todo weak or replace? probably weak |
10 | | -void gpio_set_function(uint gpio, enum gpio_function fn) { |
| 9 | +PICO_WEAK_FUNCTION_DEF(gpio_set_function) |
| 10 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_function)(uint gpio, enum gpio_function fn) { |
11 | 11 |
|
12 | 12 | } |
13 | 13 |
|
14 | | -void gpio_pull_up(uint gpio) { |
| 14 | +PICO_WEAK_FUNCTION_DEF(gpio_pull_up) |
| 15 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_pull_up)(uint gpio) { |
15 | 16 |
|
16 | 17 | } |
17 | 18 |
|
18 | | -void gpio_pull_down(uint gpio) { |
| 19 | +PICO_WEAK_FUNCTION_DEF(gpio_pull_down) |
| 20 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_pull_down)(uint gpio) { |
19 | 21 |
|
20 | 22 | } |
21 | 23 |
|
22 | | -void gpio_disable_pulls(uint gpio) { |
| 24 | +PICO_WEAK_FUNCTION_DEF(gpio_disable_pulls) |
| 25 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_disable_pulls)(uint gpio) { |
23 | 26 |
|
24 | 27 | } |
25 | 28 |
|
26 | | -void gpio_set_pulls(uint gpio, bool up, bool down) { |
| 29 | +PICO_WEAK_FUNCTION_DEF(gpio_set_pulls) |
| 30 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_pulls)(uint gpio, bool up, bool down) { |
27 | 31 |
|
28 | 32 | } |
29 | 33 |
|
30 | | -void gpio_set_irqover(uint gpio, uint value) { |
| 34 | +PICO_WEAK_FUNCTION_DEF(gpio_set_irqover) |
| 35 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_irqover)(uint gpio, uint value) { |
31 | 36 |
|
32 | 37 | } |
33 | 38 |
|
34 | | -void gpio_set_outover(uint gpio, uint value) { |
| 39 | +PICO_WEAK_FUNCTION_DEF(gpio_set_outover) |
| 40 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_outover)(uint gpio, uint value) { |
35 | 41 |
|
36 | 42 | } |
37 | 43 |
|
38 | | -void gpio_set_inover(uint gpio, uint value) { |
| 44 | +PICO_WEAK_FUNCTION_DEF(gpio_set_inover) |
| 45 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_inover)(uint gpio, uint value) { |
39 | 46 |
|
40 | 47 | } |
41 | 48 |
|
42 | | -void gpio_set_oeover(uint gpio, uint value) { |
| 49 | +PICO_WEAK_FUNCTION_DEF(gpio_set_oeover) |
| 50 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_oeover)(uint gpio, uint value) { |
43 | 51 |
|
44 | 52 | } |
45 | 53 |
|
46 | | -void gpio_set_input_hysteresis_enabled(uint gpio, bool enabled){ |
| 54 | +PICO_WEAK_FUNCTION_DEF(gpio_set_input_hysteresis_enabled) |
| 55 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_input_hysteresis_enabled)(uint gpio, bool enabled){ |
47 | 56 |
|
48 | 57 | } |
49 | 58 |
|
50 | | -bool gpio_is_input_hysteresis_enabled(uint gpio){ |
| 59 | +PICO_WEAK_FUNCTION_DEF(gpio_is_input_hysteresis_enabled) |
| 60 | +bool PICO_WEAK_FUNCTION_IMPL_NAME(gpio_is_input_hysteresis_enabled)(uint gpio){ |
51 | 61 | return true; |
52 | 62 | } |
53 | 63 |
|
54 | | -void gpio_set_slew_rate(uint gpio, enum gpio_slew_rate slew){ |
| 64 | +PICO_WEAK_FUNCTION_DEF(gpio_set_slew_rate) |
| 65 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_slew_rate)(uint gpio, enum gpio_slew_rate slew){ |
55 | 66 |
|
56 | 67 | } |
57 | 68 |
|
58 | | -enum gpio_slew_rate gpio_get_slew_rate(uint gpio){ |
| 69 | +PICO_WEAK_FUNCTION_DEF(gpio_get_slew_rate) |
| 70 | +enum gpio_slew_rate PICO_WEAK_FUNCTION_IMPL_NAME(gpio_get_slew_rate)(uint gpio){ |
59 | 71 | return GPIO_SLEW_RATE_FAST; |
60 | 72 | } |
61 | 73 |
|
62 | | -void gpio_set_drive_strength(uint gpio, enum gpio_drive_strength drive){ |
| 74 | +PICO_WEAK_FUNCTION_DEF(gpio_set_drive_strength) |
| 75 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_drive_strength)(uint gpio, enum gpio_drive_strength drive){ |
63 | 76 |
|
64 | 77 | } |
65 | 78 |
|
66 | | -enum gpio_drive_strength gpio_get_drive_strength(uint gpio){ |
| 79 | +PICO_WEAK_FUNCTION_DEF(gpio_get_drive_strength) |
| 80 | +enum gpio_drive_strength PICO_WEAK_FUNCTION_IMPL_NAME(gpio_get_drive_strength)(uint gpio){ |
67 | 81 | return GPIO_DRIVE_STRENGTH_4MA; |
68 | 82 | } |
69 | 83 |
|
70 | | - |
71 | | -void gpio_set_irq_enabled(uint gpio, uint32_t events, bool enable) { |
| 84 | +PICO_WEAK_FUNCTION_DEF(gpio_set_irq_enabled) |
| 85 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_irq_enabled)(uint gpio, uint32_t events, bool enable) { |
72 | 86 |
|
73 | 87 | } |
74 | 88 |
|
75 | | -void gpio_acknowledge_irq(uint gpio, uint32_t events) { |
| 89 | +PICO_WEAK_FUNCTION_DEF(gpio_acknowledge_irq) |
| 90 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_acknowledge_irq)(uint gpio, uint32_t events) { |
76 | 91 |
|
77 | 92 | } |
78 | 93 |
|
79 | | -void gpio_init(uint gpio) { |
| 94 | +PICO_WEAK_FUNCTION_DEF(gpio_init) |
| 95 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_init)(uint gpio) { |
80 | 96 |
|
81 | 97 | } |
82 | 98 |
|
83 | 99 | PICO_WEAK_FUNCTION_DEF(gpio_get) |
84 | | - |
85 | 100 | bool PICO_WEAK_FUNCTION_IMPL_NAME(gpio_get)(uint gpio) { |
86 | 101 | return 0; |
87 | 102 | } |
88 | 103 |
|
89 | | -uint32_t gpio_get_all() { |
| 104 | +PICO_WEAK_FUNCTION_DEF(gpio_get_all) |
| 105 | +uint32_t PICO_WEAK_FUNCTION_IMPL_NAME(gpio_get_all)() { |
90 | 106 | return 0; |
91 | 107 | } |
92 | 108 |
|
93 | | -void gpio_set_mask(uint32_t mask) { |
| 109 | +PICO_WEAK_FUNCTION_DEF(gpio_set_mask) |
| 110 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_mask)(uint32_t mask) { |
94 | 111 |
|
95 | 112 | } |
96 | 113 |
|
97 | | -void gpio_clr_mask(uint32_t mask) { |
| 114 | +PICO_WEAK_FUNCTION_DEF(gpio_clr_mask) |
| 115 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_clr_mask)(uint32_t mask) { |
98 | 116 |
|
99 | 117 | } |
100 | 118 |
|
101 | | -void gpio_xor_mask(uint32_t mask) { |
| 119 | +PICO_WEAK_FUNCTION_DEF(gpio_xor_mask) |
| 120 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_xor_mask)(uint32_t mask) { |
102 | 121 |
|
103 | 122 | } |
104 | 123 |
|
105 | | -void gpio_put_masked(uint32_t mask, uint32_t value) { |
| 124 | +PICO_WEAK_FUNCTION_DEF(gpio_put_masked) |
| 125 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_put_masked)(uint32_t mask, uint32_t value) { |
106 | 126 |
|
107 | 127 | } |
108 | 128 |
|
109 | | -void gpio_put_all(uint32_t value) { |
| 129 | +PICO_WEAK_FUNCTION_DEF(gpio_put_all) |
| 130 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_put_all)(uint32_t value) { |
110 | 131 |
|
111 | 132 | } |
112 | 133 |
|
113 | | -void gpio_put(uint gpio, int value) { |
| 134 | +PICO_WEAK_FUNCTION_DEF(gpio_put) |
| 135 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_put)(uint gpio, int value) { |
114 | 136 |
|
115 | 137 | } |
116 | 138 |
|
117 | | -void gpio_set_dir_out_masked(uint32_t mask) { |
| 139 | +PICO_WEAK_FUNCTION_DEF(gpio_set_dir_out_masked) |
| 140 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_dir_out_masked)(uint32_t mask) { |
118 | 141 |
|
119 | 142 | } |
120 | 143 |
|
121 | | -void gpio_set_dir_in_masked(uint32_t mask) { |
| 144 | +PICO_WEAK_FUNCTION_DEF(gpio_set_dir_in_masked) |
| 145 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_dir_in_masked)(uint32_t mask) { |
122 | 146 |
|
123 | 147 | } |
124 | 148 |
|
125 | | -void gpio_set_dir_masked(uint32_t mask, uint32_t value) { |
| 149 | +PICO_WEAK_FUNCTION_DEF(gpio_set_dir_masked) |
| 150 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_dir_masked)(uint32_t mask, uint32_t value) { |
126 | 151 |
|
127 | 152 | } |
128 | 153 |
|
129 | | -void gpio_set_dir_all_bits(uint32_t value) { |
| 154 | +PICO_WEAK_FUNCTION_DEF(gpio_set_dir_all_bits) |
| 155 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_dir_all_bits)(uint32_t value) { |
130 | 156 |
|
131 | 157 | } |
132 | 158 |
|
133 | | -void gpio_set_dir(uint gpio, bool out) { |
| 159 | +PICO_WEAK_FUNCTION_DEF(gpio_set_dir) |
| 160 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_dir)(uint gpio, bool out) { |
134 | 161 |
|
135 | 162 | } |
136 | 163 |
|
137 | | -void gpio_debug_pins_init() { |
| 164 | +PICO_WEAK_FUNCTION_DEF(gpio_debug_pins_init) |
| 165 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_debug_pins_init)() { |
138 | 166 |
|
139 | 167 | } |
140 | 168 |
|
141 | | -void gpio_set_input_enabled(uint gpio, bool enable) { |
| 169 | +PICO_WEAK_FUNCTION_DEF(gpio_set_input_enabled) |
| 170 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_input_enabled)(uint gpio, bool enable) { |
142 | 171 |
|
143 | 172 | } |
144 | 173 |
|
145 | | -void gpio_init_mask(uint gpio_mask) { |
| 174 | +PICO_WEAK_FUNCTION_DEF(gpio_init_mask) |
| 175 | +void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_init_mask)(uint gpio_mask) { |
146 | 176 |
|
147 | 177 | } |
0 commit comments