Skip to content

Commit 4fd4adf

Browse files
author
Matt Land
committed
not working
1 parent 30c625f commit 4fd4adf

File tree

4 files changed

+35
-4
lines changed

4 files changed

+35
-4
lines changed

ports/atmel-samd/board_busses.c

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626

2727
#include "shared-bindings/busio/I2C.h"
2828
#include "shared-bindings/busio/SPI.h"
29+
//#include "shared-bindings/busio/UART.h"
30+
2931
#include "shared-bindings/microcontroller/Pin.h"
3032
#include "mpconfigboard.h"
3133
#include "pins.h"
@@ -34,13 +36,10 @@
3436

3537

3638
#if !defined(DEFAULT_I2C_BUS_SDA) || !defined(DEFAULT_I2C_BUS_SCL)
37-
3839
STATIC mp_obj_t board_i2c(void) {
39-
//board_i2c_obj = NULL;
4040
mp_raise_NotImplementedError("No default I2C bus");
4141
return NULL;
4242
}
43-
4443
#else
4544
STATIC mp_obj_t i2c_singleton = NULL;
4645

@@ -59,7 +58,6 @@
5958

6059
}
6160
#endif
62-
6361
MP_DEFINE_CONST_FUN_OBJ_0(board_i2c_obj, board_i2c);
6462

6563
#if !defined(DEFAULT_SPI_BUS_SCK) || !defined(DEFAULT_SPI_BUS_MISO) || !defined(DEFAULT_SPI_BUS_MOSI)
@@ -88,3 +86,28 @@ MP_DEFINE_CONST_FUN_OBJ_0(board_i2c_obj, board_i2c);
8886
}
8987
#endif
9088
MP_DEFINE_CONST_FUN_OBJ_0(board_spi_obj, board_spi);
89+
90+
#if !defined(DEFAULT_SERIAL_BUS_RX) || !defined(DEFAULT_SERIAL_BUS_TX)
91+
STATIC mp_obj_t board_serial(void) {
92+
mp_raise_NotImplementedError("No default serial bus");
93+
return NULL;
94+
}
95+
#else
96+
STATIC mp_obj_t serial_singleton = NULL;
97+
98+
STATIC mp_obj_t board_serial(void) {
99+
if (serial_singleton == NULL) {
100+
//busio_uart_obj_t *self = m_new_obj(busio_uart_obj_t);
101+
//self->base.type = &busio_uart_type;
102+
103+
assert_pin_free(DEFAULT_SERIAL_BUS_RX);
104+
assert_pin_free(DEFAULT_SERIAL_BUS_TX);
105+
106+
//common_hal_busio_uart_construct(self, DEFAULT_SERIAL_BUS_TX, DEFAULT_SERIAL_BUS_RX, 9600, 8, PARITY_NONE, 1, 1000, 64);
107+
//serial_singleton = (mp_obj_t)self;
108+
serial_singleton = NULL;
109+
}
110+
return serial_singleton;
111+
}
112+
#endif
113+
MP_DEFINE_CONST_FUN_OBJ_0(board_serial_obj, board_serial);

ports/atmel-samd/board_busses.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,7 @@ extern mp_obj_fun_builtin_fixed_t board_i2c_obj;
3333
void board_spi(void);
3434
extern mp_obj_fun_builtin_fixed_t board_spi_obj;
3535

36+
void board_serial(void);
37+
extern mp_obj_fun_builtin_fixed_t board_serial_obj;
38+
3639
#endif // MICROPY_INCLUDED_ATMEL_SAMD_BOARD_BUSSES_H

ports/atmel-samd/boards/gemma_m0/mpconfigboard.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
#define DEFAULT_I2C_BUS_SCL (&pin_PA05)
1616
#define DEFAULT_I2C_BUS_SDA (&pin_PA04)
1717

18+
#define DEFAULT_SERIAL_BUS_RX (&pin_PA05)
19+
#define DEFAULT_SERIAL_BUS_TX (&pin_PA04)
20+
21+
1822
#include "internal_flash.h"
1923

2024
#define BOARD_FLASH_SIZE (0x00040000 - 0x2000 - 0x010000)

ports/atmel-samd/boards/gemma_m0/pins.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,6 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
2222
{ MP_ROM_QSTR(MP_QSTR_APA102_SCK), MP_ROM_PTR(&pin_PA01) },
2323
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
2424
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
25+
{ MP_ROM_QSTR(MP_QSTR_SERIAL), MP_ROM_PTR(&board_i2c_obj) },
2526
};
2627
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

0 commit comments

Comments
 (0)