mirror of
https://github.com/esphome/esphome.git
synced 2026-10-14 10:12:52 +00:00
[shelly_dimmer] Drop the device table fields that are never read
This commit is contained in:
@@ -60,106 +60,96 @@ constexpr uint32_t f7[] PROGMEM = {SZ_32K, SZ_32K, SZ_32K, SZ_32K, SZ_128K, SZ_2
|
||||
* Note that the option bytes upper range is inclusive!
|
||||
*/
|
||||
constexpr stm32_dev_t DEVICES[] PROGMEM = {
|
||||
/* ID SRAM-address-range FLASH-address-range PPS PSize
|
||||
Option-byte-addr-range System-mem-addr-range Flags */
|
||||
/* ID SRAM-start FLASH-address-range PSize Flags */
|
||||
/* F0 */
|
||||
// STM32F030x8/F05xxx
|
||||
{0x440, 0x20000800, 0x20002000, 0x08000000, 0x08010000, 4, p_1k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFEC00, 0x1FFFF800, 0},
|
||||
{0x440, 0x20000800, 0x08000000, 0x08010000, p_1k, 0},
|
||||
// STM32F030xC/F09xxx
|
||||
{0x442, 0x20001800, 0x20008000, 0x08000000, 0x08040000, 2, p_2k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFC800, 0x1FFFF800,
|
||||
F_OBLL},
|
||||
{0x442, 0x20001800, 0x08000000, 0x08040000, p_2k, F_OBLL},
|
||||
// STM32F03xx4/6
|
||||
{0x444, 0x20000800, 0x20001000, 0x08000000, 0x08008000, 4, p_1k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFEC00, 0x1FFFF800, 0},
|
||||
{0x444, 0x20000800, 0x08000000, 0x08008000, p_1k, 0},
|
||||
// STM32F04xxx/F070x6
|
||||
{0x445, 0x20001800, 0x20001800, 0x08000000, 0x08008000, 4, p_1k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFC400, 0x1FFFF800, 0},
|
||||
{0x445, 0x20001800, 0x08000000, 0x08008000, p_1k, 0},
|
||||
// STM32F070xB/F071xx/F72xx
|
||||
{0x448, 0x20001800, 0x20004000, 0x08000000, 0x08020000, 2, p_2k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFC800, 0x1FFFF800, 0},
|
||||
{0x448, 0x20001800, 0x08000000, 0x08020000, p_2k, 0},
|
||||
/* F1 */
|
||||
// STM32F10xxx Low-density
|
||||
{0x412, 0x20000200, 0x20002800, 0x08000000, 0x08008000, 4, p_1k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFF000, 0x1FFFF800, 0},
|
||||
{0x412, 0x20000200, 0x08000000, 0x08008000, p_1k, 0},
|
||||
// STM32F10xxx Medium-density
|
||||
{0x410, 0x20000200, 0x20005000, 0x08000000, 0x08020000, 4, p_1k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFF000, 0x1FFFF800, 0},
|
||||
{0x410, 0x20000200, 0x08000000, 0x08020000, p_1k, 0},
|
||||
// STM32F10xxx High-density
|
||||
{0x414, 0x20000200, 0x20010000, 0x08000000, 0x08080000, 2, p_2k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFF000, 0x1FFFF800, 0},
|
||||
{0x414, 0x20000200, 0x08000000, 0x08080000, p_2k, 0},
|
||||
// STM32F10xxx Medium-density VL
|
||||
{0x420, 0x20000200, 0x20002000, 0x08000000, 0x08020000, 4, p_1k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFF000, 0x1FFFF800, 0},
|
||||
{0x420, 0x20000200, 0x08000000, 0x08020000, p_1k, 0},
|
||||
// STM32F10xxx High-density VL
|
||||
{0x428, 0x20000200, 0x20008000, 0x08000000, 0x08080000, 2, p_2k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFF000, 0x1FFFF800, 0},
|
||||
{0x428, 0x20000200, 0x08000000, 0x08080000, p_2k, 0},
|
||||
// STM32F105xx/F107xx
|
||||
{0x418, 0x20001000, 0x20010000, 0x08000000, 0x08040000, 2, p_2k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFB000, 0x1FFFF800, 0},
|
||||
{0x418, 0x20001000, 0x08000000, 0x08040000, p_2k, 0},
|
||||
// STM32F10xxx XL-density
|
||||
{0x430, 0x20000800, 0x20018000, 0x08000000, 0x08100000, 2, p_2k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFE000, 0x1FFFF800, 0},
|
||||
{0x430, 0x20000800, 0x08000000, 0x08100000, p_2k, 0},
|
||||
/* F2 */
|
||||
// STM32F2xxxx
|
||||
{0x411, 0x20002000, 0x20020000, 0x08000000, 0x08100000, 1, f2f4, 0x1FFFC000, 0x1FFFC00F, 0x1FFF0000, 0x1FFF7800, 0},
|
||||
{0x411, 0x20002000, 0x08000000, 0x08100000, f2f4, 0},
|
||||
/* F3 */
|
||||
// STM32F373xx/F378xx
|
||||
{0x432, 0x20001400, 0x20008000, 0x08000000, 0x08040000, 2, p_2k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFD800, 0x1FFFF800, 0},
|
||||
{0x432, 0x20001400, 0x08000000, 0x08040000, p_2k, 0},
|
||||
// STM32F302xB(C)/F303xB(C)/F358xx
|
||||
{0x422, 0x20001400, 0x2000A000, 0x08000000, 0x08040000, 2, p_2k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFD800, 0x1FFFF800, 0},
|
||||
{0x422, 0x20001400, 0x08000000, 0x08040000, p_2k, 0},
|
||||
// STM32F301xx/F302x4(6/8)/F318xx
|
||||
{0x439, 0x20001800, 0x20004000, 0x08000000, 0x08010000, 2, p_2k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFD800, 0x1FFFF800, 0},
|
||||
{0x439, 0x20001800, 0x08000000, 0x08010000, p_2k, 0},
|
||||
// STM32F303x4(6/8)/F334xx/F328xx
|
||||
{0x438, 0x20001800, 0x20003000, 0x08000000, 0x08010000, 2, p_2k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFD800, 0x1FFFF800, 0},
|
||||
{0x438, 0x20001800, 0x08000000, 0x08010000, p_2k, 0},
|
||||
// STM32F302xD(E)/F303xD(E)/F398xx
|
||||
{0x446, 0x20001800, 0x20010000, 0x08000000, 0x08080000, 2, p_2k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFD800, 0x1FFFF800, 0},
|
||||
{0x446, 0x20001800, 0x08000000, 0x08080000, p_2k, 0},
|
||||
/* F4 */
|
||||
// STM32F40xxx/41xxx
|
||||
{0x413, 0x20003000, 0x20020000, 0x08000000, 0x08100000, 1, f2f4, 0x1FFFC000, 0x1FFFC00F, 0x1FFF0000, 0x1FFF7800, 0},
|
||||
{0x413, 0x20003000, 0x08000000, 0x08100000, f2f4, 0},
|
||||
// STM32F42xxx/43xxx
|
||||
{0x419, 0x20003000, 0x20030000, 0x08000000, 0x08200000, 1, f4db, 0x1FFEC000, 0x1FFFC00F, 0x1FFF0000, 0x1FFF7800, 0},
|
||||
{0x419, 0x20003000, 0x08000000, 0x08200000, f4db, 0},
|
||||
// STM32F401xB(C)
|
||||
{0x423, 0x20003000, 0x20010000, 0x08000000, 0x08040000, 1, f2f4, 0x1FFFC000, 0x1FFFC00F, 0x1FFF0000, 0x1FFF7800, 0},
|
||||
{0x423, 0x20003000, 0x08000000, 0x08040000, f2f4, 0},
|
||||
// STM32F401xD(E)
|
||||
{0x433, 0x20003000, 0x20018000, 0x08000000, 0x08080000, 1, f2f4, 0x1FFFC000, 0x1FFFC00F, 0x1FFF0000, 0x1FFF7800, 0},
|
||||
{0x433, 0x20003000, 0x08000000, 0x08080000, f2f4, 0},
|
||||
// STM32F410xx
|
||||
{0x458, 0x20003000, 0x20008000, 0x08000000, 0x08020000, 1, f2f4, 0x1FFFC000, 0x1FFFC00F, 0x1FFF0000, 0x1FFF7800, 0},
|
||||
{0x458, 0x20003000, 0x08000000, 0x08020000, f2f4, 0},
|
||||
// STM32F411xx
|
||||
{0x431, 0x20003000, 0x20020000, 0x08000000, 0x08080000, 1, f2f4, 0x1FFFC000, 0x1FFFC00F, 0x1FFF0000, 0x1FFF7800, 0},
|
||||
{0x431, 0x20003000, 0x08000000, 0x08080000, f2f4, 0},
|
||||
// STM32F446xx
|
||||
{0x421, 0x20003000, 0x20020000, 0x08000000, 0x08080000, 1, f2f4, 0x1FFFC000, 0x1FFFC00F, 0x1FFF0000, 0x1FFF7800, 0},
|
||||
{0x421, 0x20003000, 0x08000000, 0x08080000, f2f4, 0},
|
||||
// STM32F469xx
|
||||
{0x434, 0x20003000, 0x20060000, 0x08000000, 0x08200000, 1, f4db, 0x1FFEC000, 0x1FFFC00F, 0x1FFF0000, 0x1FFF7800, 0},
|
||||
{0x434, 0x20003000, 0x08000000, 0x08200000, f4db, 0},
|
||||
/* F7 */
|
||||
// STM32F74xxx/75xxx
|
||||
{0x449, 0x20004000, 0x20050000, 0x08000000, 0x08100000, 1, f7, 0x1FFF0000, 0x1FFF001F, 0x1FF00000, 0x1FF0EDC0, 0},
|
||||
{0x449, 0x20004000, 0x08000000, 0x08100000, f7, 0},
|
||||
/* L0 */
|
||||
// STM32L031xx/041xx
|
||||
{0x425, 0x20001000, 0x20002000, 0x08000000, 0x08008000, 32, p_128, 0x1FF80000, 0x1FF8001F, 0x1FF00000, 0x1FF01000,
|
||||
0},
|
||||
{0x425, 0x20001000, 0x08000000, 0x08008000, p_128, 0},
|
||||
// STM32L05xxx/06xxx
|
||||
{0x417, 0x20001000, 0x20002000, 0x08000000, 0x08010000, 32, p_128, 0x1FF80000, 0x1FF8001F, 0x1FF00000, 0x1FF01000,
|
||||
0},
|
||||
{0x417, 0x20001000, 0x08000000, 0x08010000, p_128, 0},
|
||||
// STM32L07xxx/08xxx
|
||||
{0x447, 0x20002000, 0x20005000, 0x08000000, 0x08030000, 32, p_128, 0x1FF80000, 0x1FF8001F, 0x1FF00000, 0x1FF02000,
|
||||
0},
|
||||
{0x447, 0x20002000, 0x08000000, 0x08030000, p_128, 0},
|
||||
/* L1 */
|
||||
// STM32L1xxx6(8/B)
|
||||
{0x416, 0x20000800, 0x20004000, 0x08000000, 0x08020000, 16, p_256, 0x1FF80000, 0x1FF8001F, 0x1FF00000, 0x1FF01000,
|
||||
F_NO_ME},
|
||||
{0x416, 0x20000800, 0x08000000, 0x08020000, p_256, F_NO_ME},
|
||||
// STM32L1xxx6(8/B)A
|
||||
{0x429, 0x20001000, 0x20008000, 0x08000000, 0x08020000, 16, p_256, 0x1FF80000, 0x1FF8001F, 0x1FF00000, 0x1FF01000,
|
||||
0},
|
||||
{0x429, 0x20001000, 0x08000000, 0x08020000, p_256, 0},
|
||||
// STM32L1xxxC
|
||||
{0x427, 0x20001000, 0x20008000, 0x08000000, 0x08040000, 16, p_256, 0x1FF80000, 0x1FF8001F, 0x1FF00000, 0x1FF02000,
|
||||
0},
|
||||
{0x427, 0x20001000, 0x08000000, 0x08040000, p_256, 0},
|
||||
// STM32L1xxxD
|
||||
{0x436, 0x20001000, 0x2000C000, 0x08000000, 0x08060000, 16, p_256, 0x1FF80000, 0x1FF8009F, 0x1FF00000, 0x1FF02000,
|
||||
0},
|
||||
{0x436, 0x20001000, 0x08000000, 0x08060000, p_256, 0},
|
||||
// STM32L1xxxE
|
||||
{0x437, 0x20001000, 0x20014000, 0x08000000, 0x08080000, 16, p_256, 0x1FF80000, 0x1FF8009F, 0x1FF00000, 0x1FF02000,
|
||||
F_NO_ME},
|
||||
{0x437, 0x20001000, 0x08000000, 0x08080000, p_256, F_NO_ME},
|
||||
/* L4 */
|
||||
// STM32L476xx/486xx
|
||||
{0x415, 0x20003100, 0x20018000, 0x08000000, 0x08100000, 1, p_2k, 0x1FFF7800, 0x1FFFF80F, 0x1FFF0000, 0x1FFF7000, 0},
|
||||
{0x415, 0x20003100, 0x08000000, 0x08100000, p_2k, 0},
|
||||
/* These are not (yet) in AN2606: */
|
||||
// Medium_Density PL
|
||||
{0x641, 0x20000200, 0x20005000, 0x08000000, 0x08020000, 4, p_1k, 0x1FFFF800, 0x1FFFF80F, 0x1FFFF000, 0x1FFFF800, 0},
|
||||
{0x641, 0x20000200, 0x08000000, 0x08020000, p_1k, 0},
|
||||
// STM32W-128K
|
||||
{0x9a8, 0x20000200, 0x20002000, 0x08000000, 0x08020000, 4, p_1k, 0x08040800, 0x0804080F, 0x08040000, 0x08040800, 0},
|
||||
{0x9a8, 0x20000200, 0x08000000, 0x08020000, p_1k, 0},
|
||||
// STM32W-256K
|
||||
{0x9b0, 0x20000200, 0x20004000, 0x08000000, 0x08040000, 4, p_2k, 0x08040800, 0x0804080F, 0x08040000, 0x08040800, 0},
|
||||
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, nullptr, 0x0, 0x0, 0x0, 0x0, 0x0},
|
||||
{0x9b0, 0x20000200, 0x08000000, 0x08040000, p_2k, 0},
|
||||
{0x0, 0x0, 0x0, 0x0, nullptr, 0x0},
|
||||
};
|
||||
|
||||
} // namespace esphome::shelly_dimmer
|
||||
|
||||
@@ -75,15 +75,12 @@ using stm32_cmd_t = struct Stm32Cmd {
|
||||
// Word-only fields: the table is in PROGMEM and aligned 32-bit loads from flash are safe on ESP8266
|
||||
using stm32_dev_t = struct Stm32Dev { // NOLINT
|
||||
const uint32_t id;
|
||||
const uint32_t ram_start, ram_end;
|
||||
const uint32_t ram_start;
|
||||
const uint32_t fl_start, fl_end;
|
||||
const uint32_t fl_pps; // pages per sector
|
||||
const uint32_t *fl_ps; // page size
|
||||
const uint32_t opt_start, opt_end;
|
||||
const uint32_t mem_start, mem_end;
|
||||
const uint32_t flags;
|
||||
};
|
||||
static_assert(sizeof(stm32_dev_t) == 12 * sizeof(uint32_t), "stm32_dev_t must stay word-only for flash reads");
|
||||
static_assert(sizeof(stm32_dev_t) == 6 * sizeof(uint32_t), "stm32_dev_t must stay word-only for flash reads");
|
||||
|
||||
using stm32_t = struct Stm32 {
|
||||
uart::UARTDevice *stream;
|
||||
|
||||
Reference in New Issue
Block a user