|
| 1 | +/* |
| 2 | + * Copyright (c) 2022 Dhruva Gole |
| 3 | + * |
| 4 | + * SPDX-License-Identifier: Apache-2.0 |
| 5 | + */ |
| 6 | + |
| 7 | +#pragma once |
| 8 | +#include <zephyr/drivers/gpio.h> |
| 9 | +#include <zephyr/kernel.h> |
| 10 | +#include <zephyr/drivers/i2c.h> |
| 11 | + |
| 12 | +#define LED_BUILTIN 22 |
| 13 | +#define LED0_NODE DT_ALIAS(led0) |
| 14 | + |
| 15 | +static struct gpio_dt_spec d0 = |
| 16 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d0_gpios); |
| 17 | +static struct gpio_dt_spec d1 = |
| 18 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d1_gpios); |
| 19 | +static struct gpio_dt_spec d2 = |
| 20 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d2_gpios); |
| 21 | +static struct gpio_dt_spec d3 = |
| 22 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d3_gpios); |
| 23 | +static struct gpio_dt_spec d4 = |
| 24 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d4_gpios); |
| 25 | +static struct gpio_dt_spec d5 = |
| 26 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d5_gpios); |
| 27 | +static struct gpio_dt_spec d6 = |
| 28 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d6_gpios); |
| 29 | +static struct gpio_dt_spec d7 = |
| 30 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d7_gpios); |
| 31 | +static struct gpio_dt_spec d8 = |
| 32 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d8_gpios); |
| 33 | +static struct gpio_dt_spec d9 = |
| 34 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d9_gpios); |
| 35 | +static struct gpio_dt_spec d10 = |
| 36 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d10_gpios); |
| 37 | +static struct gpio_dt_spec d11 = |
| 38 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d11_gpios); |
| 39 | +static struct gpio_dt_spec d12 = |
| 40 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d12_gpios); |
| 41 | +static struct gpio_dt_spec d13 = |
| 42 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d13_gpios); |
| 43 | +static struct gpio_dt_spec d14 = |
| 44 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d13_gpios); |
| 45 | +static struct gpio_dt_spec d15 = |
| 46 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d15_gpios); |
| 47 | +static struct gpio_dt_spec d16 = |
| 48 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d16_gpios); |
| 49 | +static struct gpio_dt_spec d17 = |
| 50 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d17_gpios); |
| 51 | +static struct gpio_dt_spec d18 = |
| 52 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d18_gpios); |
| 53 | +static struct gpio_dt_spec d19 = |
| 54 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d19_gpios); |
| 55 | +static struct gpio_dt_spec d20 = |
| 56 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d20_gpios); |
| 57 | +static struct gpio_dt_spec d21 = |
| 58 | + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), d21_gpios); |
| 59 | +static struct gpio_dt_spec led_builtin = GPIO_DT_SPEC_GET(LED0_NODE, gpios); |
| 60 | + |
| 61 | +static struct gpio_dt_spec *arduino_pins[23] = { |
| 62 | + &d0, &d1, &d2, &d3, &d4, &d5, &d6, &d7, |
| 63 | + &d8, &d9, &d10, &d11, &d12, &d13, &d14, &d15, |
| 64 | + &d16, &d17, &d18, &d19, &d20, &d21, &led_builtin}; |
| 65 | + |
| 66 | +enum digitalPins { |
| 67 | + D0, |
| 68 | + D1, |
| 69 | + D2, |
| 70 | + D3, |
| 71 | + D4, |
| 72 | + D5, |
| 73 | + D6, |
| 74 | + D7, |
| 75 | + D8, |
| 76 | + D9, |
| 77 | + D10, |
| 78 | + D11, |
| 79 | + D12, |
| 80 | + D13, |
| 81 | + D14, |
| 82 | + D15, |
| 83 | + D16, |
| 84 | + D17, |
| 85 | + D18, |
| 86 | + D19, |
| 87 | + D20, |
| 88 | + D21, |
| 89 | + LED |
| 90 | +}; |
| 91 | + |
| 92 | +const static struct device *i2c_dev = DEVICE_DT_GET(DT_NODELABEL(sercom0)); |
0 commit comments