Skip to content

Commit ee248b5

Browse files
authored
Merge branch 'development' into fix_issue598
2 parents 6468d31 + 3c62efa commit ee248b5

2 files changed

Lines changed: 106 additions & 101 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
release: patch
2+
summary: Fix incorrect GPIO alternate-function availability bitmaps
3+
4+
Correct the STM32H723 pin alternate-function masks in `Pin.hpp` so GPIO
5+
configuration reflects the actual AF support per pin.

Inc/HALAL/Models/Pin.hpp

Lines changed: 101 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -17,123 +17,123 @@ constexpr GPIODomain::Pin PA6{A, GPIO_PIN_6, 0b0111011011111111};
1717
constexpr GPIODomain::Pin PA7{A, GPIO_PIN_7, 0b0111010011111011};
1818
constexpr GPIODomain::Pin PA8{A, GPIO_PIN_8, 0b1101101100111111};
1919
constexpr GPIODomain::Pin PA9{A, GPIO_PIN_9, 0b0101111100010111};
20-
constexpr GPIODomain::Pin PA10{A, GPIO_PIN_10, 0b0101110100010111};
21-
constexpr GPIODomain::Pin PA11{A, GPIO_PIN_11, 0b0101111110010011};
22-
constexpr GPIODomain::Pin PA12{A, GPIO_PIN_12, 0b0011111110010111};
20+
constexpr GPIODomain::Pin PA10{A, GPIO_PIN_10, 0b0101000100111111};
21+
constexpr GPIODomain::Pin PA11{A, GPIO_PIN_11, 0b0101011101000011};
22+
constexpr GPIODomain::Pin PA12{A, GPIO_PIN_12, 0b0101011111001011};
2323
constexpr GPIODomain::Pin PA13{A, GPIO_PIN_13, 0b1000000000000001};
2424
constexpr GPIODomain::Pin PA14{A, GPIO_PIN_14, 0b1000000000000001};
2525
constexpr GPIODomain::Pin PA15{A, GPIO_PIN_15, 0b1100111111010011};
2626

2727
// Port B
28-
constexpr GPIODomain::Pin PB0{B, GPIO_PIN_0, 0b0111110011111011};
29-
constexpr GPIODomain::Pin PB1{B, GPIO_PIN_1, 0b0111110011111011};
30-
constexpr GPIODomain::Pin PB2{B, GPIO_PIN_2, 0b0110111110111011};
31-
constexpr GPIODomain::Pin PB3{B, GPIO_PIN_3, 0b0111110110111011};
32-
constexpr GPIODomain::Pin PB4{B, GPIO_PIN_4, 0b0111111110110011};
33-
constexpr GPIODomain::Pin PB5{B, GPIO_PIN_5, 0b0111110111111111};
34-
constexpr GPIODomain::Pin PB6{B, GPIO_PIN_6, 0b0111110111111111};
35-
constexpr GPIODomain::Pin PB7{B, GPIO_PIN_7, 0b0111110111111011};
36-
constexpr GPIODomain::Pin PB8{B, GPIO_PIN_8, 0b0110111111111111};
37-
constexpr GPIODomain::Pin PB9{B, GPIO_PIN_9, 0b0110111111111111};
38-
constexpr GPIODomain::Pin PB10{B, GPIO_PIN_10, 0b0111110111111111};
39-
constexpr GPIODomain::Pin PB11{B, GPIO_PIN_11, 0b0111110111111011};
40-
constexpr GPIODomain::Pin PB12{B, GPIO_PIN_12, 0b0111110111111011};
41-
constexpr GPIODomain::Pin PB13{B, GPIO_PIN_13, 0b0111110111111011};
42-
constexpr GPIODomain::Pin PB14{B, GPIO_PIN_14, 0b0111110011111011};
43-
constexpr GPIODomain::Pin PB15{B, GPIO_PIN_15, 0b0111110011111011};
28+
constexpr GPIODomain::Pin PB0{B, GPIO_PIN_0, 0b0111101011110011};
29+
constexpr GPIODomain::Pin PB1{B, GPIO_PIN_1, 0b0111101001110011};
30+
constexpr GPIODomain::Pin PB2{B, GPIO_PIN_2, 0b1110101111110101};
31+
constexpr GPIODomain::Pin PB3{B, GPIO_PIN_3, 0b1100011011110011};
32+
constexpr GPIODomain::Pin PB4{B, GPIO_PIN_4, 0b1110011111010001};
33+
constexpr GPIODomain::Pin PB5{B, GPIO_PIN_5, 0b0111111111111111};
34+
constexpr GPIODomain::Pin PB6{B, GPIO_PIN_6, 0b0110111111111111};
35+
constexpr GPIODomain::Pin PB7{B, GPIO_PIN_7, 0b0110101110011101};
36+
constexpr GPIODomain::Pin PB8{B, GPIO_PIN_8, 0b0111101111111111};
37+
constexpr GPIODomain::Pin PB9{B, GPIO_PIN_9, 0b0111111111111111};
38+
constexpr GPIODomain::Pin PB10{B, GPIO_PIN_10, 0b0101111101110011};
39+
constexpr GPIODomain::Pin PB11{B, GPIO_PIN_11, 0b0101101100110011};
40+
constexpr GPIODomain::Pin PB12{B, GPIO_PIN_12, 0b0101111101111111};
41+
constexpr GPIODomain::Pin PB13{B, GPIO_PIN_13, 0b0101111101111111};
42+
constexpr GPIODomain::Pin PB14{B, GPIO_PIN_14, 0b0111111111001011};
43+
constexpr GPIODomain::Pin PB15{B, GPIO_PIN_15, 0b1111111011001011};
4444

4545
// Port C
46-
constexpr GPIODomain::Pin PC0{C, GPIO_PIN_0, 0b0110110110110011};
47-
constexpr GPIODomain::Pin PC1{C, GPIO_PIN_1, 0b0110111111111111};
48-
constexpr GPIODomain::Pin PC2{C, GPIO_PIN_2, 0b0110111110110011};
49-
constexpr GPIODomain::Pin PC3{C, GPIO_PIN_3, 0b0110111110110011};
50-
constexpr GPIODomain::Pin PC4{C, GPIO_PIN_4, 0b0110110110111011};
51-
constexpr GPIODomain::Pin PC5{C, GPIO_PIN_5, 0b0110110110111111};
52-
constexpr GPIODomain::Pin PC6{C, GPIO_PIN_6, 0b0111110011111111};
53-
constexpr GPIODomain::Pin PC7{C, GPIO_PIN_7, 0b0111110011111111};
54-
constexpr GPIODomain::Pin PC8{C, GPIO_PIN_8, 0b0111110011011111};
55-
constexpr GPIODomain::Pin PC9{C, GPIO_PIN_9, 0b0111110110111111};
56-
constexpr GPIODomain::Pin PC10{C, GPIO_PIN_10, 0b0110111111111111};
57-
constexpr GPIODomain::Pin PC11{C, GPIO_PIN_11, 0b0110111111111111};
58-
constexpr GPIODomain::Pin PC12{C, GPIO_PIN_12, 0b0110111111011111};
59-
constexpr GPIODomain::Pin PC13{C, GPIO_PIN_13, 0b1000000000000001};
60-
constexpr GPIODomain::Pin PC14{C, GPIO_PIN_14, 0b1000000000000001};
61-
constexpr GPIODomain::Pin PC15{C, GPIO_PIN_15, 0b1000000000000001};
46+
constexpr GPIODomain::Pin PC0{C, GPIO_PIN_0, 0b0101001011111011};
47+
constexpr GPIODomain::Pin PC1{C, GPIO_PIN_1, 0b1111111011111011};
48+
constexpr GPIODomain::Pin PC2{C, GPIO_PIN_2, 0b1001111001111001};
49+
constexpr GPIODomain::Pin PC3{C, GPIO_PIN_3, 0b1001110001111001};
50+
constexpr GPIODomain::Pin PC4{C, GPIO_PIN_4, 0b1101010001111011};
51+
constexpr GPIODomain::Pin PC5{C, GPIO_PIN_5, 0b1111100001111111};
52+
constexpr GPIODomain::Pin PC6{C, GPIO_PIN_6, 0b0011110111101111};
53+
constexpr GPIODomain::Pin PC7{C, GPIO_PIN_7, 0b1011101111111111};
54+
constexpr GPIODomain::Pin PC8{C, GPIO_PIN_8, 0b1011000111111101};
55+
constexpr GPIODomain::Pin PC9{C, GPIO_PIN_9, 0b1011111011111111};
56+
constexpr GPIODomain::Pin PC10{C, GPIO_PIN_10, 0b0001101111111111};
57+
constexpr GPIODomain::Pin PC11{C, GPIO_PIN_11, 0b0001101111001111};
58+
constexpr GPIODomain::Pin PC12{C, GPIO_PIN_12, 0b1110111110001111};
59+
constexpr GPIODomain::Pin PC13{C, GPIO_PIN_13, 0b0000000000000001};
60+
constexpr GPIODomain::Pin PC14{C, GPIO_PIN_14, 0b0000000000000001};
61+
constexpr GPIODomain::Pin PC15{C, GPIO_PIN_15, 0b0000000000000001};
6262

6363
// Port D
64-
constexpr GPIODomain::Pin PD0{D, GPIO_PIN_0, 0b0111110110011011};
65-
constexpr GPIODomain::Pin PD1{D, GPIO_PIN_1, 0b0111110110011011};
66-
constexpr GPIODomain::Pin PD2{D, GPIO_PIN_2, 0b1110110110011011};
67-
constexpr GPIODomain::Pin PD3{D, GPIO_PIN_3, 0b0110110111110011};
68-
constexpr GPIODomain::Pin PD4{D, GPIO_PIN_4, 0b0010110010010011};
69-
constexpr GPIODomain::Pin PD5{D, GPIO_PIN_5, 0b0010110010010011};
70-
constexpr GPIODomain::Pin PD6{D, GPIO_PIN_6, 0b0111110110111011};
71-
constexpr GPIODomain::Pin PD7{D, GPIO_PIN_7, 0b0110110111111011};
72-
constexpr GPIODomain::Pin PD8{D, GPIO_PIN_8, 0b0110110110010011};
73-
constexpr GPIODomain::Pin PD9{D, GPIO_PIN_9, 0b0110110110010011};
74-
constexpr GPIODomain::Pin PD10{D, GPIO_PIN_10, 0b0110110110010011};
75-
constexpr GPIODomain::Pin PD11{D, GPIO_PIN_11, 0b0111100110110011};
76-
constexpr GPIODomain::Pin PD12{D, GPIO_PIN_12, 0b0111110110110011};
77-
constexpr GPIODomain::Pin PD13{D, GPIO_PIN_13, 0b0111110110110011};
78-
constexpr GPIODomain::Pin PD14{D, GPIO_PIN_14, 0b0111010010010011};
79-
constexpr GPIODomain::Pin PD15{D, GPIO_PIN_15, 0b0111010010010011};
64+
constexpr GPIODomain::Pin PD0{D, GPIO_PIN_0, 0b0001000011011011};
65+
constexpr GPIODomain::Pin PD1{D, GPIO_PIN_1, 0b0001000011001001};
66+
constexpr GPIODomain::Pin PD2{D, GPIO_PIN_2, 0b1110100011001111};
67+
constexpr GPIODomain::Pin PD3{D, GPIO_PIN_3, 0b0001010100001111};
68+
constexpr GPIODomain::Pin PD4{D, GPIO_PIN_4, 0b0000000100101001};
69+
constexpr GPIODomain::Pin PD5{D, GPIO_PIN_5, 0b0000000100101001};
70+
constexpr GPIODomain::Pin PD6{D, GPIO_PIN_6, 0b0111111110111111};
71+
constexpr GPIODomain::Pin PD7{D, GPIO_PIN_7, 0b0001011101111001};
72+
constexpr GPIODomain::Pin PD8{D, GPIO_PIN_8, 0b0001000101001001};
73+
constexpr GPIODomain::Pin PD9{D, GPIO_PIN_9, 0b0001000100001001};
74+
constexpr GPIODomain::Pin PD10{D, GPIO_PIN_10, 0b0001000100001011};
75+
constexpr GPIODomain::Pin PD11{D, GPIO_PIN_11, 0b0001100101101001};
76+
constexpr GPIODomain::Pin PD12{D, GPIO_PIN_12, 0b0111110101101101};
77+
constexpr GPIODomain::Pin PD13{D, GPIO_PIN_13, 0b0110110001111001};
78+
constexpr GPIODomain::Pin PD14{D, GPIO_PIN_14, 0b0010000010011001};
79+
constexpr GPIODomain::Pin PD15{D, GPIO_PIN_15, 0b0010000010011001};
8080

8181
// Port E
82-
constexpr GPIODomain::Pin PE0{E, GPIO_PIN_0, 0b0111110010110011};
83-
constexpr GPIODomain::Pin PE1{E, GPIO_PIN_1, 0b0111110010011011};
84-
constexpr GPIODomain::Pin PE2{E, GPIO_PIN_2, 0b0110110111110011};
85-
constexpr GPIODomain::Pin PE3{E, GPIO_PIN_3, 0b0110110111110011};
86-
constexpr GPIODomain::Pin PE4{E, GPIO_PIN_4, 0b0110110111111111};
87-
constexpr GPIODomain::Pin PE5{E, GPIO_PIN_5, 0b0110110111111011};
88-
constexpr GPIODomain::Pin PE6{E, GPIO_PIN_6, 0b0110110111111111};
89-
constexpr GPIODomain::Pin PE7{E, GPIO_PIN_7, 0b0111110010010011};
90-
constexpr GPIODomain::Pin PE8{E, GPIO_PIN_8, 0b0111110010010011};
91-
constexpr GPIODomain::Pin PE9{E, GPIO_PIN_9, 0b0111110010010011};
92-
constexpr GPIODomain::Pin PE10{E, GPIO_PIN_10, 0b0111110010010011};
93-
constexpr GPIODomain::Pin PE11{E, GPIO_PIN_11, 0b0111110010011011};
94-
constexpr GPIODomain::Pin PE12{E, GPIO_PIN_12, 0b0111110010011011};
95-
constexpr GPIODomain::Pin PE13{E, GPIO_PIN_13, 0b0111110010011011};
96-
constexpr GPIODomain::Pin PE14{E, GPIO_PIN_14, 0b0011110010010011};
97-
constexpr GPIODomain::Pin PE15{E, GPIO_PIN_15, 0b0110110010010011};
82+
constexpr GPIODomain::Pin PE0{E, GPIO_PIN_0, 0b0110100010101111};
83+
constexpr GPIODomain::Pin PE1{E, GPIO_PIN_1, 0b0100000010001111};
84+
constexpr GPIODomain::Pin PE2{E, GPIO_PIN_2, 0b1010111011111001};
85+
constexpr GPIODomain::Pin PE3{E, GPIO_PIN_3, 0b1000101010011001};
86+
constexpr GPIODomain::Pin PE4{E, GPIO_PIN_4, 0b1011111010101111};
87+
constexpr GPIODomain::Pin PE5{E, GPIO_PIN_5, 0b1011111010101111};
88+
constexpr GPIODomain::Pin PE6{E, GPIO_PIN_6, 0b1110111011111111};
89+
constexpr GPIODomain::Pin PE7{E, GPIO_PIN_7, 0b0101000100101001};
90+
constexpr GPIODomain::Pin PE8{E, GPIO_PIN_8, 0b0101000100101101};
91+
constexpr GPIODomain::Pin PE9{E, GPIO_PIN_9, 0b0101000100101001};
92+
constexpr GPIODomain::Pin PE10{E, GPIO_PIN_10, 0b0101000100101001};
93+
constexpr GPIODomain::Pin PE11{E, GPIO_PIN_11, 0b0101010000111011};
94+
constexpr GPIODomain::Pin PE12{E, GPIO_PIN_12, 0b0101010000101111};
95+
constexpr GPIODomain::Pin PE13{E, GPIO_PIN_13, 0b0101010000101111};
96+
constexpr GPIODomain::Pin PE14{E, GPIO_PIN_14, 0b0100010000101011};
97+
constexpr GPIODomain::Pin PE15{E, GPIO_PIN_15, 0b0100000000011111};
9898

9999
// Port F
100-
constexpr GPIODomain::Pin PF0{F, GPIO_PIN_0, 0b0010110010010111};
101-
constexpr GPIODomain::Pin PF1{F, GPIO_PIN_1, 0b0010110010010111};
102-
constexpr GPIODomain::Pin PF2{F, GPIO_PIN_2, 0b0010110010010011};
103-
constexpr GPIODomain::Pin PF3{F, GPIO_PIN_3, 0b0010010010010011};
104-
constexpr GPIODomain::Pin PF4{F, GPIO_PIN_4, 0b0010010010010011};
105-
constexpr GPIODomain::Pin PF5{F, GPIO_PIN_5, 0b0010010010010011};
106-
constexpr GPIODomain::Pin PF6{F, GPIO_PIN_6, 0b0111110010110011};
107-
constexpr GPIODomain::Pin PF7{F, GPIO_PIN_7, 0b0111110010110011};
108-
constexpr GPIODomain::Pin PF8{F, GPIO_PIN_8, 0b0111110010111011};
109-
constexpr GPIODomain::Pin PF9{F, GPIO_PIN_9, 0b0111110010111011};
110-
constexpr GPIODomain::Pin PF10{F, GPIO_PIN_10, 0b0110110010110011};
111-
constexpr GPIODomain::Pin PF11{F, GPIO_PIN_11, 0b0010110010010011};
112-
constexpr GPIODomain::Pin PF12{F, GPIO_PIN_12, 0b0010010010010011};
113-
constexpr GPIODomain::Pin PF13{F, GPIO_PIN_13, 0b0110110010110011};
114-
constexpr GPIODomain::Pin PF14{F, GPIO_PIN_14, 0b0110110010110011};
115-
constexpr GPIODomain::Pin PF15{F, GPIO_PIN_15, 0b0010110010010011};
100+
constexpr GPIODomain::Pin PF0{F, GPIO_PIN_0, 0b0000101001001101};
101+
constexpr GPIODomain::Pin PF1{F, GPIO_PIN_1, 0b0000101001001101};
102+
constexpr GPIODomain::Pin PF2{F, GPIO_PIN_2, 0b0000101001001101};
103+
constexpr GPIODomain::Pin PF3{F, GPIO_PIN_3, 0b0000000001001101};
104+
constexpr GPIODomain::Pin PF4{F, GPIO_PIN_4, 0b0000000001001001};
105+
constexpr GPIODomain::Pin PF5{F, GPIO_PIN_5, 0b0000000001001001};
106+
constexpr GPIODomain::Pin PF6{F, GPIO_PIN_6, 0b0110011110100101};
107+
constexpr GPIODomain::Pin PF7{F, GPIO_PIN_7, 0b0110011110100101};
108+
constexpr GPIODomain::Pin PF8{F, GPIO_PIN_8, 0b0100011111100101};
109+
constexpr GPIODomain::Pin PF9{F, GPIO_PIN_9, 0b0100011111100101};
110+
constexpr GPIODomain::Pin PF10{F, GPIO_PIN_10, 0b0110100001100111};
111+
constexpr GPIODomain::Pin PF11{F, GPIO_PIN_11, 0b0000010001101111};
112+
constexpr GPIODomain::Pin PF12{F, GPIO_PIN_12, 0b0000000001001011};
113+
constexpr GPIODomain::Pin PF13{F, GPIO_PIN_13, 0b0001100000001011};
114+
constexpr GPIODomain::Pin PF14{F, GPIO_PIN_14, 0b0001100000001011};
115+
constexpr GPIODomain::Pin PF15{F, GPIO_PIN_15, 0b0000100000001001};
116116

117117
// Port G
118-
constexpr GPIODomain::Pin PG0{G, GPIO_PIN_0, 0b0010010010010011};
119-
constexpr GPIODomain::Pin PG1{G, GPIO_PIN_1, 0b0010010010010011};
120-
constexpr GPIODomain::Pin PG2{G, GPIO_PIN_2, 0b0110010010010011};
121-
constexpr GPIODomain::Pin PG3{G, GPIO_PIN_3, 0b0110010010010011};
122-
constexpr GPIODomain::Pin PG4{G, GPIO_PIN_4, 0b0110010010010011};
123-
constexpr GPIODomain::Pin PG5{G, GPIO_PIN_5, 0b0010010010010011};
124-
constexpr GPIODomain::Pin PG6{G, GPIO_PIN_6, 0b0111110010110011};
125-
constexpr GPIODomain::Pin PG7{G, GPIO_PIN_7, 0b0110110010110011};
126-
constexpr GPIODomain::Pin PG8{G, GPIO_PIN_8, 0b0111110010110011};
127-
constexpr GPIODomain::Pin PG9{G, GPIO_PIN_9, 0b0110110110110011};
128-
constexpr GPIODomain::Pin PG10{G, GPIO_PIN_10, 0b0110110110111011};
129-
constexpr GPIODomain::Pin PG11{G, GPIO_PIN_11, 0b0110110110111011};
130-
constexpr GPIODomain::Pin PG12{G, GPIO_PIN_12, 0b0111110110111111};
131-
constexpr GPIODomain::Pin PG13{G, GPIO_PIN_13, 0b0111110110111111};
132-
constexpr GPIODomain::Pin PG14{G, GPIO_PIN_14, 0b0111110110011111};
133-
constexpr GPIODomain::Pin PG15{G, GPIO_PIN_15, 0b0110110010010011};
118+
constexpr GPIODomain::Pin PG0{G, GPIO_PIN_0, 0b0000000001011001};
119+
constexpr GPIODomain::Pin PG1{G, GPIO_PIN_1, 0b0000000001011001};
120+
constexpr GPIODomain::Pin PG2{G, GPIO_PIN_2, 0b0001000000011011};
121+
constexpr GPIODomain::Pin PG3{G, GPIO_PIN_3, 0b0001000000011101};
122+
constexpr GPIODomain::Pin PG4{G, GPIO_PIN_4, 0b0100000000011001};
123+
constexpr GPIODomain::Pin PG5{G, GPIO_PIN_5, 0b0100000000001001};
124+
constexpr GPIODomain::Pin PG6{G, GPIO_PIN_6, 0b0100000000101111};
125+
constexpr GPIODomain::Pin PG7{G, GPIO_PIN_7, 0b0000001101001111};
126+
constexpr GPIODomain::Pin PG8{G, GPIO_PIN_8, 0b0001010110011011};
127+
constexpr GPIODomain::Pin PG9{G, GPIO_PIN_9, 0b0010010111111101};
128+
constexpr GPIODomain::Pin PG10{G, GPIO_PIN_10, 0b0011010001111111};
129+
constexpr GPIODomain::Pin PG11{G, GPIO_PIN_11, 0b0100110011110111};
130+
constexpr GPIODomain::Pin PG12{G, GPIO_PIN_12, 0b0101110111111111};
131+
constexpr GPIODomain::Pin PG13{G, GPIO_PIN_13, 0b1100110100111111};
132+
constexpr GPIODomain::Pin PG14{G, GPIO_PIN_14, 0b1100110101111111};
133+
constexpr GPIODomain::Pin PG15{G, GPIO_PIN_15, 0b0000000101011101};
134134

135135
// Port H
136-
constexpr GPIODomain::Pin PH0{H, GPIO_PIN_0, 0b1000000000000001};
137-
constexpr GPIODomain::Pin PH1{H, GPIO_PIN_1, 0b1000000000000001};
136+
constexpr GPIODomain::Pin PH0{H, GPIO_PIN_0, 0b0000000000000001};
137+
constexpr GPIODomain::Pin PH1{H, GPIO_PIN_1, 0b0000000000000001};
138138

139139
} // namespace ST_LIB

0 commit comments

Comments
 (0)