P417_host/dlg/msg.aardio
2023-03-14 15:49:33 +08:00

315 lines
9.3 KiB
Plaintext

import console;
press_signal = {0,0};
press_baseline = {0,0};
press_signal_data = {0,0};
press_baseline_data = {0,0};
lkey_signal = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
rkey_signal = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
lkey_baseline = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
rkey_baseline = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
lkey_signal_data = {};
rkey_signal_data = {};
lkey_baseline_data = {};
rkey_baseline_data = {};
for(i=1;16;1){
lkey_signal_data[i] = {};
rkey_signal_data[i] = {};
lkey_baseline_data[i] = {};
rkey_baseline_data[i] = {};
}
keyL1 = 0;
keyL2 = 0;
keyL3 = 0;
keyLup = 0;
keyLdown = 0;
keyLleft = 0;
keyLright = 0;
keyLok = 0;
sldLlr = 0;
sldLud = 0;
keyR1 = 0;
keyR2 = 0;
keyR3 = 0;
keyRup = 0;
keyRdown = 0;
keyRleft = 0;
keyRright = 0;
keyRok = 0;
sldRvol = 0;
sldRud = 0;
sldRlr = 0;
plx = 0;
ply = 0;
pls = 0;
prx = 0;
pry = 0;
prs = 0;
getbitdata = function(byte,startbit,len){
return ((byte>>startbit) & ((1<<len) - 1));
}
import win.timer;
MsgProTable = {0x300,0x305,0x307,0x309,
0x400,0x401,0x402,0x403,0x404,0x405,0x406,0x407,0x408,
0x410,0x411,0x412,0x413,0x414,0x415,0x416,0x417,0x418};
MsgProTimer = win.timer(,100);
MsgProTimer.onTimer = function(){
for(k,v in MsgProTable){
var ret = CT_GetRxMsg(v);
if(ret != null){
MsgPro(v,ret);
}
}
}
MsgPro = function(id,data){
if(data == null){
return ;
}
select(id) {
case 0x309 {
prx = data[3];
pry = data[4];
prs = getbitdata(data[1],4,2);
}
case 0x300 {
plx = data[4];
ply = data[5];
pls = getbitdata(data[2],4,2);
}
case 0x305 {
keyLdown = getbitdata(data[1],1,2);
keyLok = getbitdata(data[1],4,2);
keyLup = getbitdata(data[2],0,2);
keyLright = getbitdata(data[2],3,2);
keyLleft = getbitdata(data[2],6,2);
keyL1 = getbitdata(data[3],4,2);
keyL2 = getbitdata(data[1],6,2);
keyL3 = getbitdata(data[6],6,2);
sldLlr = getbitdata(data[5],1,3);
sldLud = getbitdata(data[8],5,3);
}
case 0x307 {
keyRleft = getbitdata(data[1],0,2);
keyRdown = getbitdata(data[1],3,2);
keyRok = getbitdata(data[1],6,2);
keyRup = getbitdata(data[2],3,2);
keyRright = getbitdata(data[2],6,2);
keyR1 = getbitdata(data[4],6,2);
keyR2 = getbitdata(data[3],2,2);
keyR3 = getbitdata(data[3],0,2);
sldRlr = getbitdata(data[5],5,3);
sldRud = getbitdata(data[5],1,3);
sldRvol = getbitdata(data[4],2,3);
}
case 0x400 {
press_baseline_data[1] = data[1] + ((data[2]&0x0f)<<8);
press_signal_data[1] = data[3] + ((data[4]&0x0f)<<8);
press_baseline[1]=press_baseline_data[1];
press_signal[1]=press_signal_data[1];
}
case 0x401 {
//console.log(1);
lkey_baseline_data[1] = data[1] + ((data[2]&0x0f)<<8);
lkey_signal_data[1] = data[3] + ((data[4]&0x0f)<<8);
lkey_baseline_data[2] = data[5] + ((data[6]&0x0f)<<8);
lkey_signal_data[2] = data[7] + ((data[8]&0x0f)<<8);
lkey_baseline[1]=lkey_baseline_data[1];
lkey_signal[1]=lkey_signal_data[1];
lkey_baseline[2]=lkey_baseline_data[2];
lkey_signal[2]=lkey_signal_data[2];
}
case 0x402 {
lkey_baseline_data[3] = data[1] + ((data[2]&0x0f)<<8);
lkey_signal_data[3] = data[3] + ((data[4]&0x0f)<<8);
lkey_baseline_data[4] = data[5] + ((data[6]&0x0f)<<8);
lkey_signal_data[4] = data[7] + ((data[8]&0x0f)<<8);
lkey_baseline[3]=lkey_baseline_data[3];
lkey_signal[3]=lkey_signal_data[3];
lkey_baseline[4]=lkey_baseline_data[4];
lkey_signal[4]=lkey_signal_data[4];
}
case 0x403 {
lkey_baseline_data[5] = data[1] + ((data[2]&0x0f)<<8);
lkey_signal_data[5] = data[3] + ((data[4]&0x0f)<<8);
lkey_baseline_data[6] = data[5] + ((data[6]&0x0f)<<8);
lkey_signal_data[6] = data[7] + ((data[8]&0x0f)<<8);
lkey_baseline[5]=lkey_baseline_data[5];
lkey_signal[5]=lkey_signal_data[5];
lkey_baseline[6]=lkey_baseline_data[6];
lkey_signal[6]=lkey_signal_data[6];
}
case 0x404 {
lkey_baseline_data[7] = data[1] + ((data[2]&0x0f)<<8);
lkey_signal_data[7] = data[3] + ((data[4]&0x0f)<<8);
lkey_baseline_data[8] = data[5] + ((data[6]&0x0f)<<8);
lkey_signal_data[8] = data[7] + ((data[8]&0x0f)<<8);
lkey_baseline[7]=lkey_baseline_data[7];
lkey_signal[7]=lkey_signal_data[7];
lkey_baseline[8]=lkey_baseline_data[8];
lkey_signal[8]=lkey_signal_data[8];
}
case 0x405 {
lkey_baseline_data[9] = data[1] + ((data[2]&0x0f)<<8);
lkey_signal_data[9] = data[3] + ((data[4]&0x0f)<<8);
lkey_baseline_data[10] = data[5] + ((data[6]&0x0f)<<8);
lkey_signal_data[10] = data[7] + ((data[8]&0x0f)<<8);
lkey_baseline[9]=lkey_baseline_data[9];
lkey_signal[9]=lkey_signal_data[9];
lkey_baseline[10]=lkey_baseline_data[10];
lkey_signal[10]=lkey_signal_data[10];
}
case 0x406 {
lkey_baseline_data[11] = data[1] + ((data[2]&0x0f)<<8);
lkey_signal_data[11] = data[3] + ((data[4]&0x0f)<<8);
lkey_baseline_data[12] = data[5] + ((data[6]&0x0f)<<8);
lkey_signal_data[12] = data[7] + ((data[8]&0x0f)<<8);
lkey_baseline[11]=lkey_baseline_data[11];
lkey_signal[11]=lkey_signal_data[11];
lkey_baseline[12]=lkey_baseline_data[12];
lkey_signal[12]=lkey_signal_data[12];
}
case 0x407 {
lkey_baseline_data[13] = data[1] + ((data[2]&0x0f)<<8);
lkey_signal_data[13] = data[3] + ((data[4]&0x0f)<<8);
lkey_baseline_data[14] = data[5] + ((data[6]&0x0f)<<8);
lkey_signal_data[14] = data[7] + ((data[8]&0x0f)<<8);
lkey_baseline[13]=lkey_baseline_data[13];
lkey_signal[13]=lkey_signal_data[13];
lkey_baseline[14]=lkey_baseline_data[14];
lkey_signal[14]=lkey_signal_data[14];
}
case 0x408 {
lkey_baseline_data[15] = data[1] + ((data[2]&0x0f)<<8);
lkey_signal_data[15] = data[3] + ((data[4]&0x0f)<<8);
lkey_baseline_data[16] = data[5] + ((data[6]&0x0f)<<8);
lkey_signal_data[16] = data[7] + ((data[8]&0x0f)<<8);
lkey_baseline[15]=lkey_baseline_data[15];
lkey_signal[15]=lkey_signal_data[15];
lkey_baseline[16]=lkey_baseline_data[16];
lkey_signal[16]=lkey_signal_data[16];
}
case 0x410 {
press_baseline_data[2] = data[1] + ((data[2]&0x0f)<<8);
press_signal_data[2] = data[3] + ((data[4]&0x0f)<<8);
press_baseline[2]=press_baseline_data[2];
press_signal[2]=press_signal_data[2];
}
case 0x411 {
rkey_baseline_data[1] = data[1] + ((data[2]&0x0f)<<8);
rkey_signal_data[1] = data[3] + ((data[4]&0x0f)<<8);
rkey_baseline_data[2] = data[5] + ((data[6]&0x0f)<<8);
rkey_signal_data[2] = data[7] + ((data[8]&0x0f)<<8);
rkey_baseline[1]=rkey_baseline_data[1];
rkey_signal[1]=rkey_signal_data[1];
rkey_baseline[2]=rkey_baseline_data[2];
rkey_signal[2]=rkey_signal_data[2];
}
case 0x412 {
rkey_baseline_data[3] = data[1] + ((data[2]&0x0f)<<8);
rkey_baseline_data[4] = data[3] + ((data[4]&0x0f)<<8);
rkey_signal_data[3] = data[5] + ((data[6]&0x0f)<<8);
rkey_signal_data[4] = data[7] + ((data[8]&0x0f)<<8);
rkey_baseline[3]=rkey_baseline_data[3];
rkey_signal[3]=rkey_signal_data[3];
rkey_baseline[4]=rkey_baseline_data[4];
rkey_signal[4]=rkey_signal_data[4];
}
case 0x413 {
rkey_baseline_data[5] = data[1] + ((data[2]&0x0f)<<8);
rkey_baseline_data[6] = data[3] + ((data[4]&0x0f)<<8);
rkey_signal_data[5] = data[5] + ((data[6]&0x0f)<<8);
rkey_signal_data[6] = data[7] + ((data[8]&0x0f)<<8);
rkey_baseline[5]=rkey_baseline_data[5];
rkey_signal[5]=rkey_signal_data[5];
rkey_baseline[6]=rkey_baseline_data[6];
rkey_signal[6]=rkey_signal_data[6];
}
case 0x414 {
rkey_baseline_data[7] = data[1] + ((data[2]&0x0f)<<8);
rkey_baseline_data[8] = data[3] + ((data[4]&0x0f)<<8);
rkey_signal_data[7] = data[5] + ((data[6]&0x0f)<<8);
rkey_signal_data[8] = data[7] + ((data[8]&0x0f)<<8);
rkey_baseline[7]=rkey_baseline_data[7];
rkey_signal[7]=rkey_signal_data[7];
rkey_baseline[8]=rkey_baseline_data[8];
rkey_signal[8]=rkey_signal_data[8];
}
case 0x415 {
rkey_baseline_data[9] = data[1] + ((data[2]&0x0f)<<8);
rkey_baseline_data[10] = data[3] + ((data[4]&0x0f)<<8);
rkey_signal_data[9] = data[5] + ((data[6]&0x0f)<<8);
rkey_signal_data[10] = data[7] + ((data[8]&0x0f)<<8);
rkey_baseline[9]=rkey_baseline_data[9];
rkey_signal[9]=rkey_signal_data[9];
rkey_baseline[10]=rkey_baseline_data[10];
rkey_signal[10]=rkey_signal_data[10];
}
case 0x416 {
rkey_baseline_data[11] = data[1] + ((data[2]&0x0f)<<8);
rkey_baseline_data[12] = data[3] + ((data[4]&0x0f)<<8);
rkey_signal_data[11] = data[5] + ((data[6]&0x0f)<<8);
rkey_signal_data[12] = data[7] + ((data[8]&0x0f)<<8);
rkey_baseline[11]=rkey_baseline_data[11];
rkey_signal[11]=rkey_signal_data[11];
rkey_baseline[12]=rkey_baseline_data[12];
rkey_signal[12]=rkey_signal_data[12];
}
case 0x417 {
rkey_baseline_data[13] = data[1] + ((data[2]&0x0f)<<8);
rkey_baseline_data[14] = data[3] + ((data[4]&0x0f)<<8);
rkey_signal_data[13] = data[5] + ((data[6]&0x0f)<<8);
rkey_signal_data[14] = data[7] + ((data[8]&0x0f)<<8);
rkey_baseline[13]=rkey_baseline_data[13];
rkey_signal[13]=rkey_signal_data[13];
rkey_baseline[14]=rkey_baseline_data[14];
rkey_signal[14]=rkey_signal_data[14];
}
case 0x418 {
rkey_baseline_data[15] = data[1] + ((data[2]&0x0f)<<8);
rkey_baseline_data[16] = data[3] + ((data[4]&0x0f)<<8);
rkey_signal_data[15] = data[5] + ((data[6]&0x0f)<<8);
rkey_signal_data[16] = data[7] + ((data[8]&0x0f)<<8);
rkey_baseline[15]=rkey_baseline_data[15];
rkey_signal[15]=rkey_signal_data[15];
rkey_baseline[16]=rkey_baseline_data[16];
rkey_signal[16]=rkey_signal_data[16];
}
else {
}
}
}