I2C bus upgrade (#432)

This commit is contained in:
Zaltora 2017-09-01 06:29:32 -03:00 committed by Ruslan V. Uss
parent d100f42b1f
commit b83c2629b9
56 changed files with 909 additions and 804 deletions

View file

@ -6,20 +6,19 @@
* BSD Licensed as described in the file LICENSE
*/
#include "bh1750.h"
#include <i2c/i2c.h>
#include <stdio.h>
void bh1750_configure(uint8_t addr, uint8_t mode)
void bh1750_configure(i2c_dev_t *dev, uint8_t mode)
{
i2c_slave_write(addr, NULL, &mode, 1);
i2c_slave_write(dev->bus, dev->addr, NULL, &mode, 1);
}
uint16_t bh1750_read(uint8_t addr)
uint16_t bh1750_read(i2c_dev_t *dev)
{
uint8_t buf[2];
uint16_t level;
i2c_slave_read(addr, NULL, buf, 2);
i2c_slave_read(dev->bus, dev->addr, NULL, buf, 2);
level = buf[0] << 8 | buf[1];
level = (level * 10) / 12; // convert to LUX

View file

@ -13,6 +13,7 @@
#include <stdint.h>
#include <stdbool.h>
#include <time.h>
#include <i2c/i2c.h>
#ifdef __cplusplus
extern "C" {
@ -65,7 +66,7 @@ extern "C" {
*
* Example: BH1750_ADDR_LO, BH1750_CONTINUOUS_MODE | BH1750_HIGH_RES_MODE
*/
void bh1750_configure(uint8_t addr, uint8_t mode);
void bh1750_configure(i2c_dev_t *dev, uint8_t mode);
/**
* Read LUX value from the device.
@ -73,7 +74,7 @@ void bh1750_configure(uint8_t addr, uint8_t mode);
* @param addr Device address
* @returns read value in lux units
*/
uint16_t bh1750_read(uint8_t addr);
uint16_t bh1750_read(i2c_dev_t *dev);
#ifdef __cplusplus
}