[core] Put full UF2 Family ID in ChipFamily
This commit is contained in:
@@ -1,23 +1,23 @@
|
|||||||
/* Copyright (c) Kuba Szczodrzyński 2022-05-28. */
|
/* Copyright (c) Kuba Szczodrzyński 2022-05-28. */
|
||||||
|
|
||||||
enum ChipFamily {
|
enum ChipFamily {
|
||||||
// copied from UF2 families (first nibble)
|
// used in UF2 Family ID
|
||||||
RTL8710A = 0x9F, // Realtek Ameba1
|
RTL8710A = 0x9FFFD543, // Realtek Ameba1
|
||||||
RTL8710B = 0x22, // Realtek AmebaZ (realtek-ambz)
|
RTL8710B = 0x22E0D6FC, // Realtek AmebaZ (realtek-ambz)
|
||||||
RTL8720C = 0xE0, // Realtek AmebaZ2
|
RTL8720C = 0xE08F7564, // Realtek AmebaZ2
|
||||||
RTL8720D = 0x33, // Realtek AmebaD
|
RTL8720D = 0x3379CFE2, // Realtek AmebaD
|
||||||
BK7231T = 0x67, // Beken 7231T
|
BK7231T = 0x675A40B0, // Beken 7231T
|
||||||
BK7231N = 0x7B, // Beken 7231N
|
BK7231N = 0x7B3EF230, // Beken 7231N
|
||||||
BL602 = 0xDE, // Boufallo 602
|
BL602 = 0xDE1270B7, // Boufallo 602
|
||||||
XR809 = 0x51, // Xradiotech 809
|
XR809 = 0x51E903A8, // Xradiotech 809
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ChipType {
|
enum ChipType {
|
||||||
// copied from rtl8710b_efuse.h
|
// IDs copied from rtl8710b_efuse.h
|
||||||
RTL8710BL = (RTL8710B << 8) | 0xE0, // ???
|
RTL8710BL = ((RTL8710B >> 24) << 8) | 0xE0, // ???
|
||||||
RTL8710BN = (RTL8710B << 8) | 0xFF, // CHIPID_8710BN / QFN32
|
RTL8710BN = ((RTL8710B >> 24) << 8) | 0xFF, // CHIPID_8710BN / QFN32
|
||||||
RTL8710BU = (RTL8710B << 8) | 0xFE, // CHIPID_8710BU / QFN48
|
RTL8710BU = ((RTL8710B >> 24) << 8) | 0xFE, // CHIPID_8710BU / QFN48
|
||||||
RTL8710BX = (RTL8710B << 8) | 0xFB, // CHIPID_8710BN_L0 / QFN32
|
RTL8710BX = ((RTL8710B >> 24) << 8) | 0xFB, // CHIPID_8710BN_L0 / QFN32
|
||||||
RTL8711BN = (RTL8710B << 8) | 0xFD, // CHIPID_8711BN / QFN48
|
RTL8711BN = ((RTL8710B >> 24) << 8) | 0xFD, // CHIPID_8711BN / QFN48
|
||||||
RTL8711BU = (RTL8710B << 8) | 0xFC, // CHIPID_8711BG / QFN68
|
RTL8711BU = ((RTL8710B >> 24) << 8) | 0xFC, // CHIPID_8711BG / QFN68
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -74,6 +74,20 @@ const char *LibreTuya::getBoard() {
|
|||||||
return LT_BOARD_STR;
|
return LT_BOARD_STR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get CPU family ID.
|
||||||
|
*/
|
||||||
|
ChipFamily LibreTuya::getChipFamily() {
|
||||||
|
return FAMILY;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get CPU family name as string.
|
||||||
|
*/
|
||||||
|
const char *LibreTuya::getChipFamilyName() {
|
||||||
|
return STRINGIFY_MACRO(FAMILY);
|
||||||
|
}
|
||||||
|
|
||||||
static char *deviceName = NULL;
|
static char *deviceName = NULL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -71,6 +71,8 @@ class LibreTuya {
|
|||||||
const char *getVersion();
|
const char *getVersion();
|
||||||
const char *getBoard();
|
const char *getBoard();
|
||||||
const char *getDeviceName();
|
const char *getDeviceName();
|
||||||
|
ChipFamily getChipFamily();
|
||||||
|
const char *getChipFamilyName();
|
||||||
|
|
||||||
public: /* Inline methods */
|
public: /* Inline methods */
|
||||||
inline uint32_t getFlashChipSize() {
|
inline uint32_t getFlashChipSize() {
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ void LibreTuya::restart() {
|
|||||||
ChipType LibreTuya::getChipType() {
|
ChipType LibreTuya::getChipType() {
|
||||||
uint8_t chipId;
|
uint8_t chipId;
|
||||||
EFUSE_OneByteReadROM(9902, 0xF8, &chipId, L25EOUTVOLTAGE);
|
EFUSE_OneByteReadROM(9902, 0xF8, &chipId, L25EOUTVOLTAGE);
|
||||||
return (ChipType)((RTL8710B << 8) | chipId);
|
return (ChipType)(((RTL8710B >> 24) << 8) | chipId);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *LibreTuya::getChipModel() {
|
const char *LibreTuya::getChipModel() {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"build": {
|
"build": {
|
||||||
|
"family": "RTL8710B",
|
||||||
"f_cpu": "125000000L",
|
"f_cpu": "125000000L",
|
||||||
"amb_flash_addr": "0x08000000"
|
"amb_flash_addr": "0x08000000"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
],
|
],
|
||||||
"build": {
|
"build": {
|
||||||
"mcu": "rtl8710bn",
|
"mcu": "rtl8710bn",
|
||||||
"family": "rtl8710",
|
|
||||||
"variant": "wr3"
|
"variant": "wr3"
|
||||||
},
|
},
|
||||||
"name": "WR3 Wi-Fi Module",
|
"name": "WR3 Wi-Fi Module",
|
||||||
|
|||||||
@@ -45,7 +45,6 @@ env.Append(
|
|||||||
"ARDUINO_AMEBA",
|
"ARDUINO_AMEBA",
|
||||||
"ARDUINO_SDK",
|
"ARDUINO_SDK",
|
||||||
"ARDUINO_ARCH_AMBZ",
|
"ARDUINO_ARCH_AMBZ",
|
||||||
"BOARD_${FAMILY}",
|
|
||||||
# the SDK declares bool if not defined before
|
# the SDK declares bool if not defined before
|
||||||
# which conflicts with C++ built-in bool
|
# which conflicts with C++ built-in bool
|
||||||
# so it's either -fpermissive or this:
|
# so it's either -fpermissive or this:
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ def env_add_defaults(env, platform_name: str, sdk_name: str):
|
|||||||
OPENOCD_DIR=join("${PLATFORM_DIR}", "openocd"),
|
OPENOCD_DIR=join("${PLATFORM_DIR}", "openocd"),
|
||||||
# Board config variables
|
# Board config variables
|
||||||
MCU=board.get("build.mcu").upper(),
|
MCU=board.get("build.mcu").upper(),
|
||||||
FAMILY=board.get("build.family").upper(),
|
FAMILY=board.get("build.family"),
|
||||||
VARIANT=board.get("build.variant"),
|
VARIANT=board.get("build.variant"),
|
||||||
LDSCRIPT_SDK=board.get("build.ldscript_sdk"),
|
LDSCRIPT_SDK=board.get("build.ldscript_sdk"),
|
||||||
LDSCRIPT_ARDUINO=board.get("build.ldscript_arduino"),
|
LDSCRIPT_ARDUINO=board.get("build.ldscript_arduino"),
|
||||||
@@ -51,6 +51,7 @@ def env_add_defaults(env, platform_name: str, sdk_name: str):
|
|||||||
("LT_BOARD", board.get("build.variant")),
|
("LT_BOARD", board.get("build.variant")),
|
||||||
("F_CPU", board.get("build.f_cpu")),
|
("F_CPU", board.get("build.f_cpu")),
|
||||||
("MCU", board.get("build.mcu").upper()),
|
("MCU", board.get("build.mcu").upper()),
|
||||||
|
("FAMILY", board.get("build.family")),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user