23 #ifdef USE_SHD_FIRMWARE_DATA 27 namespace shelly_dimmer {
29 constexpr uint32_t
SZ_128 = 0x00000080;
30 constexpr uint32_t
SZ_256 = 0x00000100;
31 constexpr uint32_t
SZ_1K = 0x00000400;
32 constexpr uint32_t
SZ_2K = 0x00000800;
33 constexpr uint32_t
SZ_16K = 0x00004000;
34 constexpr uint32_t
SZ_32K = 0x00008000;
35 constexpr uint32_t
SZ_64K = 0x00010000;
66 {0x440,
"STM32F030x8/F05xxx", 0x20000800, 0x20002000, 0x08000000, 0x08010000, 4,
p_1k, 0x1FFFF800, 0x1FFFF80F,
67 0x1FFFEC00, 0x1FFFF800, 0},
68 {0x442,
"STM32F030xC/F09xxx", 0x20001800, 0x20008000, 0x08000000, 0x08040000, 2,
p_2k, 0x1FFFF800, 0x1FFFF80F,
69 0x1FFFC800, 0x1FFFF800, F_OBLL},
70 {0x444,
"STM32F03xx4/6", 0x20000800, 0x20001000, 0x08000000, 0x08008000, 4,
p_1k, 0x1FFFF800, 0x1FFFF80F,
71 0x1FFFEC00, 0x1FFFF800, 0},
72 {0x445,
"STM32F04xxx/F070x6", 0x20001800, 0x20001800, 0x08000000, 0x08008000, 4,
p_1k, 0x1FFFF800, 0x1FFFF80F,
73 0x1FFFC400, 0x1FFFF800, 0},
74 {0x448,
"STM32F070xB/F071xx/F72xx", 0x20001800, 0x20004000, 0x08000000, 0x08020000, 2,
p_2k, 0x1FFFF800, 0x1FFFF80F,
75 0x1FFFC800, 0x1FFFF800, 0},
77 {0x412,
"STM32F10xxx Low-density", 0x20000200, 0x20002800, 0x08000000, 0x08008000, 4,
p_1k, 0x1FFFF800, 0x1FFFF80F,
78 0x1FFFF000, 0x1FFFF800, 0},
79 {0x410,
"STM32F10xxx Medium-density", 0x20000200, 0x20005000, 0x08000000, 0x08020000, 4,
p_1k, 0x1FFFF800,
80 0x1FFFF80F, 0x1FFFF000, 0x1FFFF800, 0},
81 {0x414,
"STM32F10xxx High-density", 0x20000200, 0x20010000, 0x08000000, 0x08080000, 2,
p_2k, 0x1FFFF800, 0x1FFFF80F,
82 0x1FFFF000, 0x1FFFF800, 0},
83 {0x420,
"STM32F10xxx Medium-density VL", 0x20000200, 0x20002000, 0x08000000, 0x08020000, 4,
p_1k, 0x1FFFF800,
84 0x1FFFF80F, 0x1FFFF000, 0x1FFFF800, 0},
85 {0x428,
"STM32F10xxx High-density VL", 0x20000200, 0x20008000, 0x08000000, 0x08080000, 2,
p_2k, 0x1FFFF800,
86 0x1FFFF80F, 0x1FFFF000, 0x1FFFF800, 0},
87 {0x418,
"STM32F105xx/F107xx", 0x20001000, 0x20010000, 0x08000000, 0x08040000, 2,
p_2k, 0x1FFFF800, 0x1FFFF80F,
88 0x1FFFB000, 0x1FFFF800, 0},
89 {0x430,
"STM32F10xxx XL-density", 0x20000800, 0x20018000, 0x08000000, 0x08100000, 2,
p_2k, 0x1FFFF800, 0x1FFFF80F,
90 0x1FFFE000, 0x1FFFF800, 0},
92 {0x411,
"STM32F2xxxx", 0x20002000, 0x20020000, 0x08000000, 0x08100000, 1,
f2f4, 0x1FFFC000, 0x1FFFC00F, 0x1FFF0000,
95 {0x432,
"STM32F373xx/F378xx", 0x20001400, 0x20008000, 0x08000000, 0x08040000, 2,
p_2k, 0x1FFFF800, 0x1FFFF80F,
96 0x1FFFD800, 0x1FFFF800, 0},
97 {0x422,
"STM32F302xB(C)/F303xB(C)/F358xx", 0x20001400, 0x2000A000, 0x08000000, 0x08040000, 2,
p_2k, 0x1FFFF800,
98 0x1FFFF80F, 0x1FFFD800, 0x1FFFF800, 0},
99 {0x439,
"STM32F301xx/F302x4(6/8)/F318xx", 0x20001800, 0x20004000, 0x08000000, 0x08010000, 2,
p_2k, 0x1FFFF800,
100 0x1FFFF80F, 0x1FFFD800, 0x1FFFF800, 0},
101 {0x438,
"STM32F303x4(6/8)/F334xx/F328xx", 0x20001800, 0x20003000, 0x08000000, 0x08010000, 2,
p_2k, 0x1FFFF800,
102 0x1FFFF80F, 0x1FFFD800, 0x1FFFF800, 0},
103 {0x446,
"STM32F302xD(E)/F303xD(E)/F398xx", 0x20001800, 0x20010000, 0x08000000, 0x08080000, 2,
p_2k, 0x1FFFF800,
104 0x1FFFF80F, 0x1FFFD800, 0x1FFFF800, 0},
106 {0x413,
"STM32F40xxx/41xxx", 0x20003000, 0x20020000, 0x08000000, 0x08100000, 1,
f2f4, 0x1FFFC000, 0x1FFFC00F,
107 0x1FFF0000, 0x1FFF7800, 0},
108 {0x419,
"STM32F42xxx/43xxx", 0x20003000, 0x20030000, 0x08000000, 0x08200000, 1,
f4db, 0x1FFEC000, 0x1FFFC00F,
109 0x1FFF0000, 0x1FFF7800, 0},
110 {0x423,
"STM32F401xB(C)", 0x20003000, 0x20010000, 0x08000000, 0x08040000, 1,
f2f4, 0x1FFFC000, 0x1FFFC00F,
111 0x1FFF0000, 0x1FFF7800, 0},
112 {0x433,
"STM32F401xD(E)", 0x20003000, 0x20018000, 0x08000000, 0x08080000, 1,
f2f4, 0x1FFFC000, 0x1FFFC00F,
113 0x1FFF0000, 0x1FFF7800, 0},
114 {0x458,
"STM32F410xx", 0x20003000, 0x20008000, 0x08000000, 0x08020000, 1,
f2f4, 0x1FFFC000, 0x1FFFC00F, 0x1FFF0000,
116 {0x431,
"STM32F411xx", 0x20003000, 0x20020000, 0x08000000, 0x08080000, 1,
f2f4, 0x1FFFC000, 0x1FFFC00F, 0x1FFF0000,
118 {0x421,
"STM32F446xx", 0x20003000, 0x20020000, 0x08000000, 0x08080000, 1,
f2f4, 0x1FFFC000, 0x1FFFC00F, 0x1FFF0000,
120 {0x434,
"STM32F469xx", 0x20003000, 0x20060000, 0x08000000, 0x08200000, 1,
f4db, 0x1FFEC000, 0x1FFFC00F, 0x1FFF0000,
123 {0x449,
"STM32F74xxx/75xxx", 0x20004000, 0x20050000, 0x08000000, 0x08100000, 1,
f7, 0x1FFF0000, 0x1FFF001F,
124 0x1FF00000, 0x1FF0EDC0, 0},
126 {0x425,
"STM32L031xx/041xx", 0x20001000, 0x20002000, 0x08000000, 0x08008000, 32,
p_128, 0x1FF80000, 0x1FF8001F,
127 0x1FF00000, 0x1FF01000, 0},
128 {0x417,
"STM32L05xxx/06xxx", 0x20001000, 0x20002000, 0x08000000, 0x08010000, 32,
p_128, 0x1FF80000, 0x1FF8001F,
129 0x1FF00000, 0x1FF01000, 0},
130 {0x447,
"STM32L07xxx/08xxx", 0x20002000, 0x20005000, 0x08000000, 0x08030000, 32,
p_128, 0x1FF80000, 0x1FF8001F,
131 0x1FF00000, 0x1FF02000, 0},
133 {0x416,
"STM32L1xxx6(8/B)", 0x20000800, 0x20004000, 0x08000000, 0x08020000, 16,
p_256, 0x1FF80000, 0x1FF8001F,
134 0x1FF00000, 0x1FF01000, F_NO_ME},
135 {0x429,
"STM32L1xxx6(8/B)A", 0x20001000, 0x20008000, 0x08000000, 0x08020000, 16,
p_256, 0x1FF80000, 0x1FF8001F,
136 0x1FF00000, 0x1FF01000, 0},
137 {0x427,
"STM32L1xxxC", 0x20001000, 0x20008000, 0x08000000, 0x08040000, 16,
p_256, 0x1FF80000, 0x1FF8001F,
138 0x1FF00000, 0x1FF02000, 0},
139 {0x436,
"STM32L1xxxD", 0x20001000, 0x2000C000, 0x08000000, 0x08060000, 16,
p_256, 0x1FF80000, 0x1FF8009F,
140 0x1FF00000, 0x1FF02000, 0},
141 {0x437,
"STM32L1xxxE", 0x20001000, 0x20014000, 0x08000000, 0x08080000, 16,
p_256, 0x1FF80000, 0x1FF8009F,
142 0x1FF00000, 0x1FF02000, F_NO_ME},
144 {0x415,
"STM32L476xx/486xx", 0x20003100, 0x20018000, 0x08000000, 0x08100000, 1,
p_2k, 0x1FFF7800, 0x1FFFF80F,
145 0x1FFF0000, 0x1FFF7000, 0},
147 {0x641,
"Medium_Density PL", 0x20000200, 0x20005000, 0x08000000, 0x08020000, 4,
p_1k, 0x1FFFF800, 0x1FFFF80F,
148 0x1FFFF000, 0x1FFFF800, 0},
149 {0x9a8,
"STM32W-128K", 0x20000200, 0x20002000, 0x08000000, 0x08020000, 4,
p_1k, 0x08040800, 0x0804080F, 0x08040000,
151 {0x9b0,
"STM32W-256K", 0x20000200, 0x20004000, 0x08000000, 0x08040000, 4,
p_2k, 0x08040800, 0x0804080F, 0x08040000,
153 {0x0,
"", 0x0, 0x0, 0x0, 0x0, 0x0,
nullptr, 0x0, 0x0, 0x0, 0x0, 0x0},
159 #endif // USE_SHD_FIRMWARE_DATA constexpr uint32_t SZ_32K
constexpr uint32_t SZ_256K
constexpr uint32_t SZ_64K
struct Stm32Dev { const uint16_t id stm32_dev_t
constexpr uint32_t p_256[]
constexpr uint32_t f2f4[]
constexpr uint32_t SZ_128K
constexpr stm32_dev_t DEVICES[]
constexpr uint32_t SZ_128
constexpr uint32_t f4db[]
constexpr uint32_t SZ_256
constexpr uint32_t p_2k[]
constexpr uint32_t p_1k[]
constexpr uint32_t SZ_16K
constexpr uint32_t p_128[]
Implementation of SPI Controller mode.