| | |
| | | import java.io.OutputStream;
|
| | | import java.nio.ByteBuffer;
|
| | | import java.nio.ByteOrder;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Date;
|
| | | import java.util.List;
|
| | |
|
| | | /**
|
| | | * 底层和汇集器通讯线程
|
| | |
| | | public void handleMessage(Message msg)
|
| | | {
|
| | | ServiceModel model = (ServiceModel) (msg.obj);
|
| | | //Log.e(TAG, "handleMessage: " + model);
|
| | | // int what = msg.what;
|
| | | // List<BattDataThread> battData = FBS9600S_DeviceService.allBattDatt;
|
| | | // if(model.battindex>0 && model.battindex<FBS9600S_DeviceService.MAXCONCENTRATORCOUNT){
|
| | | // if(!battData.get(model.battindex-1).isInstall){
|
| | | // return;
|
| | | // }
|
| | | // }
|
| | | try
|
| | | {
|
| | | if(null != model.mhandler)
|
| | |
| | | Message toMain = handler.obtainMessage();
|
| | | toMain.obj = remodel;
|
| | | handler.sendMessage(toMain);
|
| | | sleep(200);
|
| | | sleep(5);
|
| | | }
|
| | | }
|
| | | catch (InterruptedException e)
|
| | |
| | | // res = true;
|
| | | break;
|
| | | }
|
| | | if(rx_read_time_out > 40) {
|
| | | if(rx_read_time_out > 30) {
|
| | | break;
|
| | | }
|
| | | }
|
| | |
| | |
|
| | | bytebuffer_for_socket_RX.flip();
|
| | |
|
| | | Date d2 = new Date();
|
| | | long comm_tms = (d2.getTime() - d1.getTime());
|
| | | if(comm_tms < 200) {
|
| | | Thread.sleep(200 - comm_tms);
|
| | | }
|
| | | // Date d2 = new Date();
|
| | | // long comm_tms = (d2.getTime() - d1.getTime());
|
| | | // if(comm_tms < 200) {
|
| | | // Thread.sleep(200 - comm_tms);
|
| | | // }
|
| | | /*
|
| | | System.out.println(this.getName()
|
| | | + " dev_id: " + m_StatAndParam.dev_id
|
| | |
| | | bytebuffer_for_socket_RX.get(cipher_buf);
|
| | |
|
| | |
|
| | | Log.e(TAG, "接收数据: "+ ComFn.bytesToHexString(cipher_buf, cipher_buf.length));
|
| | | //Log.e(TAG, "接收数据: "+ ComFn.bytesToHexString(cipher_buf, cipher_buf.length));
|
| | | if(true == getDataFromCommBuf(cipher_buf,remodel)) {
|
| | | rx_errcount_for_live_of_thread = 0;
|
| | | res_t = true;
|