blob: 538624ae76a4da7e81839337cdcacd562b730682 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#pragma once
#include <stdint.h>
#include <stddef.h>
#include "i2ctcpv1.h"
/**
* \ingroup pbc
* \defgroup pbc_i2c I2C
* \brief I2C abstraction functions
* \{
*/
/**
* \brief Fake I2C send function
*
* This function sends an I2C message to the main controller over TCP using
* \ref i2ctcp.
*
* \param addr I2C address
* \param data Data to send
* \param data_size size of \p data
*/
void i2c_send(uint16_t addr, const char * data, size_t data_size);
/**
* \brief Handle received (main -> client) I2C messages
*
* This function is called for I2C messages both sent and received by the main
* controller. This function tries to distinguish between sent/received
* messages by parsing the message data as a puzzle bus message and checking if
* the msg->sender field is equal to the main controller bus address.
*
* \param msg Transferred message
*/
void i2c_dump(const i2ctcp_msg_t * msg);
/// \}
|