Commit d33d58a0 by onuma

Mutexの位置を変更。ERが返ってきた時にはRPに戻す処理を入れた

parent 62057b49
...@@ -230,8 +230,8 @@ public class AlcoholCheckerUtil { ...@@ -230,8 +230,8 @@ public class AlcoholCheckerUtil {
@Override @Override
public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) { public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
Logger.d(TAG,"onCharacteristicChanged start");
synchronized (lockObj) { synchronized (lockObj) {
//Logger.d(TAG, "onCharacteristicChanged");
byte[] rx = characteristic.getValue(); byte[] rx = characteristic.getValue();
String rxStr = " "; String rxStr = " ";
...@@ -242,8 +242,10 @@ public class AlcoholCheckerUtil { ...@@ -242,8 +242,10 @@ public class AlcoholCheckerUtil {
} }
sub_rx_chk(rx); sub_rx_chk(rx);
} }
Logger.d(TAG,"onCharacteristicChanged end");
} }
@Override @Override
public void onDescriptorWrite(BluetoothGatt gatt, BluetoothGattDescriptor descriptor, int status) { public void onDescriptorWrite(BluetoothGatt gatt, BluetoothGattDescriptor descriptor, int status) {
UUID characteristic_uuid = descriptor.getCharacteristic().getUuid(); UUID characteristic_uuid = descriptor.getCharacteristic().getUuid();
...@@ -320,36 +322,38 @@ public class AlcoholCheckerUtil { ...@@ -320,36 +322,38 @@ public class AlcoholCheckerUtil {
public void SendMessageFromCentral(final int giStatus) { public void SendMessageFromCentral(final int giStatus) {
Logger.d(TAG,"SendMessageFromCentral"); Logger.d(TAG,"SendMessageFromCentral");
synchronized (lockObj) { if (giStatus == F_BLE_COM_RP_START || giStatus == F_BLE_COM_RD_START || giStatus == F_BLE_COM_FC_START || giStatus == F_BLE_COM_FC_START22) {
if (giStatus == F_BLE_COM_RP_START || giStatus == F_BLE_COM_RD_START || giStatus == F_BLE_COM_FC_START || giStatus == F_BLE_COM_FC_START22) { Logger.d(TAG, "gi_status = " + giStatus);
Logger.d(TAG, "gi_status = " + giStatus); } else {
} else { Logger.w(TAG, "UNKOWN COMMAND");
Logger.w(TAG, "UNKOWN COMMAND"); }
} long delay = 1000;
long delay = 1000; if (isFirst) {
if (isFirst) { delay = 3000;
delay = 3000; Logger.d(TAG,"SendMessage delayTime:" + delay);
} isFirst = false;
}
handler.postDelayed(new Runnable() { handler.postDelayed(new Runnable() {
@Override @Override
public void run() { public void run() {
synchronized (lockObj) {
if (giStatus == F_BLE_COM_RP_START) { if (giStatus == F_BLE_COM_RP_START) {
Logger.d(TAG,"F_BLE_COM_RP_START"); Logger.d(TAG, "F_BLE_COM_RP_START");
sendMessage(F_BLE_COM_RP_COMMAND); sendMessage(F_BLE_COM_RP_COMMAND);
} else if (giStatus == F_BLE_COM_RD_START) { } else if (giStatus == F_BLE_COM_RD_START) {
Logger.d(TAG,"F_BLE_COM_RD_START"); Logger.d(TAG, "F_BLE_COM_RD_START");
sendMessage(F_BLE_COM_RD_COMMAND); sendMessage(F_BLE_COM_RD_COMMAND);
} else if (giStatus == F_BLE_COM_FC_START) { } else if (giStatus == F_BLE_COM_FC_START) {
Logger.d(TAG,"F_BLE_COM_FC_START"); Logger.d(TAG, "F_BLE_COM_FC_START");
sendMessage(F_BLE_COM_FC_COMMAND_F11); sendMessage(F_BLE_COM_FC_COMMAND_F11);
} else if (giStatus == F_BLE_COM_FC_START22) { } else if (giStatus == F_BLE_COM_FC_START22) {
Logger.d(TAG,"F_BLE_COM_FC_START22"); Logger.d(TAG, "F_BLE_COM_FC_START22");
sendMessage(F_BLE_COM_FC_COMMAND_F22); sendMessage(F_BLE_COM_FC_COMMAND_F22);
} }
} }
},delay); }
} },delay);
} }
public void connect(int connectTargetDeviceType, String deviceAddress) { public void connect(int connectTargetDeviceType, String deviceAddress) {
...@@ -385,7 +389,7 @@ public class AlcoholCheckerUtil { ...@@ -385,7 +389,7 @@ public class AlcoholCheckerUtil {
@Override @Override
public void run() { public void run() {
Logger.d(TAG,"SendMessage start");
gi_rxlength = 0; gi_rxlength = 0;
final int PACKET_SIZE = 20; final int PACKET_SIZE = 20;
BluetoothGatt s_mBluetoothGatt; // @@@ BluetoothGatt s_mBluetoothGatt; // @@@
...@@ -460,6 +464,7 @@ public class AlcoholCheckerUtil { ...@@ -460,6 +464,7 @@ public class AlcoholCheckerUtil {
} catch (Exception e) { } catch (Exception e) {
//error_msg = "Failed to send data"; //error_msg = "Failed to send data";
} }
Logger.d(TAG,"SendMessage end");
} }
} }
Thread thread = new Thread(new MessageSender(message)); Thread thread = new Thread(new MessageSender(message));
...@@ -870,7 +875,16 @@ public class AlcoholCheckerUtil { ...@@ -870,7 +875,16 @@ public class AlcoholCheckerUtil {
for (byte b: rxdata) { for (byte b: rxdata) {
Logger.d(TAG,"%s, ", Byte.toString(b)); Logger.d(TAG,"%s, ", Byte.toString(b));
} }
// 1 114 100 22
if (rxdata[0] == 1 && rxdata[1] == 101 && rxdata[2] == 114 && rxdata[3] == 3) {
// er コマンドの reply
// 1 101 114 3
// 0x01 0x65 0x72 0x03
si_ret = F_BLE_COM_RD_START;
return si_ret;
}
// 1 114 100 22
// 0x01 0x72 0x64, 0x16 // 0x01 0x72 0x64, 0x16
// 1, 114, 100, 22, -1, -1, 0, -1, -1, 5, 3, 74, -1, -1, -1, -1, -1, -1, 45, 4 // 1, 114, 100, 22, -1, -1, 0, -1, -1, 5, 3, 74, -1, -1, -1, -1, -1, -1, 45, 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