ds3231 ads111x bh1750 update + I2c device desciptor

This commit is contained in:
lilian 2017-08-04 00:12:42 -03:00
parent 0654299a17
commit cfefe95fe0
12 changed files with 190 additions and 177 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
}