Prusa MINI Firmware overview
gpio.h File Reference
#include "stm32f4xx_hal.h"

Go to the source code of this file.

Macros

#define PA0   0
 
#define PA1   1
 
#define PA2   2
 
#define PA3   3
 
#define PA4   4
 
#define PA5   5
 
#define PA6   6
 
#define PA7   7
 
#define PA8   8
 
#define PA9   9
 
#define PA10   10
 
#define PA11   11
 
#define PA12   12
 
#define PA13   13
 
#define PA14   14
 
#define PA15   15
 
#define PB0   16
 
#define PB1   17
 
#define PB2   18
 
#define PB3   19
 
#define PB4   20
 
#define PB5   21
 
#define PB6   22
 
#define PB7   23
 
#define PB8   24
 
#define PB9   25
 
#define PB10   26
 
#define PB11   27
 
#define PB12   28
 
#define PB13   29
 
#define PB14   30
 
#define PB15   31
 
#define PC0   32
 
#define PC1   33
 
#define PC2   34
 
#define PC3   35
 
#define PC4   36
 
#define PC5   37
 
#define PC6   38
 
#define PC7   39
 
#define PC8   40
 
#define PC9   41
 
#define PC10   42
 
#define PC11   43
 
#define PC12   44
 
#define PC13   45
 
#define PC14   46
 
#define PC15   47
 
#define PD0   48
 
#define PD1   49
 
#define PD2   50
 
#define PD3   51
 
#define PD4   52
 
#define PD5   53
 
#define PD6   54
 
#define PD7   55
 
#define PD8   56
 
#define PD9   57
 
#define PD10   58
 
#define PD11   59
 
#define PD12   60
 
#define PD13   61
 
#define PD14   62
 
#define PD15   63
 
#define PE0   64
 
#define PE1   65
 
#define PE2   66
 
#define PE3   67
 
#define PE4   68
 
#define PE5   69
 
#define PE6   70
 
#define PE7   71
 
#define PE8   72
 
#define PE9   73
 
#define PE10   74
 
#define PE11   75
 
#define PE12   76
 
#define PE13   77
 
#define PE14   78
 
#define PE15   79
 

Functions

static GPIO_TypeDef * gpio_port (uint8_t pin8)
 
static int gpio_get (uint8_t pin8)
 
static void gpio_set (uint8_t pin8, int state)
 
static void gpio_init (uint8_t pin8, uint32_t mode, uint32_t pull, uint32_t speed)
 

Macro Definition Documentation

◆ PA0

#define PA0   0

◆ PA1

#define PA1   1

◆ PA2

#define PA2   2

◆ PA3

#define PA3   3

◆ PA4

#define PA4   4

◆ PA5

#define PA5   5

◆ PA6

#define PA6   6

◆ PA7

#define PA7   7

◆ PA8

#define PA8   8

◆ PA9

#define PA9   9

◆ PA10

#define PA10   10

◆ PA11

#define PA11   11

◆ PA12

#define PA12   12

◆ PA13

#define PA13   13

◆ PA14

#define PA14   14

◆ PA15

#define PA15   15

◆ PB0

#define PB0   16

◆ PB1

#define PB1   17

◆ PB2

#define PB2   18

◆ PB3

#define PB3   19

◆ PB4

#define PB4   20

◆ PB5

#define PB5   21

◆ PB6

#define PB6   22

◆ PB7

#define PB7   23

◆ PB8

#define PB8   24

◆ PB9

#define PB9   25

◆ PB10

#define PB10   26

◆ PB11

#define PB11   27

◆ PB12

#define PB12   28

◆ PB13

#define PB13   29

◆ PB14

#define PB14   30

◆ PB15

#define PB15   31

◆ PC0

#define PC0   32

◆ PC1

#define PC1   33

◆ PC2

#define PC2   34

◆ PC3

#define PC3   35

◆ PC4

#define PC4   36

◆ PC5

#define PC5   37

◆ PC6

#define PC6   38

◆ PC7

#define PC7   39

◆ PC8

#define PC8   40

◆ PC9

#define PC9   41

◆ PC10

#define PC10   42

◆ PC11

#define PC11   43

◆ PC12

#define PC12   44

◆ PC13

#define PC13   45

◆ PC14

#define PC14   46

◆ PC15

#define PC15   47

◆ PD0

#define PD0   48

◆ PD1

#define PD1   49

◆ PD2

#define PD2   50

◆ PD3

#define PD3   51

◆ PD4

#define PD4   52

◆ PD5

#define PD5   53

◆ PD6

#define PD6   54

◆ PD7

#define PD7   55

◆ PD8

#define PD8   56

◆ PD9

#define PD9   57

◆ PD10

#define PD10   58

◆ PD11

#define PD11   59

◆ PD12

#define PD12   60

◆ PD13

#define PD13   61

◆ PD14

#define PD14   62

◆ PD15

#define PD15   63

◆ PE0

#define PE0   64

◆ PE1

#define PE1   65

◆ PE2

#define PE2   66

◆ PE3

#define PE3   67

◆ PE4

#define PE4   68

◆ PE5

#define PE5   69

◆ PE6

#define PE6   70

◆ PE7

#define PE7   71

◆ PE8

#define PE8   72

◆ PE9

#define PE9   73

◆ PE10

#define PE10   74

◆ PE11

#define PE11   75

◆ PE12

#define PE12   76

◆ PE13

#define PE13   77

◆ PE14

#define PE14   78

◆ PE15

#define PE15   79

Function Documentation

◆ gpio_port()

static GPIO_TypeDef* gpio_port ( uint8_t  pin8)
static
90  {
91  return (GPIO_TypeDef *)(GPIOA_BASE + (GPIOB_BASE - GPIOA_BASE) * (pin8 >> 4));
92 }
Here is the caller graph for this function:

◆ gpio_get()

static int gpio_get ( uint8_t  pin8)
static
94  {
95  return (HAL_GPIO_ReadPin(gpio_port(pin8), (1 << (pin8 & 0x0f))) != GPIO_PIN_RESET) ? 1 : 0;
96 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ gpio_set()

static void gpio_set ( uint8_t  pin8,
int  state 
)
static
98  {
99  HAL_GPIO_WritePin(gpio_port(pin8), (1 << (pin8 & 0x0f)), state ? GPIO_PIN_SET : GPIO_PIN_RESET);
100 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ gpio_init()

static void gpio_init ( uint8_t  pin8,
uint32_t  mode,
uint32_t  pull,
uint32_t  speed 
)
static
102  {
103  GPIO_InitTypeDef GPIO_InitStruct = { 0 };
104  GPIO_InitStruct.Pin = (1 << (pin8 & 0x0f));
105  GPIO_InitStruct.Mode = mode;
106  GPIO_InitStruct.Pull = pull;
107  GPIO_InitStruct.Speed = speed;
108  HAL_GPIO_Init(gpio_port(pin8), &GPIO_InitStruct);
109 }
Here is the call graph for this function:
Here is the caller graph for this function:
GPIO_InitTypeDef::Mode
uint32_t Mode
Definition: stm32f4xx_hal_gpio.h:68
state
static volatile fsensor_t state
Definition: filament_sensor.c:23
GPIO_InitTypeDef::Pull
uint32_t Pull
Definition: stm32f4xx_hal_gpio.h:71
GPIO_PIN_SET
Definition: stm32f4xx_hal_gpio.h:87
GPIO_PIN_RESET
Definition: stm32f4xx_hal_gpio.h:86
HAL_GPIO_ReadPin
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
HAL_GPIO_Init
void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
HAL_GPIO_WritePin
void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
GPIO_InitTypeDef::Pin
uint32_t Pin
Definition: stm32f4xx_hal_gpio.h:65
GPIO_InitTypeDef::Speed
uint32_t Speed
Definition: stm32f4xx_hal_gpio.h:74
mode
png_structrp int mode
Definition: png.h:1139
gpio_port
static GPIO_TypeDef * gpio_port(uint8_t pin8)
Definition: gpio.h:90
GPIO_InitTypeDef
GPIO Init structure definition.
Definition: stm32f4xx_hal_gpio.h:63