Please local travis (and more)

This commit is contained in:
3djc
2020-04-07 12:48:09 +02:00
parent ccbbd413de
commit dd4f9de2e9
7 changed files with 215 additions and 29 deletions
+2
View File
@@ -428,9 +428,11 @@ bool menuRadioHardware(event_t event)
case 1:
pushMenu(menuRadioDiagKeys);
break;
#if defined(HARDWARE_TOUCH)
case 2:
pushMenu(menuRadioDiagTouch);
break;
#endif
}
}
break;
+3 -1
View File
@@ -209,7 +209,9 @@ set(TARGET_SRC
)
if(HARDWARE_TOUCH)
set(TARGET_SRC ${TARGET_SRC} tp_gt911.cpp)
set(TARGET_SRC ${TARGET_SRC}
tp_gt911.cpp
)
set(GUI_SRC ${GUI_SRC} radio_diagtouch.cpp)
add_definitions(-DHARDWARE_TOUCH)
endif()
+5 -3
View File
@@ -103,9 +103,11 @@ void boardInit()
HAPTIC_RCC_AHB1Periph |
INTMODULE_RCC_AHB1Periph |
EXTMODULE_RCC_AHB1Periph |
I2C_TOUCH_RCC_AHB1Periph |
I2C_RCC_AHB1Periph |
GPS_RCC_AHB1Periph |
SPORT_UPDATE_RCC_AHB1Periph,
SPORT_UPDATE_RCC_AHB1Periph |
TOUCH_INT_RCC_AHB1Periph |
TOUCH_RST_RCC_AHB1Periph,
ENABLE);
RCC_APB1PeriphClockCmd(ROTARY_ENCODER_RCC_APB1Periph |
@@ -119,7 +121,7 @@ void boardInit()
AUDIO_RCC_APB1Periph |
INTMODULE_RCC_APB1Periph |
EXTMODULE_RCC_APB1Periph |
I2C_TOUCH_RCC_APB1Periph |
I2C_RCC_APB1Periph |
GPS_RCC_APB1Periph |
BACKLIGHT_RCC_APB1Periph,
ENABLE);
+15 -12
View File
@@ -636,21 +636,24 @@
// Touch
#if defined(HARDWARE_TOUCH)
#define TOUCH_INT_RCC_AHB1Periph RCC_AHB1Periph_GPIOH
#define TOUCH_INT_GPIO GPIOH
#define TOUCH_INT_GPIO_PIN GPIO_Pin_2
#define TOUCH_INT_RCC_AHB1Periph RCC_AHB1Periph_GPIOH
#define TOUCH_INT_GPIO GPIOH
#define TOUCH_INT_GPIO_PIN GPIO_Pin_2 // PH.02
#define TOUCH_RST_RCC_AHB1Periph RCC_AHB1Periph_GPIOF
#define TOUCH_RST_GPIO GPIOF
#define TOUCH_RST_GPIO_PIN GPIO_Pin_10
#define TOUCH_RST_RCC_AHB1Periph RCC_AHB1Periph_GPIOF
#define TOUCH_RST_GPIO GPIOF
#define TOUCH_RST_GPIO_PIN GPIO_Pin_10 // PF.10
#define TOUCH_INT_EXTI_LINE1 EXTI_Line2
#define TOUCH_INT_EXTI_IRQn1 EXTI2_IRQn
#define TOUCH_INT_EXTI_IRQHandler1 EXTI2_IRQHandler
#define TOUCH_INT_EXTI_PortSource EXTI_PortSourceGPIOH
#define TOUCH_INT_EXTI_PinSource1 EXTI_PinSource2
#define TOUCH_INT_EXTI_LINE1 EXTI_Line2
#define TOUCH_INT_EXTI_IRQn1 EXTI2_IRQn
#define TOUCH_INT_EXTI_IRQHandler1 EXTI2_IRQHandler
#define TOUCH_INT_EXTI_PortSource EXTI_PortSourceGPIOH
#define TOUCH_INT_EXTI_PinSource1 EXTI_PinSource2
#define TOUCH_INT_STAUS() (GPIO_ReadInputDataBit(TOUCH_INT_GPIO, TOUCH_INT_GPIO_PIN))
#define TOUCH_INT_STATUS() (GPIO_ReadInputDataBit(TOUCH_INT_GPIO, TOUCH_INT_GPIO_PIN))
#else
#define TOUCH_INT_RCC_AHB1Periph 0
#define TOUCH_RST_RCC_AHB1Periph 0
#endif
// I2C Bus
+185 -9
View File
@@ -38,20 +38,20 @@ void GT911_INT_Change(void)
uint8_t GT911_Send_Cfg(uint8_t mode)
{
u8 buf[2];
u8 i = 0;
uint8_t buf[2];
uint8_t i = 0;
buf[0] = 0;
buf[1] = mode; //
for (i = 0; i < sizeof(GT911_Cfg); i++)
buf[0] += GT911_Cfg[i];//check sum
buf[0] = (~buf[0]) + 1;
GT911_WR_Reg(GT_CFGS_REG, (u8 *) GT911_Cfg, sizeof(GT911_Cfg));//
GT911_WR_Reg(GT_CFGS_REG, (uint8_t *) GT911_Cfg, sizeof(GT911_Cfg));//
GT911_WR_Reg(GT_CHECK_REG, buf, 2);//write checksum
return 0;
}
static void IIC_Config(void)
static void I2C_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//I2C_InitTypeDef I2C_InitStructure;
@@ -136,6 +136,182 @@ static void TOUCH_AF_GPIOConfig(void)
GPIO_ResetBits(TOUCH_INT_GPIO, TOUCH_INT_GPIO_PIN);
}
void SDA_IN(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//RCC_APB1PeriphClockCmd(RCC_APB1Periph_GPIOB, ENABLE);
//RCC_AHB1PeriphClockCmd(I2C_RCC_AHB1Periph, ENABLE);
GPIO_InitStructure.GPIO_Pin = I2C_SDA_GPIO_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(I2C_GPIO, &GPIO_InitStructure);
}
void SDA_OUT(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//RCC_APB1PeriphClockCmd(RCC_APB1Periph_GPIOB, ENABLE);
//RCC_AHB1PeriphClockCmd(I2C_RCC_AHB1Periph, ENABLE);
GPIO_InitStructure.GPIO_Pin = I2C_SDA_GPIO_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(I2C_GPIO, &GPIO_InitStructure);
}
void I2C_Start(void)
{
SDA_OUT();
I2C_SDA_H();
I2C_SCL_H();
delay_us(2);
I2C_SDA_L();//START:when CLK is high,DATA change form high to low
delay_us(2);
I2C_SCL_L();//
delay_us(2);
}
void I2C_Stop(void)
{
SDA_OUT();
I2C_SCL_L();
I2C_SDA_L();//STOP:when CLK is high DATA change form low to high
delay_us(2);
I2C_SCL_H();
I2C_SDA_H();//
delay_us(2);
}
uint8_t I2C_Wait_Ack(void)
{
uint8_t ucErrTime = 0;
SDA_IN(); //
I2C_SDA_H();
delay_us(2);
//I2C_SCL_L();delay_us(6);
I2C_SCL_H();//delay_us(6);
while (READ_SDA) {
ucErrTime++;
if (ucErrTime > 166) {
I2C_Stop();
return 1;
}
delay_us(1);
}
I2C_SDA_L();
I2C_SCL_L();//
return 0;
}
void I2C_Ack(void)
{
I2C_SCL_L();
SDA_OUT();
I2C_SDA_L();
delay_us(2);
I2C_SCL_H();
delay_us(2);
I2C_SCL_L();
}
void I2C_NAck(void)
{
I2C_SCL_L();
SDA_OUT();
I2C_SDA_H();
delay_us(2);
I2C_SCL_H();
delay_us(2);
I2C_SCL_L();
}
void I2C_Send_Byte(uint8_t txd)
{
uint8_t t;
SDA_OUT();
I2C_SCL_L();//
for (t = 0; t < 8; t++) {
if ((txd & 0x80) >> 7)
I2C_SDA_H();
else
I2C_SDA_L();
txd <<= 1;
delay_us(1);
I2C_SCL_H();
delay_us(2);
I2C_SCL_L();
delay_us(1);
}
}
uint8_t I2C_Read_Byte(unsigned char ack)
{
unsigned char i, receive = 0;
SDA_IN();
for (i = 0; i < 8; i++) {
I2C_SCL_L();
delay_us(2);
I2C_SCL_H();
receive <<= 1;
if (READ_SDA)receive++;
delay_us(1);
}
if (!ack)
I2C_NAck();
else
I2C_Ack();
return receive;
}
uint8_t GT911_WR_Reg(uint16_t reg, uint8_t * buf, uint8_t len)
{
{
uint8_t i;
uint8_t ret = 0;
I2C_Start();
I2C_Send_Byte(GT_CMD_WR); //send cmd
I2C_Wait_Ack();
I2C_Send_Byte(reg >> 8); //send hi
I2C_Wait_Ack();
I2C_Send_Byte(reg & 0XFF); //send low
I2C_Wait_Ack();
for (i = 0; i < len; i++) {
I2C_Send_Byte(buf[i]);
ret = I2C_Wait_Ack();
if (ret)break;
}
I2C_Stop();
return ret;
}
}
void GT911_RD_Reg(u16 reg, uint8_t * buf, uint8_t len)
{
uint8_t i;
//I2C_GenerateSTART(I2C1, ENABLE);
I2C_Start();
I2C_Send_Byte(GT_CMD_WR); //send addr
I2C_Wait_Ack();
I2C_Send_Byte(reg >> 8); //send hi
I2C_Wait_Ack();
I2C_Send_Byte(reg & 0XFF); //send low
I2C_Wait_Ack();
I2C_Start();
I2C_Send_Byte(GT_CMD_RD); //send rd
I2C_Wait_Ack();
for (i = 0; i < len; i++) {
buf[i] = I2C_Read_Byte(i == (len - 1) ? 0 : 1); //send data
}
I2C_Stop();
}
void touchPanelDeInit(void)
{
TOUCH_AF_ExtiStop();
@@ -148,21 +324,21 @@ bool touchPanelInit(void)
TRACE("Touchpanel init start ...");
TOUCH_AF_GPIOConfig(); //SET RST=OUT INT=OUT INT=LOW
IIC_Config();
I2C_Config();
TPRST_LOW();
TPINT_HIGH();
delay_us(200); //DELAY 200US
delay_us(200);
TPRST_HIGH();
delay_ms(6); //DELAY 6MS
delay_ms(6);
TPINT_LOW();
delay_ms(55); //DELAY 55MS
delay_ms(55);
GT911_INT_Change(); //Set INT INPUT INT=LOW
delay_ms(50); //DELAY 55MS
delay_ms(50);
GT911_RD_Reg(GT_PID_REG, tmp, 4);
+4 -4
View File
@@ -115,11 +115,11 @@ typedef struct{
#define TPINT_HIGH() do { TOUCH_INT_GPIO->BSRRL = TOUCH_INT_GPIO_PIN; } while(0)
#define IIC_SCL_L() do { I2C_GPIO->BSRRH = I2C_SCL_GPIO_PIN; } while(0)
#define IIC_SCL_H() do { I2C_GPIO->BSRRL = I2C_SCL_GPIO_PIN; } while(0)
#define I2C_SCL_L() do { I2C_GPIO->BSRRH = I2C_SCL_GPIO_PIN; } while(0)
#define I2C_SCL_H() do { I2C_GPIO->BSRRL = I2C_SCL_GPIO_PIN; } while(0)
#define IIC_SDA_L() do { I2C_GPIO->BSRRH = I2C_SDA_GPIO_PIN; } while(0)
#define IIC_SDA_H() do { I2C_GPIO->BSRRL = I2C_SDA_GPIO_PIN; } while(0)
#define I2C_SDA_L() do { I2C_GPIO->BSRRH = I2C_SDA_GPIO_PIN; } while(0)
#define I2C_SDA_H() do { I2C_GPIO->BSRRL = I2C_SDA_GPIO_PIN; } while(0)
#define READ_SDA GPIO_ReadInputDataBit(I2C_GPIO, I2C_SDA_GPIO_PIN)
+1
View File
@@ -580,6 +580,7 @@ int usbPlugged() { return false; }
int getSelectedUsbMode() { return USB_JOYSTICK_MODE; }
void setSelectedUsbMode(int mode) {}
void delay_ms(uint32_t ms) { }
void delay_us(uint16_t us) { }
// GPIO fake functions
void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF) { }