604 |
604 |
605 //================== |
605 //================== |
606 void stmpe610_Init() |
606 void stmpe610_Init() |
607 { |
607 { |
608 stmpe610_write_reg(STMPE610_REG_SYS_CTRL1, 0x02); // Software chip reset |
608 stmpe610_write_reg(STMPE610_REG_SYS_CTRL1, 0x02); // Software chip reset |
609 vTaskDelay(10 / portTICK_RATE_MS); |
609 vTaskDelay(10 / portTICK_PERIOD_MS); |
610 |
610 |
611 stmpe610_write_reg(STMPE610_REG_SYS_CTRL2, 0x04); // Temperature sensor clock off, GPIO clock off, touch clock on, ADC clock on |
611 stmpe610_write_reg(STMPE610_REG_SYS_CTRL2, 0x04); // Temperature sensor clock off, GPIO clock off, touch clock on, ADC clock on |
612 |
612 |
613 stmpe610_write_reg(STMPE610_REG_INT_EN, 0x00); // Don't Interrupt on INT pin |
613 stmpe610_write_reg(STMPE610_REG_INT_EN, 0x00); // Don't Interrupt on INT pin |
614 |
614 |
615 stmpe610_write_reg(STMPE610_REG_ADC_CTRL1, 0x48); // ADC conversion time = 80 clock ticks, 12-bit ADC, internal voltage refernce |
615 stmpe610_write_reg(STMPE610_REG_ADC_CTRL1, 0x48); // ADC conversion time = 80 clock ticks, 12-bit ADC, internal voltage refernce |
616 vTaskDelay(2 / portTICK_RATE_MS); |
616 vTaskDelay(2 / portTICK_PERIOD_MS); |
617 stmpe610_write_reg(STMPE610_REG_ADC_CTRL2, 0x01); // ADC speed 3.25MHz |
617 stmpe610_write_reg(STMPE610_REG_ADC_CTRL2, 0x01); // ADC speed 3.25MHz |
618 stmpe610_write_reg(STMPE610_REG_GPIO_AF, 0x00); // GPIO alternate function - OFF |
618 stmpe610_write_reg(STMPE610_REG_GPIO_AF, 0x00); // GPIO alternate function - OFF |
619 stmpe610_write_reg(STMPE610_REG_TSC_CFG, 0xE3); // Averaging 8, touch detect delay 1ms, panel driver settling time 1ms |
619 stmpe610_write_reg(STMPE610_REG_TSC_CFG, 0xE3); // Averaging 8, touch detect delay 1ms, panel driver settling time 1ms |
620 stmpe610_write_reg(STMPE610_REG_FIFO_TH, 0x01); // FIFO threshold = 1 |
620 stmpe610_write_reg(STMPE610_REG_FIFO_TH, 0x01); // FIFO threshold = 1 |
621 stmpe610_write_reg(STMPE610_REG_FIFO_STA, 0x01); // FIFO reset enable |
621 stmpe610_write_reg(STMPE610_REG_FIFO_STA, 0x01); // FIFO reset enable |
861 |
861 |
862 //================= |
862 //================= |
863 void TFT_PinsInit() |
863 void TFT_PinsInit() |
864 { |
864 { |
865 // Route all used pins to GPIO control |
865 // Route all used pins to GPIO control |
866 gpio_pad_select_gpio(PIN_NUM_CS); |
866 esp_rom_gpio_pad_select_gpio(PIN_NUM_CS); |
867 gpio_pad_select_gpio(PIN_NUM_MISO); |
867 esp_rom_gpio_pad_select_gpio(PIN_NUM_MISO); |
868 gpio_pad_select_gpio(PIN_NUM_MOSI); |
868 esp_rom_gpio_pad_select_gpio(PIN_NUM_MOSI); |
869 gpio_pad_select_gpio(PIN_NUM_CLK); |
869 esp_rom_gpio_pad_select_gpio(PIN_NUM_CLK); |
870 gpio_pad_select_gpio(PIN_NUM_DC); |
870 esp_rom_gpio_pad_select_gpio(PIN_NUM_DC); |
871 |
871 |
872 gpio_set_direction(PIN_NUM_MISO, GPIO_MODE_INPUT); |
872 gpio_set_direction(PIN_NUM_MISO, GPIO_MODE_INPUT); |
873 gpio_set_pull_mode(PIN_NUM_MISO, GPIO_PULLUP_ONLY); |
873 gpio_set_pull_mode(PIN_NUM_MISO, GPIO_PULLUP_ONLY); |
874 gpio_set_direction(PIN_NUM_CS, GPIO_MODE_OUTPUT); |
874 gpio_set_direction(PIN_NUM_CS, GPIO_MODE_OUTPUT); |
875 gpio_set_direction(PIN_NUM_MOSI, GPIO_MODE_OUTPUT); |
875 gpio_set_direction(PIN_NUM_MOSI, GPIO_MODE_OUTPUT); |
876 gpio_set_direction(PIN_NUM_CLK, GPIO_MODE_OUTPUT); |
876 gpio_set_direction(PIN_NUM_CLK, GPIO_MODE_OUTPUT); |
877 gpio_set_direction(PIN_NUM_DC, GPIO_MODE_OUTPUT); |
877 gpio_set_direction(PIN_NUM_DC, GPIO_MODE_OUTPUT); |
878 gpio_set_level(PIN_NUM_DC, 0); |
878 gpio_set_level(PIN_NUM_DC, 0); |
879 #if USE_TOUCH |
879 #if USE_TOUCH |
880 gpio_pad_select_gpio(PIN_NUM_TCS); |
880 esp_rom_gpio_pad_select_gpio(PIN_NUM_TCS); |
881 gpio_set_direction(PIN_NUM_TCS, GPIO_MODE_OUTPUT); |
881 gpio_set_direction(PIN_NUM_TCS, GPIO_MODE_OUTPUT); |
882 #endif |
882 #endif |
883 #if PIN_NUM_BCKL |
883 #if PIN_NUM_BCKL |
884 gpio_pad_select_gpio(PIN_NUM_BCKL); |
884 esp_rom_gpio_pad_select_gpio(PIN_NUM_BCKL); |
885 gpio_set_direction(PIN_NUM_BCKL, GPIO_MODE_OUTPUT); |
885 gpio_set_direction(PIN_NUM_BCKL, GPIO_MODE_OUTPUT); |
886 gpio_set_level(PIN_NUM_BCKL, PIN_BCKL_OFF); |
886 gpio_set_level(PIN_NUM_BCKL, PIN_BCKL_OFF); |
887 #endif |
887 #endif |
888 |
888 |
889 #if PIN_NUM_RST |
889 #if PIN_NUM_RST |
890 gpio_pad_select_gpio(PIN_NUM_RST); |
890 esp_rom_gpio_pad_select_gpio(PIN_NUM_RST); |
891 gpio_set_direction(PIN_NUM_RST, GPIO_MODE_OUTPUT); |
891 gpio_set_direction(PIN_NUM_RST, GPIO_MODE_OUTPUT); |
892 gpio_set_level(PIN_NUM_RST, 0); |
892 gpio_set_level(PIN_NUM_RST, 0); |
893 #endif |
893 #endif |
894 } |
894 } |
895 |
895 |