|
|
@ -123,17 +123,6 @@ SCReturnPkg scrPkgIconYClearPkg = { |
|
|
|
0xFC,0xA5, // CRC
|
|
|
|
}; |
|
|
|
|
|
|
|
// // A5 5A 08 82 06 D3 01 00 00 FF 7D 清除报警图标
|
|
|
|
// SCReturnPkg scrPkgAlarmClearPkg = {
|
|
|
|
// 0xA5, 0x5A,
|
|
|
|
// 0x08, //指令字节长度(不含帧头)
|
|
|
|
// 0x82, //指令
|
|
|
|
// 0x06, 0xD3, //变量存储地址
|
|
|
|
// 0x01, //数据字长度
|
|
|
|
// 0x00,0x00, // 数据内容
|
|
|
|
// 0xFF,0x7D, // CRC
|
|
|
|
// };
|
|
|
|
|
|
|
|
// A5 5A 08 82 06 D7 01 00 00 FE 4D 切换单位
|
|
|
|
SCReturnPkg scrPkgUnitSwitchPkg = { |
|
|
|
0xA5, 0x5A, |
|
|
@ -203,7 +192,7 @@ void L3_task_screen_handler(S_TASK_SCREEN *s) |
|
|
|
L2_task_go_Tdelay(D_task_RS485_SEND, D_Tdelay_400ms); |
|
|
|
//发送
|
|
|
|
TTSS_Task_step(D_task_RS485_SEND): |
|
|
|
if(R.power_mode == POWER_NORMAL) |
|
|
|
if(R.power_mode == POWER_NORMAL) //熄屏情况下不发送重量信息
|
|
|
|
{ |
|
|
|
//构造pkg
|
|
|
|
constructor_scr_pkg(); |
|
|
@ -222,12 +211,11 @@ void L3_task_screen_handler(S_TASK_SCREEN *s) |
|
|
|
void constructor_scr_pkg() |
|
|
|
{ |
|
|
|
U16 CRC = 0; |
|
|
|
U16 weight_kgx100 = 0; |
|
|
|
L0_uart1_str("R.weight.kgx10_out: "); |
|
|
|
L0_uart1_ushex(R.weight.kgx10_out); |
|
|
|
L0_uart1_0d0a(); |
|
|
|
// L0_uart1_str("R.weight.kgx10_out: ");
|
|
|
|
// L0_uart1_ushex(R.weight.kgx10_out);
|
|
|
|
// L0_uart1_0d0a();
|
|
|
|
|
|
|
|
weight_kgx100 = R.weight_keep_flag == 0? (R.weight.kgx10_out * 10) : (R.weight_keep_kgx10 * 10); |
|
|
|
U16 weight_kgx100 = R.weight_keep_flag == 0? (R.weight.kgx10_out * 10) : (R.weight_keep_kgx10 * 10); |
|
|
|
|
|
|
|
if(R.danwei == KG) |
|
|
|
{ |
|
|
@ -240,8 +228,8 @@ void constructor_scr_pkg() |
|
|
|
{ |
|
|
|
// scrSetValPkg.weight_kgx100[0] = (R.weight.kgx10_out * 22) >> 8 & 0xFF;
|
|
|
|
// scrSetValPkg.weight_kgx100[1] = (R.weight.kgx10_out * 22) >> 0 & 0xFF;
|
|
|
|
scrSetValPkg.weight_kgx100[0] = weight_kgx100 >> 8 & 0xFF; |
|
|
|
scrSetValPkg.weight_kgx100[1] = weight_kgx100 >> 0 & 0xFF; |
|
|
|
scrSetValPkg.weight_kgx100[0] = (U16)(weight_kgx100 * 2.2) >> 8 & 0xFF; |
|
|
|
scrSetValPkg.weight_kgx100[1] = (U16)(weight_kgx100 * 2.2) >> 0 & 0xFF; |
|
|
|
} |
|
|
|
|
|
|
|
CRC = CRC_16(((U8 *)&scrSetValPkg) + 3, 5); |
|
|
@ -271,15 +259,9 @@ void constructor_weightsave_pkg() |
|
|
|
void parse_screen_pkg() |
|
|
|
{ |
|
|
|
SCReturnPkg *p = (SCReturnPkg *) ts_Urec[D_UART1].sp; |
|
|
|
// p->ocr = p->buf[p->num[0] << 8 | p->num[1]];
|
|
|
|
L0_uart1_str("ts_Urec[D_UART1].sp = "); |
|
|
|
L1_uart1_Array(p, sizeof(*p)); |
|
|
|
L0_uart1_0d0a(); |
|
|
|
// L0_uart1_str("sizeof(*p) = ");
|
|
|
|
// L0_uart1_ushex(sizeof(*p));
|
|
|
|
// L0_uart1_str("ts_Urec[D_UART1].sp = ");
|
|
|
|
// L1_uart1_Array(p, sizeof(*p));
|
|
|
|
// L0_uart1_0d0a();
|
|
|
|
// L0_uart1_str("sizeof(&p) = ");
|
|
|
|
// L0_uart1_ushex(sizeof(&p));
|
|
|
|
|
|
|
|
if(p->head[0] == 0xA5 && p->head[1] == 0x5A/*count_ocr()*/) |
|
|
|
{ |
|
|
@ -309,28 +291,17 @@ void parse_screen_pkg() |
|
|
|
if(p->Data[1] == 1) |
|
|
|
{ |
|
|
|
tst_weight.kgx10_zero = tst_weight.kgx10; |
|
|
|
R.weight_keep_kgx10 = 0 ; |
|
|
|
} |
|
|
|
break; |
|
|
|
case 0xD3://离床报警
|
|
|
|
R.LeaveForbid_flag ^= 1;// R.LeaveForbid_flag = R.LeaveForbid_flag ^ 1;
|
|
|
|
// if(R.LeaveForbid_flag != LeaveForbid_OPEN)
|
|
|
|
// {
|
|
|
|
// R.LeaveForbid_flag = LeaveForbid_OPEN;
|
|
|
|
// L0_uart1_str("LeaveForbid_OPEN!!!");
|
|
|
|
// L0_uart1_0d0a();
|
|
|
|
// }
|
|
|
|
// else if(R.LeaveForbid_flag == LeaveForbid_OPEN)
|
|
|
|
// {
|
|
|
|
// R.LeaveForbid_flag = LeaveForbid_OFF;
|
|
|
|
// L0_uart1_str("LeaveForbid_OFF!!!");
|
|
|
|
// L0_uart1_0d0a();
|
|
|
|
// }
|
|
|
|
R.LeaveForbid_flag ^= 1;// R.LeaveForbid_flag = R.LeaveForbid_flag ^ 1;
|
|
|
|
break; |
|
|
|
case 0xD4://保存
|
|
|
|
if(p->Data[1] == 1) |
|
|
|
{ |
|
|
|
// screen_save_push(tst_weight.kgx10);
|
|
|
|
screen_save_push(tst_weight.kgx10_out); |
|
|
|
screen_save_push(R.weight_keep_kgx10); //总是保存 保持的重量(看到的是多少,保存的就是多少)
|
|
|
|
} |
|
|
|
break; |
|
|
|
case 0xD5://校准菜单按钮
|
|
|
|