@@ -36,18 +36,57 @@ class GPIOf4xx : public GPIO {
3636 void registerIRQ (TriggerEdge edge, void (*irqHandler)(GPIO * pin, void * priv), void* priv) override ;
3737
3838 /* *
39+ * DEPRECATED!!!! DO NOT USE
3940 * Condenses gpio settings initialization into a single function.
40- * @param targetGpio gpio instance to initialize
41- * @param pins array of pins used by gpio instance
42- * @param numOfPins size of the pin array (either 1 or 2)
43- * @param mode gpio configuration mode
44- * @param pull pull-up or pull-down activation
45- * @param speed maximum gpio output frequency
41+ * @param[in/out] targetGpio gpio instance to initialize
42+ * @param[in] pins array of pins used by gpio instance
43+ * @param[in] numOfPins size of the pin array (either 1 or 2)
44+ * @param[in] mode gpio configuration mode
45+ * @param[in] pull pull-up or pull-down activation
46+ * @param[in] speed maximum gpio output frequency
4647 * Possible values for Mode, Pull, and Speed can be found in "stm32f4xx_hal_gpio.h"
47- * @param alternate gpio alternate function selection
48+ * @param[in] alternate gpio alternate function selection
4849 */
4950 static void gpioStateInit (GPIO_InitTypeDef* targetGpio, Pin* pins, uint8_t numOfPins, uint32_t mode, uint32_t pull,
50- uint32_t speed, uint8_t alternate = 0x0DU );
51+ uint32_t speed, uint8_t alternate = 0x0E );
52+
53+ /* *
54+ * Initialize an arbitrary length array of GPIO pins.
55+ * Does modify the array to be sorted as a result of its implementation
56+ * @param[in] pins Pins to set
57+ * @param[in] numOfPins number of pins in total
58+ * @param[in] mode gpio configuration mode
59+ * @param[in] pull pull-up or pull-down activation
60+ * @param[in] speed maximum gpio output frequency
61+ * Possible values for Mode, Pull, and Speed can be found in "stm32f4xx_hal_gpio.h"
62+ * @param[in] alternate gpio alternate function selection
63+ */
64+ static void gpioInit (Pin* pins, uint8_t numOfPins, uint32_t mode, uint32_t pull, uint32_t speed,
65+ uint8_t alternate = 0x00 );
66+
67+ /* *
68+ * Initialize a single GPIO pin
69+ * @param[in] pin Pin to set
70+ * @param[in] mode gpio configuration mode
71+ * @param[in] pull pull-up or pull-down activation
72+ * @param[in] speed maximum gpio output frequency
73+ * Possible values for Mode, Pull, and Speed can be found in "stm32f4xx_hal_gpio.h"
74+ * @param[in] alternate gpio alternate function selection
75+ */
76+ static void gpioSingleInit (Pin pin, uint32_t mode, uint32_t pull, uint32_t speed, uint8_t alternate = 0x00 );
77+
78+ /* *
79+ * Mass Initialize GPIO pins with the same value with a grouping by port
80+ * @param[in] pack_pins Byte Array of pins
81+ * @param[in] port Port of the pins to initialize
82+ * @param[in] mode gpio configuration mode
83+ * @param[in] pull pull-up or pull-down activation
84+ * @param[in] speed maximum gpio output frequency
85+ * Possible values for Mode, Pull, and Speed can be found in "stm32f4xx_hal_gpio.h"
86+ * @param[in] alternate gpio alternate function selection
87+ */
88+ static void gpioPortInit (PinPack pack_pins, Port port, uint32_t mode, uint32_t pull, uint32_t speed,
89+ uint8_t alternate);
5190
5291private:
5392 // See stm32f4xx_hal_gpio -> GPIO_mode for info on derivations
0 commit comments