openMMC
Open Source Modular MMC for AMCs
Loading...
Searching...
No Matches
i2c.c File Reference
#include "FreeRTOS.h"
#include "port.h"
#include "i2c.h"
#include "i2c_mapping.h"
Include dependency graph for i2c.c:

Functions

void i2c_init (void)
 Initialize peripheral I2C buses.
 
bool i2c_take_by_busid (uint8_t bus_id, uint8_t *i2c_interface, TickType_t timeout)
 
bool i2c_take_by_chipid (uint8_t chip_id, uint8_t *i2c_address, uint8_t *i2c_interface, uint32_t timeout)
 
void i2c_give (uint8_t i2c_interface)
 Release the previously gained I2C bus.
 

Function Documentation

◆ i2c_give()

void i2c_give ( uint8_t i2c_interface)

Release the previously gained I2C bus.

Parameters
i2c_interfacePhysical I2C bus ID

◆ i2c_init()

void i2c_init ( void )

Initialize peripheral I2C buses.

This function initializes all buses listed on the i2c_mux table, configuring the controller hardware and creating a binary semaphore for each.

◆ i2c_take_by_busid()

bool i2c_take_by_busid ( uint8_t bus_id,
uint8_t * i2c_interface,
TickType_t timeout )

◆ i2c_take_by_chipid()

bool i2c_take_by_chipid ( uint8_t chip_id,
uint8_t * i2c_address,
uint8_t * i2c_interface,
uint32_t timeout )