Commit e4cbe3d2 authored by 何锐's avatar 何锐

feat:雅迪检测台260显示蓝牙WIFI强度初版

parent 5eb1d0a9
......@@ -15,15 +15,24 @@ typedef struct
static UARTRxBuf_t UARTRxBuf;
static UARTRxBuf_t UARTRxBuf1;
static UARTRxBuf_t UARTRxBuf2;
static uint8_t mDataBufPtr[1024] = {0};
static uint32_t mDataBufLen = 0;
static uint8_t mDataBufPtr1[1024] = {0};
static uint8_t mDataBufPtr2[1024] = {0};
static uint32_t mDataBufLen1 = 0;
static uint32_t mDataBufLen2 = 0;
uint8_t BarCode[256] = {0};
uint8_t BarCode1[256] = {0};
uint8_t BarCode2[256] = {0};
uint32_t readNum = 0;
uint32_t readNum1 = 0;
uint32_t readNum2 = 0;
uint8_t BT_Signal_Symbol; //蓝牙信号正负
uint8_t BT_Signal_Strength; //蓝牙信号强度
uint8_t WIFI_Signal_Symbol; //WIFI信号正负
uint8_t WIFI_Signal_Strength; //WIFI信号强度
uint8_t data_received_flag;
static uint32_t Protocol_UartRead(uint8_t *pData, uint32_t len);//485
static uint32_t Protocol_UartRead1(uint8_t *pData, uint32_t len);//扫码枪
static uint32_t Protocol_UartRead2(uint8_t *pData, uint32_t len);//esp32
......@@ -54,6 +63,15 @@ uint16_t lightnumber = 0;
uint8_t writeflag = 0;
uint8_t UbootMajor;
uint8_t UbootMinor;
void InitSignalVariables(void)
{
BT_Signal_Symbol = 0;
BT_Signal_Strength = 0;
WIFI_Signal_Symbol = 0;
WIFI_Signal_Strength = 0;
}
void get_key(void)
{
key_array[0] = seed_value[0] | seed_value[3];
......@@ -458,10 +476,49 @@ void BarCodeDataGet(void)
// General_Number_Disp(writefail, 3, 250);
}
}
uint8_t GetDataCompare(void)
/* 杰理数据处理 */
static void JL_Data_Processing(
uint8_t bt_byte,
uint8_t wifi_byte,
uint8_t *BT_Symbol,
uint8_t *BT_Strength,
uint8_t *WIFI_Symbol,
uint8_t *WIFI_Strength
)
{
if(BT_Symbol == NULL || BT_Strength == NULL || WIFI_Symbol == NULL || WIFI_Strength == NULL)
{
return ;
}
*BT_Symbol = bt_byte >> 7;
*BT_Strength = bt_byte & 0x7F;
*WIFI_Symbol = wifi_byte >> 7;
*WIFI_Strength = wifi_byte & 0x7F;
}
void BarCodeDataGet2(void)
{
uint8_t Frame_Header = 0;
if ((mDataBufPtr2[Frame_Header] == 0x59) &&
(mDataBufPtr2[Frame_Header + 1] == 0x44) &&
(mDataBufPtr2[Frame_Header + 4] == 0x4B) &&
(mDataBufPtr2[Frame_Header + 5] == 0x4A))
{
data_received_flag = 1;
JL_Data_Processing(
mDataBufPtr2[Frame_Header + 2],
mDataBufPtr2[Frame_Header + 3],
&BT_Signal_Symbol,
&BT_Signal_Strength,
&WIFI_Signal_Symbol,
&WIFI_Signal_Strength
);
}
}
void UART_Put(uint32_t Value)
{
uint32_t nextPos = 0u;
......@@ -515,9 +572,9 @@ void UART_Put2(uint32_t Value)
{
uint32_t nextPos = 0u;
nextPos = (UARTRxBuf.write_pos + 1) % UART_RX_MAX_DEPTH;
nextPos = (UARTRxBuf2.write_pos + 1) % UART_RX_MAX_DEPTH;
if ( nextPos == UARTRxBuf.read_pos )
if ( nextPos == UARTRxBuf2.read_pos )
{
//队列已满,无法插入队列
// UARTRxBuf.write_pos = 0;
......@@ -525,8 +582,8 @@ void UART_Put2(uint32_t Value)
}
else
{
// UARTRxBuf.Rx_Buffer [ UARTRxBuf.write_pos ] = Value;
// UARTRxBuf.write_pos = (UARTRxBuf.write_pos + 1) % UART_RX_MAX_DEPTH;
UARTRxBuf2.Rx_Buffer [ UARTRxBuf2.write_pos ] = Value;
UARTRxBuf2.write_pos = (UARTRxBuf2.write_pos + 1) % UART_RX_MAX_DEPTH;
}
// RS485_send_time = 0;
return;
......@@ -739,19 +796,19 @@ void Recv_Byte2(void)
int i = 0;
int j = 0;
uint32_t len;
readNum1 = Protocol_UartRead2(mDataBufPtr1 + mDataBufLen1, 1024 - mDataBufLen1);
readNum2 = Protocol_UartRead2(mDataBufPtr2 + mDataBufLen2, 1024 - mDataBufLen2);
// if (readNum1 > 0)
// {
// BarCodeDataGet();
// }
if (readNum1 > 0)
if (readNum2 > 0)
{
mDataBufLen1 += readNum1;
mDataBufLen2 += readNum2;
while(mDataBufLen1)
while(mDataBufLen2)
{
memset(BarCode1, 0, sizeof(BarCode1));
for(i = 0; i < mDataBufLen1; i++)
memset(BarCode2, 0, sizeof(BarCode2));
for(i = 0; i < mDataBufLen2; i++)
{
// if((mDataBufPtr1[i] == 0x0 ) && (mDataBufPtr1[i - 1] == 0x0))
// {
......@@ -761,9 +818,9 @@ void Recv_Byte2(void)
// }
// memset(BarCode1, 0, sizeof(BarCode1));
for(j = 0; j < mDataBufLen1; j++)
for(j = 0; j < mDataBufLen2; j++)
{
BarCode1[j] = mDataBufPtr1[j];
BarCode2[j] = mDataBufPtr2[j];
}
......@@ -773,22 +830,22 @@ void Recv_Byte2(void)
}
// 解析协议
len = mDataBufLen1;
if ( (len > 0) && (len < mDataBufLen1) )
len = mDataBufLen2;
if ( (len > 0) && (len < mDataBufLen2) )
{
// 将未解析的数据移到头部
// Move unparsed data to the head
memcpy(mDataBufPtr1, mDataBufPtr1 + len, mDataBufLen1 - len);
memcpy(mDataBufPtr2, mDataBufPtr2 + len, mDataBufLen2 - len);
// memcpy(nowdata,mDataBufPtr + len,len);
// datacheck();
}
mDataBufLen1 -= len;
mDataBufLen2 -= len;
}
BarCodeDataGet();
BarCodeDataGet2();
}
......@@ -800,18 +857,18 @@ static uint32_t Protocol_UartRead2(uint8_t *pData, uint32_t len)
uint32_t DataLen = 0u;
uint32_t ReadLen = 0u;
if ( UARTRxBuf1.write_pos == UARTRxBuf1.read_pos )
if ( UARTRxBuf2.write_pos == UARTRxBuf2.read_pos )
{
return 0; //队列空
}
if ( UARTRxBuf1.write_pos > UARTRxBuf1.read_pos )
if ( UARTRxBuf2.write_pos > UARTRxBuf2.read_pos )
{
DataLen = UARTRxBuf1.write_pos - UARTRxBuf1.read_pos;
DataLen = UARTRxBuf2.write_pos - UARTRxBuf2.read_pos;
}
else
{
DataLen = UART_RX_MAX_DEPTH - (UARTRxBuf1.read_pos - UARTRxBuf1.write_pos);
DataLen = UART_RX_MAX_DEPTH - (UARTRxBuf2.read_pos - UARTRxBuf2.write_pos);
}
if ( len > DataLen )
......@@ -825,8 +882,8 @@ static uint32_t Protocol_UartRead2(uint8_t *pData, uint32_t len)
for ( i = 0u; i < ReadLen; i++ )
{
pData [ i ] = UARTRxBuf1.Rx_Buffer [ UARTRxBuf1.read_pos ];
UARTRxBuf1.read_pos = (UARTRxBuf1.read_pos + 1) % UART_RX_MAX_DEPTH;
pData [ i ] = UARTRxBuf2.Rx_Buffer [ UARTRxBuf2.read_pos ];
UARTRxBuf2.read_pos = (UARTRxBuf2.read_pos + 1) % UART_RX_MAX_DEPTH;
}
return i;
......
......@@ -18,7 +18,12 @@ void UART_Put2(uint32_t Value);
void Recv_Byte(void);
void Recv_Byte1(void);
void Recv_Byte2(void);
extern uint8_t GetDataCompare(void);
extern void InitSignalVariables(void);
extern uint8_t BT_Signal_Symbol;
extern uint8_t BT_Signal_Strength;
extern uint8_t WIFI_Signal_Symbol;
extern uint8_t WIFI_Signal_Strength;
extern uint8_t data_received_flag;
extern uint8_t UbootMajor;
extern uint8_t UbootMinor;
extern uint32_t readNum;
......
......@@ -14,6 +14,8 @@ uint32_t NO_IPK_EXIST_Status;
uint32_t NO_IPK_EXIST;
//uint32_t NO_IPK_EXIST_Back;
uint32_t NO_IPK_EXIST_TIMER;
const uint16_t ODODigitNum09PosX1 [] = {220,210,200};
const uint16_t ODODigitNum09PosX2 [] = {230,220,210};
const unsigned char gImage_cuo12[] = {24, 24,0X00,0X00,0X00,0X00,0X30,0X70,0XE0,0XC0,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0X70,0X30,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X83,0XC7,0X66,0X38,0X38,0X7C,0XE6,0XC3,0X81,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X0C,0X0C,0X06,0X03,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X03,0X07,0X0E,0X0C,0X00,0X00,0X00,0X00,};
const unsigned char gImage_dui12[] = {24, 24,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0XE0,0X40,0X00,0X00,0X00,0X00,0X08,0X18,0X30,0X70,0XC0,0X80,0X00,0X00,0X80,0XC0,0XE0,0X70,0X38,0X1C,0X0E,0X07,0X03,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X03,0X07,0X03,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,};
uint8_t InterNal_Version [ 128 ];
......@@ -71,8 +73,8 @@ void Function_Check_Ctrl(uint32_t cmd);
void MENU_CHECK_STEP_ADD(void)
{
// if(jiaoyan == 1)
// {
if(jiaoyan == 1)
{
if(guangganflag == 3) //光感锁
{
MENU_CHECK_STEP++;
......@@ -87,7 +89,7 @@ void MENU_CHECK_STEP_ADD(void)
MENU_CHECK_STEP = 0;
guangganflag = 0;
}
// }
}
}
void MENU_CHECK_STEP_SUB(void)
......@@ -392,17 +394,10 @@ uint8_t yibiaoshuju[34];
break;
case 3:
// blename[4] = 0xFF;
// // if(recvflag111 == 1)
// // {
// if((blename[0]+blename[1]+blename[2]+blename[3]) != 0)
// {
// General_Number_Disp(blename, 3, 165);
// }
case 3:
Function_Check_Ctrl(1); //Excel表格发报文。硬线信号
blename[4] = 0xFF;
GUI_Display_Version_Code_Service(3, 150, "BT Name is ", Letter_Num_11, PCodeText_Space_size);
GUI_Display_Version_Code_Service(3, 114, "Name is ", Letter_Num_11, PCodeText_Space_size);
blnamedisplay[0] = name2 / 16;
blnamedisplay[1] = name2 % 16;
blnamedisplay[2] = name1 / 16;
......@@ -424,22 +419,37 @@ uint8_t yibiaoshuju[34];
if(blnamedisplay[0]+blnamedisplay[1]+blnamedisplay[2]+blnamedisplay[3] != 0)
{
General_Number_Disp(blenamedisplay, 110, 154);
General_Number_Disp(blenamedisplay, 100, 114); //显示蓝牙名字
}
//负号
uint8_t fuhao[2] = {0x91, 0xFF};
/* 显示蓝牙强度 */
GUI_Display_Version_Code_Service(3, 135, "BT Signal Strength is", Letter_Num_11, PCodeText_Space_size);
/* 显示WIFI强度 */
GUI_Display_Version_Code_Service(3, 160, "WIFI Signal Strength is", Letter_Num_11, PCodeText_Space_size);
if(data_received_flag == 1)
{
if(BT_Signal_Symbol)
{
General_Number_Disp(fuhao, 180, 134); //符号
}
else
{
Display_TFT_Clear();
}
GUI_General_Digit_Display(BT_Signal_Strength, Num_15, 3, 2, ODODigitNum09PosX1, 139);
if(WIFI_Signal_Symbol)
{
General_Number_Disp(fuhao, 190, 160); //符号
}
else
{
Display_TFT_Clear();
}
GUI_General_Digit_Display(WIFI_Signal_Strength, Num_15, 3, 2, ODODigitNum09PosX2, 164);
}
// }
// recvflag111 = 0;
// }
// POWER_CTRL_KL30 = 0u; //B+
// POWER_CTRL_KL15 = 0u; //KL15
// CAN_Msg_Tx_Enable = 1u;
// Diag_Info_Init( );
// Display_Init( );
// Display_Version_Info(0);
// Display_Set_Buff();
Function_Check_Ctrl(1); //Excel表格发报文。硬线信号
// //FUEL_UDS__Display(3);
// Buzzer_Warning();
break;
case 4: //AP模式
......
......@@ -5040,7 +5040,7 @@ void Display_Version_Info(uint32_t ON_OFF)
// TFT_LCD_Draw_Bmp(3, 160, ( uint8_t * )gImage_Alarm_12_WordX6_Y165); //24脚输出占空比
// TFT_LCD_Draw_Bmp(210, 160, ( uint8_t * )gImage_Alarm_13_ImageX222_Y166); //%
TFT_LCD_Draw_Bmp(3, 290, ( uint8_t * )gImage_gImage_checkVX6_Y165 ); //检测台版本号
uint8_t mbuff [7] = {2,6,0,2,2,5,0xff};
uint8_t mbuff [7] = {2,6,0,3,0,4,0xff};
General_Number_Disp(mbuff, 160, 290);
}
......
......@@ -145,6 +145,7 @@ void Sys_Run_Mode_100ms_Tasks_Group(void)
{
loc_timer = 0;
Recv_Byte1();
Recv_Byte2();
}
Display_PageNum();
......
......@@ -430,7 +430,7 @@ void BTEnableDelayPowerReset(void)
{
bluetoothdelaytime++;
}
else if(bluetoothdelaytime <= 125)
else if(bluetoothdelaytime <= 130)
{
bluetoothdelaytime++;
Auto_ONOFF = 3;
......
......@@ -84,6 +84,7 @@ void Sys_Startup_Init(void)
Buzzer_Init();
Fre_In_KL30_Wakeup_Init();
menuFeedbackinit();
InitSignalVariables();
UART_Channel_Config_st_t loc_config;
loc_config.enUARTLINMode = MODE_UART;
loc_config.u32UARTbps = 115200;
......@@ -126,12 +127,12 @@ void Sys_Startup_Init(void)
EN_5V_CUT_ENABLE = 1;
// Display_TFT_Clear();
// GUI_Display_Version_Code_Service(25, 20, "Please Scan The Code ", Letter_Num_11, PCodeText_Space_size);
Display_TFT_Clear();
GUI_Display_Version_Code_Service(25, 20, "Please Scan The Code ", Letter_Num_11, PCodeText_Space_size);
/*上电扫码校验功能如果需要扫码校验注释掉firstpowerflag = 2,saomafinish = 3;打开上面两行的注释即可*/
firstpowerflag = 2;
saomafinish = 4;
// firstpowerflag = 2;
// saomafinish = 4;
}
/***********************************************************************
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment