Module capsules::i2c_master_slave_driver [] [src]

Provides both an I2C Master and I2C Slave interface to userspace.

By calling listen this module will wait for I2C messages send to it by other masters on the I2C bus. If this device wants to transmit as an I2C master, this module will put the I2C hardware in master mode, transmit the read/write, then go back to listening (if listening was enabled).

This capsule must sit directly above the I2C HIL interface (and not on top of the mux) because there is no way to mux the slave (it can't listen on more than one address) and because the application may want to be able to talk to any I2C address.

Reexports

use core::cell::Cell;
use core::cmp;
use kernel::AppId;
use kernel::AppSlice;
use kernel::Callback;
use kernel::Driver;
use kernel::Shared;
use kernel::ReturnCode;
use kernel::common::take_cell::MapCell;
use kernel::common::take_cell::TakeCell;
use kernel::hil;

Structs

App
I2CMasterSlaveDriver

Enums

MasterAction

Statics

BUFFER1
BUFFER2
BUFFER3