diff options
| author | Bob McWhirter <[email protected]> | 2021-05-05 11:01:02 -0400 |
|---|---|---|
| committer | Bob McWhirter <[email protected]> | 2021-05-05 11:01:02 -0400 |
| commit | d8156b43b15cdf88be2634cc17bb3928289f8932 (patch) | |
| tree | 19d242a5b3234e839fc6481e05f2b4e2fb486309 | |
| parent | 7262c54f81caf7c547b0a5eb4a33018fa750bdfe (diff) | |
Generate some chip features by peripherals.
| -rw-r--r-- | embassy-stm32/Cargo.toml | 580 | ||||
| -rw-r--r-- | embassy-stm32/gen.py | 41 |
2 files changed, 316 insertions, 305 deletions
diff --git a/embassy-stm32/Cargo.toml b/embassy-stm32/Cargo.toml index 65943f2fe..79d764fcc 100644 --- a/embassy-stm32/Cargo.toml +++ b/embassy-stm32/Cargo.toml | |||
| @@ -28,294 +28,294 @@ defmt-warn = [ ] | |||
| 28 | defmt-error = [ ] | 28 | defmt-error = [ ] |
| 29 | 29 | ||
| 30 | # BEGIN GENERATED FEATURES | 30 | # BEGIN GENERATED FEATURES |
| 31 | stm32f401cb = [] | 31 | stm32f401cb = [ "_syscfg_f4", "_usart_v1",] |
| 32 | stm32f401cc = [] | 32 | stm32f401cc = [ "_syscfg_f4", "_usart_v1",] |
| 33 | stm32f401cd = [] | 33 | stm32f401cd = [ "_syscfg_f4", "_usart_v1",] |
| 34 | stm32f401ce = [] | 34 | stm32f401ce = [ "_syscfg_f4", "_usart_v1",] |
| 35 | stm32f401rb = [] | 35 | stm32f401rb = [ "_syscfg_f4", "_usart_v1",] |
| 36 | stm32f401rc = [] | 36 | stm32f401rc = [ "_syscfg_f4", "_usart_v1",] |
| 37 | stm32f401rd = [] | 37 | stm32f401rd = [ "_syscfg_f4", "_usart_v1",] |
| 38 | stm32f401re = [] | 38 | stm32f401re = [ "_syscfg_f4", "_usart_v1",] |
| 39 | stm32f401vb = [] | 39 | stm32f401vb = [ "_syscfg_f4", "_usart_v1",] |
| 40 | stm32f401vc = [] | 40 | stm32f401vc = [ "_syscfg_f4", "_usart_v1",] |
| 41 | stm32f401vd = [] | 41 | stm32f401vd = [ "_syscfg_f4", "_usart_v1",] |
| 42 | stm32f401ve = [] | 42 | stm32f401ve = [ "_syscfg_f4", "_usart_v1",] |
| 43 | stm32f405oe = [] | 43 | stm32f405oe = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 44 | stm32f405og = [] | 44 | stm32f405og = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 45 | stm32f405rg = [] | 45 | stm32f405rg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 46 | stm32f405vg = [] | 46 | stm32f405vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 47 | stm32f405zg = [] | 47 | stm32f405zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 48 | stm32f407ie = [] | 48 | stm32f407ie = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 49 | stm32f407ig = [] | 49 | stm32f407ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 50 | stm32f407ve = [] | 50 | stm32f407ve = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 51 | stm32f407vg = [] | 51 | stm32f407vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 52 | stm32f407ze = [] | 52 | stm32f407ze = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 53 | stm32f407zg = [] | 53 | stm32f407zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 54 | stm32f410c8 = [] | 54 | stm32f410c8 = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 55 | stm32f410cb = [] | 55 | stm32f410cb = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 56 | stm32f410r8 = [] | 56 | stm32f410r8 = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 57 | stm32f410rb = [] | 57 | stm32f410rb = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 58 | stm32f410t8 = [] | 58 | stm32f410t8 = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 59 | stm32f410tb = [] | 59 | stm32f410tb = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 60 | stm32f411cc = [] | 60 | stm32f411cc = [ "_syscfg_f4", "_usart_v1",] |
| 61 | stm32f411ce = [] | 61 | stm32f411ce = [ "_syscfg_f4", "_usart_v1",] |
| 62 | stm32f411rc = [] | 62 | stm32f411rc = [ "_syscfg_f4", "_usart_v1",] |
| 63 | stm32f411re = [] | 63 | stm32f411re = [ "_syscfg_f4", "_usart_v1",] |
| 64 | stm32f411vc = [] | 64 | stm32f411vc = [ "_syscfg_f4", "_usart_v1",] |
| 65 | stm32f411ve = [] | 65 | stm32f411ve = [ "_syscfg_f4", "_usart_v1",] |
| 66 | stm32f412ce = [] | 66 | stm32f412ce = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 67 | stm32f412cg = [] | 67 | stm32f412cg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 68 | stm32f412re = [] | 68 | stm32f412re = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 69 | stm32f412rg = [] | 69 | stm32f412rg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 70 | stm32f412ve = [] | 70 | stm32f412ve = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 71 | stm32f412vg = [] | 71 | stm32f412vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 72 | stm32f412ze = [] | 72 | stm32f412ze = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 73 | stm32f412zg = [] | 73 | stm32f412zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 74 | stm32f413cg = [] | 74 | stm32f413cg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 75 | stm32f413ch = [] | 75 | stm32f413ch = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 76 | stm32f413mg = [] | 76 | stm32f413mg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 77 | stm32f413mh = [] | 77 | stm32f413mh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 78 | stm32f413rg = [] | 78 | stm32f413rg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 79 | stm32f413rh = [] | 79 | stm32f413rh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 80 | stm32f413vg = [] | 80 | stm32f413vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 81 | stm32f413vh = [] | 81 | stm32f413vh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 82 | stm32f413zg = [] | 82 | stm32f413zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 83 | stm32f413zh = [] | 83 | stm32f413zh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 84 | stm32f415og = [] | 84 | stm32f415og = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 85 | stm32f415rg = [] | 85 | stm32f415rg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 86 | stm32f415vg = [] | 86 | stm32f415vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 87 | stm32f415zg = [] | 87 | stm32f415zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 88 | stm32f417ie = [] | 88 | stm32f417ie = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 89 | stm32f417ig = [] | 89 | stm32f417ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 90 | stm32f417ve = [] | 90 | stm32f417ve = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 91 | stm32f417vg = [] | 91 | stm32f417vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 92 | stm32f417ze = [] | 92 | stm32f417ze = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 93 | stm32f417zg = [] | 93 | stm32f417zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 94 | stm32f423ch = [] | 94 | stm32f423ch = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 95 | stm32f423mh = [] | 95 | stm32f423mh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 96 | stm32f423rh = [] | 96 | stm32f423rh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 97 | stm32f423vh = [] | 97 | stm32f423vh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 98 | stm32f423zh = [] | 98 | stm32f423zh = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 99 | stm32f427ag = [] | 99 | stm32f427ag = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 100 | stm32f427ai = [] | 100 | stm32f427ai = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 101 | stm32f427ig = [] | 101 | stm32f427ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 102 | stm32f427ii = [] | 102 | stm32f427ii = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 103 | stm32f427vg = [] | 103 | stm32f427vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 104 | stm32f427vi = [] | 104 | stm32f427vi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 105 | stm32f427zg = [] | 105 | stm32f427zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 106 | stm32f427zi = [] | 106 | stm32f427zi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 107 | stm32f429ag = [] | 107 | stm32f429ag = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 108 | stm32f429ai = [] | 108 | stm32f429ai = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 109 | stm32f429be = [] | 109 | stm32f429be = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 110 | stm32f429bg = [] | 110 | stm32f429bg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 111 | stm32f429bi = [] | 111 | stm32f429bi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 112 | stm32f429ie = [] | 112 | stm32f429ie = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 113 | stm32f429ig = [] | 113 | stm32f429ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 114 | stm32f429ii = [] | 114 | stm32f429ii = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 115 | stm32f429ne = [] | 115 | stm32f429ne = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 116 | stm32f429ng = [] | 116 | stm32f429ng = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 117 | stm32f429ni = [] | 117 | stm32f429ni = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 118 | stm32f429ve = [] | 118 | stm32f429ve = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 119 | stm32f429vg = [] | 119 | stm32f429vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 120 | stm32f429vi = [] | 120 | stm32f429vi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 121 | stm32f429ze = [] | 121 | stm32f429ze = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 122 | stm32f429zg = [] | 122 | stm32f429zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 123 | stm32f429zi = [] | 123 | stm32f429zi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 124 | stm32f437ai = [] | 124 | stm32f437ai = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 125 | stm32f437ig = [] | 125 | stm32f437ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 126 | stm32f437ii = [] | 126 | stm32f437ii = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 127 | stm32f437vg = [] | 127 | stm32f437vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 128 | stm32f437vi = [] | 128 | stm32f437vi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 129 | stm32f437zg = [] | 129 | stm32f437zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 130 | stm32f437zi = [] | 130 | stm32f437zi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 131 | stm32f439ai = [] | 131 | stm32f439ai = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 132 | stm32f439bg = [] | 132 | stm32f439bg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 133 | stm32f439bi = [] | 133 | stm32f439bi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 134 | stm32f439ig = [] | 134 | stm32f439ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 135 | stm32f439ii = [] | 135 | stm32f439ii = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 136 | stm32f439ng = [] | 136 | stm32f439ng = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 137 | stm32f439ni = [] | 137 | stm32f439ni = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 138 | stm32f439vg = [] | 138 | stm32f439vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 139 | stm32f439vi = [] | 139 | stm32f439vi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 140 | stm32f439zg = [] | 140 | stm32f439zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 141 | stm32f439zi = [] | 141 | stm32f439zi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 142 | stm32f446mc = [] | 142 | stm32f446mc = [ "_syscfg_f4", "_usart_v1",] |
| 143 | stm32f446me = [] | 143 | stm32f446me = [ "_syscfg_f4", "_usart_v1",] |
| 144 | stm32f446rc = [] | 144 | stm32f446rc = [ "_syscfg_f4", "_usart_v1",] |
| 145 | stm32f446re = [] | 145 | stm32f446re = [ "_syscfg_f4", "_usart_v1",] |
| 146 | stm32f446vc = [] | 146 | stm32f446vc = [ "_syscfg_f4", "_usart_v1",] |
| 147 | stm32f446ve = [] | 147 | stm32f446ve = [ "_syscfg_f4", "_usart_v1",] |
| 148 | stm32f446zc = [] | 148 | stm32f446zc = [ "_syscfg_f4", "_usart_v1",] |
| 149 | stm32f446ze = [] | 149 | stm32f446ze = [ "_syscfg_f4", "_usart_v1",] |
| 150 | stm32f469ae = [] | 150 | stm32f469ae = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 151 | stm32f469ag = [] | 151 | stm32f469ag = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 152 | stm32f469ai = [] | 152 | stm32f469ai = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 153 | stm32f469be = [] | 153 | stm32f469be = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 154 | stm32f469bg = [] | 154 | stm32f469bg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 155 | stm32f469bi = [] | 155 | stm32f469bi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 156 | stm32f469ie = [] | 156 | stm32f469ie = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 157 | stm32f469ig = [] | 157 | stm32f469ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 158 | stm32f469ii = [] | 158 | stm32f469ii = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 159 | stm32f469ne = [] | 159 | stm32f469ne = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 160 | stm32f469ng = [] | 160 | stm32f469ng = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 161 | stm32f469ni = [] | 161 | stm32f469ni = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 162 | stm32f469ve = [] | 162 | stm32f469ve = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 163 | stm32f469vg = [] | 163 | stm32f469vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 164 | stm32f469vi = [] | 164 | stm32f469vi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 165 | stm32f469ze = [] | 165 | stm32f469ze = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 166 | stm32f469zg = [] | 166 | stm32f469zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 167 | stm32f469zi = [] | 167 | stm32f469zi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 168 | stm32f479ag = [] | 168 | stm32f479ag = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 169 | stm32f479ai = [] | 169 | stm32f479ai = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 170 | stm32f479bg = [] | 170 | stm32f479bg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 171 | stm32f479bi = [] | 171 | stm32f479bi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 172 | stm32f479ig = [] | 172 | stm32f479ig = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 173 | stm32f479ii = [] | 173 | stm32f479ii = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 174 | stm32f479ng = [] | 174 | stm32f479ng = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 175 | stm32f479ni = [] | 175 | stm32f479ni = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 176 | stm32f479vg = [] | 176 | stm32f479vg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 177 | stm32f479vi = [] | 177 | stm32f479vi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 178 | stm32f479zg = [] | 178 | stm32f479zg = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 179 | stm32f479zi = [] | 179 | stm32f479zi = [ "_syscfg_f4", "_rng_v1", "_usart_v1",] |
| 180 | stm32l412c8 = [] | 180 | stm32l412c8 = [ "_rng_v1", "_syscfg_l4",] |
| 181 | stm32l412cb = [] | 181 | stm32l412cb = [ "_rng_v1", "_syscfg_l4",] |
| 182 | stm32l412k8 = [] | 182 | stm32l412k8 = [ "_rng_v1", "_syscfg_l4",] |
| 183 | stm32l412kb = [] | 183 | stm32l412kb = [ "_rng_v1", "_syscfg_l4",] |
| 184 | stm32l412r8 = [] | 184 | stm32l412r8 = [ "_rng_v1", "_syscfg_l4",] |
| 185 | stm32l412rb = [] | 185 | stm32l412rb = [ "_rng_v1", "_syscfg_l4",] |
| 186 | stm32l412t8 = [] | 186 | stm32l412t8 = [ "_rng_v1", "_syscfg_l4",] |
| 187 | stm32l412tb = [] | 187 | stm32l412tb = [ "_rng_v1", "_syscfg_l4",] |
| 188 | stm32l422cb = [] | 188 | stm32l422cb = [ "_rng_v1", "_syscfg_l4",] |
| 189 | stm32l422kb = [] | 189 | stm32l422kb = [ "_rng_v1", "_syscfg_l4",] |
| 190 | stm32l422rb = [] | 190 | stm32l422rb = [ "_rng_v1", "_syscfg_l4",] |
| 191 | stm32l422tb = [] | 191 | stm32l422tb = [ "_rng_v1", "_syscfg_l4",] |
| 192 | stm32l431cb = [] | 192 | stm32l431cb = [ "_rng_v1", "_syscfg_l4",] |
| 193 | stm32l431cc = [] | 193 | stm32l431cc = [ "_rng_v1", "_syscfg_l4",] |
| 194 | stm32l431kb = [] | 194 | stm32l431kb = [ "_rng_v1", "_syscfg_l4",] |
| 195 | stm32l431kc = [] | 195 | stm32l431kc = [ "_rng_v1", "_syscfg_l4",] |
| 196 | stm32l431rb = [] | 196 | stm32l431rb = [ "_rng_v1", "_syscfg_l4",] |
| 197 | stm32l431rc = [] | 197 | stm32l431rc = [ "_rng_v1", "_syscfg_l4",] |
| 198 | stm32l431vc = [] | 198 | stm32l431vc = [ "_rng_v1", "_syscfg_l4",] |
| 199 | stm32l432kb = [] | 199 | stm32l432kb = [ "_rng_v1", "_syscfg_l4",] |
| 200 | stm32l432kc = [] | 200 | stm32l432kc = [ "_rng_v1", "_syscfg_l4",] |
| 201 | stm32l433cb = [] | 201 | stm32l433cb = [ "_rng_v1", "_syscfg_l4",] |
| 202 | stm32l433cc = [] | 202 | stm32l433cc = [ "_rng_v1", "_syscfg_l4",] |
| 203 | stm32l433rb = [] | 203 | stm32l433rb = [ "_rng_v1", "_syscfg_l4",] |
| 204 | stm32l433rc = [] | 204 | stm32l433rc = [ "_rng_v1", "_syscfg_l4",] |
| 205 | stm32l433vc = [] | 205 | stm32l433vc = [ "_rng_v1", "_syscfg_l4",] |
| 206 | stm32l442kc = [] | 206 | stm32l442kc = [ "_rng_v1", "_syscfg_l4",] |
| 207 | stm32l443cc = [] | 207 | stm32l443cc = [ "_rng_v1", "_syscfg_l4",] |
| 208 | stm32l443rc = [] | 208 | stm32l443rc = [ "_rng_v1", "_syscfg_l4",] |
| 209 | stm32l443vc = [] | 209 | stm32l443vc = [ "_rng_v1", "_syscfg_l4",] |
| 210 | stm32l451cc = [] | 210 | stm32l451cc = [ "_rng_v1", "_syscfg_l4",] |
| 211 | stm32l451ce = [] | 211 | stm32l451ce = [ "_rng_v1", "_syscfg_l4",] |
| 212 | stm32l451rc = [] | 212 | stm32l451rc = [ "_rng_v1", "_syscfg_l4",] |
| 213 | stm32l451re = [] | 213 | stm32l451re = [ "_rng_v1", "_syscfg_l4",] |
| 214 | stm32l451vc = [] | 214 | stm32l451vc = [ "_rng_v1", "_syscfg_l4",] |
| 215 | stm32l451ve = [] | 215 | stm32l451ve = [ "_rng_v1", "_syscfg_l4",] |
| 216 | stm32l452cc = [] | 216 | stm32l452cc = [ "_rng_v1", "_syscfg_l4",] |
| 217 | stm32l452ce = [] | 217 | stm32l452ce = [ "_rng_v1", "_syscfg_l4",] |
| 218 | stm32l452rc = [] | 218 | stm32l452rc = [ "_rng_v1", "_syscfg_l4",] |
| 219 | stm32l452re = [] | 219 | stm32l452re = [ "_rng_v1", "_syscfg_l4",] |
| 220 | stm32l452vc = [] | 220 | stm32l452vc = [ "_rng_v1", "_syscfg_l4",] |
| 221 | stm32l452ve = [] | 221 | stm32l452ve = [ "_rng_v1", "_syscfg_l4",] |
| 222 | stm32l462ce = [] | 222 | stm32l462ce = [ "_rng_v1", "_syscfg_l4",] |
| 223 | stm32l462re = [] | 223 | stm32l462re = [ "_rng_v1", "_syscfg_l4",] |
| 224 | stm32l462ve = [] | 224 | stm32l462ve = [ "_rng_v1", "_syscfg_l4",] |
| 225 | stm32l471qe = [] | 225 | stm32l471qe = [ "_rng_v1", "_syscfg_l4",] |
| 226 | stm32l471qg = [] | 226 | stm32l471qg = [ "_rng_v1", "_syscfg_l4",] |
| 227 | stm32l471re = [] | 227 | stm32l471re = [ "_rng_v1", "_syscfg_l4",] |
| 228 | stm32l471rg = [] | 228 | stm32l471rg = [ "_rng_v1", "_syscfg_l4",] |
| 229 | stm32l471ve = [] | 229 | stm32l471ve = [ "_rng_v1", "_syscfg_l4",] |
| 230 | stm32l471vg = [] | 230 | stm32l471vg = [ "_rng_v1", "_syscfg_l4",] |
| 231 | stm32l471ze = [] | 231 | stm32l471ze = [ "_rng_v1", "_syscfg_l4",] |
| 232 | stm32l471zg = [] | 232 | stm32l471zg = [ "_rng_v1", "_syscfg_l4",] |
| 233 | stm32l475rc = [] | 233 | stm32l475rc = [ "_rng_v1", "_syscfg_l4",] |
| 234 | stm32l475re = [] | 234 | stm32l475re = [ "_rng_v1", "_syscfg_l4",] |
| 235 | stm32l475rg = [] | 235 | stm32l475rg = [ "_rng_v1", "_syscfg_l4",] |
| 236 | stm32l475vc = [] | 236 | stm32l475vc = [ "_rng_v1", "_syscfg_l4",] |
| 237 | stm32l475ve = [] | 237 | stm32l475ve = [ "_rng_v1", "_syscfg_l4",] |
| 238 | stm32l475vg = [] | 238 | stm32l475vg = [ "_rng_v1", "_syscfg_l4",] |
| 239 | stm32l476je = [] | 239 | stm32l476je = [ "_rng_v1", "_syscfg_l4",] |
| 240 | stm32l476jg = [] | 240 | stm32l476jg = [ "_rng_v1", "_syscfg_l4",] |
| 241 | stm32l476me = [] | 241 | stm32l476me = [ "_rng_v1", "_syscfg_l4",] |
| 242 | stm32l476mg = [] | 242 | stm32l476mg = [ "_rng_v1", "_syscfg_l4",] |
| 243 | stm32l476qe = [] | 243 | stm32l476qe = [ "_rng_v1", "_syscfg_l4",] |
| 244 | stm32l476qg = [] | 244 | stm32l476qg = [ "_rng_v1", "_syscfg_l4",] |
| 245 | stm32l476rc = [] | 245 | stm32l476rc = [ "_rng_v1", "_syscfg_l4",] |
| 246 | stm32l476re = [] | 246 | stm32l476re = [ "_rng_v1", "_syscfg_l4",] |
| 247 | stm32l476rg = [] | 247 | stm32l476rg = [ "_rng_v1", "_syscfg_l4",] |
| 248 | stm32l476vc = [] | 248 | stm32l476vc = [ "_rng_v1", "_syscfg_l4",] |
| 249 | stm32l476ve = [] | 249 | stm32l476ve = [ "_rng_v1", "_syscfg_l4",] |
| 250 | stm32l476vg = [] | 250 | stm32l476vg = [ "_rng_v1", "_syscfg_l4",] |
| 251 | stm32l476ze = [] | 251 | stm32l476ze = [ "_rng_v1", "_syscfg_l4",] |
| 252 | stm32l476zg = [] | 252 | stm32l476zg = [ "_rng_v1", "_syscfg_l4",] |
| 253 | stm32l485jc = [] | 253 | stm32l485jc = [ "_rng_v1", "_syscfg_l4",] |
| 254 | stm32l485je = [] | 254 | stm32l485je = [ "_rng_v1", "_syscfg_l4",] |
| 255 | stm32l486jg = [] | 255 | stm32l486jg = [ "_rng_v1", "_syscfg_l4",] |
| 256 | stm32l486qg = [] | 256 | stm32l486qg = [ "_rng_v1", "_syscfg_l4",] |
| 257 | stm32l486rg = [] | 257 | stm32l486rg = [ "_rng_v1", "_syscfg_l4",] |
| 258 | stm32l486vg = [] | 258 | stm32l486vg = [ "_rng_v1", "_syscfg_l4",] |
| 259 | stm32l486zg = [] | 259 | stm32l486zg = [ "_rng_v1", "_syscfg_l4",] |
| 260 | stm32l496ae = [] | 260 | stm32l496ae = [ "_rng_v1", "_syscfg_l4",] |
| 261 | stm32l496ag = [] | 261 | stm32l496ag = [ "_rng_v1", "_syscfg_l4",] |
| 262 | stm32l496qe = [] | 262 | stm32l496qe = [ "_rng_v1", "_syscfg_l4",] |
| 263 | stm32l496qg = [] | 263 | stm32l496qg = [ "_rng_v1", "_syscfg_l4",] |
| 264 | stm32l496re = [] | 264 | stm32l496re = [ "_rng_v1", "_syscfg_l4",] |
| 265 | stm32l496rg = [] | 265 | stm32l496rg = [ "_rng_v1", "_syscfg_l4",] |
| 266 | stm32l496ve = [] | 266 | stm32l496ve = [ "_rng_v1", "_syscfg_l4",] |
| 267 | stm32l496vg = [] | 267 | stm32l496vg = [ "_rng_v1", "_syscfg_l4",] |
| 268 | stm32l496wg = [] | 268 | stm32l496wg = [ "_rng_v1", "_syscfg_l4",] |
| 269 | stm32l496ze = [] | 269 | stm32l496ze = [ "_rng_v1", "_syscfg_l4",] |
| 270 | stm32l496zg = [] | 270 | stm32l496zg = [ "_rng_v1", "_syscfg_l4",] |
| 271 | stm32l4a6ag = [] | 271 | stm32l4a6ag = [ "_rng_v1", "_syscfg_l4",] |
| 272 | stm32l4a6qg = [] | 272 | stm32l4a6qg = [ "_rng_v1", "_syscfg_l4",] |
| 273 | stm32l4a6rg = [] | 273 | stm32l4a6rg = [ "_rng_v1", "_syscfg_l4",] |
| 274 | stm32l4a6vg = [] | 274 | stm32l4a6vg = [ "_rng_v1", "_syscfg_l4",] |
| 275 | stm32l4a6zg = [] | 275 | stm32l4a6zg = [ "_rng_v1", "_syscfg_l4",] |
| 276 | stm32l4p5ae = [] | 276 | stm32l4p5ae = [ "_rng_v1", "_syscfg_l4",] |
| 277 | stm32l4p5ag = [] | 277 | stm32l4p5ag = [ "_rng_v1", "_syscfg_l4",] |
| 278 | stm32l4p5ce = [] | 278 | stm32l4p5ce = [ "_rng_v1", "_syscfg_l4",] |
| 279 | stm32l4p5cg = [] | 279 | stm32l4p5cg = [ "_rng_v1", "_syscfg_l4",] |
| 280 | stm32l4p5qe = [] | 280 | stm32l4p5qe = [ "_rng_v1", "_syscfg_l4",] |
| 281 | stm32l4p5qg = [] | 281 | stm32l4p5qg = [ "_rng_v1", "_syscfg_l4",] |
| 282 | stm32l4p5re = [] | 282 | stm32l4p5re = [ "_rng_v1", "_syscfg_l4",] |
| 283 | stm32l4p5rg = [] | 283 | stm32l4p5rg = [ "_rng_v1", "_syscfg_l4",] |
| 284 | stm32l4p5ve = [] | 284 | stm32l4p5ve = [ "_rng_v1", "_syscfg_l4",] |
| 285 | stm32l4p5vg = [] | 285 | stm32l4p5vg = [ "_rng_v1", "_syscfg_l4",] |
| 286 | stm32l4p5ze = [] | 286 | stm32l4p5ze = [ "_rng_v1", "_syscfg_l4",] |
| 287 | stm32l4p5zg = [] | 287 | stm32l4p5zg = [ "_rng_v1", "_syscfg_l4",] |
| 288 | stm32l4q5ag = [] | 288 | stm32l4q5ag = [ "_rng_v1", "_syscfg_l4",] |
| 289 | stm32l4q5cg = [] | 289 | stm32l4q5cg = [ "_rng_v1", "_syscfg_l4",] |
| 290 | stm32l4q5qg = [] | 290 | stm32l4q5qg = [ "_rng_v1", "_syscfg_l4",] |
| 291 | stm32l4q5rg = [] | 291 | stm32l4q5rg = [ "_rng_v1", "_syscfg_l4",] |
| 292 | stm32l4q5vg = [] | 292 | stm32l4q5vg = [ "_rng_v1", "_syscfg_l4",] |
| 293 | stm32l4q5zg = [] | 293 | stm32l4q5zg = [ "_rng_v1", "_syscfg_l4",] |
| 294 | stm32l4r5ag = [] | 294 | stm32l4r5ag = [ "_rng_v1", "_syscfg_l4",] |
| 295 | stm32l4r5ai = [] | 295 | stm32l4r5ai = [ "_rng_v1", "_syscfg_l4",] |
| 296 | stm32l4r5qg = [] | 296 | stm32l4r5qg = [ "_rng_v1", "_syscfg_l4",] |
| 297 | stm32l4r5qi = [] | 297 | stm32l4r5qi = [ "_rng_v1", "_syscfg_l4",] |
| 298 | stm32l4r5vg = [] | 298 | stm32l4r5vg = [ "_rng_v1", "_syscfg_l4",] |
| 299 | stm32l4r5vi = [] | 299 | stm32l4r5vi = [ "_rng_v1", "_syscfg_l4",] |
| 300 | stm32l4r5zg = [] | 300 | stm32l4r5zg = [ "_rng_v1", "_syscfg_l4",] |
| 301 | stm32l4r5zi = [] | 301 | stm32l4r5zi = [ "_rng_v1", "_syscfg_l4",] |
| 302 | stm32l4r7ai = [] | 302 | stm32l4r7ai = [ "_rng_v1", "_syscfg_l4",] |
| 303 | stm32l4r7vi = [] | 303 | stm32l4r7vi = [ "_rng_v1", "_syscfg_l4",] |
| 304 | stm32l4r7zi = [] | 304 | stm32l4r7zi = [ "_rng_v1", "_syscfg_l4",] |
| 305 | stm32l4r9ag = [] | 305 | stm32l4r9ag = [ "_rng_v1", "_syscfg_l4",] |
| 306 | stm32l4r9ai = [] | 306 | stm32l4r9ai = [ "_rng_v1", "_syscfg_l4",] |
| 307 | stm32l4r9vg = [] | 307 | stm32l4r9vg = [ "_rng_v1", "_syscfg_l4",] |
| 308 | stm32l4r9vi = [] | 308 | stm32l4r9vi = [ "_rng_v1", "_syscfg_l4",] |
| 309 | stm32l4r9zg = [] | 309 | stm32l4r9zg = [ "_rng_v1", "_syscfg_l4",] |
| 310 | stm32l4r9zi = [] | 310 | stm32l4r9zi = [ "_rng_v1", "_syscfg_l4",] |
| 311 | stm32l4s5ai = [] | 311 | stm32l4s5ai = [ "_rng_v1", "_syscfg_l4",] |
| 312 | stm32l4s5qi = [] | 312 | stm32l4s5qi = [ "_rng_v1", "_syscfg_l4",] |
| 313 | stm32l4s5vi = [] | 313 | stm32l4s5vi = [ "_rng_v1", "_syscfg_l4",] |
| 314 | stm32l4s5zi = [] | 314 | stm32l4s5zi = [ "_rng_v1", "_syscfg_l4",] |
| 315 | stm32l4s7ai = [] | 315 | stm32l4s7ai = [ "_rng_v1", "_syscfg_l4",] |
| 316 | stm32l4s7vi = [] | 316 | stm32l4s7vi = [ "_rng_v1", "_syscfg_l4",] |
| 317 | stm32l4s7zi = [] | 317 | stm32l4s7zi = [ "_rng_v1", "_syscfg_l4",] |
| 318 | stm32l4s9ai = [] | 318 | stm32l4s9ai = [ "_rng_v1", "_syscfg_l4",] |
| 319 | stm32l4s9vi = [] | 319 | stm32l4s9vi = [ "_rng_v1", "_syscfg_l4",] |
| 320 | stm32l4s9zi = [] | 320 | stm32l4s9zi = [ "_rng_v1", "_syscfg_l4",] |
| 321 | # END GENERATED FEATURES | 321 | # END GENERATED FEATURES |
diff --git a/embassy-stm32/gen.py b/embassy-stm32/gen.py index 714ead373..c275ff60f 100644 --- a/embassy-stm32/gen.py +++ b/embassy-stm32/gen.py | |||
| @@ -19,6 +19,7 @@ for f in sorted(glob('stm32-data/data/chips/*.yaml')): | |||
| 19 | with open(f, 'r') as f: | 19 | with open(f, 'r') as f: |
| 20 | chip = yaml.load(f, Loader=yaml.SafeLoader) | 20 | chip = yaml.load(f, Loader=yaml.SafeLoader) |
| 21 | chip['name'] = chip['name'].lower() | 21 | chip['name'] = chip['name'].lower() |
| 22 | chip['features'] = [] | ||
| 22 | print(chip['name']) | 23 | print(chip['name']) |
| 23 | chips[chip['name']] = chip | 24 | chips[chip['name']] = chip |
| 24 | 25 | ||
| @@ -39,21 +40,6 @@ with open('src/chip/mod.rs', 'w') as f: | |||
| 39 | f.write('mod chip;\n') | 40 | f.write('mod chip;\n') |
| 40 | f.write('pub use chip::*;\n') | 41 | f.write('pub use chip::*;\n') |
| 41 | 42 | ||
| 42 | # ========= Update Cargo features | ||
| 43 | |||
| 44 | features = {name: [] for name, chip in chips.items()} | ||
| 45 | |||
| 46 | SEPARATOR_START = '# BEGIN GENERATED FEATURES\n' | ||
| 47 | SEPARATOR_END = '# END GENERATED FEATURES\n' | ||
| 48 | |||
| 49 | with open('Cargo.toml', 'r') as f: | ||
| 50 | cargo = f.read() | ||
| 51 | before, cargo = cargo.split(SEPARATOR_START, maxsplit=1) | ||
| 52 | _, after = cargo.split(SEPARATOR_END, maxsplit=1) | ||
| 53 | cargo = before + SEPARATOR_START + toml.dumps(features) + SEPARATOR_END + after | ||
| 54 | with open('Cargo.toml', 'w') as f: | ||
| 55 | f.write(cargo) | ||
| 56 | |||
| 57 | # ========= Generate per-chip mod | 43 | # ========= Generate per-chip mod |
| 58 | 44 | ||
| 59 | for chip in chips.values(): | 45 | for chip in chips.values(): |
| @@ -93,6 +79,7 @@ for chip in chips.values(): | |||
| 93 | continue | 79 | continue |
| 94 | 80 | ||
| 95 | if peri['block'] in ('usart_v1/USART', 'usart_v1/UART'): | 81 | if peri['block'] in ('usart_v1/USART', 'usart_v1/UART'): |
| 82 | chip['features'].append("_usart_v1") | ||
| 96 | impls.append(f'impl_usart!({name}, 0x{peri["address"]:x});') | 83 | impls.append(f'impl_usart!({name}, 0x{peri["address"]:x});') |
| 97 | for pin, funcs in af.items(): | 84 | for pin, funcs in af.items(): |
| 98 | if pin in pins: | 85 | if pin in pins: |
| @@ -109,6 +96,13 @@ for chip in chips.values(): | |||
| 109 | 96 | ||
| 110 | if peri['block'] == 'rng_v1/RNG': | 97 | if peri['block'] == 'rng_v1/RNG': |
| 111 | impls.append(f'impl_rng!(0x{peri["address"]:x});') | 98 | impls.append(f'impl_rng!(0x{peri["address"]:x});') |
| 99 | chip['features'].append("_rng_v1") | ||
| 100 | |||
| 101 | if peri['block'] == 'syscfg_f4/SYSCFG': | ||
| 102 | chip['features'].append("_syscfg_f4") | ||
| 103 | |||
| 104 | if peri['block'] == 'syscfg_l4/SYSCFG': | ||
| 105 | chip['features'].append("_syscfg_l4") | ||
| 112 | 106 | ||
| 113 | irq_variants = [] | 107 | irq_variants = [] |
| 114 | irq_vectors = [] | 108 | irq_vectors = [] |
| @@ -174,5 +168,22 @@ for chip in chips.values(): | |||
| 174 | f.write(i) | 168 | f.write(i) |
| 175 | 169 | ||
| 176 | 170 | ||
| 171 | |||
| 172 | # ========= Update Cargo features | ||
| 173 | |||
| 174 | features = {name: list(set(chip['features'])) for name, chip in chips.items()} | ||
| 175 | |||
| 176 | SEPARATOR_START = '# BEGIN GENERATED FEATURES\n' | ||
| 177 | SEPARATOR_END = '# END GENERATED FEATURES\n' | ||
| 178 | |||
| 179 | with open('Cargo.toml', 'r') as f: | ||
| 180 | cargo = f.read() | ||
| 181 | before, cargo = cargo.split(SEPARATOR_START, maxsplit=1) | ||
| 182 | _, after = cargo.split(SEPARATOR_END, maxsplit=1) | ||
| 183 | cargo = before + SEPARATOR_START + toml.dumps(features) + SEPARATOR_END + after | ||
| 184 | with open('Cargo.toml', 'w') as f: | ||
| 185 | f.write(cargo) | ||
| 186 | |||
| 187 | |||
| 177 | # format | 188 | # format |
| 178 | os.system('rustfmt src/chip/*') | 189 | os.system('rustfmt src/chip/*') |
