Driver: Refactor MCP23009 GPIO expander into uORB driver

This commit is contained in:
Niklas Hauser
2023-06-19 07:58:21 +02:00
committed by Beat Küng
parent 3303323971
commit 8fe65c6722
19 changed files with 697 additions and 300 deletions
+5 -1
View File
@@ -90,6 +90,7 @@ set(msg_files
FollowTargetStatus.msg
GeneratorStatus.msg
GeofenceResult.msg
GimbalControls.msg
GimbalDeviceAttitudeStatus.msg
GimbalDeviceInformation.msg
GimbalDeviceSetAttitude.msg
@@ -97,9 +98,12 @@ set(msg_files
GimbalManagerSetAttitude.msg
GimbalManagerSetManualControl.msg
GimbalManagerStatus.msg
GpioConfig.msg
GpioIn.msg
GpioOut.msg
GpioRequest.msg
GpsDump.msg
GpsInjectData.msg
GimbalControls.msg
Gripper.msg
HealthReport.msg
HeaterStatus.msg
+28
View File
@@ -0,0 +1,28 @@
# 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
+6
View File
@@ -0,0 +1,6 @@
# GPIO mask and state
uint64 timestamp # time since system start (microseconds)
uint32 device_id # Device id
uint32 state # pin state mask
+7
View File
@@ -0,0 +1,7 @@
# GPIO mask and state
uint64 timestamp # time since system start (microseconds)
uint32 device_id # Device id
uint32 mask # pin mask
uint32 state # pin state mask
+4
View File
@@ -0,0 +1,4 @@
# Request GPIO mask to be read
uint64 timestamp # time since system start (microseconds)
uint32 device_id # Device id