Skip to content

Commit 4f7ff68

Browse files
committed
Fix EnvieM7 analog functionality
1 parent f94fd0a commit 4f7ff68

File tree

4 files changed

+34
-17
lines changed

4 files changed

+34
-17
lines changed

cores/arduino/mbed/targets/TARGET_STM/TARGET_STM32H7/TARGET_STM32H747xI/TARGET_ENVIE/PinNames.h

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,21 @@ typedef enum {
4242
ALT1 = 0x200,
4343
ALT2 = 0x300,
4444
ALT3 = 0x400,
45-
ALT4 = 0x500
45+
ALT4 = 0x500,
46+
ALT6 = 0x700,
47+
ALTC = 0x1000
4648
} ALTx;
4749

4850
typedef enum {
4951
PA_0 = 0x00,
50-
PA_0_ALT0 = PA_0 | ALT0,
51-
PA_0_ALT1 = PA_0 | ALT1,
52-
PA_0_ALT2 = PA_0 | ALT2,
53-
PA_0_ALT3 = PA_0 | ALT3,
52+
PA_0_C = PA_0 | ALTC,
53+
PA_0_C_ALT0 = PA_0 | ALT0 | ALTC,
54+
PA_0_C_ALT1 = PA_0 | ALT1 | ALTC,
55+
PA_0_C_ALT2 = PA_0 | ALT2 | ALTC,
5456
PA_1 = 0x01,
5557
PA_1_ALT0 = PA_1 | ALT0,
56-
PA_1_ALT1 = PA_1 | ALT1,
57-
PA_1_ALT2 = PA_1 | ALT2,
58+
PA_1_C = PA_1 | ALTC,
59+
PA_1_C_ALT0 = PA_1 | ALT0 | ALTC,
5860
PA_2 = 0x02,
5961
PA_2_ALT0 = PA_2 | ALT0,
6062
PA_2_ALT1 = PA_2 | ALT1,
@@ -137,7 +139,17 @@ typedef enum {
137139
PC_1_ALT4 = PC_1 | ALT4,
138140
PC_2 = 0x22,
139141
PC_2_ALT0 = PC_2 | ALT0,
142+
PC_2_ALT1 = PC_2 | ALT1,
143+
PC_2_ALT2 = PC_2 | ALT2,
144+
PC_2_ALT3 = PC_2 | ALT3,
145+
PC_2_ALT4 = PC_2 | ALT4,
146+
PC_2_C = PC_2 | ALTC,
147+
PC_2_C_ALT0 = PC_2 | ALT0 | ALTC,
140148
PC_3 = 0x23,
149+
PC_3_ALT0 = PC_3 | ALT0,
150+
PC_3_ALT1 = PC_3 | ALT1,
151+
PC_3_ALT2 = PC_3 | ALT2,
152+
PC_3_C = PC_3 | ALTC,
141153
PC_4 = 0x24,
142154
PC_4_ALT0 = PC_4 | ALT0,
143155
PC_5 = 0x25,

variants/ENVIE_M7/defines.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
-DFEATURE_LWIP=1
4545
-D__FPU_PRESENT=1
4646
-D__MBED__=1
47-
-DMBED_BUILD_TIMESTAMP=1578934770.558274
47+
-DMBED_BUILD_TIMESTAMP=1578997943.2767987
4848
-D__MBED_CMSIS_RTOS_CM
4949
-DMBED_TICKLESS
5050
-DSTM32H747xx

variants/ENVIE_M7/libs/libmbed.a

97.9 KB
Binary file not shown.

variants/ENVIE_M7/variant.cpp

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,13 @@ PinDescription g_APinDescription[] = {
2323
PA_9, NULL, NULL, // D14
2424

2525
// A0 - A7
26-
PA_0_ALT0, NULL, NULL, // A0
27-
PA_1_ALT0, NULL, NULL, // A1
28-
PC_2_ALT0, NULL, NULL, // A2
29-
//PC_3_ALT0, NULL, NULL, // A3
30-
PC_3, NULL, NULL, // A3 // FIXME: this is wrong
31-
PC_2, NULL, NULL, // A4
32-
PC_3, NULL, NULL, // A5
33-
PA_4, NULL, NULL, // A6
26+
PA_0_C_ALT2, NULL, NULL, // A0 ADC2_INP0
27+
PA_1_C_ALT0, NULL, NULL, // A1 ADC2_INP1
28+
PC_2_C_ALT0, NULL, NULL, // A2 ADC3_INP0
29+
PC_3_C, NULL, NULL, // A3 ADC3_INP1
30+
PC_2_ALT0, NULL, NULL, // A4 ADC1_INP12
31+
PC_3_ALT2, NULL, NULL, // A5 ADC2_INP13
32+
PA_4, NULL, NULL, // A6 ADC1_INP18
3433
};
3534

3635
extern "C" {
@@ -41,8 +40,14 @@ extern "C" {
4140

4241
void initVariant() {
4342
RTCHandle.Instance = RTC;
44-
// Turn off LED red from bootloader
43+
// Turn off LED from bootloader
4544
digitalWrite(PK_6, HIGH);
45+
46+
// configure analog mux to split Pxy and Pxy_C
47+
HAL_SYSCFG_AnalogSwitchConfig(SYSCFG_SWITCH_PA0, SYSCFG_SWITCH_PA0_OPEN);
48+
HAL_SYSCFG_AnalogSwitchConfig(SYSCFG_SWITCH_PA1, SYSCFG_SWITCH_PA1_OPEN);
49+
HAL_SYSCFG_AnalogSwitchConfig(SYSCFG_SWITCH_PC2, SYSCFG_SWITCH_PC2_OPEN);
50+
HAL_SYSCFG_AnalogSwitchConfig(SYSCFG_SWITCH_PC3, SYSCFG_SWITCH_PC3_OPEN);
4651
}
4752

4853
#ifdef SERIAL_CDC

0 commit comments

Comments
 (0)