class Fusb302Signals

Defined at line 32 of file ../../src/devices/power/drivers/fusb302/fusb302-signals.h

Owns the device's Interrupt* and Mask* registers.

This class manages the FUSB302's interrupt unit. It dispatches low-level

actions directly to the classes managing FIFOs and sensors, and reports

high-level signals interpreted by state machines.

Public Methods

void Fusb302Signals (fidl::ClientEnd<fuchsia_hardware_i2c::Device> & i2c_channel, Fusb302Sensors & sensors, Fusb302Protocol & protocol)

`i2c_channel`, `sensors` and `protocol` must remain alive throughout the new

instance's lifetime.

Defined at line 26 of file ../../src/devices/power/drivers/fusb302/fusb302-signals.cc

HardwareStateChanges ServiceInterrupts ()

Services all pending FUSB302 interrupts.

Returns information about interrupt post-processing.

Defined at line 36 of file ../../src/devices/power/drivers/fusb302/fusb302-signals.cc

void Fusb302Signals (const Fusb302Signals & )

Defined at line 39 of file ../../src/devices/power/drivers/fusb302/fusb302-signals.h

Fusb302Signals & operator= (const Fusb302Signals & )

Defined at line 40 of file ../../src/devices/power/drivers/fusb302/fusb302-signals.h

void ~Fusb302Signals ()

Trivially destructible.

Defined at line 43 of file ../../src/devices/power/drivers/fusb302/fusb302-signals.h

zx::result<> InitInterruptUnit ()

Configure interrupt masks to receive the interrupts we can service.

Must be called after issuing a software reset to the FUSB302 chip, before

enabling interrupts.

On success, all pending interrupts are flushed. Logs an ERROR on failure.

Defined at line 142 of file ../../src/devices/power/drivers/fusb302/fusb302-signals.cc