今日はボール盤でドリブラーのバレル(ホイール)のネジ穴を加工しました。
Matsumotoさんいわく、ボール盤が故障しているので新しくボール盤の購入を考えているようでした。となると、共有物資扱いとなるのでお金がまた飛びますね。なので、ボール盤を修理に出すという方針を勧めてみました。修理中だけ技術室のものを借りるなどができたらベストですね。
お金がないのは本来なら当たり前なので、そこまでマイナスに考えるのもなんかあれです。マクソン買ってもらえるだけましです。本来マクソンは3年間持つっていうのがRCJでの人気の訳です。16本も果たして使いますかね。考えようです。正直12本でいい。12でも多いくらいですね。ちゃんと軸受作ってあげれば軸は曲がらないですし、ちゃんと使えばパフォーマンスは出ます。
あとオムニも小さくしたほうがいいかもです。でかいと、サイドホイールにかかる力を分散できるのでいいと思いますが、重いので少しくらいいいんじゃないかと思いました。
今日の進捗
SPIをしました。タイマー割り込みでデータが来てたら(ポストに荷物が入っていたら)データを読み込んで、変数にデータを格納するというプログラムです。
タイマー割り込みについて少し書きます。
文献
Ticker name;
これで宣言をします。
name.attach_us(&呼び出す関数の名前 ,間隔);
これでセットアップをします。
attach_us attachの2種類があります。name.attach_us(&Blink ,100000);//Blinkを100ms間隔で呼び出すname.detach();これでタイマー割り込みを解除します。
下の図はTickerのブロック図です。Tickerの上にはTimerEventというのがありまして、多分これでタイマー割り込みの統括をしているんだと思います。複数個あった時に優先度などをつけたりしているのがこのクラスです(多分)。
そしてTickerの下にTimeroutやLowPowerTickerなどがあります。
Timeoutはセットしたら一回しか呼び出さないタイマー割り込みです。セットしてからn秒後に呼び出され、それ以降は呼び出されることはありません。キッカーを打った後に自動的にキッカーを戻したい場合に使ったりします。

全ての処理をタイマー割り込みで行うと、全てがバックグラウンドで実行されるのでメイン関数の中はwhile(1){ }みたいなこともできちゃいます。全てが全てに依存するRCJでは結構いいのかもしれません。こんな処理を書いていた人を例に挙げるとTADAさんくらいです。かなり綺麗にプログラムの設計がされていたので是非読んでみてください。
今日知った知識
電車で学校に向かいながらずっとSPIの概念について調べていました。
SPIはガバガバな設計であることがわかりました。プログラマーに通信のプロトコル(?)、設計を丸投げです。正解がないのです。自分で作らないといけないので当然みんな怖がってネットにあげませんし参考にするものがないの仕方ないですが、これからも頑張ります。
ブログみたいになってきてます。

Loading Comments...