ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_usb_phid_state_t Struct Reference

Singleton shadow state for the device-HID function. More...

Collaboration diagram for ra8_usb_phid_state_t:

Data Fields

bool initialized
 True after ra8_usb_phid_init.
ra8_usb_speed_t speed
 Underlying controller.
uint8_t intr_in_ep
 IN endpoint number.
uint8_t intr_out_ep
 OUT endpoint number.
uint16_t intr_max_packet
 Pipe max-packet size.
const uint8_t * report_desc
 Cached Report descriptor.
uint16_t report_desc_len
 Report descriptor byte len.
const uint8_t * hid_desc
 Cached HID class descriptor.
uint16_t hid_desc_len
 HID class descriptor byte len.
uint8_t idle_rate
 4 ms ticks (0 = on-change).
ra8_usb_phid_protocol_select_t protocol
 Boot vs report.
ra8_usb_phid_setup_fn_t setup_cb
 Application class handler.
void * setup_ctx
 Class handler context.

Detailed Description

Singleton shadow state for the device-HID function.

Tracks descriptor pointers, endpoint numbers, idle rate (set by SET_IDLE), protocol (boot vs report, set by SET_PROTOCOL), and the application's class-setup callback. The device-side state machine is intentionally request-driven; there is no enumeration step counter (the host drives that).

Definition at line 98 of file ra8_usb_phid.c.

Field Documentation

◆ hid_desc

const uint8_t* ra8_usb_phid_state_t::hid_desc

Cached HID class descriptor.

Definition at line 106 of file ra8_usb_phid.c.

◆ hid_desc_len

uint16_t ra8_usb_phid_state_t::hid_desc_len

HID class descriptor byte len.

Definition at line 107 of file ra8_usb_phid.c.

◆ idle_rate

uint8_t ra8_usb_phid_state_t::idle_rate

4 ms ticks (0 = on-change).

Definition at line 108 of file ra8_usb_phid.c.

◆ initialized

bool ra8_usb_phid_state_t::initialized

True after ra8_usb_phid_init.

Definition at line 99 of file ra8_usb_phid.c.

◆ intr_in_ep

uint8_t ra8_usb_phid_state_t::intr_in_ep

IN endpoint number.

Definition at line 101 of file ra8_usb_phid.c.

◆ intr_max_packet

uint16_t ra8_usb_phid_state_t::intr_max_packet

Pipe max-packet size.

Definition at line 103 of file ra8_usb_phid.c.

◆ intr_out_ep

uint8_t ra8_usb_phid_state_t::intr_out_ep

OUT endpoint number.

Definition at line 102 of file ra8_usb_phid.c.

◆ protocol

ra8_usb_phid_protocol_select_t ra8_usb_phid_state_t::protocol

Boot vs report.

Definition at line 109 of file ra8_usb_phid.c.

◆ report_desc

const uint8_t* ra8_usb_phid_state_t::report_desc

Cached Report descriptor.

Definition at line 104 of file ra8_usb_phid.c.

◆ report_desc_len

uint16_t ra8_usb_phid_state_t::report_desc_len

Report descriptor byte len.

Definition at line 105 of file ra8_usb_phid.c.

◆ setup_cb

ra8_usb_phid_setup_fn_t ra8_usb_phid_state_t::setup_cb

Application class handler.

Definition at line 110 of file ra8_usb_phid.c.

◆ setup_ctx

void* ra8_usb_phid_state_t::setup_ctx

Class handler context.

Definition at line 111 of file ra8_usb_phid.c.

◆ speed

ra8_usb_speed_t ra8_usb_phid_state_t::speed

Underlying controller.

Definition at line 100 of file ra8_usb_phid.c.


The documentation for this struct was generated from the following file: