読者です 読者をやめる 読者になる 読者になる

迷いませんか?

プログラミング、電子工作、ゲーム・・・etc、色々やるけど中途半端なブログです。

ラジコン〜ボタン情報読み取り編〜

久しぶりです
前の記事の終わりでまた明日とか言ってた気がするが気のせいです
気のせいじゃないと思うなら前の記事を見てみるがいい

残念なことに言ってるんだなぁ・・・これが
人生って厳しいよね・・・

MtGにまるで魔法(マジック)のように時と金を消されたのが原因
プレリリース行って血染めのぬかるみ当てて強さわからないけど嬉しかった
あと神話レア一個出ただけだし
運命再編の対戦キットほしいと思ってたんだけどCARDBOXが遠いのがキツイんだな
何気にwebカメラ使うのにドライバ必要なかったからSkypeぐらいでMtGやりたい
フライデーナイトマジックとか確実に行けないしさ

ボタン情報読み取る

それはいいとして、どのボタンが押されているかを読み取るプログラム
一応C++で書くと決めてたからそこら辺に散らばってるPythonのコードは使えない
辛い
ファイルを8バイトずつ読み込み
判定していくだけなのでまあ簡単だけどね
(8バイトずつ読み込むのをintで8つ、つまり32バイトずつぐらいで読み込み失敗しました)

とりあえず読み込むところだけのコード

int main(void){
    char bin[8];
    bool quit = false;
    string line;

    wiringPiSetupGpio();//wiringPi使うためのセットアップ
    ifstream ifs("/dev/input/js0", ios::binary);//バイナリ形式で読み込み
    if(ifs.fail()){
        cerr << "Reading file is fail." << endl;
        return 1;
    }
    for(int i = 0;i < 50;i++){
        ifs.read((char*)bin, sizeof(char)*8);
        //最初に初期化かわからないけどボタン情報が勝手に入るので空読み
    }

    while(!ifs.eof()){
        ifs.read((char*)bin, sizeof(char)*8);
        //ここでいろいろな処理をする
    }
    ifs.close();

    return 0;
}

処理の部分は各自で
そしてどのコードがどのボタンのどういう操作かはここを参考にした
ボタンごとのバイナリコードまとめ
実際のタイトルは違うけどわかりやすくするため
次回は動画を載せて、操作部分をやるつもり
今度はまた明日とかいう約束はしないぞ!!!

Written with StackEdit.