[boards] Add Tuya series 1 boards

This commit is contained in:
Kuba Szczodrzyński
2023-06-18 20:19:05 +02:00
parent f9fb78feed
commit 6af97d2691
19 changed files with 1319 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
{
"pcb": {
"scale": 10,
"test_pads": {
"TSCK": "cb1s.back.sck.anchor",
"TCSN": "cb1s.back.csn.anchor",
"TSI": "cb1s.back.si.anchor",
"TSO": "cb1s.back.so.anchor"
},
"back": [
{
"name": "test_pad_1mm",
"pos": "2.66,14.4"
},
{
"name": "test_pad_1mm",
"pos": "2.66,15.9"
},
{
"name": "test_pad_1mm",
"pos": "2.66,17.4"
},
{
"name": "test_pad_1mm",
"pos": "2.66,18.9"
},
{
"id": "sck",
"name": "label_line_down",
"pos": "3.5,14.3",
"vars": {
"DIR": "right",
"W": 1.0,
"H": 0
}
},
{
"id": "csn",
"name": "label_line_down",
"pos": "3.5,15.8",
"vars": {
"DIR": "right",
"W": 1.0,
"H": 0
}
},
{
"id": "si",
"name": "label_line_down",
"pos": "3.5,17.3",
"vars": {
"DIR": "right",
"W": 1.0,
"H": 0
}
},
{
"id": "so",
"name": "label_line_down",
"pos": "3.5,18.8",
"vars": {
"DIR": "right",
"W": 1.0,
"H": 0
}
}
]
}
}

101
boards/_base/pcb/cb1s.json Normal file
View File

@@ -0,0 +1,101 @@
{
"pcb": {
"templates": [
"tuya1",
"pcb-blue-light",
"tuya-16x24",
"rf-type1"
],
"scale": 15,
"pinout_hidden": "I2S,TRIG,WAKE,CTS,RTS,SD",
"pinout": {
"1": {
"PWR": "VCC5"
},
"2": {
"IC": 27,
"ARD": "D0"
},
"3": {
"IC": 26,
"ARD": "D1"
},
"4": {
"PWR": 3.3
},
"5": {
"GND": null
},
"6": {
"IC": 22,
"ARD": "D2"
},
"7": {
"IC": 23,
"ARD": "D3"
},
"8": {
"IC": 29,
"ARD": "D4"
},
"9": {
"IC": 25,
"ARD": "D5"
},
"10": {
"IC": 24,
"ARD": "D6"
},
"11": {
"IC": 28,
"ARD": "D7"
},
"12": {
"IC": 16,
"ARD": "D8"
},
"13": {
"IC": 15,
"ARD": "D9"
},
"14": {
"GND": null
},
"15": {
"GND": null
},
"16": {
"IC": 21
},
"17": {
"IC": 17,
"ARD": [
"D10",
"A0"
]
},
"18": {
"GND": null
},
"TSCK": {
"IC": 20,
"ARD": "D11"
},
"TCSN": {
"IC": 19,
"ARD": "D12"
},
"TSO": {
"IC": 17,
"ARD": [
"D10",
"A0"
]
},
"TSI": {
"IC": 18,
"ARD": "D13"
}
}
}
}

View File

@@ -0,0 +1,99 @@
{
"pcb": {
"templates": [
"tuya1",
"tuya1s",
"pcb-blue-light",
"tuya-16x24",
"rf-type1"
],
"scale": 15,
"pinout_hidden": "I2S,TRIG,WAKE,CTS,RTS,SD",
"pinout": {
"1": {
"PWR": "VCC5"
},
"2": {
"IC": 27,
"ARD": "D0"
},
"3": {
"IC": 26,
"ARD": "D1"
},
"4": {
"PWR": 3.3
},
"5": {
"GND": null
},
"6": {
"IC": 15,
"ARD": "D2"
},
"7": {
"IC": 16,
"ARD": "D3"
},
"8": {
"IC": 29,
"ARD": "D4"
},
"9": {
"IC": 24,
"ARD": "D5"
},
"10": {
"IC": 23,
"ARD": "D6"
},
"11": {
"IC": 28,
"ARD": "D7"
},
"12": {
"IC": 25,
"ARD": "D8"
},
"13": {
"IC": 22,
"ARD": "D9"
},
"14": {
"GND": null
},
"15": {
"GND": null
},
"16": {
"IC": 21
},
"17": {
"IC": 17,
"ARD": [
"D10",
"A0"
]
},
"18": {
"GND": null
},
"19": {
"IC": 17,
"ARD": [
"D10",
"A0"
]
},
"20": {
"IC": 18
},
"21": {
"IC": 19
},
"22": {
"IC": 20
}
}
}
}

82
boards/_base/pcb/wr1.json Normal file
View File

@@ -0,0 +1,82 @@
{
"pcb": {
"templates": [
"tuya1",
"pcb-black",
"tuya-16x24",
"rf-type1"
],
"scale": 15,
"pinout_hidden": "I2S,TRIG,WAKE,CTS,RTS,SD",
"pinout": {
"1": {
"PWR": "VCC5"
},
"2": {
"IC": 32,
"ARD": "D0"
},
"3": {
"IC": 29,
"ARD": "D1"
},
"4": {
"PWR": 3.3
},
"5": {
"GND": null
},
"6": {
"IC": 13,
"ARD": "D2"
},
"7": {
"IC": 14,
"ARD": "D3"
},
"8": {
"IC": 1,
"ARD": "D4"
},
"9": {
"IC": 16,
"ARD": "D5"
},
"10": {
"IC": 28,
"ARD": "D6"
},
"11": {
"IC": 2,
"ARD": "D7"
},
"12": {
"IC": 30,
"ARD": [
"D8",
"A0"
]
},
"13": {
"IC": 31,
"ARD": "D9"
},
"14": {
"GND": null
},
"15": {
"GND": null
},
"16": {
"IC": 12
},
"17": {
"IC": 27,
"ARD": "A1"
},
"18": {
"GND": null
}
}
}
}

View File

@@ -0,0 +1,82 @@
{
"pcb": {
"templates": [
"tuya1",
"pcb-blue-light",
"tuya-16x24",
"rf-type1"
],
"scale": 15,
"pinout_hidden": "I2S,TRIG,WAKE,CTS,RTS,SD",
"pinout": {
"1": {
"PWR": "VCC5"
},
"2": {
"IC": 32,
"ARD": "D0"
},
"3": {
"IC": 29,
"ARD": "D1"
},
"4": {
"PWR": 3.3
},
"5": {
"GND": null
},
"6": {
"IC": 13,
"ARD": "D2"
},
"7": {
"IC": 14,
"ARD": "D3"
},
"8": {
"IC": 1,
"ARD": "D4"
},
"9": {
"IC": 17,
"ARD": "D5"
},
"10": {
"IC": 28,
"ARD": "D6"
},
"11": {
"IC": 2,
"ARD": "D7"
},
"12": {
"IC": 30,
"ARD": [
"D8",
"A0"
]
},
"13": {
"IC": 31,
"ARD": "D9"
},
"14": {
"GND": null
},
"15": {
"GND": null
},
"16": {
"IC": 12
},
"17": {
"IC": 27,
"ARD": "A1"
},
"18": {
"GND": null
}
}
}
}

20
boards/cb1s.json Normal file
View File

@@ -0,0 +1,20 @@
{
"_base": [
"beken-72xx",
"beken-7231n",
"beken-7231n-tuya",
"ic/bk7231-qfn32",
"pcb/cb1s",
"pcb/cb1s-test"
],
"build": {
"mcu": "bk7231n",
"variant": "cb1s"
},
"name": "CB1S Wi-Fi Module",
"url": "https://developer.tuya.com/en/docs/iot/cb1s-module-datasheet?id=Kaij1abmwyjq2",
"vendor": "Tuya Inc.",
"pcb": {
"symbol": "CB1S"
}
}

View File

@@ -0,0 +1,99 @@
{
"name": "tuya1",
"title": "Tuya boards; 1 series",
"width": 18,
"height": 23.5,
"vars": {
"PINTYPE_VERT": "pin_vert_cast_nohole",
"PINTYPE_HORZ": "pin_horz_cast_nohole",
"RASTER": 1.5,
"RF_W": 18,
"RF_H": 6.1
},
"front": [
{
"comment": "PCB soldermask",
"type": "rect",
"pos": "0,0",
"size": "18,23.5",
"preset": "${MASK_PRESET}"
},
{
"comment": "Metal shielding",
"type": "rect",
"pos": "1.3,7.3",
"size": "15.4,15.4",
"preset": "shield"
},
{
"comment": "Pins (1-9)",
"id": "left",
"name": "r_pins_vert",
"repeat": 9,
"pos": "0,10.6",
"vars": {
"PINDIR": "left"
}
},
{
"comment": "Pins (10-18)",
"id": "right",
"name": "r_pins_vert",
"repeat": 9,
"pos": "18,10.6",
"vars": {
"PINDIR": "right"
}
}
],
"back": [
{
"comment": "PCB soldermask",
"type": "rect",
"pos": "0,0",
"size": "18,23.5",
"preset": "${MASK_PRESET}"
},
{
"comment": "Pins (1-9)",
"id": "left",
"name": "r_pins_vert",
"repeat": 9,
"pos": "0,10.6",
"vars": {
"PINDIR": "left"
}
},
{
"comment": "Pins (10-18)",
"id": "right",
"name": "r_pins_vert",
"repeat": 9,
"pos": "18,10.6",
"vars": {
"PINDIR": "right"
}
}
],
"pads": {
"1": "tuya1.front.left.pin1",
"2": "tuya1.front.left.pin2",
"3": "tuya1.front.left.pin3",
"4": "tuya1.front.left.pin4",
"5": "tuya1.front.left.pin5",
"6": "tuya1.front.left.pin6",
"7": "tuya1.front.left.pin7",
"8": "tuya1.front.left.pin8",
"9": "tuya1.front.left.pin9",
"10": "tuya1.front.right.pin9",
"11": "tuya1.front.right.pin8",
"12": "tuya1.front.right.pin7",
"13": "tuya1.front.right.pin6",
"14": "tuya1.front.right.pin5",
"15": "tuya1.front.right.pin4",
"16": "tuya1.front.right.pin3",
"17": "tuya1.front.right.pin2",
"18": "tuya1.front.right.pin1"
},
"test_pads": {}
}

View File

@@ -0,0 +1,64 @@
{
"name": "tuya1s",
"title": "Tuya boards; 1S series",
"width": 18,
"height": 23.5,
"vars": {
"PINTYPE_VERT": "pin_vert_cast_nohole",
"PINTYPE_HORZ": "pin_horz_cast_nohole",
"RASTER": 1.5,
"RF_W": 18,
"RF_H": 6.1
},
"front": [
{
"comment": "Pins (19-24)",
"name": "r_pins_horz",
"repeat": 6,
"pos": "5.25,23.5",
"vars": {
"PINDIR": "down"
}
},
{
"comment": "Pin labels (19-24)",
"id": "down",
"name": "r_labels_horz",
"repeat": 6,
"pos": "5.25,23.5",
"vars": {
"PINDIR": "down"
}
}
],
"back": [
{
"comment": "Pins (10-18)",
"name": "r_pins_vert",
"repeat": 9,
"pos": "18,10.6",
"vars": {
"PINDIR": "right"
}
},
{
"comment": "Pins (19-24)",
"id": "down",
"name": "r_pins_horz",
"repeat": 6,
"pos": "5.25,23.5",
"vars": {
"PINDIR": "down"
}
}
],
"pads": {
"19": "tuya1s.front.down.label1.anchor",
"20": "tuya1s.front.down.label2.anchor",
"21": "tuya1s.front.down.label3.anchor",
"22": "tuya1s.front.down.label4.anchor",
"23": "tuya1s.front.down.label5.anchor",
"24": "tuya1s.front.down.label6.anchor"
},
"test_pads": {}
}

57
boards/variants/cb1s.c Normal file
View File

@@ -0,0 +1,57 @@
/* This file was auto-generated from cb1s.json using boardgen */
#include <Arduino.h>
#ifdef LT_VARIANT_INCLUDE
#include LT_VARIANT_INCLUDE
#endif
// clang-format off
PinInfo lt_arduino_pin_info_list[PINS_COUNT] = {
// D0: P11, UART1_TX
{GPIO11, PIN_GPIO | PIN_IRQ | PIN_UART, PIN_NONE, 0},
// D1: P10, UART1_RX
{GPIO10, PIN_GPIO | PIN_IRQ | PIN_UART, PIN_NONE, 0},
// D2: P6, PWM0
{GPIO6, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D3: P7, PWM1
{GPIO7, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D4: P0, UART2_TX, I2C2_SCL
{GPIO0, PIN_GPIO | PIN_IRQ | PIN_I2C | PIN_UART, PIN_NONE, 0},
// D5: P9, PWM3
{GPIO9, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D6: P8, PWM2
{GPIO8, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D7: P1, UART2_RX, I2C2_SDA
{GPIO1, PIN_GPIO | PIN_IRQ | PIN_I2C | PIN_UART, PIN_NONE, 0},
// D8: P24, PWM4
{GPIO24, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D9: P26, PWM5, IRDA
{GPIO26, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D10: P23, ADC3, TDO, FSO
{GPIO23, PIN_GPIO | PIN_IRQ | PIN_ADC | PIN_JTAG, PIN_NONE, 0},
// D11: P20, I2C1_SCL, TCK, FSCK
{GPIO20, PIN_GPIO | PIN_IRQ | PIN_I2C | PIN_JTAG, PIN_NONE, 0},
// D12: P21, I2C1_SDA, TMS, MCLK, ^FCS
{GPIO21, PIN_GPIO | PIN_IRQ | PIN_I2C | PIN_I2S | PIN_JTAG, PIN_NONE, 0},
// D13: P22, TDI, FSI
{GPIO22, PIN_GPIO | PIN_IRQ | PIN_JTAG, PIN_NONE, 0},
};
PinInfo *lt_arduino_pin_gpio_map[] = {
[0] = &(lt_arduino_pin_info_list[4]), // GPIO0 (D4)
[1] = &(lt_arduino_pin_info_list[7]), // GPIO1 (D7)
[6] = &(lt_arduino_pin_info_list[2]), // GPIO6 (D2)
[7] = &(lt_arduino_pin_info_list[3]), // GPIO7 (D3)
[8] = &(lt_arduino_pin_info_list[6]), // GPIO8 (D6)
[9] = &(lt_arduino_pin_info_list[5]), // GPIO9 (D5)
[10] = &(lt_arduino_pin_info_list[1]), // GPIO10 (D1)
[11] = &(lt_arduino_pin_info_list[0]), // GPIO11 (D0)
[20] = &(lt_arduino_pin_info_list[11]), // GPIO20 (D11)
[21] = &(lt_arduino_pin_info_list[12]), // GPIO21 (D12)
[22] = &(lt_arduino_pin_info_list[13]), // GPIO22 (D13)
[23] = &(lt_arduino_pin_info_list[10]), // GPIO23 (D10)
[24] = &(lt_arduino_pin_info_list[8]), // GPIO24 (D8)
[26] = &(lt_arduino_pin_info_list[9]), // GPIO26 (D9)
};
// clang-format on

104
boards/variants/cb1s.h Normal file
View File

@@ -0,0 +1,104 @@
/* This file was auto-generated from cb1s.json using boardgen */
#pragma once
// clang-format off
// Pins
// ----
#define PINS_COUNT 14 // Total GPIO count
#define NUM_DIGITAL_PINS 14 // Digital inputs/outputs
#define NUM_ANALOG_INPUTS 1 // ADC inputs
#define NUM_ANALOG_OUTPUTS 6 // PWM & DAC outputs
#define PINS_GPIO_MAX 26 // Last usable GPIO number
// Wire Interfaces
// ---------------
#define PIN_WIRE1_SCL 20u // GPIO20
#define PIN_WIRE1_SDA 21u // GPIO21
#define PIN_WIRE2_SCL 0u // GPIO0
#define PIN_WIRE2_SDA 1u // GPIO1
// Serial ports
// ------------
#define PIN_SERIAL1_RX 10u // GPIO10
#define PIN_SERIAL1_TX 11u // GPIO11
#define PIN_SERIAL2_RX 1u // GPIO1
#define PIN_SERIAL2_TX 0u // GPIO0
// Pin function macros
// -------------------
#define PIN_ADC3 23u // GPIO23
#define PIN_P0 0u // GPIO0
#define PIN_P1 1u // GPIO1
#define PIN_P6 6u // GPIO6
#define PIN_P7 7u // GPIO7
#define PIN_P8 8u // GPIO8
#define PIN_P9 9u // GPIO9
#define PIN_P10 10u // GPIO10
#define PIN_P11 11u // GPIO11
#define PIN_P20 20u // GPIO20
#define PIN_P21 21u // GPIO21
#define PIN_P22 22u // GPIO22
#define PIN_P23 23u // GPIO23
#define PIN_P24 24u // GPIO24
#define PIN_P26 26u // GPIO26
#define PIN_PWM0 6u // GPIO6
#define PIN_PWM1 7u // GPIO7
#define PIN_PWM2 8u // GPIO8
#define PIN_PWM3 9u // GPIO9
#define PIN_PWM4 24u // GPIO24
#define PIN_PWM5 26u // GPIO26
#define PIN_RX1 10u // GPIO10
#define PIN_RX2 1u // GPIO1
#define PIN_SCL1 20u // GPIO20
#define PIN_SCL2 0u // GPIO0
#define PIN_SDA1 21u // GPIO21
#define PIN_SDA2 1u // GPIO1
#define PIN_TX1 11u // GPIO11
#define PIN_TX2 0u // GPIO0
// Port availability
// -----------------
#define HAS_SERIAL1 1
#define HAS_SERIAL2 1
#define HAS_WIRE1 1
#define HAS_WIRE2 1
#define SERIAL_INTERFACES_COUNT 2
#define WIRE_INTERFACES_COUNT 2
// Arduino pin names
// -----------------
#define PIN_D0 11u // GPIO11
#define PIN_D1 10u // GPIO10
#define PIN_D2 6u // GPIO6
#define PIN_D3 7u // GPIO7
#define PIN_D4 0u // GPIO0
#define PIN_D5 9u // GPIO9
#define PIN_D6 8u // GPIO8
#define PIN_D7 1u // GPIO1
#define PIN_D8 24u // GPIO24
#define PIN_D9 26u // GPIO26
#define PIN_D10 23u // GPIO23
#define PIN_D11 20u // GPIO20
#define PIN_D12 21u // GPIO21
#define PIN_D13 22u // GPIO22
#define PIN_A0 23u // GPIO23
// Static pin names
// ----------------
static const unsigned char A0 = PIN_A0;
static const unsigned char D0 = PIN_D0;
static const unsigned char D1 = PIN_D1;
static const unsigned char D2 = PIN_D2;
static const unsigned char D3 = PIN_D3;
static const unsigned char D4 = PIN_D4;
static const unsigned char D5 = PIN_D5;
static const unsigned char D6 = PIN_D6;
static const unsigned char D7 = PIN_D7;
static const unsigned char D8 = PIN_D8;
static const unsigned char D9 = PIN_D9;
static const unsigned char D10 = PIN_D10;
static const unsigned char D11 = PIN_D11;
static const unsigned char D12 = PIN_D12;
static const unsigned char D13 = PIN_D13;

48
boards/variants/wb1s.c Normal file
View File

@@ -0,0 +1,48 @@
/* This file was auto-generated from wb1s.json using boardgen */
#include <Arduino.h>
#ifdef LT_VARIANT_INCLUDE
#include LT_VARIANT_INCLUDE
#endif
// clang-format off
PinInfo lt_arduino_pin_info_list[PINS_COUNT] = {
// D0: P11, UART1_TX
{GPIO11, PIN_GPIO | PIN_IRQ | PIN_UART, PIN_NONE, 0},
// D1: P10, UART1_RX
{GPIO10, PIN_GPIO | PIN_IRQ | PIN_UART, PIN_NONE, 0},
// D2: P26, PWM5, IRDA
{GPIO26, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D3: P24, PWM4
{GPIO24, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D4: P0, UART2_TX, I2C2_SCL
{GPIO0, PIN_GPIO | PIN_IRQ | PIN_I2C | PIN_UART, PIN_NONE, 0},
// D5: P8, PWM2
{GPIO8, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D6: P7, PWM1
{GPIO7, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D7: P1, UART2_RX, I2C2_SDA
{GPIO1, PIN_GPIO | PIN_IRQ | PIN_I2C | PIN_UART, PIN_NONE, 0},
// D8: P9, PWM3
{GPIO9, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D9: P6, PWM0
{GPIO6, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D10: P23, ADC3, TDO, FSO
{GPIO23, PIN_GPIO | PIN_IRQ | PIN_ADC | PIN_JTAG, PIN_NONE, 0},
};
PinInfo *lt_arduino_pin_gpio_map[] = {
[0] = &(lt_arduino_pin_info_list[4]), // GPIO0 (D4)
[1] = &(lt_arduino_pin_info_list[7]), // GPIO1 (D7)
[6] = &(lt_arduino_pin_info_list[9]), // GPIO6 (D9)
[7] = &(lt_arduino_pin_info_list[6]), // GPIO7 (D6)
[8] = &(lt_arduino_pin_info_list[5]), // GPIO8 (D5)
[9] = &(lt_arduino_pin_info_list[8]), // GPIO9 (D8)
[10] = &(lt_arduino_pin_info_list[1]), // GPIO10 (D1)
[11] = &(lt_arduino_pin_info_list[0]), // GPIO11 (D0)
[23] = &(lt_arduino_pin_info_list[10]), // GPIO23 (D10)
[24] = &(lt_arduino_pin_info_list[3]), // GPIO24 (D3)
[26] = &(lt_arduino_pin_info_list[2]), // GPIO26 (D2)
};
// clang-format on

90
boards/variants/wb1s.h Normal file
View File

@@ -0,0 +1,90 @@
/* This file was auto-generated from wb1s.json using boardgen */
#pragma once
// clang-format off
// Pins
// ----
#define PINS_COUNT 11 // Total GPIO count
#define NUM_DIGITAL_PINS 11 // Digital inputs/outputs
#define NUM_ANALOG_INPUTS 1 // ADC inputs
#define NUM_ANALOG_OUTPUTS 6 // PWM & DAC outputs
#define PINS_GPIO_MAX 26 // Last usable GPIO number
// Wire Interfaces
// ---------------
#define PIN_WIRE2_SCL 0u // GPIO0
#define PIN_WIRE2_SDA 1u // GPIO1
// Serial ports
// ------------
#define PIN_SERIAL1_RX 10u // GPIO10
#define PIN_SERIAL1_TX 11u // GPIO11
#define PIN_SERIAL2_RX 1u // GPIO1
#define PIN_SERIAL2_TX 0u // GPIO0
// Pin function macros
// -------------------
#define PIN_ADC3 23u // GPIO23
#define PIN_P0 0u // GPIO0
#define PIN_P1 1u // GPIO1
#define PIN_P6 6u // GPIO6
#define PIN_P7 7u // GPIO7
#define PIN_P8 8u // GPIO8
#define PIN_P9 9u // GPIO9
#define PIN_P10 10u // GPIO10
#define PIN_P11 11u // GPIO11
#define PIN_P23 23u // GPIO23
#define PIN_P24 24u // GPIO24
#define PIN_P26 26u // GPIO26
#define PIN_PWM0 6u // GPIO6
#define PIN_PWM1 7u // GPIO7
#define PIN_PWM2 8u // GPIO8
#define PIN_PWM3 9u // GPIO9
#define PIN_PWM4 24u // GPIO24
#define PIN_PWM5 26u // GPIO26
#define PIN_RX1 10u // GPIO10
#define PIN_RX2 1u // GPIO1
#define PIN_SCL2 0u // GPIO0
#define PIN_SDA2 1u // GPIO1
#define PIN_TX1 11u // GPIO11
#define PIN_TX2 0u // GPIO0
// Port availability
// -----------------
#define HAS_SERIAL1 1
#define HAS_SERIAL2 1
#define HAS_WIRE2 1
#define SERIAL_INTERFACES_COUNT 2
#define WIRE_INTERFACES_COUNT 1
// Arduino pin names
// -----------------
#define PIN_D0 11u // GPIO11
#define PIN_D1 10u // GPIO10
#define PIN_D2 26u // GPIO26
#define PIN_D3 24u // GPIO24
#define PIN_D4 0u // GPIO0
#define PIN_D5 8u // GPIO8
#define PIN_D6 7u // GPIO7
#define PIN_D7 1u // GPIO1
#define PIN_D8 9u // GPIO9
#define PIN_D9 6u // GPIO6
#define PIN_D10 23u // GPIO23
#define PIN_A0 23u // GPIO23
// Static pin names
// ----------------
static const unsigned char A0 = PIN_A0;
static const unsigned char D0 = PIN_D0;
static const unsigned char D1 = PIN_D1;
static const unsigned char D2 = PIN_D2;
static const unsigned char D3 = PIN_D3;
static const unsigned char D4 = PIN_D4;
static const unsigned char D5 = PIN_D5;
static const unsigned char D6 = PIN_D6;
static const unsigned char D7 = PIN_D7;
static const unsigned char D8 = PIN_D8;
static const unsigned char D9 = PIN_D9;
static const unsigned char D10 = PIN_D10;

48
boards/variants/wr1.c Normal file
View File

@@ -0,0 +1,48 @@
/* This file was auto-generated from wr1.json using boardgen */
#include <Arduino.h>
#ifdef LT_VARIANT_INCLUDE
#include LT_VARIANT_INCLUDE
#endif
// clang-format off
PinInfo lt_arduino_pin_info_list[PINS_COUNT] = {
// D0: PA23, UART0_TX, SPI0_MOSI, SPI1_MOSI, I2C1_SDA, SD_D1, PWM0, WAKE3
{PA_23, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_I2C | PIN_SPI | PIN_UART, PIN_NONE, 0},
// D1: PA18, UART0_RX, SPI0_SCK, SPI1_SCK, I2C1_SCL, SD_D2, TMR4_TRIG, I2S0_MCK, WAKE0
{PA_18, PIN_GPIO | PIN_IRQ | PIN_I2C | PIN_I2S | PIN_SPI | PIN_UART, PIN_NONE, 0},
// D2: PA14, PWM0, SWCLK
{PA_14, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_SWD, PIN_NONE, 0},
// D3: PA15, PWM1, SWDIO
{PA_15, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_SWD, PIN_NONE, 0},
// D4: PA30, UART2_TX, I2C0_SDA, PWM4
{PA_30, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_I2C | PIN_UART, PIN_NONE, 0},
// D5: PA00, PWM2
{PA_0, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D6: PA05, PWM4, WAKE1
{PA_5, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D7: PA29, UART2_RX, I2C0_SCL, PWM4
{PA_29, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_I2C | PIN_UART, PIN_NONE, 0},
// D8: PA19, ADC1, UART0_CTS, SPI0_CS, SPI1_CS, I2C0_SDA, SD_D3, TMR5_TRIG, I2S0_TX
{PA_19, PIN_GPIO | PIN_IRQ | PIN_ADC | PIN_I2C | PIN_I2S | PIN_SPI | PIN_UART, PIN_NONE, 0},
// D9: PA22, UART0_RTS, SPI0_MISO, SPI1_MISO, I2C0_SCL, SD_D0, PWM5, I2S0_WS, WAKE2
{PA_22, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_I2C | PIN_I2S | PIN_SPI | PIN_UART, PIN_NONE, 0},
// A1: ADC2
{AD_2, PIN_ADC, PIN_NONE, 0},
};
PinInfo *lt_arduino_pin_gpio_map[] = {
[0] = &(lt_arduino_pin_info_list[5]), // PA_0 (D5)
[5] = &(lt_arduino_pin_info_list[6]), // PA_5 (D6)
[14] = &(lt_arduino_pin_info_list[2]), // PA_14 (D2)
[15] = &(lt_arduino_pin_info_list[3]), // PA_15 (D3)
[18] = &(lt_arduino_pin_info_list[1]), // PA_18 (D1)
[19] = &(lt_arduino_pin_info_list[8]), // PA_19 (D8)
[22] = &(lt_arduino_pin_info_list[9]), // PA_22 (D9)
[23] = &(lt_arduino_pin_info_list[0]), // PA_23 (D0)
[29] = &(lt_arduino_pin_info_list[7]), // PA_29 (D7)
[30] = &(lt_arduino_pin_info_list[4]), // PA_30 (D4)
[41] = &(lt_arduino_pin_info_list[10]), // AD_2 (A1)
};
// clang-format on

122
boards/variants/wr1.h Normal file
View File

@@ -0,0 +1,122 @@
/* This file was auto-generated from wr1.json using boardgen */
#pragma once
// clang-format off
// Pins
// ----
#define PINS_COUNT 11 // Total GPIO count
#define NUM_DIGITAL_PINS 10 // Digital inputs/outputs
#define NUM_ANALOG_INPUTS 2 // ADC inputs
#define NUM_ANALOG_OUTPUTS 8 // PWM & DAC outputs
#define PINS_GPIO_MAX 41 // Last usable GPIO number
// SPI Interfaces
// --------------
#define PIN_SPI0_CS 19u // PA_19
#define PIN_SPI0_MISO 22u // PA_22
#define PIN_SPI0_MOSI 23u // PA_23
#define PIN_SPI0_SCK 18u // PA_18
#define PIN_SPI1_CS 19u // PA_19
#define PIN_SPI1_MISO 22u // PA_22
#define PIN_SPI1_MOSI 23u // PA_23
#define PIN_SPI1_SCK 18u // PA_18
// Wire Interfaces
// ---------------
#define PIN_WIRE0_SCL_0 29u // PA_29
#define PIN_WIRE0_SCL_1 22u // PA_22
#define PIN_WIRE0_SDA_0 30u // PA_30
#define PIN_WIRE0_SDA_1 19u // PA_19
#define PIN_WIRE1_SCL 18u // PA_18
#define PIN_WIRE1_SDA 23u // PA_23
// Serial ports
// ------------
#define PIN_SERIAL0_CTS 19u // PA_19
#define PIN_SERIAL0_RTS 22u // PA_22
#define PIN_SERIAL0_RX 18u // PA_18
#define PIN_SERIAL0_TX 23u // PA_23
#define PIN_SERIAL2_RX 29u // PA_29
#define PIN_SERIAL2_TX 30u // PA_30
// Pin function macros
// -------------------
#define PIN_ADC1 19u // PA_19
#define PIN_ADC2 41u // AD_2
#define PIN_CS0 19u // PA_19
#define PIN_CS1 19u // PA_19
#define PIN_CTS0 19u // PA_19
#define PIN_MISO0 22u // PA_22
#define PIN_MISO1 22u // PA_22
#define PIN_MOSI0 23u // PA_23
#define PIN_MOSI1 23u // PA_23
#define PIN_PA00 0u // PA_0
#define PIN_PA05 5u // PA_5
#define PIN_PA14 14u // PA_14
#define PIN_PA15 15u // PA_15
#define PIN_PA18 18u // PA_18
#define PIN_PA19 19u // PA_19
#define PIN_PA22 22u // PA_22
#define PIN_PA23 23u // PA_23
#define PIN_PA29 29u // PA_29
#define PIN_PA30 30u // PA_30
#define PIN_PWM0 14u // PA_14
#define PIN_PWM1 15u // PA_15
#define PIN_PWM2 0u // PA_0
#define PIN_PWM4 29u // PA_29
#define PIN_PWM5 22u // PA_22
#define PIN_RTS0 22u // PA_22
#define PIN_RX0 18u // PA_18
#define PIN_RX2 29u // PA_29
#define PIN_SCK0 18u // PA_18
#define PIN_SCK1 18u // PA_18
#define PIN_SCL0 22u // PA_22
#define PIN_SCL1 18u // PA_18
#define PIN_SDA0 19u // PA_19
#define PIN_SDA1 23u // PA_23
#define PIN_TX0 23u // PA_23
#define PIN_TX2 30u // PA_30
// Port availability
// -----------------
#define HAS_SERIAL0 1
#define HAS_SERIAL2 1
#define HAS_SPI0 1
#define HAS_SPI1 1
#define HAS_WIRE0 1
#define HAS_WIRE1 1
#define SERIAL_INTERFACES_COUNT 2
#define SPI_INTERFACES_COUNT 2
#define WIRE_INTERFACES_COUNT 2
// Arduino pin names
// -----------------
#define PIN_D0 23u // PA_23
#define PIN_D1 18u // PA_18
#define PIN_D2 14u // PA_14
#define PIN_D3 15u // PA_15
#define PIN_D4 30u // PA_30
#define PIN_D5 0u // PA_0
#define PIN_D6 5u // PA_5
#define PIN_D7 29u // PA_29
#define PIN_D8 19u // PA_19
#define PIN_D9 22u // PA_22
#define PIN_A0 19u // PA_19
#define PIN_A1 41u // AD_2
// Static pin names
// ----------------
static const unsigned char A0 = PIN_A0;
static const unsigned char A1 = PIN_A1;
static const unsigned char D0 = PIN_D0;
static const unsigned char D1 = PIN_D1;
static const unsigned char D2 = PIN_D2;
static const unsigned char D3 = PIN_D3;
static const unsigned char D4 = PIN_D4;
static const unsigned char D5 = PIN_D5;
static const unsigned char D6 = PIN_D6;
static const unsigned char D7 = PIN_D7;
static const unsigned char D8 = PIN_D8;
static const unsigned char D9 = PIN_D9;

48
boards/variants/wr1e.c Normal file
View File

@@ -0,0 +1,48 @@
/* This file was auto-generated from wr1e.json using boardgen */
#include <Arduino.h>
#ifdef LT_VARIANT_INCLUDE
#include LT_VARIANT_INCLUDE
#endif
// clang-format off
PinInfo lt_arduino_pin_info_list[PINS_COUNT] = {
// D0: PA23, UART0_TX, SPI0_MOSI, SPI1_MOSI, I2C1_SDA, SD_D1, PWM0, WAKE3
{PA_23, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_I2C | PIN_SPI | PIN_UART, PIN_NONE, 0},
// D1: PA18, UART0_RX, SPI0_SCK, SPI1_SCK, I2C1_SCL, SD_D2, TMR4_TRIG, I2S0_MCK, WAKE0
{PA_18, PIN_GPIO | PIN_IRQ | PIN_I2C | PIN_I2S | PIN_SPI | PIN_UART, PIN_NONE, 0},
// D2: PA14, PWM0, SWCLK
{PA_14, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_SWD, PIN_NONE, 0},
// D3: PA15, PWM1, SWDIO
{PA_15, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_SWD, PIN_NONE, 0},
// D4: PA30, UART2_TX, I2C0_SDA, PWM4
{PA_30, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_I2C | PIN_UART, PIN_NONE, 0},
// D5: PA12, PWM3
{PA_12, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D6: PA05, PWM4, WAKE1
{PA_5, PIN_GPIO | PIN_IRQ | PIN_PWM, PIN_NONE, 0},
// D7: PA29, UART2_RX, I2C0_SCL, PWM4
{PA_29, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_I2C | PIN_UART, PIN_NONE, 0},
// D8: PA19, ADC1, UART0_CTS, SPI0_CS, SPI1_CS, I2C0_SDA, SD_D3, TMR5_TRIG, I2S0_TX
{PA_19, PIN_GPIO | PIN_IRQ | PIN_ADC | PIN_I2C | PIN_I2S | PIN_SPI | PIN_UART, PIN_NONE, 0},
// D9: PA22, UART0_RTS, SPI0_MISO, SPI1_MISO, I2C0_SCL, SD_D0, PWM5, I2S0_WS, WAKE2
{PA_22, PIN_GPIO | PIN_IRQ | PIN_PWM | PIN_I2C | PIN_I2S | PIN_SPI | PIN_UART, PIN_NONE, 0},
// A1: ADC2
{AD_2, PIN_ADC, PIN_NONE, 0},
};
PinInfo *lt_arduino_pin_gpio_map[] = {
[5] = &(lt_arduino_pin_info_list[6]), // PA_5 (D6)
[12] = &(lt_arduino_pin_info_list[5]), // PA_12 (D5)
[14] = &(lt_arduino_pin_info_list[2]), // PA_14 (D2)
[15] = &(lt_arduino_pin_info_list[3]), // PA_15 (D3)
[18] = &(lt_arduino_pin_info_list[1]), // PA_18 (D1)
[19] = &(lt_arduino_pin_info_list[8]), // PA_19 (D8)
[22] = &(lt_arduino_pin_info_list[9]), // PA_22 (D9)
[23] = &(lt_arduino_pin_info_list[0]), // PA_23 (D0)
[29] = &(lt_arduino_pin_info_list[7]), // PA_29 (D7)
[30] = &(lt_arduino_pin_info_list[4]), // PA_30 (D4)
[41] = &(lt_arduino_pin_info_list[10]), // AD_2 (A1)
};
// clang-format on

122
boards/variants/wr1e.h Normal file
View File

@@ -0,0 +1,122 @@
/* This file was auto-generated from wr1e.json using boardgen */
#pragma once
// clang-format off
// Pins
// ----
#define PINS_COUNT 11 // Total GPIO count
#define NUM_DIGITAL_PINS 10 // Digital inputs/outputs
#define NUM_ANALOG_INPUTS 2 // ADC inputs
#define NUM_ANALOG_OUTPUTS 8 // PWM & DAC outputs
#define PINS_GPIO_MAX 41 // Last usable GPIO number
// SPI Interfaces
// --------------
#define PIN_SPI0_CS 19u // PA_19
#define PIN_SPI0_MISO 22u // PA_22
#define PIN_SPI0_MOSI 23u // PA_23
#define PIN_SPI0_SCK 18u // PA_18
#define PIN_SPI1_CS 19u // PA_19
#define PIN_SPI1_MISO 22u // PA_22
#define PIN_SPI1_MOSI 23u // PA_23
#define PIN_SPI1_SCK 18u // PA_18
// Wire Interfaces
// ---------------
#define PIN_WIRE0_SCL_0 29u // PA_29
#define PIN_WIRE0_SCL_1 22u // PA_22
#define PIN_WIRE0_SDA_0 30u // PA_30
#define PIN_WIRE0_SDA_1 19u // PA_19
#define PIN_WIRE1_SCL 18u // PA_18
#define PIN_WIRE1_SDA 23u // PA_23
// Serial ports
// ------------
#define PIN_SERIAL0_CTS 19u // PA_19
#define PIN_SERIAL0_RTS 22u // PA_22
#define PIN_SERIAL0_RX 18u // PA_18
#define PIN_SERIAL0_TX 23u // PA_23
#define PIN_SERIAL2_RX 29u // PA_29
#define PIN_SERIAL2_TX 30u // PA_30
// Pin function macros
// -------------------
#define PIN_ADC1 19u // PA_19
#define PIN_ADC2 41u // AD_2
#define PIN_CS0 19u // PA_19
#define PIN_CS1 19u // PA_19
#define PIN_CTS0 19u // PA_19
#define PIN_MISO0 22u // PA_22
#define PIN_MISO1 22u // PA_22
#define PIN_MOSI0 23u // PA_23
#define PIN_MOSI1 23u // PA_23
#define PIN_PA05 5u // PA_5
#define PIN_PA12 12u // PA_12
#define PIN_PA14 14u // PA_14
#define PIN_PA15 15u // PA_15
#define PIN_PA18 18u // PA_18
#define PIN_PA19 19u // PA_19
#define PIN_PA22 22u // PA_22
#define PIN_PA23 23u // PA_23
#define PIN_PA29 29u // PA_29
#define PIN_PA30 30u // PA_30
#define PIN_PWM0 14u // PA_14
#define PIN_PWM1 15u // PA_15
#define PIN_PWM3 12u // PA_12
#define PIN_PWM4 29u // PA_29
#define PIN_PWM5 22u // PA_22
#define PIN_RTS0 22u // PA_22
#define PIN_RX0 18u // PA_18
#define PIN_RX2 29u // PA_29
#define PIN_SCK0 18u // PA_18
#define PIN_SCK1 18u // PA_18
#define PIN_SCL0 22u // PA_22
#define PIN_SCL1 18u // PA_18
#define PIN_SDA0 19u // PA_19
#define PIN_SDA1 23u // PA_23
#define PIN_TX0 23u // PA_23
#define PIN_TX2 30u // PA_30
// Port availability
// -----------------
#define HAS_SERIAL0 1
#define HAS_SERIAL2 1
#define HAS_SPI0 1
#define HAS_SPI1 1
#define HAS_WIRE0 1
#define HAS_WIRE1 1
#define SERIAL_INTERFACES_COUNT 2
#define SPI_INTERFACES_COUNT 2
#define WIRE_INTERFACES_COUNT 2
// Arduino pin names
// -----------------
#define PIN_D0 23u // PA_23
#define PIN_D1 18u // PA_18
#define PIN_D2 14u // PA_14
#define PIN_D3 15u // PA_15
#define PIN_D4 30u // PA_30
#define PIN_D5 12u // PA_12
#define PIN_D6 5u // PA_5
#define PIN_D7 29u // PA_29
#define PIN_D8 19u // PA_19
#define PIN_D9 22u // PA_22
#define PIN_A0 19u // PA_19
#define PIN_A1 41u // AD_2
// Static pin names
// ----------------
static const unsigned char A0 = PIN_A0;
static const unsigned char A1 = PIN_A1;
static const unsigned char D0 = PIN_D0;
static const unsigned char D1 = PIN_D1;
static const unsigned char D2 = PIN_D2;
static const unsigned char D3 = PIN_D3;
static const unsigned char D4 = PIN_D4;
static const unsigned char D5 = PIN_D5;
static const unsigned char D6 = PIN_D6;
static const unsigned char D7 = PIN_D7;
static const unsigned char D8 = PIN_D8;
static const unsigned char D9 = PIN_D9;

22
boards/wb1s.json Normal file
View File

@@ -0,0 +1,22 @@
{
"_base": [
"beken-72xx",
"beken-7231u",
"beken-7231t-tuya",
"ic/bk7231-qfn32",
"pcb/wb1s"
],
"build": {
"mcu": "bk7231t",
"variant": "wb1s"
},
"name": "WB1S Wi-Fi Module",
"url": "https://developer.tuya.com/en/docs/iot/wb1s?id=K9duevbj3ol4x",
"vendor": "Tuya Inc.",
"doc": {
"fccid": "2ANDL-WB1S"
},
"pcb": {
"symbol": "WB1S"
}
}

21
boards/wr1.json Normal file
View File

@@ -0,0 +1,21 @@
{
"_base": [
"realtek-ambz",
"realtek-ambz-2mb-788k",
"ic/rtl8710bn",
"pcb/wr1"
],
"build": {
"mcu": "rtl8710bn",
"variant": "wr1"
},
"name": "WR1 Wi-Fi Module",
"url": "https://developer.tuya.com/en/docs/iot/wifiwr1module?id=K9605tc0k90t3",
"vendor": "Tuya Inc.",
"doc": {
"fccid": "2ANDL-WR1"
},
"pcb": {
"symbol": "WR1"
}
}

21
boards/wr1e.json Normal file
View File

@@ -0,0 +1,21 @@
{
"_base": [
"realtek-ambz",
"realtek-ambz-2mb-788k",
"ic/rtl8710bn",
"pcb/wr1e"
],
"build": {
"mcu": "rtl8710bn",
"variant": "wr1e"
},
"name": "WR1E Wi-Fi Module",
"url": "https://developer.tuya.com/en/docs/iot/wr1e?id=K96smbbeycxtf",
"vendor": "Tuya Inc.",
"doc": {
"fccid": "2ANDL-WR1E"
},
"pcb": {
"symbol": "WR1E"
}
}