Commit d33d58a0 by onuma

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

parent 62057b49
......@@ -230,8 +230,8 @@ public class AlcoholCheckerUtil {
@Override
public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
Logger.d(TAG,"onCharacteristicChanged start");
synchronized (lockObj) {
//Logger.d(TAG, "onCharacteristicChanged");
byte[] rx = characteristic.getValue();
String rxStr = " ";
......@@ -242,8 +242,10 @@ public class AlcoholCheckerUtil {
}
sub_rx_chk(rx);
}
Logger.d(TAG,"onCharacteristicChanged end");
}
@Override
public void onDescriptorWrite(BluetoothGatt gatt, BluetoothGattDescriptor descriptor, int status) {
UUID characteristic_uuid = descriptor.getCharacteristic().getUuid();
......@@ -320,36 +322,38 @@ public class AlcoholCheckerUtil {
public void SendMessageFromCentral(final int giStatus) {
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) {
Logger.d(TAG, "gi_status = " + giStatus);
} else {
Logger.w(TAG, "UNKOWN COMMAND");
}
long delay = 1000;
if (isFirst) {
delay = 3000;
}
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);
} else {
Logger.w(TAG, "UNKOWN COMMAND");
}
long delay = 1000;
if (isFirst) {
delay = 3000;
Logger.d(TAG,"SendMessage delayTime:" + delay);
isFirst = false;
}
handler.postDelayed(new Runnable() {
@Override
public void run() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
synchronized (lockObj) {
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);
} 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);
} 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);
} 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);
}
}
},delay);
}
}
},delay);
}
public void connect(int connectTargetDeviceType, String deviceAddress) {
......@@ -385,7 +389,7 @@ public class AlcoholCheckerUtil {
@Override
public void run() {
Logger.d(TAG,"SendMessage start");
gi_rxlength = 0;
final int PACKET_SIZE = 20;
BluetoothGatt s_mBluetoothGatt; // @@@
......@@ -460,6 +464,7 @@ public class AlcoholCheckerUtil {
} catch (Exception e) {
//error_msg = "Failed to send data";
}
Logger.d(TAG,"SendMessage end");
}
}
Thread thread = new Thread(new MessageSender(message));
......@@ -870,7 +875,16 @@ public class AlcoholCheckerUtil {
for (byte b: rxdata) {
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
// 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