34 #include <linux/i2c-dev.h> 99 int result =
close(bus);
127 return ioctl(
sensor_bus, I2C_SLAVE, device_address);
149 "List of available ambient sensors:\n\t- ";
152 int sensor_count = 0;
155 int mutli_channel_initialized = -1;
159 if (sensor_registry[i].
identifier != mutli_channel_initialized) {
167 sensors_available[i] = sensor_registry[i].
identifier;
168 mutli_channel_initialized = sensor_registry[i].
identifier;
172 strcat(message, sensor_registry[i].
name);
173 strcat(message,
"\n\t- ");
176 sensors_available[i] = -1;
177 mutli_channel_initialized = -1;
182 if (sensor_count == 0) {
185 message[strlen(message) - 3] = 0;
187 printf(
"\n\n%s\n", message);
199 if (sensors_available[i] >= 0) {
void Sensors_close(int sensors_available[])
int TSL4531_init(int sensor_identifier)
int BME280_read(int sensor_identifier)
Degree celcius (temperature)
int BME280_init(int sensor_identifier)
#define BME280_CHANNEL_PRESSURE
#define SENSOR_REGISTRY_SIZE
Number of sensor registred.
void Sensors_closeSharedBus(void)
void rl_log(rl_log_type type, const char *format,...)
char name[SENSOR_NAME_LENGTH]
#define MAX_MESSAGE_LENGTH
int Sensors_initSharedComm(uint8_t device_address)
int Sensors_getSharedBus(void)
int32_t TSL4531_getValue(int sensor_identifier, int channel)
#define BME280_CHANNEL_TEMPERATURE
#define TSL4531_CHANNEL_DEFAULT
int Sensors_scan(int sensors_available[])
const struct rl_sensor sensor_registry[SENSOR_REGISTRY_SIZE]
int TSL4531_read(int sensor_identifier)
#define TSL4531_I2C_ADDRESS_RIGHT
int Sensors_openBus(void)
#define TSL4531_I2C_ADDRESS_LEFT
#define BME280_CHANNEL_HUMIDITY
Integer channel (numeric)
void BME280_close(int sensor_identifier)
void TSL4531_close(int sensor_identifier)
int32_t BME280_getValue(int sensor_identifier, int channel)
#define BME280_I2C_ADDRESS_LEFT
int Sensors_closeBus(int bus)
int Sensors_initSharedBus(void)