diff --git a/components/badge23/espan.c b/components/badge23/espan.c index f83f78f890da3cbf3cc9b03a0e6292178316a734..d510579826052870fd6d54169e2e9dc9103d5b93 100644 --- a/components/badge23/espan.c +++ b/components/badge23/espan.c @@ -63,7 +63,7 @@ void os_app_main(void) vTaskDelay(2000 / portTICK_PERIOD_MS); set_global_vol_dB(0); - //display_init(); + display_init(); while(1) { manual_captouch_readout(1); vTaskDelay((CAPTOUCH_POLLING_PERIOD) / portTICK_PERIOD_MS); diff --git a/components/gc9a01/gc9a01.c b/components/gc9a01/gc9a01.c index 4c996427d728662921555b647c8b0a37dafef64f..0870dc5eb4822f4ac0c045aa10dd1f8b7210902c 100644 --- a/components/gc9a01/gc9a01.c +++ b/components/gc9a01/gc9a01.c @@ -15,14 +15,14 @@ #include "sdkconfig.h" #include "gc9a01.h" -#if (CONFIG_GC9A01_RESET_USED) -#define RESET_HIGH() gpio_set_level(CONFIG_GC9A01_PIN_NUM_RST,1) -#define RESET_LOW() gpio_set_level(CONFIG_GC9A01_PIN_NUM_RST,0) +#if (GC9A01_RESET_USED) +#define RESET_HIGH() gpio_set_level(GC9A01_PIN_NUM_RST,1) +#define RESET_LOW() gpio_set_level(GC9A01_PIN_NUM_RST,0) #endif -#if(CONFIG_GC9A01_CONTROL_BACK_LIGHT_USED) -#define BLK_HIGH() gpio_set_level(CONFIG_GC9A01_PIN_NUM_BCKL,1) -#define BLK_LOW() gpio_set_level(CONFIG_GC9A01_PIN_NUM_BCKL,0) +#if(GC9A01_CONTROL_BACK_LIGHT_USED) +#define BLK_HIGH() gpio_set_level(GC9A01_PIN_NUM_BCKL,1) +#define BLK_LOW() gpio_set_level(GC9A01_PIN_NUM_BCKL,0) #endif #define Cmd_SLPIN 0x10 @@ -69,17 +69,17 @@ uint8_t GC9A01_X_Start = 0, GC9A01_Y_Start = 0; -#if (CONFIG_GC9A01_BUFFER_MODE) +#if (GC9A01_BUFFER_MODE) DMA_ATTR uint16_t ScreenBuff[GC9A01_Height * GC9A01_Width]; #endif //SPI Config spi_device_handle_t spi; -spi_host_device_t LCD_HOST=CONFIG_GC9A01_SPI_HOST; +spi_host_device_t LCD_HOST=GC9A01_SPI_HOST; //LEDC Config -#if(CONFIG_GC9A01_CONTROL_BACK_LIGHT_USED) -#if(CONFIG_GC9A01_CONTROL_BACK_LIGHT_MODE) +#if(GC9A01_CONTROL_BACK_LIGHT_USED) +#if(GC9A01_CONTROL_BACK_LIGHT_MODE) ledc_channel_config_t ledc_cConfig; ledc_timer_config_t ledc_tConfig; void LEDC_PWM_Duty_Set(uint8_t DutyP); @@ -151,7 +151,7 @@ static const lcd_init_cmd_t lcd_init_cmds[]={ static IRAM_ATTR void lcd_spi_pre_transfer_callback(spi_transaction_t *t) { int dc=(int)t->user; - gpio_set_level(CONFIG_GC9A01_PIN_NUM_DC, dc); + gpio_set_level(GC9A01_PIN_NUM_DC, dc); } /* Send a command to the LCD. Uses spi_device_polling_transmit, which waits @@ -223,7 +223,7 @@ uint16_t GC9A01_GetHeight() { } void GC9A01_HardReset(void) { - #if (CONFIG_GC9A01_RESET_USED) + #if (GC9A01_RESET_USED) RESET_LOW(); delay_ms(10); RESET_HIGH(); @@ -346,8 +346,8 @@ static void MemAccessModeSet(uint8_t Rotation, uint8_t VertMirror, void GC9A01_SetBL(uint8_t Value) { if (Value > 100) Value = 100; - #if(CONFIG_GC9A01_CONTROL_BACK_LIGHT_USED) - #if(CONFIG_GC9A01_CONTROL_BACK_LIGHT_MODE) + #if(GC9A01_CONTROL_BACK_LIGHT_USED) + #if(GC9A01_CONTROL_BACK_LIGHT_MODE) LEDC_PWM_Duty_Set(Value); #else if (Value) BLK_HIGH(); @@ -357,7 +357,7 @@ void GC9A01_SetBL(uint8_t Value) } //Direct Mode -#if (!CONFIG_GC9A01_BUFFER_MODE) +#if (!GC9A01_BUFFER_MODE) void GC9A01_RamWrite(uint16_t *pBuff, uint16_t Len) { @@ -466,7 +466,7 @@ void GC9A01_SetBL(uint8_t Value) static void gc9a01_GPIO_init(void) { gpio_config_t gpiocfg={ - .pin_bit_mask= ((uint64_t)1UL<<CONFIG_GC9A01_PIN_NUM_DC), + .pin_bit_mask= ((uint64_t)1UL<<GC9A01_PIN_NUM_DC), .mode=GPIO_MODE_OUTPUT, .pull_up_en=GPIO_PULLUP_DISABLE, .pull_down_en=GPIO_PULLDOWN_DISABLE, @@ -474,19 +474,19 @@ static void gc9a01_GPIO_init(void) }; gpio_config(&gpiocfg); - gpio_set_level(CONFIG_GC9A01_PIN_NUM_DC,0); + gpio_set_level(GC9A01_PIN_NUM_DC,0); - #if(CONFIG_GC9A01_RESET_USED) - gpiocfg.pin_bit_mask|=((uint64_t)1UL<<CONFIG_GC9A01_PIN_NUM_RST); + #if(GC9A01_RESET_USED) + gpiocfg.pin_bit_mask|=((uint64_t)1UL<<GC9A01_PIN_NUM_RST); gpio_config(&gpiocfg); - gpio_set_level(CONFIG_GC9A01_PIN_NUM_RST,1); + gpio_set_level(GC9A01_PIN_NUM_RST,1); #endif - #if(CONFIG_GC9A01_CONTROL_BACK_LIGHT_USED) - #if(!CONFIG_GC9A01_CONTROL_BACK_LIGHT_MODE) - gpiocfg.pin_bit_mask|=((uint64_t)1UL<<CONFIG_GC9A01_PIN_NUM_BCKL); + #if(GC9A01_CONTROL_BACK_LIGHT_USED) + #if(!GC9A01_CONTROL_BACK_LIGHT_MODE) + gpiocfg.pin_bit_mask|=((uint64_t)1UL<<GC9A01_PIN_NUM_BCKL); gpio_config(&gpiocfg); - gpio_set_level(CONFIG_GC9A01_PIN_NUM_BCKL,0); + gpio_set_level(GC9A01_PIN_NUM_BCKL,0); #endif #endif @@ -496,17 +496,17 @@ void gc9a01_SPI_init(void) { esp_err_t ret; spi_bus_config_t buscfg={ - .mosi_io_num=CONFIG_GC9A01_PIN_NUM_MOSI, + .mosi_io_num=GC9A01_PIN_NUM_MOSI, .miso_io_num=GPIO_NUM_NC, - .sclk_io_num=CONFIG_GC9A01_PIN_NUM_SCK, + .sclk_io_num=GC9A01_PIN_NUM_SCK, .quadwp_io_num=-1, .quadhd_io_num=-1, .max_transfer_sz=250*250*2, }; spi_device_interface_config_t devcfg={ - .clock_speed_hz=CONFIG_GC9A01_SPI_SCK_FREQ_M*1000*1000, + .clock_speed_hz=GC9A01_SPI_SCK_FREQ_M*1000*1000, .mode=0, - .spics_io_num=CONFIG_GC9A01_PIN_NUM_CS, + .spics_io_num=GC9A01_PIN_NUM_CS, .queue_size=7, .pre_cb=lcd_spi_pre_transfer_callback, }; @@ -518,8 +518,8 @@ void gc9a01_SPI_init(void) ESP_ERROR_CHECK(ret); } -#if(CONFIG_GC9A01_CONTROL_BACK_LIGHT_USED) -#if(CONFIG_GC9A01_CONTROL_BACK_LIGHT_MODE) +#if(GC9A01_CONTROL_BACK_LIGHT_USED) +#if(GC9A01_CONTROL_BACK_LIGHT_MODE) void LEDC_PWM_Duty_Set(uint8_t DutyP) { uint16_t Duty,MaxD; @@ -537,7 +537,7 @@ void LEDC_PWM_Duty_Set(uint8_t DutyP) void LEDC_Channel_Config(void) { - ledc_cConfig.gpio_num=CONFIG_GC9A01_PIN_NUM_BCKL; + ledc_cConfig.gpio_num=GC9A01_PIN_NUM_BCKL; ledc_cConfig.speed_mode=LEDC_LOW_SPEED_MODE; ledc_cConfig.channel=LEDC_CHANNEL_0; ledc_cConfig.intr_type=LEDC_INTR_DISABLE; @@ -570,14 +570,14 @@ void GC9A01_Init() gc9a01_GPIO_init(); gc9a01_SPI_init(); - #if(CONFIG_GC9A01_CONTROL_BACK_LIGHT_USED) - #if(CONFIG_GC9A01_CONTROL_BACK_LIGHT_MODE) + #if(GC9A01_CONTROL_BACK_LIGHT_USED) + #if(GC9A01_CONTROL_BACK_LIGHT_MODE) LEDC_Timer_Config(); LEDC_Channel_Config(); #endif #endif - #if(CONFIG_GC9A01_RESET_USED) + #if(GC9A01_RESET_USED) GC9A01_HardReset(); #endif @@ -603,18 +603,18 @@ void GC9A01_Init() GC9A01_DisplayPower(1); delay_ms(20); - #if(CONFIG_GC9A01_BUFFER_MODE) + #if(GC9A01_BUFFER_MODE) GC9A01_Clear(); GC9A01_Update(); delay_ms(30); #endif - #if(CONFIG_GC9A01_CONTROL_BACK_LIGHT_USED) + #if(GC9A01_CONTROL_BACK_LIGHT_USED) GC9A01_SetBL(100); #endif } -#if(CONFIG_GC9A01_BUFFER_MODE) +#if(GC9A01_BUFFER_MODE) void GC9A01_Screen_Shot(uint16_t x,uint16_t y,uint16_t width ,uint16_t height,uint16_t * Buffer) { uint16_t i,j; @@ -622,7 +622,7 @@ void GC9A01_Screen_Shot(uint16_t x,uint16_t y,uint16_t width ,uint16_t height,ui { for(j=0;j<width;j++) { - #if(!CONFIG_GC9A01_BUFFER_SCREEN_FAST_MODE) + #if(!GC9A01_BUFFER_SCREEN_FAST_MODE) Buffer[i*width+j]=GC9A01_GetPixel(x+j,y+i); #else Buffer[i*width+j]=ScreenBuff[((y+i) * GC9A01_Width )+ (x+j)]; @@ -637,7 +637,7 @@ void GC9A01_Screen_Load(uint16_t x,uint16_t y,uint16_t width ,uint16_t height,ui { for(j=0;j<width;j++) { - #if(!CONFIG_GC9A01_BUFFER_SCREEN_FAST_MODE) + #if(!GC9A01_BUFFER_SCREEN_FAST_MODE) GC9A01_DrawPixel(x+j,y+i,Buffer[i*width+j]); #else ScreenBuff[((y+i) * GC9A01_Width )+ (x+j)] = Buffer[i*width+j]; diff --git a/components/gc9a01/gc9a01.h b/components/gc9a01/gc9a01.h index c349bc08e46009cc34fc023376efcab0788edfd4..df12c2632dedf8ef98b66504385298d1e77a0a1e 100644 --- a/components/gc9a01/gc9a01.h +++ b/components/gc9a01/gc9a01.h @@ -7,10 +7,43 @@ #include "sdkconfig.h" #include <stdint.h> +#include "../../revision_config.h" -#define GC9A01_Width CONFIG_GC9A01_Width -#define GC9A01_Height CONFIG_GC9A01_Height +#ifdef CONFIG_GC9A01_PIN_NUM_MOSI +#warning "idf menuconfig is ignored for display config, it breaks hardware revision switching atm" +#endif + +#ifdef HARDWARE_REVISION_01 +#define USE_SPI3_HOST 1 +#define GC9A01_SPI_HOST 2 +#define GC9A01_PIN_NUM_SCK 39 +#define GC9A01_PIN_NUM_MOSI 41 +#define GC9A01_PIN_NUM_CS 40 +#define GC9A01_PIN_NUM_DC 42 +#define GC9A01_SPI_SCK_FREQ_M 80 +#define GC9A01_RESET_USED 1 +#define GC9A01_PIN_NUM_RST 38 +#define GC9A01_BUFFER_MODE 1 +#endif + +#ifdef HARDWARE_REVISION_04 +#define USE_SPI3_HOST 1 +#define GC9A01_SPI_HOST 2 +#define GC9A01_PIN_NUM_SCK 41 +#define GC9A01_PIN_NUM_MOSI 42 +#define GC9A01_PIN_NUM_CS 40 +#define GC9A01_PIN_NUM_DC 38 +#define GC9A01_SPI_SCK_FREQ_M 80 +#define GC9A01_CONTROL_BACK_LIGHT_USED 1 +#define GC9A01_PIN_NUM_BCKL 46 +#define GC9A01_BACK_LIGHT_MODE_PWM 1 +#define GC9A01_CONTROL_BACK_LIGHT_MODE 1 +#define GC9A01_BUFFER_MODE 1 +#endif + +#define GC9A01_Width 240 +#define GC9A01_Height 240 extern uint16_t ScreenBuff[GC9A01_Height * GC9A01_Width];