Skip to content

Commit fd0420d

Browse files
committed
Update digitalio api for other ports
1 parent 0543a64 commit fd0420d

File tree

6 files changed

+25
-13
lines changed

6 files changed

+25
-13
lines changed

ports/atmel-samd/common-hal/digitalio/DigitalInOut.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ void common_hal_digitalio_digitalinout_switch_to_input(
7373
common_hal_digitalio_digitalinout_set_pull(self, pull);
7474
}
7575

76-
void common_hal_digitalio_digitalinout_switch_to_output(
76+
digitalinout_result_t common_hal_digitalio_digitalinout_switch_to_output(
7777
digitalio_digitalinout_obj_t* self, bool value,
7878
digitalio_drive_mode_t drive_mode) {
7979
const uint8_t pin = self->pin->number;
@@ -86,6 +86,7 @@ void common_hal_digitalio_digitalinout_switch_to_output(
8686

8787
// Direction is set in set_value. We don't need to do it here.
8888
common_hal_digitalio_digitalinout_set_value(self, value);
89+
return DIGITALINOUT_OK;
8990
}
9091

9192
digitalio_direction_t common_hal_digitalio_digitalinout_get_direction(
@@ -128,7 +129,7 @@ bool common_hal_digitalio_digitalinout_get_value(
128129
}
129130
}
130131

131-
void common_hal_digitalio_digitalinout_set_drive_mode(
132+
digitalinout_result_t common_hal_digitalio_digitalinout_set_drive_mode(
132133
digitalio_digitalinout_obj_t* self,
133134
digitalio_drive_mode_t drive_mode) {
134135
bool value = common_hal_digitalio_digitalinout_get_value(self);
@@ -138,6 +139,7 @@ void common_hal_digitalio_digitalinout_set_drive_mode(
138139
if (value) {
139140
common_hal_digitalio_digitalinout_set_value(self, value);
140141
}
142+
return DIGITALINOUT_OK;
141143
}
142144

143145
digitalio_drive_mode_t common_hal_digitalio_digitalinout_get_drive_mode(

ports/cxd56/common-hal/digitalio/DigitalInOut.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ void common_hal_digitalio_digitalinout_switch_to_input(digitalio_digitalinout_ob
7070
board_gpio_config(self->pin->number, 0, true, true, pull);
7171
}
7272

73-
void common_hal_digitalio_digitalinout_switch_to_output(digitalio_digitalinout_obj_t *self, bool value, digitalio_drive_mode_t drive_mode) {
73+
digitalinout_result_t common_hal_digitalio_digitalinout_switch_to_output(digitalio_digitalinout_obj_t *self, bool value, digitalio_drive_mode_t drive_mode) {
7474
self->input = false;
7575
self->open_drain = drive_mode == DRIVE_MODE_OPEN_DRAIN;
7676
board_gpio_write(self->pin->number, -1);
@@ -80,6 +80,7 @@ void common_hal_digitalio_digitalinout_switch_to_output(digitalio_digitalinout_o
8080
board_gpio_write(self->pin->number, 0);
8181
}
8282
common_hal_digitalio_digitalinout_set_value(self, value);
83+
return DIGITALINOUT_OK;
8384
}
8485

8586
digitalio_direction_t common_hal_digitalio_digitalinout_get_direction(digitalio_digitalinout_obj_t *self) {
@@ -104,7 +105,7 @@ bool common_hal_digitalio_digitalinout_get_value(digitalio_digitalinout_obj_t *s
104105
return board_gpio_read(self->pin->number);
105106
}
106107

107-
void common_hal_digitalio_digitalinout_set_drive_mode(digitalio_digitalinout_obj_t *self, digitalio_drive_mode_t drive_mode) {
108+
digitalinout_result_t common_hal_digitalio_digitalinout_set_drive_mode(digitalio_digitalinout_obj_t *self, digitalio_drive_mode_t drive_mode) {
108109
if (drive_mode == DRIVE_MODE_PUSH_PULL) {
109110
board_gpio_write(self->pin->number, -1);
110111
board_gpio_config(self->pin->number, 0, false, true, PIN_FLOAT);
@@ -115,6 +116,7 @@ void common_hal_digitalio_digitalinout_set_drive_mode(digitalio_digitalinout_obj
115116
board_gpio_write(self->pin->number, 0);
116117
self->open_drain = true;
117118
}
119+
return DIGITALINOUT_OK;
118120
}
119121

120122
digitalio_drive_mode_t common_hal_digitalio_digitalinout_get_drive_mode(digitalio_digitalinout_obj_t *self) {

ports/litex/common-hal/digitalio/DigitalInOut.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,13 @@ void common_hal_digitalio_digitalinout_switch_to_input(
6464
touch_oe_write(touch_oe_read() & ~(1 << self->pin->number));
6565
}
6666

67-
void common_hal_digitalio_digitalinout_switch_to_output(
67+
digitalinout_result_t common_hal_digitalio_digitalinout_switch_to_output(
6868
digitalio_digitalinout_obj_t *self, bool value,
6969
digitalio_drive_mode_t drive_mode) {
7070
(void)drive_mode;
7171
common_hal_digitalio_digitalinout_set_value(self, value);
7272
touch_oe_write(touch_oe_read() | (1 << self->pin->number));
73+
return DIGITALINOUT_OK;
7374
}
7475

7576
digitalio_direction_t common_hal_digitalio_digitalinout_get_direction(
@@ -92,11 +93,12 @@ bool common_hal_digitalio_digitalinout_get_value(
9293
return !!(touch_i_read() & (1 << self->pin->number));
9394
}
9495

95-
void common_hal_digitalio_digitalinout_set_drive_mode(
96+
digitalinout_result_t common_hal_digitalio_digitalinout_set_drive_mode(
9697
digitalio_digitalinout_obj_t *self,
9798
digitalio_drive_mode_t drive_mode) {
9899
(void)self;
99100
(void)drive_mode;
101+
return DIGITALINOUT_OK;
100102
}
101103

102104
digitalio_drive_mode_t common_hal_digitalio_digitalinout_get_drive_mode(

ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ void common_hal_digitalio_digitalinout_switch_to_input(
9797
common_hal_digitalio_digitalinout_set_pull(self, pull);
9898
}
9999

100-
void common_hal_digitalio_digitalinout_switch_to_output(
100+
digitalinout_result_t common_hal_digitalio_digitalinout_switch_to_output(
101101
digitalio_digitalinout_obj_t* self, bool value,
102102
digitalio_drive_mode_t drive_mode) {
103103
self->output = true;
@@ -108,6 +108,7 @@ void common_hal_digitalio_digitalinout_switch_to_output(
108108

109109
const gpio_pin_config_t config = { kGPIO_DigitalOutput, value, kGPIO_NoIntmode };
110110
GPIO_PinInit(self->pin->gpio, self->pin->number, &config);
111+
return DIGITALINOUT_OK;
111112
}
112113

113114
digitalio_direction_t common_hal_digitalio_digitalinout_get_direction(
@@ -125,7 +126,7 @@ bool common_hal_digitalio_digitalinout_get_value(
125126
return GPIO_PinRead(self->pin->gpio, self->pin->number);
126127
}
127128

128-
void common_hal_digitalio_digitalinout_set_drive_mode(
129+
digitalinout_result_t common_hal_digitalio_digitalinout_set_drive_mode(
129130
digitalio_digitalinout_obj_t* self,
130131
digitalio_drive_mode_t drive_mode) {
131132
bool value = common_hal_digitalio_digitalinout_get_value(self);
@@ -138,6 +139,7 @@ void common_hal_digitalio_digitalinout_set_drive_mode(
138139
if (value) {
139140
common_hal_digitalio_digitalinout_set_value(self, value);
140141
}
142+
return DIGITALINOUT_OK;
141143
}
142144

143145
digitalio_drive_mode_t common_hal_digitalio_digitalinout_get_drive_mode(

ports/nrf/common-hal/digitalio/DigitalInOut.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,13 @@ void common_hal_digitalio_digitalinout_switch_to_input(
6565
common_hal_digitalio_digitalinout_set_pull(self, pull);
6666
}
6767

68-
void common_hal_digitalio_digitalinout_switch_to_output(
68+
digitalinout_result_t common_hal_digitalio_digitalinout_switch_to_output(
6969
digitalio_digitalinout_obj_t *self, bool value,
7070
digitalio_drive_mode_t drive_mode) {
7171

7272
common_hal_digitalio_digitalinout_set_drive_mode(self, drive_mode);
7373
common_hal_digitalio_digitalinout_set_value(self, value);
74+
return DIGITALINOUT_OK;
7475
}
7576

7677
digitalio_direction_t common_hal_digitalio_digitalinout_get_direction(
@@ -92,7 +93,7 @@ bool common_hal_digitalio_digitalinout_get_value(
9293
: nrf_gpio_pin_out_read(self->pin->number);
9394
}
9495

95-
void common_hal_digitalio_digitalinout_set_drive_mode(
96+
digitalinout_result_t common_hal_digitalio_digitalinout_set_drive_mode(
9697
digitalio_digitalinout_obj_t *self,
9798
digitalio_drive_mode_t drive_mode) {
9899
nrf_gpio_cfg(self->pin->number,
@@ -101,6 +102,7 @@ void common_hal_digitalio_digitalinout_set_drive_mode(
101102
NRF_GPIO_PIN_NOPULL,
102103
drive_mode == DRIVE_MODE_OPEN_DRAIN ? NRF_GPIO_PIN_H0D1 : NRF_GPIO_PIN_H0H1,
103104
NRF_GPIO_PIN_NOSENSE);
105+
return DIGITALINOUT_OK;
104106
}
105107

106108
digitalio_drive_mode_t common_hal_digitalio_digitalinout_get_drive_mode(

ports/stm/common-hal/digitalio/DigitalInOut.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#include "py/runtime.h"
3030
#include "supervisor/shared/translate.h"
3131

32-
// The HAL is sparse on obtaining register information, so we use the LLs here.
32+
// The HAL is sparse on obtaining register information, so we use the LLs here.
3333
#if (CPY_STM32H7)
3434
#include "stm32h7xx_ll_gpio.h"
3535
#elif (CPY_STM32F7)
@@ -85,12 +85,13 @@ void common_hal_digitalio_digitalinout_switch_to_input(
8585
common_hal_digitalio_digitalinout_set_pull(self, pull);
8686
}
8787

88-
void common_hal_digitalio_digitalinout_switch_to_output(
88+
digitalinout_result_t common_hal_digitalio_digitalinout_switch_to_output(
8989
digitalio_digitalinout_obj_t *self, bool value,
9090
digitalio_drive_mode_t drive_mode) {
9191

9292
common_hal_digitalio_digitalinout_set_drive_mode(self, drive_mode);
9393
common_hal_digitalio_digitalinout_set_value(self, value);
94+
return DIGITALINOUT_OK;
9495
}
9596

9697
digitalio_direction_t common_hal_digitalio_digitalinout_get_direction(
@@ -112,7 +113,7 @@ bool common_hal_digitalio_digitalinout_get_value(
112113
: LL_GPIO_IsOutputPinSet(pin_port(self->pin->port), pin_mask(self->pin->number));
113114
}
114115

115-
void common_hal_digitalio_digitalinout_set_drive_mode(
116+
digitalinout_result_t common_hal_digitalio_digitalinout_set_drive_mode(
116117
digitalio_digitalinout_obj_t *self,
117118
digitalio_drive_mode_t drive_mode) {
118119
GPIO_InitTypeDef GPIO_InitStruct = {0};
@@ -122,6 +123,7 @@ void common_hal_digitalio_digitalinout_set_drive_mode(
122123
GPIO_InitStruct.Pull = GPIO_NOPULL;
123124
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
124125
HAL_GPIO_Init(pin_port(self->pin->port), &GPIO_InitStruct);
126+
return DIGITALINOUT_OK;
125127
}
126128

127129
digitalio_drive_mode_t common_hal_digitalio_digitalinout_get_drive_mode(

0 commit comments

Comments
 (0)