本日は、白馬コルチナにスキーに行きました。早速、KYOCERA TORQUE G01でスキー滑走データをLOGしたのですが、
滑り終わってみるとなんと数分しかLOGされませんでした。
前回、ArrowsF01FでLOGしたときは、数時間まるごとLOGできていたので、タッチしてプログラム停止するUIでいいと思っていたのですが、端末が変わるとタッチの敏感さが変わるみたいで
頻繁にタッチされてしまってLOG停止してしまう課題が発生しました。
●UIを変わりにくいものにする
物理的なボタンなら、間違ってLOG停止にならないかと思ったのですが。端末のボタンは、システムで使っていてプログラムで使うのが難しそうでした。困って、KetaiライブラリのUIを動作させてみるとキーボードをToggleで表示して文字入力ができるサンプルプログラムがあったので、UIをキーボードを呼び出して、文字入力することでプログラムのLOG StartとプログラムのExitを
入力できるUIにしました。
使った関数はdrawUI()とkeyPressed()とmousePressed()
void drawUI()
{
pushStyle();
textAlign(LEFT);
fill(0);
stroke(255);
rect(0, 0, width/3, 100);
rect(width/3, 0, width/3, 100);
rect((width/3)*2, 0, width/3, 100);
fill(255);
text(“KeyPressed=”+char(pKey), 5, 60);
text(stat, width/3 + 5, 60);
text(“x:Exit”, width/3*2 + 5, 60);
popStyle();
}
void keyPressed() {
if (key == CODED) {
pKey=0;
}
if (key==’s’){
pKey=’s’;
}
if (key==’x’){
pKey=’x’;
}
}
void mousePressed()
{
if (mouseY < 100)
{
if (mouseX < width/3)
{KetaiKeyboard.toggle(this);}
//else if (mouseX > width/3 && mouseX < width-(width/3))
//{KetaiAlertDialog.popup(this, “Pop Up!”, “this is a popup message box”);}
//else
//{vibe.vibrate(1000);}
}
}
●これを動作させると
①KeyPressed= 無しで起動します
②KeyPressedをタップするとキーボードが開きます。
sを押すとKeyPressedにsが入力されてLOGスタートします。
④キーボードは、keyPressedをタップするとToggleします。
⑤xを入力するとプログラムは停止します。
●以後
明日、再度スキー場にいって、LOGが途切れることなく測定できるか実験します。