Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
66047f8
[variant] Group each variant per STM32 series
fpistm Jun 5, 2020
c64a09c
[PIO] Fix variants path changes
fpistm Jul 10, 2020
7011b58
[ThunderPack] Split variant per series
fpistm Jul 16, 2020
99c49a2
Rename PinMap_PWM to PinMap_TIM
fpistm Dec 6, 2020
7469071
Extend Arduino pin naming to the max possibilities
fpistm Dec 5, 2020
4afab84
Clean up old way to define Ax pins definition
fpistm Dec 5, 2020
0a7489d
Introduce all alternative pins per peripheral
fpistm Aug 24, 2020
ff7f85e
Rework analog pin management
fpistm Jan 29, 2021
ac2d9cc
Change Ax constants to an enum
fpistm Jan 25, 2021
0898a85
Remap pin management
fpistm Dec 8, 2020
71108a3
Add Alternate pins (ALTx) management
fpistm Jan 8, 2021
0cafa3c
Definition and comments improvements for pins management
fpistm Jan 25, 2021
da7ef68
Move genpinmap from Arduino_Tools repository
fpistm Feb 19, 2021
e4edbf4
[stm32variant] Update to generate in the core
fpistm Feb 19, 2021
49a09e9
[stm32variant] Use Mcu description
fpistm Feb 19, 2021
4fae0c7
[stm32variant] Add board_entry.txt
fpistm Feb 19, 2021
8ff95b8
[stm32variant] Add option to generate only one family
fpistm Feb 22, 2021
e6ac2bd
[stm32variant] Aggregate generated variant if they are the same
fpistm Mar 1, 2021
66d6408
[stm32variant] Add generic_clock.c generation
fpistm Feb 24, 2021
4fbc7c7
[stm32variant] Comment option to generate from one mcu file
fpistm Mar 8, 2021
677c076
Allow use of a custom peripheral pins file
fpistm Feb 24, 2021
abf08af
[CI] arduino-builder is replaced by arduino-cli
fpistm Mar 9, 2021
d046589
[stm32variant] Change generic variant generation
fpistm Mar 10, 2021
d2674fd
[stm32variant] Fix USB mode when AF is not none
fpistm Mar 27, 2021
cfd7cff
[stm32variant] Rework dirname aggregation
fpistm Mar 30, 2021
0b4c5f7
[stm32variant] Fix ALTx issue with remapped pins
fpistm Apr 8, 2021
b4cdfc8
[stm32variant] Fix AFIO definition for F1
fpistm Apr 8, 2021
8366f41
[stm32variant] Add a README.md
fpistm Apr 15, 2021
20e6e72
[stm32variant] Rename ND by PNUM_NOT_DEFINED
fpistm Apr 15, 2021
b5662d7
Add all generated STM32F0xx generic variant files
fpistm Apr 7, 2021
6b2b23d
Add all generated STM32F1xx generic variant files
fpistm Apr 7, 2021
b78ebe7
Add all generated STM32F2xx generic variant files
fpistm Apr 7, 2021
e0cfa88
Add all generated STM32F3xx generic variant files
fpistm Apr 7, 2021
046afd7
Add all generated STM32F4xx generic variant files
fpistm Apr 7, 2021
0b3dac6
Add all generated STM32F7xx generic variant files
fpistm Apr 7, 2021
4d23012
Add all generated STM32G0xx generic variant files
fpistm Apr 7, 2021
ec30479
Add all generated STM32G4xx generic variant files
fpistm Apr 7, 2021
2f7d688
Add all generated STM32H7xx generic variant files
fpistm Apr 7, 2021
e0157b7
Add all generated STM32L0xx generic variant files
fpistm Apr 7, 2021
b9e45d1
Add all generated STM32L1xx generic variant files
fpistm Apr 7, 2021
f1685bd
Add all generated STM32L4xx generic variant files
fpistm Apr 7, 2021
b04d918
Add all generated STM32L5xx generic variant files
fpistm Apr 7, 2021
7c2fddd
Add all generated STM32MP1xx generic variant files
fpistm Apr 7, 2021
f3f7c43
Add all generated STM32WBxx generic variant files
fpistm Apr 7, 2021
d71f287
Add all generated STM32WLxx generic variant files
fpistm Apr 7, 2021
7a95366
Update variant header management
fpistm Mar 11, 2021
d61905e
[variant] Add Generic L4xx
fpistm Apr 6, 2021
24c724a
[variant] Add Generic G4xx
ABOSTM Apr 7, 2021
55c761f
[variant] Add support of board B-G431B-ESC1
owennewo Mar 23, 2021
606b131
[variant] Add Generic G0xx
fpistm Apr 7, 2021
2a78e9d
Add Aurora One Variant
jhleekr Sep 15, 2020
cfd0b17
Add Nucleo G031K8 and generic G031Kx
fpistm Mar 15, 2021
503f79e
[variant] Update Generic F0xx
fpistm Jan 22, 2021
9234b65
Add Generic F042Cx
seeers Mar 10, 2021
6a45026
Added NUCLEO_F070RB
gbmhunter Sep 10, 2020
51b7236
[variant] Update Generic MP1xx
fpistm Jan 27, 2021
db9b6ed
[variant] Add Generic F2xx
fpistm Mar 14, 2021
b20c5ed
[variant] Add Generic L5xx and Nucleo L552ZE-Q
fpistm Mar 14, 2021
1920959
[variant] Add Generic WBxx
fpistm Mar 14, 2021
5bd495f
[variant] Add Generic L1xx
fpistm Mar 15, 2021
4f033ba
[variant] Update Generic H7xx
fpistm Mar 15, 2021
f79a926
Added Generic H743Vx
vladkozlov69 Sep 25, 2020
30ddea4
Enable HAL MDMA by default
fpistm Mar 16, 2021
7a3a084
[variant] Add Generic F7xx
ABOSTM Mar 16, 2021
d3438df
[variant] Add Generic L0xx
ABOSTM Mar 18, 2021
2315591
Add Generic L010RB
mkals Mar 23, 2021
87bb2ed
[variant] Add Generic F3xx
ABOSTM Mar 23, 2021
f4d5b62
[Variant] Add DISCO F303VC
dnandha Mar 25, 2021
0bc6d02
[Variant] Add OLIMEXINO-STM32F3
Stanimir-Petev Mar 25, 2021
51e9a15
[variant] Add Generic F4xx
ABOSTM Mar 26, 2021
0496974
BlackPill F401CC: add USER_BTN on PA0
ABOSTM Apr 2, 2021
9207aaa
[variant] Add STM32F407ZGT6 Mini and Generic_F407Zx
dds90 Apr 2, 2021
7582527
BLACK_F407ZX: invert PF9 and PF10 in digitalPin[]
ABOSTM Apr 6, 2021
f17e7be
[variant] Add Generic F1xx
ABOSTM Apr 9, 2021
6a94738
[variant] Add Generic F100Cx
mcer12 Apr 13, 2021
cbbb14c
[PIO]Fix variant header and path changes
fpistm Mar 12, 2021
1e38015
[CI] Update configuration to build only one generic per variant
fpistm Mar 16, 2021
ba52cf2
[variant] Remove board_template
fpistm Apr 15, 2021
088209c
Group system IP clock enable in separate function called at init
ABOSTM Apr 16, 2021
f8ddc9c
Manage dualpad analog switch
ABOSTM Apr 16, 2021
7ec57a1
[CI] Update core configuration
fpistm Apr 15, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Clean up old way to define Ax pins definition
NUM_ANALOG_FIRST is no more supported.
Only analogInputPin array is.

Signed-off-by: Frederic Pillon <[email protected]>
  • Loading branch information
fpistm committed Apr 2, 2021
commit 4afab8480889b098baebf04e748e4a5b08395dec
8 changes: 0 additions & 8 deletions cores/arduino/pins_arduino.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,16 +71,12 @@ bool pinIsAnalogInput(uint32_t pin)
{
bool ret = false;
#if NUM_ANALOG_INPUTS > 0
#ifndef NUM_ANALOG_LAST
ret = (pin >= A0) && (pin < (A0 + NUM_ANALOG_INPUTS));
#else
for (uint32_t i = 0; i < NUM_ANALOG_INPUTS; i++) {
if (analogInputPin[i] == pin) {
ret = true;
break;
}
}
#endif /* NUM_ANALOG_LAST */
#endif /* NUM_ANALOG_INPUTS > 0 */
return ret;
}
Expand All @@ -89,16 +85,12 @@ uint32_t digitalPinToAnalogInput(uint32_t pin)
{
uint32_t ret = NUM_ANALOG_INPUTS;
#if NUM_ANALOG_INPUTS > 0
#ifndef NUM_ANALOG_LAST
ret = pin - A0;
#else
for (uint32_t i = 0; i < NUM_ANALOG_INPUTS; i++) {
if (analogInputPin[i] == pin) {
ret = i;
break;
}
}
#endif /* NUM_ANALOG_LAST */
#endif /* NUM_ANALOG_INPUTS > 0 */
return ret;
}
Expand Down
20 changes: 6 additions & 14 deletions cores/arduino/pins_arduino.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,6 @@ _Static_assert(LastPort <= 0x0F, "PortName must be less than 16");

_Static_assert(NUM_ANALOG_INPUTS <= MAX_ANALOG_INPUTS,
"Core NUM_ANALOG_INPUTS limited to MAX_ANALOG_INPUTS");
/* Analog pins must be contiguous to be able to loop on each value */
_Static_assert(NUM_ANALOG_FIRST >= NUM_ANALOG_INPUTS,
"First analog pin value (A0) must be greater than or equal to NUM_ANALOG_INPUTS");

/* Default for Arduino connector compatibility */
/* SPI Definitions */
Expand Down Expand Up @@ -86,34 +83,29 @@ extern const uint32_t analogInputPin[];
#define NOT_AN_INTERRUPT (uint32_t)NC

/* Convert a digital pin number Dxx to a PinName PX_n */
#if NUM_ANALOG_INPUTS > 0
/* Note: Analog pin is also a digital pin */
#ifndef NUM_ANALOG_LAST
#define digitalPinToPinName(p) (((uint32_t)p < NUM_DIGITAL_PINS) ? digitalPin[p] : NC)
#else
#define digitalPinToPinName(p) (((uint32_t)p < NUM_DIGITAL_PINS) ? digitalPin[p] : \
((uint32_t)p >= NUM_ANALOG_FIRST) && ((uint32_t)p <= NUM_ANALOG_LAST) ? \
digitalPin[analogInputPin[p-NUM_ANALOG_FIRST]] : NC)
#endif
#else
#define digitalPinToPinName(p) (((uint32_t)p < NUM_DIGITAL_PINS) ? digitalPin[p] : NC)
#endif /* NUM_ANALOG_INPUTS > 0 */
/* Convert a PinName PX_n to a digital pin number */
uint32_t pinNametoDigitalPin(PinName p);

/* Convert an analog pin number to a digital pin number */
#if NUM_ANALOG_INPUTS > 0
/* Used by analogRead api to have A0 == 0 */
/* For contiguous analog pins definition in digitalPin array */
#ifndef NUM_ANALOG_LAST
#define analogInputToDigitalPin(p) (((uint32_t)p < NUM_ANALOG_INPUTS) ? (p+A0) : p)
#else
/* For non contiguous analog pins definition in digitalPin array */
/* Non contiguous analog pins definition in digitalPin array */
#define analogInputToDigitalPin(p) ( \
((uint32_t)p < NUM_ANALOG_INPUTS) ? analogInputPin[p] : \
((uint32_t)p >= NUM_ANALOG_FIRST) && ((uint32_t)p <= NUM_ANALOG_LAST) ? \
analogInputPin[p-NUM_ANALOG_FIRST] : p)
#endif // !NUM_ANALOG_LAST
#else
/* No analog pin defined */
#define analogInputToDigitalPin(p) (NUM_DIGITAL_PINS)
#endif // NUM_ANALOG_INPUTS > 0
#endif /* NUM_ANALOG_INPUTS > 0 */

/* Convert an analog pin number Axx to a PinName PX_n */
PinName analogInputToPinName(uint32_t pin);
Expand Down
15 changes: 3 additions & 12 deletions cores/arduino/pins_arduino_analog.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,9 @@
#define NUM_ANALOG_INPUTS 0
#endif

/*
* If NUM_ANALOG_FIRST is not defined:
* - Ax are not contiguous in the digitalPin array
* - analogInputPin array is available
*/
#ifndef NUM_ANALOG_FIRST
#define NUM_ANALOG_FIRST (NUM_DIGITAL_PINS + 1)
#define NUM_ANALOG_LAST (NUM_DIGITAL_PINS + NUM_ANALOG_INPUTS)
#define NUM_ANALOG_INTERNAL_FIRST (NUM_ANALOG_LAST + 1)
#else
#define NUM_ANALOG_INTERNAL_FIRST (NUM_DIGITAL_PINS + 1)
#endif
#define NUM_ANALOG_FIRST (NUM_DIGITAL_PINS + 1)
#define NUM_ANALOG_LAST (NUM_DIGITAL_PINS + NUM_ANALOG_INPUTS)
#define NUM_ANALOG_INTERNAL_FIRST (NUM_ANALOG_LAST + 1)

/* ADC internal channels (not a pins) */
/* Only used for analogRead() */
Expand Down
20 changes: 20 additions & 0 deletions variants/STM32F0xx/DISCO_F072RB/variant.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,26 @@ const PinName digitalPin[] = {
PB_12, //D50
};

// Analog (Ax) pin number array
const uint32_t analogInputPin[] = {
31, // A0
32, // A1
33, // A2
34, // A3
35, // A4
36, // A5
37, // A6
38, // A7
39, // A8
40, // A9
41, // A10
42, // A11
43, // A12
44, // A13
45, // A14
46 // A15
};

#ifdef __cplusplus
}
#endif
Expand Down
33 changes: 16 additions & 17 deletions variants/STM32F0xx/DISCO_F072RB/variant.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,22 +86,22 @@ extern "C" {
#define PC15 28
#define PF0 29
#define PF1 30
#define PC0 31 // A0 - NCS_MEMS_SPI (L3GD20)
#define PC1 32 // A1 - MEMS INT1 (L3GD20)
#define PC2 33 // A2 - MEMS INT2 (L3GD20)
#define PC3 34 // A3
#define PA0 35 // A4 - USER_BTN
#define PA1 36 // A5
#define PA2 37 // A6 - SB27 (default OFF): TS_G1_IO3
#define PA3 38 // A7 - SB28 (default OFF): TS_G1_IO4
#define PA4 39 // A8
#define PA5 40 // A9
#define PA6 41 // A10 - SB29 (default OFF): TS_G2_IO3
#define PA7 42 // A11 - SB30 (default OFF): TS_G2_IO4
#define PC4 43 // A12
#define PC5 44 // A13 - Ext Reset
#define PB0 45 // A14 - SB31 (default OFF): TS_G3_IO2
#define PB1 46 // A15 - SB32 (default OFF): TS_G3_IO3
#define PC0 A0 // NCS_MEMS_SPI (L3GD20)
#define PC1 A1 // MEMS INT1 (L3GD20)
#define PC2 A2 // MEMS INT2 (L3GD20)
#define PC3 A3
#define PA0 A4 // USER_BTN
#define PA1 A5
#define PA2 A6 // SB27 (default OFF): TS_G1_IO3
#define PA3 A7 // SB28 (default OFF): TS_G1_IO4
#define PA4 A8
#define PA5 A9
#define PA6 A10 // SB29 (default OFF): TS_G2_IO3
#define PA7 A11 // SB30 (default OFF): TS_G2_IO4
#define PC4 A12
#define PC5 A13 // Ext Reset
#define PB0 A14 // SB31 (default OFF): TS_G3_IO2
#define PB1 A15 // SB32 (default OFF): TS_G3_IO3
#define PB2 47
#define PB10 48 // I2C2 SCL: Extension / RF EEprom Connector
#define PB11 49 // I2C2 SDA: Extension / RF EEprom Connector
Expand All @@ -111,7 +111,6 @@ extern "C" {
#define NUM_DIGITAL_PINS 51
// This must be a literal with a value less than or equal to to MAX_ANALOG_INPUTS
#define NUM_ANALOG_INPUTS 16
#define NUM_ANALOG_FIRST 31

//On-board LED pin number
#define LED_BUILTIN PC9
Expand Down
7 changes: 7 additions & 0 deletions variants/STM32F0xx/EEXTR_F030_V1/variant.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,13 @@ const PinName digitalPin[] = {
PB_9, // D38
};

// Analog (Ax) pin number array
const uint32_t analogInputPin[] = {
5, // A0
6, // A1
7 // A2
};

#ifdef __cplusplus
}
#endif
Expand Down
15 changes: 4 additions & 11 deletions variants/STM32F0xx/EEXTR_F030_V1/variant.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ extern "C" {
#define PC15 2
#define PF0 3
#define PF1 4
#define PA0 5 // A0
#define PA1 6 // A1
#define PA2 7 // A2
#define PA0 A0
#define PA1 A1
#define PA2 A2
#define PA3 8
#define PA4 9
#define PA5 10
Expand Down Expand Up @@ -84,17 +84,10 @@ extern "C" {
#define NUM_DIGITAL_PINS 39
// This must be a literal with a value less than or equal to to MAX_ANALOG_INPUTS
#define NUM_ANALOG_INPUTS 3
#define NUM_ANALOG_FIRST 5

//On-board LED pin number
//#define LED_BUILTIN -1

//On-board user button
//#define USER_BTN -1

// SPI definitions
// SPI1 is used
#define PIN_SPI_SS -1
#define PIN_SPI_SS NC
#define PIN_SPI_MOSI PA7
#define PIN_SPI_MISO PA6
#define PIN_SPI_SCK PA5
Expand Down
14 changes: 14 additions & 0 deletions variants/STM32F0xx/ELEKTOR_F072Cx/variant.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,20 @@ const PinName digitalPin[] = {
PF_1 //D38
};

// Analog (Ax) pin number array
const uint32_t analogInputPin[] = {
25, // A0
26, // A1
27, // A2
28, // A3
29, // A4
30, // A5
31, // A6
32, // A7
33, // A8
34 // A9
};

#ifdef __cplusplus
}
#endif
Expand Down
22 changes: 10 additions & 12 deletions variants/STM32F0xx/ELEKTOR_F072Cx/variant.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,24 +64,22 @@ extern "C" {
#define PC13 22
#define PC14 23
#define PC15 24
#define PA0 25
#define PA1 26
#define PA2 27
#define PA3 28
#define PA4 29
#define PA5 30
#define PA6 31
#define PA7 32
#define PB0 33
#define PB1 34
#define PA0 A0
#define PA1 A1
#define PA2 A2
#define PA3 A3
#define PA4 A4
#define PA5 A5
#define PA6 A6
#define PA7 A7
#define PB0 A8
#define PB1 A9
#define PF0 35
#define PF1 36


// This must be a literal
#define NUM_DIGITAL_PINS 37
#define NUM_ANALOG_INPUTS 10
#define NUM_ANALOG_FIRST 26

// On-board LED pin number
#define LED_BUILTIN PA15
Expand Down
14 changes: 14 additions & 0 deletions variants/STM32F0xx/MALYANMx00_F070CB/variant.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,20 @@ const PinName digitalPin[] = {
PA_14, //D34 - SWCLK
};

// Analog (Ax) pin number array
const uint32_t analogInputPin[] = {
20, // A0
21, // A1
22, // A2
23, // A3
24, // A4
25, // A5
26, // A6
27, // A7
28, // A8
29 // A9
};

#ifdef __cplusplus
}
#endif
Expand Down
21 changes: 10 additions & 11 deletions variants/STM32F0xx/MALYANMx00_F070CB/variant.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,16 +86,16 @@ extern "C" {
#define PC13 17
#define PC14 18
#define PC15 19
#define PA0 20 // A0
#define PA1 21 // A1
#define PA2 22 // A2
#define PA3 23 // A3
#define PA4 24 // A4
#define PA5 25 // A5
#define PA6 26 // A6
#define PA7 27 // A7
#define PB0 28 // A8
#define PB1 29 // A9
#define PA0 A0
#define PA1 A1
#define PA2 A2
#define PA3 A3
#define PA4 A4
#define PA5 A5
#define PA6 A6
#define PA7 A7
#define PB0 A8
#define PB1 A9
#define PB10 30
#define PB11 31
// Other
Expand All @@ -107,7 +107,6 @@ extern "C" {
#define NUM_DIGITAL_PINS 35
// This must be a literal with a value less than or equal to to MAX_ANALOG_INPUTS
#define NUM_ANALOG_INPUTS 10
#define NUM_ANALOG_FIRST 20

// On-board LED pin number
#ifdef ARDUINO_MALYANM200_F070CB
Expand Down
28 changes: 20 additions & 8 deletions variants/STM32F0xx/NUCLEO_F031K6/variant.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,29 @@ const PinName digitalPin[] = {
PB_5, //D11
PB_4, //D12
PB_3, //D13 - LED
PA_0, //D14//A0
PA_1, //D15//A1
PA_3, //D16//A2
PA_4, //D17//A3
PA_5, //D18//A4
PA_6, //D19//A5
PA_7, //D20//A6
PA_2, //D21 - STLink Tx (no A7)
PA_0, //D14/A0
PA_1, //D15/A1
PA_3, //D16/A2
PA_4, //D17/A3
PA_5, //D18/A4
PA_6, //D19/A5
PA_7, //D20/A6
PA_2, //D21/A7 - STLink Tx
PA_15 //D22 - STLink Rx
};

// Analog (Ax) pin number array
const uint32_t analogInputPin[] = {
14, // A0
15, // A1
16, // A2
17, // A3
18, // A4
19, // A5
20, // A6
21 // A7
};

#ifdef __cplusplus
}
#endif
Expand Down
Loading