BME680 optimizations
This commit is contained in:
		
							parent
							
								
									2940561c26
								
							
						
					
					
						commit
						b328dd61a0
					
				| @ -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); | ||||
| } | ||||
| 
 | ||||
| /*!
 | ||||
|  | ||||
| @ -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
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user