mirror of https://github.com/rusefi/ChibiOS.git
I2C. Commets in examples changed to /**/
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/i2c_dev@3077 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
d2b62026fc
commit
73ce7b4fe0
|
@ -165,8 +165,8 @@ struct I2CDriver{
|
|||
|
||||
size_t txbytes; /*!< Number of bytes to be transmitted. */
|
||||
size_t rxbytes; /*!< Number of bytes to be received. */
|
||||
uint8_t *rxbuff_p; /*!< Pointer to the current byte in slave rx buffer. */
|
||||
uint8_t *txbuff_p; /*!< Pointer to the current byte in slave tx buffer. */
|
||||
uint8_t *rxbuff_p; /*!< Pointer to the current byte in slave rx buffer. */
|
||||
uint8_t *txbuff_p; /*!< Pointer to the current byte in slave tx buffer. */
|
||||
|
||||
i2cflags_t errors; /*!< Error flags.*/
|
||||
i2cflags_t flags; /*!< State flags.*/
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#include "lis3.h"
|
||||
|
||||
|
||||
// buffers
|
||||
/* buffers */
|
||||
static i2cblock_t accel_rx_data[ACCEL_RX_DEPTH];
|
||||
static i2cblock_t accel_tx_data[ACCEL_TX_DEPTH];
|
||||
|
||||
|
@ -64,7 +64,7 @@ static msg_t I2CAccelThread(void *arg) {
|
|||
/* This callback raise up when transfer finished */
|
||||
static void i2c_lis3_cb(I2CDriver *i2cp, const I2CSlaveConfig *i2cscfg){
|
||||
(void) i2cp;
|
||||
// only wake up processing thread
|
||||
/* only wake up processing thread */
|
||||
if (i2c_accel_tp != NULL) {
|
||||
i2c_accel_tp->p_msg = (msg_t)i2cscfg;
|
||||
chSchReadyI(i2c_accel_tp);
|
||||
|
@ -73,7 +73,7 @@ static void i2c_lis3_cb(I2CDriver *i2cp, const I2CSlaveConfig *i2cscfg){
|
|||
}
|
||||
|
||||
|
||||
// Accelerometer lis3lv02dq config
|
||||
/* Accelerometer lis3lv02dq config */
|
||||
static const I2CSlaveConfig lis3 = {
|
||||
i2c_lis3_cb,
|
||||
i2c_lis3_error_cb,
|
||||
|
@ -103,10 +103,10 @@ int init_lis3(void){
|
|||
chThdSleepMilliseconds(1);
|
||||
|
||||
#define TXBYTES 4
|
||||
#define RXBYTES 0 //set to 0 because we need only transmit
|
||||
#define RXBYTES 0 /* set to 0 because we need only transmit */
|
||||
|
||||
/* configure accelerometer */
|
||||
lis3.txbuf[0] = ACCEL_CTRL_REG1 | AUTO_INCREMENT_BIT; // register address
|
||||
lis3.txbuf[0] = ACCEL_CTRL_REG1 | AUTO_INCREMENT_BIT; /* register address */
|
||||
lis3.txbuf[1] = 0b11100111;
|
||||
lis3.txbuf[2] = 0b01000001;
|
||||
lis3.txbuf[3] = 0b00000000;
|
||||
|
|
|
@ -10,10 +10,10 @@
|
|||
|
||||
#include "max1236.h"
|
||||
|
||||
// Data buffers
|
||||
/* Data buffers */
|
||||
static i2cblock_t max1236_rx_data[MAX1236_RX_DEPTH];
|
||||
static i2cblock_t max1236_tx_data[MAX1236_TX_DEPTH];
|
||||
// ADC results
|
||||
/* ADC results */
|
||||
static uint16_t ch1 = 0, ch2 = 0, ch3 = 0, ch4 = 0;
|
||||
|
||||
|
||||
|
@ -37,7 +37,7 @@ static void i2c_max1236_cb(I2CDriver *i2cp, const I2CSlaveConfig *i2cscfg){
|
|||
}
|
||||
|
||||
|
||||
// ADC maxim MAX1236 config
|
||||
/* ADC maxim MAX1236 config */
|
||||
|
||||
static const I2CSlaveConfig max1236 = {
|
||||
i2c_max1236_cb,
|
||||
|
@ -56,11 +56,11 @@ void init_max1236(void){
|
|||
/* this data we must send via IC to setup ADC */
|
||||
#define RXBYTES 0
|
||||
#define TXBYTES 2
|
||||
max1236.txbuf[0] = 0b10000011; // config register content. Consult datasheet
|
||||
max1236.txbuf[1] = 0b00000111; // config register content. Consult datasheet
|
||||
max1236.txbuf[0] = 0b10000011; /* config register content. Consult datasheet */
|
||||
max1236.txbuf[1] = 0b00000111; /* config register content. Consult datasheet */
|
||||
|
||||
|
||||
// transmit out 2 bytes
|
||||
/* transmit out 2 bytes */
|
||||
i2cAcquireBus(&I2CD2);
|
||||
i2cMasterTransmit(&I2CD2, &max1236, max1236_addr, TXBYTES, RXBYTES);
|
||||
while(I2CD2.id_state != I2C_READY){
|
||||
|
|
|
@ -12,13 +12,13 @@
|
|||
#include "tmp75.h"
|
||||
|
||||
|
||||
// input buffer
|
||||
/* input buffer */
|
||||
static i2cblock_t tmp75_rx_data[TMP75_RX_DEPTH];
|
||||
static i2cblock_t tmp75_tx_data[TMP75_TX_DEPTH];
|
||||
// temperature value
|
||||
/* temperature value */
|
||||
static int16_t temperature = 0;
|
||||
|
||||
// Simple error trap
|
||||
/* Simple error trap */
|
||||
static void i2c_tmp75_error_cb(I2CDriver *i2cp, const I2CSlaveConfig *i2cscfg){
|
||||
(void)i2cscfg;
|
||||
int status = 0;
|
||||
|
@ -33,7 +33,7 @@ static void i2c_tmp75_cb(I2CDriver *i2cp, const I2CSlaveConfig *i2cscfg){
|
|||
temperature = (i2cscfg->rxbuf[0] << 8) + i2cscfg->rxbuf[1];
|
||||
}
|
||||
|
||||
// Fill TMP75 config.
|
||||
/* Fill TMP75 config. */
|
||||
static const I2CSlaveConfig tmp75 = {
|
||||
i2c_tmp75_cb,
|
||||
i2c_tmp75_error_cb,
|
||||
|
@ -45,8 +45,8 @@ static const I2CSlaveConfig tmp75 = {
|
|||
|
||||
/* This is main function. */
|
||||
void request_temperature(void){
|
||||
#define TXBYTES 0 // set to zero because we need only reading
|
||||
#define RXBYTES 2 // we need to read 2 bytes
|
||||
#define TXBYTES 0 /* set to zero because we need only reading */
|
||||
#define RXBYTES 2 /* we need to read 2 bytes */
|
||||
|
||||
i2cAcquireBus(&I2CD2);
|
||||
i2cMasterReceive(&I2CD2, &tmp75, tmp75_addr, RXBYTES);
|
||||
|
|
Loading…
Reference in New Issue