BME680 optimizations

This commit is contained in:
Klaus K Wilting 2018-12-22 21:40:43 +01:00
parent 2940561c26
commit b328dd61a0
2 changed files with 12 additions and 16 deletions

View File

@ -101,34 +101,28 @@ void bme_loop(void *pvParameters) {
int8_t i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data,
uint16_t len) {
int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */
uint16_t i;
int8_t rslt = 0;
Wire.beginTransmission(dev_id);
Wire.write(reg_addr);
rslt = Wire.endTransmission();
rslt = Wire.endTransmission(false);
Wire.requestFrom((int)dev_id, (int)len);
for (i = 0; (i < len) && Wire.available(); i++) {
for (uint16_t i = 0; (i < len) && Wire.available(); i++) {
reg_data[i] = Wire.read();
}
// return 0 for success, non-zero for failure
return rslt;
}
int8_t i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data,
uint16_t len) {
int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */
uint16_t i;
Wire.beginTransmission(dev_id);
Wire.write(reg_addr);
for (i = 0; i < len; i++) {
for (uint16_t i = 0; i < len; i++) {
Wire.write(reg_data[i]);
}
rslt = Wire.endTransmission();
return rslt;
// return 0 for success, non-zero for failure
return Wire.endTransmission(true);
}
/*!

View File

@ -35,9 +35,11 @@ IDLE 0 0 ESP32 arduino scheduler -> runs wifi sniffer
looptask 1 1 arduino core -> runs the LMIC LoRa stack
irqhandler 1 1 executes tasks triggered by irq
gpsloop 1 2 reads data from GPS via serial or i2c
bmeloop 1 2 reads data from BME sensor via i2c
bmeloop 1 0 reads data from BME sensor via i2c
IDLE 1 0 ESP32 arduino scheduler
Low priority numbers denote low priority tasks.
ESP32 hardware timers
==========================
0 Trigger display refresh
@ -239,7 +241,7 @@ void setup() {
"bmeloop", // name of task
4096, // stack size of task
(void *)1, // parameter of the task
2, // priority of the task
0, // priority of the task
&BmeTask, // task handle
1); // CPU core
}
@ -331,7 +333,7 @@ void setup() {
ESP_LOGI(TAG, "Starting IRQ Handler...");
xTaskCreatePinnedToCore(irqHandler, // task function
"irqhandler", // name of task
2048, // stack size of task
4096, // stack size of task
(void *)1, // parameter of the task
1, // priority of the task
&irqHandlerTask, // task handle