mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 06:33:51 +00:00 
			
		
		
		
	fix esp8266 remote_transmitter using incorrect timings (#1465)
* replace delay by delayMicroseconds in delay_microseconds_accurate * Use delay(0) to let wifi and os function run * Linting * Remove unneeded delayMicroseconds, keep it for low usec * Avoid micros() overflow issue
This commit is contained in:
		| @@ -171,15 +171,17 @@ uint8_t crc8(uint8_t *data, uint8_t len) { | ||||
|   } | ||||
|   return crc; | ||||
| } | ||||
|  | ||||
| void delay_microseconds_accurate(uint32_t usec) { | ||||
|   if (usec == 0) | ||||
|     return; | ||||
|  | ||||
|   if (usec <= 16383UL) { | ||||
|   if (usec < 5000UL) { | ||||
|     delayMicroseconds(usec); | ||||
|   } else { | ||||
|     delay(usec / 1000UL); | ||||
|     delayMicroseconds(usec % 1000UL); | ||||
|     return; | ||||
|   } | ||||
|   uint32_t start = micros(); | ||||
|   while (micros() - start < usec) { | ||||
|     delay(0); | ||||
|   } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user