mirror of
				https://github.com/meshtastic/firmware.git
				synced 2025-10-29 23:54:41 +00:00 
			
		
		
		
	 475cfe4af2
			
		
	
	
		475cfe4af2
		
			
		
	
	
	
		
			
	
		
	
	
		
			Some checks are pending
		
		
	
	CI / setup (check) (push) Waiting to run
				
			CI / setup (esp32) (push) Waiting to run
				
			CI / setup (esp32c3) (push) Waiting to run
				
			CI / setup (esp32c6) (push) Waiting to run
				
			CI / setup (esp32s3) (push) Waiting to run
				
			CI / setup (nrf52840) (push) Waiting to run
				
			CI / setup (rp2040) (push) Waiting to run
				
			CI / setup (stm32) (push) Waiting to run
				
			CI / check (push) Blocked by required conditions
				
			CI / build-esp32 (push) Blocked by required conditions
				
			CI / build-esp32-s3 (push) Blocked by required conditions
				
			CI / build-esp32-c3 (push) Blocked by required conditions
				
			CI / build-esp32-c6 (push) Blocked by required conditions
				
			CI / build-nrf52 (push) Blocked by required conditions
				
			CI / build-rpi2040 (push) Blocked by required conditions
				
			CI / build-stm32 (push) Blocked by required conditions
				
			CI / build-debian-src (push) Waiting to run
				
			CI / package-pio-deps-native-tft (push) Waiting to run
				
			CI / test-native (push) Waiting to run
				
			CI / docker-deb-amd64 (push) Waiting to run
				
			CI / docker-deb-amd64-tft (push) Waiting to run
				
			CI / docker-alp-amd64 (push) Waiting to run
				
			CI / docker-alp-amd64-tft (push) Waiting to run
				
			CI / docker-deb-arm64 (push) Waiting to run
				
			CI / docker-deb-armv7 (push) Waiting to run
				
			CI / gather-artifacts (esp32) (push) Blocked by required conditions
				
			CI / gather-artifacts (esp32c3) (push) Blocked by required conditions
				
			CI / gather-artifacts (esp32c6) (push) Blocked by required conditions
				
			CI / gather-artifacts (esp32s3) (push) Blocked by required conditions
				
			CI / gather-artifacts (nrf52840) (push) Blocked by required conditions
				
			CI / gather-artifacts (rp2040) (push) Blocked by required conditions
				
			CI / gather-artifacts (stm32) (push) Blocked by required conditions
				
			CI / release-artifacts (push) Blocked by required conditions
				
			CI / release-firmware (esp32) (push) Blocked by required conditions
				
			CI / release-firmware (esp32c3) (push) Blocked by required conditions
				
			CI / release-firmware (esp32c6) (push) Blocked by required conditions
				
			CI / release-firmware (esp32s3) (push) Blocked by required conditions
				
			CI / release-firmware (nrf52840) (push) Blocked by required conditions
				
			CI / release-firmware (rp2040) (push) Blocked by required conditions
				
			CI / release-firmware (stm32) (push) Blocked by required conditions
				
			CI / publish-firmware (push) Blocked by required conditions
				
			
		
			
				
	
	
		
			35 lines
		
	
	
		
			836 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			836 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include "configuration.h"
 | |
| 
 | |
| enum class EInkDetectionResult : uint8_t {
 | |
|     LCMEN213EFC1 = 0, // V1.1
 | |
|     E0213A367 = 1,    // V1.1.1, V1.2
 | |
| };
 | |
| 
 | |
| EInkDetectionResult detectEInk()
 | |
| {
 | |
|     // Test 1: Logic of BUSY pin
 | |
| 
 | |
|     // Determines controller IC manufacturer
 | |
|     // Fitipower: busy when LOW
 | |
|     // Solomon Systech: busy when HIGH
 | |
| 
 | |
|     // Force display BUSY by holding reset pin active
 | |
|     pinMode(PIN_EINK_RES, OUTPUT);
 | |
|     digitalWrite(PIN_EINK_RES, LOW);
 | |
| 
 | |
|     delay(10);
 | |
| 
 | |
|     // Read whether pin is HIGH or LOW while busy
 | |
|     pinMode(PIN_EINK_BUSY, INPUT);
 | |
|     bool busyLogic = digitalRead(PIN_EINK_BUSY);
 | |
| 
 | |
|     // Test complete. Release pin
 | |
|     pinMode(PIN_EINK_RES, INPUT);
 | |
| 
 | |
|     if (busyLogic == LOW)
 | |
|         return EInkDetectionResult::LCMEN213EFC1;
 | |
|     else // busy HIGH
 | |
|         return EInkDetectionResult::E0213A367;
 | |
| } |