49 #if defined(CHIP_LPC177X_8X)
50 #define LCD_SSP_CTRL LPC_SSP0
51 #elif defined(CHIP_LPC407X_8X)
52 #define LCD_SSP_CTRL LPC_SSP2
56 #define TSC2046_CONVERSION_BITS 12
59 #define TSC_START (0x01 << 7)
60 #define TSC_CHANNEL_X (0x05 << 4)
61 #define TSC_CHANNEL_Y (0x01 << 4)
62 #define TSC_CHANNEL_Z1 (0x03 << 4)
63 #define TSC_CHANNEL_Z2 (0x04 << 4)
64 #define TSC_8BIT (0x01 << 3)
65 #define TSC_12BIT (0x00 << 3)
67 #define TSC_ADC_ON 0x01
68 #define TSC_REF_ON 0x02
69 #if (TSC2046_CONVERSION_BITS == 12)
70 #define TSC_CONVERSION_MODE TSC_12BIT
72 #define TSC_CONVERSION_MODE TSC_8BIT
75 #define TSC_SER_MODE (0x01 << 2)
76 #define TSC_DFR_MODE (0x00 << 2)
78 #define X_MEASURE (TSC_START | TSC_CHANNEL_X | TSC_CONVERSION_MODE | TSC_DFR_MODE | TSC_ADC_ON)
79 #define Y_MEASURE (TSC_START | TSC_CHANNEL_Y | TSC_CONVERSION_MODE | TSC_DFR_MODE | TSC_ADC_ON)
80 #define Z1_MEASURE (TSC_START | TSC_CHANNEL_Z1 | TSC_CONVERSION_MODE | TSC_DFR_MODE | TSC_ADC_ON)
81 #define Z2_MEASURE (TSC_START | TSC_CHANNEL_Z2 | TSC_CONVERSION_MODE | TSC_DFR_MODE | TSC_ADC_ON)
82 #define PWRDOWN (TSC_START | TSC_CHANNEL_Y | TSC_CONVERSION_MODE | TSC_DFR_MODE | TSC_PD)
83 #if (TSC2046_CONVERSION_BITS == 12)
84 #define TSC2046_COORD_MAX (0xFFF)
85 #define TSC2046_DELTA_VARIANCE (0x50)
87 #define TSC2046_COORD_MAX (0xFF)
88 #define TSC2046_DELTA_VARIANCE (0x03)
90 #define COORD_GET_NUM (10)
91 #define TSC2046_CS_PORTNUM 0
92 #define TSC2046_CS_PINNUM 20
93 #define TSC2046_DC_PORTNUM 0
94 #define TSC2046_DC_PINNUM 19
95 #define LCD_DC_CMD (Chip_GPIO_WritePortBit(LPC_GPIO, TSC2046_DC_PORTNUM, TSC2046_DC_PINNUM, false))
96 #define LCD_DC_DATA (Chip_GPIO_WritePortBit(LPC_GPIO, TSC2046_DC_PORTNUM, TSC2046_DC_PINNUM, true))
97 #define TSC_CS_ON (Chip_GPIO_WritePortBit(LPC_GPIO, TSC2046_CS_PORTNUM, TSC2046_CS_PINNUM, false))
98 #define TSC_CS_OFF (Chip_GPIO_WritePortBit(LPC_GPIO, TSC2046_CS_PORTNUM, TSC2046_CS_PINNUM, true))
100 #define LCD_BACKLIGHT_PORTNUM 1
101 #define LCD_BACKLIGHT_PINNUM 18
103 #define BUTTONS_BUTTON1_GPIO_PORT_NUM 2
104 #define BUTTONS_BUTTON1_GPIO_BIT_NUM 10
105 #define JOYSTICK_UP_GPIO_PORT_NUM 2
106 #define JOYSTICK_UP_GPIO_BIT_NUM 26
107 #define JOYSTICK_DOWN_GPIO_PORT_NUM 2
108 #define JOYSTICK_DOWN_GPIO_BIT_NUM 23
109 #define JOYSTICK_LEFT_GPIO_PORT_NUM 2
110 #define JOYSTICK_LEFT_GPIO_BIT_NUM 25
111 #define JOYSTICK_RIGHT_GPIO_PORT_NUM 2
112 #define JOYSTICK_RIGHT_GPIO_BIT_NUM 27
113 #define JOYSTICK_PRESS_GPIO_PORT_NUM 2
114 #define JOYSTICK_PRESS_GPIO_BIT_NUM 22
130 3758, 149, 3914, 163, 240, 320, 1
191 buf[1] = (addr & 0xff);
196 buf[0] = (data >> 8);
197 buf[1] = (data & 0xff);
267 #if defined(CHIP_LPC177X_8X)
271 #elif defined(CHIP_LPC407X_8X)
285 uint8_t rx_data[2], tx_data[1] = {0x00};
294 #if (TSC2046_CONVERSION_BITS == 8)
295 *data = (((rx_data[0] << 8) | (rx_data[1])) >> 7) & 0xFF;
297 *data = (((rx_data[0] << 8) | rx_data[1]) >> 3) & 0xFFF;
307 uint16_t Tmp = 0, previousTmp;
317 diff = Tmp - previousTmp;
332 static int16_t
calibrateTSC2046(int16_t Coord, int16_t MinVal, int16_t MaxVal, int16_t TrueSize)
339 if (MinVal > MaxVal) {
346 ret = (Coord - MinVal) * TrueSize / (MaxVal - MinVal);
348 ret = TrueSize - ret;
392 #if defined(CHIP_LPC407X_8X)
405 #if defined(DEBUG_UART)
420 #if defined(DEBUG_UART)
428 #if defined(DEBUG_UART)
441 #if defined(DEBUG_UART)
442 while (*str !=
'\0') {
463 const uint8_t boardmac[] = {0x00, 0x60, 0x37, 0x12, 0x34, 0x56};
465 memcpy(mcaddr, boardmac, 6);
473 #if defined(CHIP_LPC177X_8X) || defined(CHIP_LPC407X_8X)
487 #if !defined(CHIP_LPC175X_6X)
489 #if defined(CHIP_LPC407X_8X)
507 #if defined(CHIP_LPC177X_8X)
546 for (i = 4; i <= 9; i++) {
549 for (i = 20; i <= 29; i++) {
552 for (i = 0; i <= 6; i++) {
555 #if defined(CHIP_LPC177X_8X)
557 #elif defined(CHIP_LPC407X_8X)
563 for (i = 11; i <= 13; i++) {
579 #if defined(CHIP_LPC177X_8X)
584 #elif defined(CHIP_LPC407X_8X)
612 #if defined(CHIP_LPC177X_8X)
617 #elif defined(CHIP_LPC407X_8X)
653 uint16_t x, y, z1, z2, z = 0;
662 z = x * ((z2 / z1) - 1);
664 if ((z <= 0) || (z > 35000)) {
689 z = x * ((z2 / z1) - 1);
690 if ((z <= 0) || (z > 35000)) {
712 bool OnOff = (bool) (Intensity != 0);
843 #ifdef CHIP_LPC407X_8X
856 #ifdef CHIP_LPC407X_8X
858 void Board_CMP_Init(
void)
865 void Board_SPIFI_Init(
void)
888 #if defined(NAND_SUPPORTED_LOCKEDCS)
890 Board_NANDFLash_CSLatch(
false);