6#include "dawn/io/factory.hxx"
7#include "dawn/io/common.hxx"
9#ifdef CONFIG_DAWN_IO_ADC_FETCH
10# include "dawn/io/adc_fetch.hxx"
12#ifdef CONFIG_DAWN_IO_ADC_SYNC
13# include "dawn/io/adc_sync.hxx"
15#ifdef CONFIG_DAWN_IO_ADC_STREAM
16# include "dawn/io/adc_stream.hxx"
18#ifdef CONFIG_DAWN_IO_CONFIG
19# include "dawn/io/config.hxx"
21#ifdef CONFIG_DAWN_IO_CONTROL
22# include "dawn/io/control.hxx"
24#ifdef CONFIG_DAWN_IO_TRIGGER
25# include "dawn/io/trigger.hxx"
27#ifdef CONFIG_DAWN_IO_DUMMY
28# include "dawn/io/dummy.hxx"
30#ifdef CONFIG_DAWN_IO_DUMMY_NOTIFY
31# include "dawn/io/dummy_notify.hxx"
33#ifdef CONFIG_DAWN_IO_DAC
34# include "dawn/io/dac.hxx"
36#ifdef CONFIG_DAWN_IO_ENCODER
37# include "dawn/io/encoder.hxx"
39#ifdef CONFIG_DAWN_IO_ENCODER_INDEX
40# include "dawn/io/encoder_index.hxx"
42#ifdef CONFIG_DAWN_IO_PWM
43# include "dawn/io/pwm.hxx"
45#ifdef CONFIG_DAWN_IO_DESCRIPTOR
46# include "dawn/io/descriptor.hxx"
48#ifdef CONFIG_DAWN_IO_CAPABILITIES
49# include "dawn/io/capabilities.hxx"
51#ifdef CONFIG_DAWN_IO_DESC_SELECTOR
52# include "dawn/io/descselector.hxx"
54#ifdef CONFIG_DAWN_IO_FILE
55# include "dawn/io/fileio.hxx"
57#ifdef CONFIG_DAWN_IO_GPO
58# include "dawn/io/gpo.hxx"
60#ifdef CONFIG_DAWN_IO_GPI
61# include "dawn/io/gpi.hxx"
63#ifdef CONFIG_DAWN_IO_BUTTONS
64# include "dawn/io/buttons.hxx"
66#ifdef CONFIG_DAWN_IO_LEDS
67# include "dawn/io/leds.hxx"
69#ifdef CONFIG_DAWN_IO_RGB_LED
70# include "dawn/io/rgbled.hxx"
72#ifdef CONFIG_DAWN_IO_VIRT
73# include "dawn/io/virt.hxx"
75#ifdef CONFIG_DAWN_IO_SENSOR
76# include "dawn/io/sensor.hxx"
78#ifdef CONFIG_DAWN_IO_SENSOR_PRODUCER
79# include "dawn/io/sensor_producer.hxx"
81#ifdef CONFIG_DAWN_IO_BOARDCTL
82# include "dawn/io/boardctl.hxx"
84#ifdef CONFIG_DAWN_IO_SYSINFO
85# include "dawn/io/sysinfo.hxx"
87#ifdef CONFIG_DAWN_IO_UNAME
88# include "dawn/io/uname.hxx"
90#ifdef CONFIG_DAWN_IO_UUID
91# include "dawn/io/uuid.hxx"
93#ifdef CONFIG_DAWN_IO_SYSTIME
94# include "dawn/io/systime.hxx"
96#ifdef CONFIG_DAWN_IO_TIMESTAMPIO
97# include "dawn/io/timestamp.hxx"
99#ifdef CONFIG_DAWN_IO_RANDIO
100# include "dawn/io/rand.hxx"
113#ifdef CONFIG_DAWN_IO_CONFIG
118#ifdef CONFIG_DAWN_IO_CONTROL
123#ifdef CONFIG_DAWN_IO_TRIGGER
128#ifdef CONFIG_DAWN_IO_DUMMY
133#ifdef CONFIG_DAWN_IO_DUMMY_NOTIFY
138#ifdef CONFIG_DAWN_IO_TIMESTAMPIO
143#ifdef CONFIG_DAWN_IO_RANDIO
148#ifdef CONFIG_DAWN_IO_SYSINFO
154#ifdef CONFIG_DAWN_IO_BOARDCTL
161#ifdef CONFIG_DAWN_IO_UNAME
166#ifdef CONFIG_DAWN_IO_UUID
171#ifdef CONFIG_DAWN_IO_SYSTIME
176#ifdef CONFIG_DAWN_IO_SENSOR
193#ifdef CONFIG_DAWN_IO_SENSOR_PRODUCER
210#ifdef CONFIG_DAWN_IO_ADC_FETCH
215#ifdef CONFIG_DAWN_IO_ADC_SYNC
220#ifdef CONFIG_DAWN_IO_ADC_STREAM
225#ifdef CONFIG_DAWN_IO_DAC
230#ifdef CONFIG_DAWN_IO_ENCODER
235#ifdef CONFIG_DAWN_IO_ENCODER_INDEX
240#ifdef CONFIG_DAWN_IO_PWM
245#ifdef CONFIG_DAWN_IO_DESCRIPTOR
250#ifdef CONFIG_DAWN_IO_CAPABILITIES
255#ifdef CONFIG_DAWN_IO_DESC_SELECTOR
260#ifdef CONFIG_DAWN_IO_FILE
265#ifdef CONFIG_DAWN_IO_GPO
270#ifdef CONFIG_DAWN_IO_GPI
275#ifdef CONFIG_DAWN_IO_BUTTONS
280#ifdef CONFIG_DAWN_IO_LEDS
285#ifdef CONFIG_DAWN_IO_RGB_LED
290#ifdef CONFIG_DAWN_IO_VIRT
Descriptor wrapper for individual object configuration.
uint8_t getObjectType() const
Get object type field.
uint16_t getObjectCls() const
Get object class field.
High-throughput batched ADC stream I/O.
Hardware-triggered single-sample ADC I/O.
Board control I/O for system operations.
Read-only seekable capability bitmap IO.
Base class for all I/O objects.
@ IO_CLASS_SENSOR_PRODUCER_MAGNETICFIELD
Magnetic field publisher.
@ IO_CLASS_SENSOR_MAGNETICFIELD
Magnetic field sensor.
@ IO_CLASS_SENSOR_PRODUCER_ACCELEROMETER
Accelerometer publisher.
@ IO_CLASS_DAC
Digital-to-analog converter.
@ IO_CLASS_TRIGGER
Trigger I/O.
@ IO_CLASS_PWM
PWM output.
@ IO_CLASS_SYSTEM_RESETCAUSE
Reset cause.
@ IO_CLASS_ADC_STREAM
ADC stream (batch/high-throughput)
@ IO_CLASS_VIRT
Virtual I/O.
@ IO_CLASS_SYSTEM_UPTIME
System uptime.
@ IO_CLASS_SYSTEM_POWEROFF
Power off control.
@ IO_CLASS_GPI_SINGLE
Single GPIO input.
@ IO_CLASS_SENSOR_PRODUCER_LIGHT
Light publisher.
@ IO_CLASS_SENSOR_PRODUCER_ATEMPERATURE
Ambient temperature publisher.
@ IO_CLASS_SYSTEM_SYSTEMTIME
System time.
@ IO_CLASS_SENSOR_PRODUCER_HUMIDITY
Humidity publisher.
@ IO_CLASS_ENCODER_INDEX
Quadrature encoder (position+index)
@ IO_CLASS_SENSOR_PRODUCER_IR
Infrared publisher.
@ IO_CLASS_ADC_FETCH
ADC fetch (on-demand)
@ IO_CLASS_CAPABILITIES
Capabilities bitmask I/O.
@ IO_CLASS_SENSOR_LIGHT
Light sensor.
@ IO_CLASS_SENSOR_BAROMETER
Barometer sensor.
@ IO_CLASS_SENSOR_PRODUCER_UV
Ultraviolet publisher.
@ IO_CLASS_SENSOR_HUMIDITY
Humidity sensor.
@ IO_CLASS_SENSOR_PROXIMITY
Proximity sensor.
@ IO_CLASS_SENSOR_PRODUCER_GAS
Gas publisher.
@ IO_CLASS_SENSOR_TEMPERATURE
Temperature sensor.
@ IO_CLASS_FILE
File system I/O.
@ IO_CLASS_SENSOR_PRODUCER_GYROSCOPE
Gyroscope publisher.
@ IO_CLASS_CONTROL
Control I/O.
@ IO_CLASS_BUTTONS
Button input.
@ IO_CLASS_SYSTEM_HOSTNAME
System hostname.
@ IO_CLASS_SENSOR_PRODUCER_RGB
RGB color publisher.
@ IO_CLASS_SENSOR_PRODUCER_TEMPERATURE
Temperature publisher.
@ IO_CLASS_SENSOR_UV
Ultraviolet sensor.
@ IO_CLASS_CONFIG
Configuration I/O.
@ IO_CLASS_DESC_SELECTOR
Descriptor slot selector I/O.
@ IO_CLASS_DUMMY
Dummy I/O (for testing)
@ IO_CLASS_SENSOR_ACCELEROMETER
Accelerometer sensor.
@ IO_CLASS_SENSOR_RGB
RGB color sensor.
@ IO_CLASS_TIMESTAMP
Timestamp generator.
@ IO_CLASS_SENSOR_GYROSCOPE
Gyroscope sensor.
@ IO_CLASS_SYSTEM_UUID
UUID.
@ IO_CLASS_ADC_SYNC
ADC sync (HW-triggered control loop)
@ IO_CLASS_ENCODER
Quadrature encoder (position)
@ IO_CLASS_GPO_SINGLE
Single GPIO output.
@ IO_CLASS_SENSOR_IR
Infrared sensor.
@ IO_CLASS_SYSTEM_CPULOAD
CPU load.
@ IO_CLASS_SENSOR_PRODUCER_PROXIMITY
Proximity publisher.
@ IO_CLASS_SENSOR_ATEMPERATURE
Ambient temperature sensor.
@ IO_CLASS_DUMMY_NOTIFY
Timer-driven dummy IO.
@ IO_CLASS_LEDS
LED output.
@ IO_CLASS_RGBLED
RGB LED output.
@ IO_CLASS_RAND
Random number generator.
@ IO_CLASS_SENSOR_GAS
Gas sensor.
@ IO_CLASS_SENSOR_PRODUCER_BAROMETER
Barometer publisher.
@ IO_CLASS_DESCRIPTOR
Descriptor I/O.
@ IO_CLASS_SYSTEM_RESET
System reset control.
Configuration I/O for runtime object management.
Control I/O for lifecycle management of bound objects.
Digital-to-Analog Converter (DAC) output I/O type.
Runtime descriptor slot selector I/O.
Device descriptor I/O access.
Timer-driven dummy I/O with notification support.
Dummy I/O type for testing and simulation.
Quadrature encoder I/O (position + index information).
Quadrature encoder I/O (position only).
CIOCommon * create(CDescObject &desc)
Create I/O object from descriptor.
GPIO Input (GPI) I/O type for reading digital input states.
GPIO Output (GPO) I/O type for writing digital output states.
LED output I/O type for controlling LED indicators.
Pulse Width Modulation (PWM) output I/O type.
Random number generator I/O type.
Sensor/uORB publisher backed by Dawn protocol writes.
Generic sensor interface for various sensor types.
System information I/O providing uptime and CPU load.
System information I/O providing system time.
System timestamp/monotonic time generator.
Trigger I/O for dispatching commands to bound objects.
System identification I/O providing hostname and version info.
System UUID I/O providing unique device identifier.
Virtual I/O type for user-provided data and callbacks.
Out-of-tree user-extension hooks for Dawn.
@ OBJTYPE_IO
Input/Output object type.