I2C bus upgrade (#432)
This commit is contained in:
parent
d100f42b1f
commit
b83c2629b9
56 changed files with 909 additions and 804 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue