diff options
| author | arturo182 <arturo182@tlen.pl> | 2018-06-20 23:26:32 +0200 |
|---|---|---|
| committer | arturo182 <arturo182@tlen.pl> | 2018-06-20 23:26:32 +0200 |
| commit | c2d4d0a10bb97819ad94b7b770f59f8b9df64c41 (patch) | |
| tree | 845aa669e6a589de4f3306427e9ea53cde080d25 /ports/nrf/modules | |
| parent | ff918556cdde90119339c35093911d70eec43406 (diff) | |
nrf: Simplify pin generation and definition
This commit cleans up the pin generation code, all the pins and their
AF (only ADC, for now) are specified in nrf52_af.csv and board use their
own csv file to specify which pins are available on that board and if
they have any special names.
Diffstat (limited to 'ports/nrf/modules')
| -rw-r--r-- | ports/nrf/modules/machine/pin.h | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/ports/nrf/modules/machine/pin.h b/ports/nrf/modules/machine/pin.h deleted file mode 100644 index c34726174..000000000 --- a/ports/nrf/modules/machine/pin.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * This file is part of the MicroPython project, http://micropython.org/ - * - * The MIT License (MIT) - * - * Copyright (c) 2013, 2014 Damien P. George - * - * 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_NRF5_PIN_H__ -#define __MICROPY_INCLUDED_NRF5_PIN_H__ - -// This file requires pin_defs_xxx.h (which has port specific enums and -// defines, so we include it here. It should never be included directly - -#include MICROPY_PIN_DEFS_PORT_H -#include "py/obj.h" - -typedef struct { - mp_obj_base_t base; - qstr name; - uint8_t idx; - uint8_t fn; - uint8_t unit; - uint8_t type; - - union { - void *reg; - }; -} pin_af_obj_t; - -typedef struct { - mp_obj_base_t base; - qstr name; - - uint32_t port : 1; - uint32_t pin : 5; // Some ARM processors use 32 bits/PORT - uint32_t num_af : 4; - uint32_t adc_channel : 4; // 0 is no ADC, ADC channel from 1 to 8 - -// uint32_t pin_mask; - pin_gpio_t *gpio; - const pin_af_obj_t *af; - uint32_t pull; -} pin_obj_t; - -// Adafruit -extern const mp_obj_type_t mcu_pin_type; - -extern const mp_obj_type_t pin_type; -extern const mp_obj_type_t pin_af_type; - -typedef struct { - const char *name; - const pin_obj_t *pin; -} pin_named_pin_t; - -extern const pin_named_pin_t pin_board_pins[]; -extern const pin_named_pin_t pin_cpu_pins[]; - -//extern pin_map_obj_t pin_map_obj; - -typedef struct { - mp_obj_base_t base; - qstr name; - const pin_named_pin_t *named_pins; -} pin_named_pins_obj_t; - -extern const mp_obj_type_t pin_board_pins_obj_type; -extern const mp_obj_type_t pin_cpu_pins_obj_type; - -//extern const mp_obj_dict_t pin_cpu_pins_locals_dict; -//extern const mp_obj_dict_t pin_board_pins_locals_dict; - -// Adafruit modification for CircuitPython board module -extern const mp_obj_dict_t mcu_pin_globals; -extern const mp_obj_dict_t board_module_globals; - -#define pin_cpu_pins_locals_dict mcu_pin_globals -#define pin_board_pins_locals_dict board_module_globals - - -MP_DECLARE_CONST_FUN_OBJ_KW(pin_init_obj); - -void pin_init0(void); -uint32_t pin_get_mode(const pin_obj_t *pin); -uint32_t pin_get_pull(const pin_obj_t *pin); -uint32_t pin_get_af(const pin_obj_t *pin); -const pin_obj_t *pin_find(mp_obj_t user_obj); -const pin_obj_t *pin_find_named_pin(const mp_obj_dict_t *named_pins, mp_obj_t name); -const pin_af_obj_t *pin_find_af(const pin_obj_t *pin, uint8_t fn, uint8_t unit); -const pin_af_obj_t *pin_find_af_by_index(const pin_obj_t *pin, mp_uint_t af_idx); -const pin_af_obj_t *pin_find_af_by_name(const pin_obj_t *pin, const char *name); - -#endif // __MICROPY_INCLUDED_NRF5_PIN_H__ |
