Files
PX4-Autopilot/docs/en/msg_docs/GpioConfig.md
PX4BuildBot fef12c9038 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-02-25 02:45:51 +00:00

2.9 KiB

pageClass
pageClass
is-wide-page

GpioConfig (UORB message)

GPIO configuration.

TOPICS: gpio_config

Fields

Name Type Unit [Frame] Range/Enum Description
timestamp uint64 time since system start (microseconds)
device_id uint32 Device id
mask uint32 Pin mask
state uint32 Initial pin output state
config uint32

Constants

Name Type Value Description
INPUT uint32 0 0x0000
OUTPUT uint32 1 0x0001
PULLUP uint32 16 0x0010
PULLDOWN uint32 32 0x0020
OPENDRAIN uint32 256 0x0100
INPUT_FLOATING uint32 0 0x0000
INPUT_PULLUP uint32 16 0x0010
INPUT_PULLDOWN uint32 32 0x0020
OUTPUT_PUSHPULL uint32 0 0x0000
OUTPUT_OPENDRAIN uint32 256 0x0100
OUTPUT_OPENDRAIN_PULLUP uint32 272 0x0110

Source Message

Source file (GitHub)

::: details Click here to see original file

# GPIO configuration

uint64 timestamp			# time since system start (microseconds)
uint32 device_id			# Device id

uint32 mask				# Pin mask
uint32 state				# Initial pin output state

# Configuration Mask
# Bit 0-3: Direction: 0=Input, 1=Output
# Bit 4-7: Input Config: 0=Floating, 1=PullUp, 2=PullDown
# Bit 8-12: Output Config: 0=PushPull, 1=OpenDrain
# Bit 13-31: Reserved
uint32 INPUT			= 0	# 0x0000
uint32 OUTPUT			= 1	# 0x0001
uint32 PULLUP			= 16	# 0x0010
uint32 PULLDOWN			= 32	# 0x0020
uint32 OPENDRAIN		= 256	# 0x0100

uint32 INPUT_FLOATING		= 0	# 0x0000
uint32 INPUT_PULLUP		= 16	# 0x0010
uint32 INPUT_PULLDOWN		= 32	# 0x0020

uint32 OUTPUT_PUSHPULL		= 0	# 0x0000
uint32 OUTPUT_OPENDRAIN		= 256	# 0x0100
uint32 OUTPUT_OPENDRAIN_PULLUP	= 272	# 0x0110

uint32 config

:::