Skip to content

Commit 89ad767

Browse files
committed
add half_duplex to spi constructs in other ports but raise not implemented errors
1 parent 3b418db commit 89ad767

File tree

8 files changed

+50
-12
lines changed

8 files changed

+50
-12
lines changed

locale/circuitpython.pot

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,7 @@ msgstr ""
579579

580580
#: shared-bindings/displayio/Display.c
581581
#: shared-bindings/framebufferio/FramebufferDisplay.c
582-
#: shared-bindings/is31fl3741/IS31FL3741.c
582+
#: shared-bindings/is31fl3741/FrameBuffer.c
583583
#: shared-bindings/rgbmatrix/RGBMatrix.c
584584
msgid "Brightness must be 0-1.0"
585585
msgstr ""
@@ -1129,6 +1129,13 @@ msgstr ""
11291129
msgid "Group already used"
11301130
msgstr ""
11311131

1132+
#: ports/atmel-samd/common-hal/busio/SPI.c ports/cxd56/common-hal/busio/SPI.c
1133+
#: ports/espressif/common-hal/busio/SPI.c
1134+
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
1135+
#: ports/raspberrypi/common-hal/busio/SPI.c
1136+
msgid "Half duplex SPI is not implemented"
1137+
msgstr ""
1138+
11321139
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/I2C.c
11331140
#: ports/stm/common-hal/busio/SPI.c ports/stm/common-hal/canio/CAN.c
11341141
#: ports/stm/common-hal/sdioio/SDCard.c
@@ -1480,7 +1487,7 @@ msgstr ""
14801487
msgid "Key must be 16, 24, or 32 bytes long"
14811488
msgstr ""
14821489

1483-
#: shared-module/is31fl3741/IS31FL3741.c
1490+
#: shared-module/is31fl3741/FrameBuffer.c
14841491
msgid "LED mappings must match display size"
14851492
msgstr ""
14861493

@@ -1508,7 +1515,7 @@ msgstr ""
15081515
msgid "MOSI pin init failed."
15091516
msgstr ""
15101517

1511-
#: shared-bindings/is31fl3741/__init__.c
1518+
#: shared-bindings/is31fl3741/IS31FL3741.c
15121519
msgid "Mapping must be a tuple"
15131520
msgstr ""
15141521

@@ -2121,7 +2128,7 @@ msgstr ""
21212128
msgid "Sample rate too high. It must be less than %d"
21222129
msgstr ""
21232130

2124-
#: shared-bindings/is31fl3741/IS31FL3741.c
2131+
#: shared-bindings/is31fl3741/FrameBuffer.c
21252132
msgid "Scale dimensions must divide by 3"
21262133
msgstr ""
21272134

@@ -4557,7 +4564,7 @@ msgstr ""
45574564
msgid "width must be from 2 to 8 (inclusive), not %d"
45584565
msgstr ""
45594566

4560-
#: shared-bindings/is31fl3741/IS31FL3741.c
4567+
#: shared-bindings/is31fl3741/FrameBuffer.c
45614568
#: shared-bindings/rgbmatrix/RGBMatrix.c
45624569
msgid "width must be greater than zero"
45634570
msgstr ""

ports/atmel-samd/common-hal/busio/SPI.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444

4545
void common_hal_busio_spi_construct(busio_spi_obj_t *self,
4646
const mcu_pin_obj_t *clock, const mcu_pin_obj_t *mosi,
47-
const mcu_pin_obj_t *miso) {
47+
const mcu_pin_obj_t *miso, bool half_duplex) {
4848
Sercom *sercom = NULL;
4949
uint8_t sercom_index;
5050
uint32_t clock_pinmux = 0;
@@ -57,6 +57,10 @@ void common_hal_busio_spi_construct(busio_spi_obj_t *self,
5757
uint8_t miso_pad = 0;
5858
uint8_t dopo = 255;
5959

60+
if (half_duplex == true) {
61+
mp_raise_NotImplementedError(translate("Half duplex SPI is not implemented"));
62+
}
63+
6064
// Ensure the object starts in its deinit state.
6165
self->clock_pin = NO_PIN;
6266

ports/broadcom/common-hal/busio/SPI.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,16 @@ void reset_spi(void) {
7777

7878
void common_hal_busio_spi_construct(busio_spi_obj_t *self,
7979
const mcu_pin_obj_t *clock, const mcu_pin_obj_t *mosi,
80-
const mcu_pin_obj_t *miso) {
80+
const mcu_pin_obj_t *miso, bool half_duplex) {
8181
size_t instance_index = NUM_SPI;
8282
BP_Function_Enum clock_alt = 0;
8383
BP_Function_Enum mosi_alt = 0;
8484
BP_Function_Enum miso_alt = 0;
85+
86+
if (half_duplex == true) {
87+
mp_raise_NotImplementedError(translate("Half duplex SPI is not implemented"));
88+
}
89+
8590
for (size_t i = 0; i < NUM_SPI; i++) {
8691
if (spi_in_use[i]) {
8792
continue;

ports/cxd56/common-hal/busio/SPI.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,13 @@
3535
#include "shared-bindings/busio/SPI.h"
3636

3737
void common_hal_busio_spi_construct(busio_spi_obj_t *self, const mcu_pin_obj_t *clock,
38-
const mcu_pin_obj_t *mosi, const mcu_pin_obj_t *miso) {
38+
const mcu_pin_obj_t *mosi, const mcu_pin_obj_t *miso, bool half_duplex) {
3939
int port = -1;
4040

41+
if (half_duplex == true) {
42+
mp_raise_NotImplementedError(translate("Half duplex SPI is not implemented"));
43+
}
44+
4145
if (clock->number == PIN_SPI4_SCK &&
4246
(mosi == NULL || mosi->number == PIN_SPI4_MOSI) &&
4347
(miso == NULL || miso->number == PIN_SPI4_MISO)) {

ports/espressif/common-hal/busio/SPI.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ static void set_spi_config(busio_spi_obj_t *self,
7373

7474
void common_hal_busio_spi_construct(busio_spi_obj_t *self,
7575
const mcu_pin_obj_t *clock, const mcu_pin_obj_t *mosi,
76-
const mcu_pin_obj_t *miso) {
76+
const mcu_pin_obj_t *miso, bool half_duplex) {
7777

7878
const spi_bus_config_t bus_config = {
7979
.mosi_io_num = mosi != NULL ? mosi->number : -1,
@@ -83,6 +83,10 @@ void common_hal_busio_spi_construct(busio_spi_obj_t *self,
8383
.quadhd_io_num = -1,
8484
};
8585

86+
if (half_duplex == true) {
87+
mp_raise_NotImplementedError(translate("Half duplex SPI is not implemented"));
88+
}
89+
8690
for (spi_host_device_t host_id = SPI2_HOST; host_id < SOC_SPI_PERIPH_NUM; host_id++) {
8791
if (spi_bus_is_free(host_id)) {
8892
self->host_id = host_id;

ports/mimxrt10xx/common-hal/busio/SPI.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,17 @@ void spi_reset(void) {
7575

7676
void common_hal_busio_spi_construct(busio_spi_obj_t *self,
7777
const mcu_pin_obj_t *clock, const mcu_pin_obj_t *mosi,
78-
const mcu_pin_obj_t *miso) {
78+
const mcu_pin_obj_t *miso, bool half_duplex) {
7979

8080
const uint32_t sck_count = MP_ARRAY_SIZE(mcu_spi_sck_list);
8181
const uint32_t miso_count = MP_ARRAY_SIZE(mcu_spi_miso_list);
8282
const uint32_t mosi_count = MP_ARRAY_SIZE(mcu_spi_mosi_list);
8383
bool spi_taken = false;
8484

85+
if (half_duplex == true) {
86+
mp_raise_NotImplementedError(translate("Half duplex SPI is not implemented"));
87+
}
88+
8589
for (uint i = 0; i < sck_count; i++) {
8690
if (mcu_spi_sck_list[i].pin != clock) {
8791
continue;

ports/nrf/common-hal/busio/SPI.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,12 @@ static nrf_spim_frequency_t baudrate_to_spim_frequency(const uint32_t baudrate)
143143
return 0;
144144
}
145145

146-
void common_hal_busio_spi_construct(busio_spi_obj_t *self, const mcu_pin_obj_t *clock, const mcu_pin_obj_t *mosi, const mcu_pin_obj_t *miso) {
146+
void common_hal_busio_spi_construct(busio_spi_obj_t *self, const mcu_pin_obj_t *clock, const mcu_pin_obj_t *mosi, const mcu_pin_obj_t *miso, bool half_duplex) {
147+
148+
if (half_duplex == true) {
149+
mp_raise_NotImplementedError(translate("Half duplex SPI is not implemented"));
150+
}
151+
147152
// Find a free instance, with most desirable (highest freq and not shared) allocated first.
148153
self->spim_peripheral = NULL;
149154
for (size_t i = 0; i < MP_ARRAY_SIZE(spim_peripherals); i++) {

ports/raspberrypi/common-hal/busio/SPI.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,13 @@ void reset_spi(void) {
5454

5555
void common_hal_busio_spi_construct(busio_spi_obj_t *self,
5656
const mcu_pin_obj_t *clock, const mcu_pin_obj_t *mosi,
57-
const mcu_pin_obj_t *miso) {
57+
const mcu_pin_obj_t *miso, bool half_duplex) {
5858
size_t instance_index = NO_INSTANCE;
59+
60+
if (half_duplex == true) {
61+
mp_raise_NotImplementedError(translate("Half duplex SPI is not implemented"));
62+
}
63+
5964
if (clock->number % 4 == 2) {
6065
instance_index = (clock->number / 8) % 2;
6166
}

0 commit comments

Comments
 (0)