diff options
| author | Scott Shawcroft <scott@chickadee.tech> | 2016-10-07 15:06:07 -0700 |
|---|---|---|
| committer | Scott Shawcroft <scott@chickadee.tech> | 2016-10-07 15:06:07 -0700 |
| commit | 284d3414e155206dd5c9b2af79c6c0abbfb2a2e6 (patch) | |
| tree | 14473a8800f855072bc54c737a35baebe2c0244a | |
| parent | 67372b369e10ba62976ac443e12ce17c2774585f (diff) | |
atmel-samd: Make UART REPL Arduino Zero specific. Most will use USB REPL.
| -rw-r--r-- | atmel-samd/Makefile | 1 | ||||
| -rw-r--r-- | atmel-samd/boards/arduino_zero/init.c | 26 | ||||
| -rw-r--r-- | atmel-samd/boards/feather_m0_bluefruit_le/conf_board.h | 8 | ||||
| -rw-r--r-- | atmel-samd/main.c | 6 | ||||
| -rw-r--r-- | atmel-samd/uart.c | 68 | ||||
| -rw-r--r-- | atmel-samd/uart.h | 33 |
6 files changed, 26 insertions, 116 deletions
diff --git a/atmel-samd/Makefile b/atmel-samd/Makefile index 01b2540b7..b8bdd2b1b 100644 --- a/atmel-samd/Makefile +++ b/atmel-samd/Makefile @@ -148,7 +148,6 @@ SRC_C = \ rom_fs.c \ samdneopixel.c \ storage.c \ - uart.c \ asf/common/services/sleepmgr/samd/sleepmgr.c \ asf/common/services/storage/ctrl_access/ctrl_access.c \ asf/common/services/usb/class/cdc/device/udi_cdc.c \ diff --git a/atmel-samd/boards/arduino_zero/init.c b/atmel-samd/boards/arduino_zero/init.c index af8b08ff7..5c93ab6f1 100644 --- a/atmel-samd/boards/arduino_zero/init.c +++ b/atmel-samd/boards/arduino_zero/init.c @@ -11,8 +11,29 @@ #include "board.h" #include "conf_board.h" #include "mpconfigboard.h" +#include "asf/sam0/drivers/sercom/usart/usart.h" #include "asf/sam0/drivers/port/port.h" +extern struct usart_module usart_instance; + +void configure_usart(void) +{ + struct usart_config config_usart; + + usart_get_config_defaults(&config_usart); + + config_usart.baudrate = 115200; + config_usart.mux_setting = EDBG_CDC_SERCOM_MUX_SETTING; + config_usart.pinmux_pad0 = EDBG_CDC_SERCOM_PINMUX_PAD0; + config_usart.pinmux_pad1 = EDBG_CDC_SERCOM_PINMUX_PAD1; + config_usart.pinmux_pad2 = EDBG_CDC_SERCOM_PINMUX_PAD2; + config_usart.pinmux_pad3 = EDBG_CDC_SERCOM_PINMUX_PAD3; + + while (usart_init(&usart_instance, EDBG_CDC_MODULE, &config_usart) != STATUS_OK) { + } + usart_enable(&usart_instance); +} + void board_init(void) { /* This function is meant to contain board-specific initialization code @@ -28,4 +49,9 @@ void board_init(void) port_pin_set_config(MICROPY_HW_LED_RX, &pin_conf); port_pin_set_output_level(MICROPY_HW_LED_RX, true); + + // TODO(tannewt): Switch to proper pyb based UARTs. + #ifdef UART_REPL + configure_usart(); + #endif } diff --git a/atmel-samd/boards/feather_m0_bluefruit_le/conf_board.h b/atmel-samd/boards/feather_m0_bluefruit_le/conf_board.h index ea9327571..7b88c97fc 100644 --- a/atmel-samd/boards/feather_m0_bluefruit_le/conf_board.h +++ b/atmel-samd/boards/feather_m0_bluefruit_le/conf_board.h @@ -11,12 +11,4 @@ #ifndef CONF_BOARD_H #define CONF_BOARD_H -#define EDBG_CDC_SERCOM_MUX_SETTING USART_RX_3_TX_2_XCK_3 -#define EDBG_CDC_SERCOM_PINMUX_PAD0 PINMUX_UNUSED -#define EDBG_CDC_SERCOM_PINMUX_PAD1 PINMUX_UNUSED -#define EDBG_CDC_SERCOM_PINMUX_PAD2 PINMUX_PB22D_SERCOM5_PAD2 -#define EDBG_CDC_SERCOM_PINMUX_PAD3 PINMUX_PB23D_SERCOM5_PAD3 - -#define EDBG_CDC_MODULE SERCOM5 - #endif // CONF_BOARD_H diff --git a/atmel-samd/main.c b/atmel-samd/main.c index 9c9f59d16..12dd72365 100644 --- a/atmel-samd/main.c +++ b/atmel-samd/main.c @@ -24,7 +24,6 @@ #include "mpconfigboard.h" #include "modmachine_pin.h" #include "storage.h" -#include "uart.h" fs_user_mount_t fs_user_mount_flash; @@ -328,11 +327,6 @@ void samd21_init(void) { #ifdef USB_REPL udc_start(); #endif - - // TODO(tannewt): Switch to proper pyb based UARTs. - #ifdef UART_REPL - configure_usart(); - #endif } #endif diff --git a/atmel-samd/uart.c b/atmel-samd/uart.c deleted file mode 100644 index 7c7c604dd..000000000 --- a/atmel-samd/uart.c +++ /dev/null @@ -1,68 +0,0 @@ -/** - * \file - * - * \brief SAM USART Quick Start - * - * Copyright (C) 2012-2015 Atmel Corporation. All rights reserved. - * - * \asf_license_start - * - * \page License - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The name of Atmel may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 4. This software may only be redistributed and used in connection with an - * Atmel microcontroller product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * \asf_license_stop - * - */ -#include "asf/sam0/drivers/sercom/usart/usart.h" -#include "asf/sam0/drivers/port/port.h" - -#include "uart.h" - -#include "conf_board.h" - -extern struct usart_module usart_instance; - -void configure_usart(void) -{ - struct usart_config config_usart; - - usart_get_config_defaults(&config_usart); - - config_usart.baudrate = 115200; - config_usart.mux_setting = EDBG_CDC_SERCOM_MUX_SETTING; - config_usart.pinmux_pad0 = EDBG_CDC_SERCOM_PINMUX_PAD0; - config_usart.pinmux_pad1 = EDBG_CDC_SERCOM_PINMUX_PAD1; - config_usart.pinmux_pad2 = EDBG_CDC_SERCOM_PINMUX_PAD2; - config_usart.pinmux_pad3 = EDBG_CDC_SERCOM_PINMUX_PAD3; - - while (usart_init(&usart_instance, EDBG_CDC_MODULE, &config_usart) != STATUS_OK) { - } - usart_enable(&usart_instance); -} diff --git a/atmel-samd/uart.h b/atmel-samd/uart.h deleted file mode 100644 index b265bbe10..000000000 --- a/atmel-samd/uart.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * This file is part of the Micro Python project, http://micropython.org/ - * - * The MIT License (MIT) - * - * Copyright (c) 2016 Scott Shawcroft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - - #ifndef __MICROPY_INCLUDED_ATMEL_SAMD_UART_H__ - #define __MICROPY_INCLUDED_ATMEL_SAMD_UART_H__ - - void configure_usart(void); - - #endif // __MICROPY_INCLUDED_ATMEL_SAMD_UART_H__ |
