Есть кнопка при нажатии которой отправляется всего одна команда:
bytesToSend = addCRC(new byte[]{0x1, 0x3, 0x0, 0x0 ,0x0, 0x0}); // Команда статус
mPhysicaloid.write(bytesToSend, bytesToSend.length);
Не могу понять как мне написать цикл который будет отправлять все вот эти команды:
addCRC(new byte[]{1, 0x5, 11, 5 ,0, 0}); //10 сек
addCRC(new byte[]{1, 0x5, 11, 1 ,0, 0}); //0 сек
addCRC(new byte[]{1, 0x5, 0, 5 ,0, 0}); //30 сек
addCRC(new byte[]{1, 0x5, 1, 5 ,0, 0}); //5 сек
addCRC(new byte[]{1, 0x5, 2, 5 ,0, 0}); //5 сек
addCRC(new byte[]{1, 0x5, 3, 5 ,0, 0}); //5 сек
addCRC(new byte[]{1, 0x5, 4, 5 ,0, 0}); //5 сек
addCRC(new byte[]{1, 0x5, 5, 5 ,0, 0}); //5 сек
addCRC(new byte[]{1, 0x5, 6, 5 ,0, 0}); //5 сек
addCRC(new byte[]{1, 0x5, 7, 5 ,0, 0}); //5 сек
addCRC(new byte[]{1, 0x5, 8, 5 ,0, 0}); //5 сек
После каждой команды должна быть пауза (В комментариях указано), значение паузы для каждой команды будет хранится в переменой int
UPD: что то я совсем запутался с этими байтами и циклами:
Должно получатся
типа как то так:
public byte[] MyListComands = new byte[11];
public void onClickWrite(View v) {
new Thread() {
@Override
public void run() {
int TimeOut = 0;
try {
for (int i = 0; i <= 11; i++, Thread.sleep(TimeOut)) {
MyListComands[i] = addCRC(new byte[]{1, 0x5, 1, 5 ,0, 0});
// Тут как я догоняю должно быть то - что в зависимости от значение "i"
// будет присваивать новое значение таймеру TimeOut
mPhysicaloid.write(MyListComands[i], MyListComands[i].length);
}
} catch (InterruptedException ex) {
// тут хз что ;(
}
}
}.start();
}
Но эта работать не будет, но как же всетаки это сделать ?