66
77#include "hardware/gpio.h"
88
9- PICO_WEAK_FUNCTION_DEF (gpio_set_function )
10- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_function )(__unused uint gpio , __unused enum gpio_function fn ) {
9+ PICO_WEAK_FUNCTION_DEF (check_gpio_param )
10+ void PICO_WEAK_FUNCTION_IMPL_NAME (check_gpio_param )(__unused uint gpio ) {
11+
12+ }
1113
14+ PICO_WEAK_FUNCTION_DEF (gpio_set_function )
15+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_function )(uint gpio , __unused enum gpio_function fn ) {
16+ check_gpio_param (gpio );
1217}
1318
1419PICO_WEAK_FUNCTION_DEF (gpio_set_function_masked )
@@ -22,98 +27,104 @@ void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_function_masked64)(__unused uint64_t
2227}
2328
2429PICO_WEAK_FUNCTION_DEF (gpio_get_function )
25- gpio_function_t PICO_WEAK_FUNCTION_IMPL_NAME (gpio_get_function )(__unused uint gpio ) {
30+ gpio_function_t PICO_WEAK_FUNCTION_IMPL_NAME (gpio_get_function )(uint gpio ) {
31+ check_gpio_param (gpio );
2632 return GPIO_FUNC_NULL ;
2733}
2834
2935PICO_WEAK_FUNCTION_DEF (gpio_pull_up )
30- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_pull_up )(__unused uint gpio ) {
31-
36+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_pull_up )(uint gpio ) {
37+ check_gpio_param ( gpio );
3238}
3339
3440PICO_WEAK_FUNCTION_DEF (gpio_is_pulled_up )
35- bool PICO_WEAK_FUNCTION_IMPL_NAME (gpio_is_pulled_up )(__unused uint gpio ) {
41+ bool PICO_WEAK_FUNCTION_IMPL_NAME (gpio_is_pulled_up )(uint gpio ) {
42+ check_gpio_param (gpio );
3643 return 0 ;
3744}
3845
3946PICO_WEAK_FUNCTION_DEF (gpio_pull_down )
40- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_pull_down )(__unused uint gpio ) {
41-
47+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_pull_down )(uint gpio ) {
48+ check_gpio_param ( gpio );
4249}
4350
4451PICO_WEAK_FUNCTION_DEF (gpio_is_pulled_down )
45- bool PICO_WEAK_FUNCTION_IMPL_NAME (gpio_is_pulled_down )(__unused uint gpio ) {
52+ bool PICO_WEAK_FUNCTION_IMPL_NAME (gpio_is_pulled_down )(uint gpio ) {
53+ check_gpio_param (gpio );
4654 return 0 ;
4755}
4856
4957PICO_WEAK_FUNCTION_DEF (gpio_disable_pulls )
50- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_disable_pulls )(__unused uint gpio ) {
51-
58+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_disable_pulls )(uint gpio ) {
59+ check_gpio_param ( gpio );
5260}
5361
5462PICO_WEAK_FUNCTION_DEF (gpio_set_pulls )
55- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_pulls )(__unused uint gpio , __unused bool up , __unused bool down ) {
56-
63+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_pulls )(uint gpio , __unused bool up , __unused bool down ) {
64+ check_gpio_param ( gpio );
5765}
5866
5967PICO_WEAK_FUNCTION_DEF (gpio_set_irqover )
60- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_irqover )(__unused uint gpio , __unused uint value ) {
61-
68+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_irqover )(uint gpio , __unused uint value ) {
69+ check_gpio_param ( gpio );
6270}
6371
6472PICO_WEAK_FUNCTION_DEF (gpio_set_outover )
65- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_outover )(__unused uint gpio , __unused uint value ) {
66-
73+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_outover )(uint gpio , __unused uint value ) {
74+ check_gpio_param ( gpio );
6775}
6876
6977PICO_WEAK_FUNCTION_DEF (gpio_set_inover )
70- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_inover )(__unused uint gpio , __unused uint value ) {
71-
78+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_inover )(uint gpio , __unused uint value ) {
79+ check_gpio_param ( gpio );
7280}
7381
7482PICO_WEAK_FUNCTION_DEF (gpio_set_oeover )
75- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_oeover )(__unused uint gpio , __unused uint value ) {
76-
83+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_oeover )(uint gpio , __unused uint value ) {
84+ check_gpio_param ( gpio );
7785}
7886
7987PICO_WEAK_FUNCTION_DEF (gpio_set_input_enabled )
80- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_input_enabled )(__unused uint gpio , __unused bool enabled ){
81-
88+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_input_enabled )(uint gpio , __unused bool enabled ){
89+ check_gpio_param ( gpio );
8290}
8391
8492PICO_WEAK_FUNCTION_DEF (gpio_set_input_hysteresis_enabled )
85- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_input_hysteresis_enabled )(__unused uint gpio , __unused bool enabled ){
86-
93+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_input_hysteresis_enabled )(uint gpio , __unused bool enabled ){
94+ check_gpio_param ( gpio );
8795}
8896
8997PICO_WEAK_FUNCTION_DEF (gpio_is_input_hysteresis_enabled )
90- bool PICO_WEAK_FUNCTION_IMPL_NAME (gpio_is_input_hysteresis_enabled )(__unused uint gpio ){
98+ bool PICO_WEAK_FUNCTION_IMPL_NAME (gpio_is_input_hysteresis_enabled )(uint gpio ){
99+ check_gpio_param (gpio );
91100 return true;
92101}
93102
94103PICO_WEAK_FUNCTION_DEF (gpio_set_slew_rate )
95- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_slew_rate )(__unused uint gpio , __unused enum gpio_slew_rate slew ){
96-
104+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_slew_rate )(uint gpio , __unused enum gpio_slew_rate slew ){
105+ check_gpio_param ( gpio );
97106}
98107
99108PICO_WEAK_FUNCTION_DEF (gpio_get_slew_rate )
100- enum gpio_slew_rate PICO_WEAK_FUNCTION_IMPL_NAME (gpio_get_slew_rate )(__unused uint gpio ){
109+ enum gpio_slew_rate PICO_WEAK_FUNCTION_IMPL_NAME (gpio_get_slew_rate )(uint gpio ){
110+ check_gpio_param (gpio );
101111 return GPIO_SLEW_RATE_FAST ;
102112}
103113
104114PICO_WEAK_FUNCTION_DEF (gpio_set_drive_strength )
105- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_drive_strength )(__unused uint gpio , __unused enum gpio_drive_strength drive ){
106-
115+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_drive_strength )(uint gpio , __unused enum gpio_drive_strength drive ){
116+ check_gpio_param ( gpio );
107117}
108118
109119PICO_WEAK_FUNCTION_DEF (gpio_get_drive_strength )
110- enum gpio_drive_strength PICO_WEAK_FUNCTION_IMPL_NAME (gpio_get_drive_strength )(__unused uint gpio ){
120+ enum gpio_drive_strength PICO_WEAK_FUNCTION_IMPL_NAME (gpio_get_drive_strength )(uint gpio ){
121+ check_gpio_param (gpio );
111122 return GPIO_DRIVE_STRENGTH_4MA ;
112123}
113124
114125PICO_WEAK_FUNCTION_DEF (gpio_set_irq_enabled )
115- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_irq_enabled )(__unused uint gpio , __unused uint32_t events , __unused bool enable ) {
116-
126+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_irq_enabled )(uint gpio , __unused uint32_t events , __unused bool enable ) {
127+ check_gpio_param ( gpio );
117128}
118129
119130PICO_WEAK_FUNCTION_DEF (gpio_set_irq_callback )
@@ -122,23 +133,24 @@ void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_irq_callback)(__unused gpio_irq_callb
122133}
123134
124135PICO_WEAK_FUNCTION_DEF (gpio_set_irq_enabled_with_callback )
125- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_irq_enabled_with_callback )(__unused uint gpio , __unused uint32_t event_mask , __unused bool enabled , __unused gpio_irq_callback_t callback ) {
126-
136+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_irq_enabled_with_callback )(uint gpio , __unused uint32_t event_mask , __unused bool enabled , __unused gpio_irq_callback_t callback ) {
137+ check_gpio_param ( gpio );
127138}
128139
129140PICO_WEAK_FUNCTION_DEF (gpio_set_dormant_irq_enabled )
130- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_dormant_irq_enabled )(__unused uint gpio , __unused uint32_t event_mask , __unused bool enabled ) {
131-
141+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_dormant_irq_enabled )(uint gpio , __unused uint32_t event_mask , __unused bool enabled ) {
142+ check_gpio_param ( gpio );
132143}
133144
134145PICO_WEAK_FUNCTION_DEF (gpio_get_irq_event_mask )
135- uint32_t PICO_WEAK_FUNCTION_IMPL_NAME (gpio_get_irq_event_mask )(__unused uint gpio ) {
146+ uint32_t PICO_WEAK_FUNCTION_IMPL_NAME (gpio_get_irq_event_mask )(uint gpio ) {
147+ check_gpio_param (gpio );
136148 return 0 ;
137149}
138150
139151PICO_WEAK_FUNCTION_DEF (gpio_acknowledge_irq )
140- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_acknowledge_irq )(__unused uint gpio , __unused uint32_t events ) {
141-
152+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_acknowledge_irq )(uint gpio , __unused uint32_t events ) {
153+ check_gpio_param ( gpio );
142154}
143155
144156PICO_WEAK_FUNCTION_DEF (gpio_add_raw_irq_handler_with_order_priority_masked )
@@ -152,8 +164,8 @@ void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_add_raw_irq_handler_with_order_priority_m
152164}
153165
154166PICO_WEAK_FUNCTION_DEF (gpio_add_raw_irq_handler_with_order_priority )
155- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_add_raw_irq_handler_with_order_priority )(__unused uint gpio , __unused irq_handler_t handler , __unused uint8_t order_priority ) {
156-
167+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_add_raw_irq_handler_with_order_priority )(uint gpio , __unused irq_handler_t handler , __unused uint8_t order_priority ) {
168+ check_gpio_param ( gpio );
157169}
158170
159171PICO_WEAK_FUNCTION_DEF (gpio_add_raw_irq_handler_masked )
@@ -167,8 +179,8 @@ void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_add_raw_irq_handler_masked64)(__unused ui
167179}
168180
169181PICO_WEAK_FUNCTION_DEF (gpio_add_raw_irq_handler )
170- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_add_raw_irq_handler )(__unused uint gpio , __unused irq_handler_t handler ) {
171-
182+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_add_raw_irq_handler )(uint gpio , __unused irq_handler_t handler ) {
183+ check_gpio_param ( gpio );
172184}
173185
174186PICO_WEAK_FUNCTION_DEF (gpio_remove_raw_irq_handler_masked )
@@ -182,18 +194,18 @@ void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_remove_raw_irq_handler_masked64)(__unused
182194}
183195
184196PICO_WEAK_FUNCTION_DEF (gpio_remove_raw_irq_handler )
185- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_remove_raw_irq_handler )(__unused uint gpio , __unused irq_handler_t handler ) {
186-
197+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_remove_raw_irq_handler )(uint gpio , __unused irq_handler_t handler ) {
198+ check_gpio_param ( gpio );
187199}
188200
189201PICO_WEAK_FUNCTION_DEF (gpio_init )
190- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_init )(__unused uint gpio ) {
191-
202+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_init )(uint gpio ) {
203+ check_gpio_param ( gpio );
192204}
193205
194206PICO_WEAK_FUNCTION_DEF (gpio_deinit )
195- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_deinit )(__unused uint gpio ) {
196-
207+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_deinit )(uint gpio ) {
208+ check_gpio_param ( gpio );
197209}
198210
199211PICO_WEAK_FUNCTION_DEF (gpio_init_mask )
@@ -202,7 +214,8 @@ void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_init_mask)(__unused uint gpio_mask) {
202214}
203215
204216PICO_WEAK_FUNCTION_DEF (gpio_get )
205- bool PICO_WEAK_FUNCTION_IMPL_NAME (gpio_get )(__unused uint gpio ) {
217+ bool PICO_WEAK_FUNCTION_IMPL_NAME (gpio_get )(uint gpio ) {
218+ check_gpio_param (gpio );
206219 return 0 ;
207220}
208221
@@ -287,12 +300,13 @@ void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_put_all64)(__unused uint64_t value) {
287300
288301}
289302PICO_WEAK_FUNCTION_DEF (gpio_put )
290- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_put )(__unused uint gpio , __unused int value ) {
291-
303+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_put )(uint gpio , __unused int value ) {
304+ check_gpio_param ( gpio );
292305}
293306
294307PICO_WEAK_FUNCTION_DEF (gpio_set_dir_out_masked )
295- bool PICO_WEAK_FUNCTION_IMPL_NAME (gpio_get_out_level )(__unused uint gpio ) {
308+ bool PICO_WEAK_FUNCTION_IMPL_NAME (gpio_get_out_level )(uint gpio ) {
309+ check_gpio_param (gpio );
296310 return 0 ;
297311}
298312
@@ -336,12 +350,13 @@ void PICO_WEAK_FUNCTION_IMPL_NAME(gpio_set_dir_all_bits64)(__unused uint64_t val
336350}
337351
338352PICO_WEAK_FUNCTION_DEF (gpio_set_dir )
339- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_dir )(__unused uint gpio , __unused bool out ) {
340-
353+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_set_dir )(uint gpio , __unused bool out ) {
354+ check_gpio_param ( gpio );
341355}
342356
343357PICO_WEAK_FUNCTION_DEF (gpio_is_dir_out )
344- bool PICO_WEAK_FUNCTION_IMPL_NAME (gpio_is_dir_out )(__unused uint gpio ) {
358+ bool PICO_WEAK_FUNCTION_IMPL_NAME (gpio_is_dir_out )(uint gpio ) {
359+ check_gpio_param (gpio );
345360 return 0 ;
346361}
347362
@@ -351,8 +366,8 @@ uint PICO_WEAK_FUNCTION_IMPL_NAME(gpio_get_dir)(uint gpio) {
351366}
352367
353368PICO_WEAK_FUNCTION_DEF (gpio_assign_to_ns )
354- void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_assign_to_ns )(__unused uint gpio , __unused bool ns ) {
355-
369+ void PICO_WEAK_FUNCTION_IMPL_NAME (gpio_assign_to_ns )(uint gpio , __unused bool ns ) {
370+ check_gpio_param ( gpio );
356371}
357372
358373PICO_WEAK_FUNCTION_DEF (gpio_debug_pins_init )
0 commit comments