← Back

Module gpio

enum PinMode

Source: gpio.joule:8

enum PinValue

Source: gpio.joule:25

fn is_high(&self) -> bool

Source: gpio.joule:31

fn is_low(&self) -> bool

Source: gpio.joule:35

fn from(value: bool) -> Self

Source: gpio.joule:41

fn from(value: PinValue) -> Self

Source: gpio.joule:47

enum Edge

Source: gpio.joule:54

struct GpioChip

GPIO chip (controller)

Source: gpio.joule:66

fn list() -> Result<Vec<GpioChipInfo>, DeviceError>

Source: gpio.joule:77

fn open(name: &str) -> Result<Self, DeviceError>

Source: gpio.joule:91

fn default() -> Result<Self, DeviceError>

Source: gpio.joule:105

fn name(&self) -> &str

Get chip name

Source: gpio.joule:110

fn label(&self) -> &str

Get chip label

Source: gpio.joule:115

fn num_lines(&self) -> u32

Get number of lines

Source: gpio.joule:120

fn line_info(&self, offset: u32) -> Result<LineInfo, DeviceError>

Source: gpio.joule:126

fn request_line(

Source: gpio.joule:140

fn request_lines(

Source: gpio.joule:152

fn drop(&mut self)

Source: gpio.joule:171

fn close(fd: i32) -> i32;

Source: gpio.joule:175

struct GpioChipInfo

Source: gpio.joule:184

struct LineInfo

Source: gpio.joule:192

struct GpioPin

GPIO pin handle

Source: gpio.joule:201

fn offset(&self) -> u32

Get pin offset

Source: gpio.joule:210

fn mode(&self) -> PinMode

Get current mode

Source: gpio.joule:215

fn read(&self) -> Result<PinValue, DeviceError>

Source: gpio.joule:221

fn write(&self, value: PinValue) -> Result<(), DeviceError>

Source: gpio.joule:235

fn set_high(&self) -> Result<(), DeviceError>

Source: gpio.joule:253

fn set_low(&self) -> Result<(), DeviceError>

Source: gpio.joule:259

fn toggle(&self) -> Result<(), DeviceError>

Source: gpio.joule:265

fn wait_for_edge(&self, edge: Edge, timeout_ms: Option<u32>) -> Result<bool, DeviceError>

Source: gpio.joule:275

fn set_edge(&mut self, edge: Edge) -> Result<(), DeviceError>

Source: gpio.joule:289

fn set_debounce(&mut self, debounce_us: u32) -> Result<(), DeviceError>

Source: gpio.joule:303

fn drop(&mut self)

Source: gpio.joule:317

fn close(fd: i32) -> i32;

Source: gpio.joule:321

fn list_linux_gpio_chips() -> Result<Vec<GpioChipInfo>, DeviceError>

Source: gpio.joule:331

fn open_linux_gpio_chip(name: &str) -> Result<GpioChip, DeviceError>

Source: gpio.joule:351

fn open(path: *const i8, flags: i32) -> i32;

Source: gpio.joule:353

fn ioctl(fd: i32, request: u64, ...) -> i32;

Source: gpio.joule:354

const O_RDONLY: i32

Source: gpio.joule:357

const O_CLOEXEC: i32

Source: gpio.joule:358

const GPIO_GET_CHIPINFO_IOCTL: u64

Source: gpio.joule:359

struct GpiochipInfo

Source: gpio.joule:362

fn close(fd: i32) -> i32;

Source: gpio.joule:389

fn get_linux_line_info(fd: i32, offset: u32) -> Result<LineInfo, DeviceError>

Source: gpio.joule:411

fn ioctl(fd: i32, request: u64, ...) -> i32;

Source: gpio.joule:413

const GPIO_V2_GET_LINEINFO_IOCTL: u64

Source: gpio.joule:416

struct GpioV2LineInfo

Source: gpio.joule:419

const GPIO_V2_LINE_FLAG_USED: u64

Source: gpio.joule:446

const GPIO_V2_LINE_FLAG_OUTPUT: u64

Source: gpio.joule:447

const GPIO_V2_LINE_FLAG_BIAS_PULL_UP: u64

Source: gpio.joule:448

const GPIO_V2_LINE_FLAG_BIAS_PULL_DOWN: u64

Source: gpio.joule:449

const GPIO_V2_LINE_FLAG_OPEN_DRAIN: u64

Source: gpio.joule:450

const GPIO_V2_LINE_FLAG_OPEN_SOURCE: u64

Source: gpio.joule:451

fn request_linux_gpio_lines(

Source: gpio.joule:481

fn ioctl(fd: i32, request: u64, ...) -> i32;

Source: gpio.joule:488

const GPIO_V2_GET_LINE_IOCTL: u64

Source: gpio.joule:491

const GPIO_V2_LINE_FLAG_OUTPUT: u64

Source: gpio.joule:492

const GPIO_V2_LINE_FLAG_BIAS_PULL_UP: u64

Source: gpio.joule:493

const GPIO_V2_LINE_FLAG_BIAS_PULL_DOWN: u64

Source: gpio.joule:494

const GPIO_V2_LINE_FLAG_OPEN_DRAIN: u64

Source: gpio.joule:495

const GPIO_V2_LINE_FLAG_OPEN_SOURCE: u64

Source: gpio.joule:496

struct GpioV2LineRequest

Source: gpio.joule:508

struct GpioV2LineConfig

Source: gpio.joule:519

fn read_linux_gpio_value(fd: i32) -> Result<PinValue, DeviceError>

Source: gpio.joule:556

fn ioctl(fd: i32, request: u64, ...) -> i32;

Source: gpio.joule:558

const GPIO_V2_LINE_GET_VALUES_IOCTL: u64

Source: gpio.joule:561

struct GpioV2LineValues

Source: gpio.joule:564

fn write_linux_gpio_value(fd: i32, value: PinValue) -> Result<(), DeviceError>

Source: gpio.joule:583

fn ioctl(fd: i32, request: u64, ...) -> i32;

Source: gpio.joule:585

const GPIO_V2_LINE_SET_VALUES_IOCTL: u64

Source: gpio.joule:588

struct GpioV2LineValues

Source: gpio.joule:591

fn wait_linux_gpio_edge(fd: i32, _edge: Edge, timeout_ms: Option<u32>) -> Result<bool, DeviceError>

Source: gpio.joule:609

fn poll(fds: *mut PollFd, nfds: u64, timeout: i32) -> i32;

Source: gpio.joule:611

struct PollFd

Source: gpio.joule:615

const POLLIN: i16

Source: gpio.joule:621

fn set_linux_gpio_edge(_fd: i32, _edge: Edge) -> Result<(), DeviceError>

Source: gpio.joule:640

fn set_linux_gpio_debounce(_fd: i32, _debounce_us: u32) -> Result<(), DeviceError>

Source: gpio.joule:646