You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.1 KiB
62 lines
1.1 KiB
#include "bh1750.h"
|
|
|
|
|
|
|
|
Bh1750::Bh1750(i2c_ch1_pImpL *i2c)
|
|
{
|
|
i2c_bh1750 = i2c;
|
|
currentMode = 0; // no mode selected
|
|
}
|
|
|
|
uint8_t Bh1750::sleep()
|
|
{
|
|
i2c_bh1750->writeByte(BH1750_ADDR,BH1750_POWER_DOWN);
|
|
return 0;
|
|
}
|
|
|
|
uint8_t Bh1750::wake()
|
|
{
|
|
i2c_bh1750->writeByte(BH1750_ADDR,BH1750_POWER_ON);
|
|
return 0;
|
|
}
|
|
|
|
uint8_t Bh1750::reset()
|
|
{
|
|
i2c_bh1750->writeByte(BH1750_ADDR,BH1750_RESET);
|
|
return 0;
|
|
}
|
|
|
|
|
|
float Bh1750::oneShot(uint8_t mode)
|
|
{
|
|
if(mode > 0)
|
|
{
|
|
if( mode == BH1750_ONE_TIME_HIGH_RES_MODE_1 ||
|
|
mode == BH1750_ONE_TIME_HIGH_RES_MODE_2 ||
|
|
mode == BH1750_ONE_TIME_LOW_RES_MODE)
|
|
{
|
|
return i2c_bh1750->readWord(BH1750_ADDR,mode) / 1.2 ;
|
|
|
|
}
|
|
}
|
|
std::cout<< "please seelct a one shot mode "<< std::endl;
|
|
exit(1);
|
|
return 0;
|
|
}
|
|
|
|
float Bh1750::continious(uint8_t mode, uint8_t delayMs)
|
|
{
|
|
if(mode > 0)
|
|
{
|
|
if( mode == BH1750_CONTINUOUS_HIGH_RES_MODE_1 ||
|
|
mode == BH1750_CONTINUOUS_HIGH_RES_MODE_2 ||
|
|
mode == BH1750_CONTINUOUS_LOW_RES_MODE)
|
|
{
|
|
return i2c_bh1750->readWord(BH1750_ADDR,mode) / 1.2;
|
|
}
|
|
}
|
|
std::cout<< "please seelct a continious mode "<< std::endl;
|
|
exit(1);
|
|
return 0;
|
|
}
|