シリアルモニタの需要が発生してる。
— TADA:Yunit (@YxTada) 2016年5月7日
自分はSerialer(シリアラー)という謎のシリアルモニタを使っています。
Kpくんのオリジナルソフトなんですが、バカみたいにメモリを食います。
でも早いし、生のデータ見れたり色々優秀だから使ってる。
公開してみてはどうでしょう>Kp
じゃあ恥ずかしいけど公開します。どうせ暇だし。
あとメモリ食うのはきみが通信内容消さないせいだと思う。
このアプリケーションはOS X 10.8以降で動作します。
とりあえず最低限コードを整形してGitHubにあげときました。
https://github.com/mtkrtk/Serialer
自分でビルドしろというのも不親切ですから、バイナリも一緒に上げときました。
https://github.com/mtkrtk/Serialer/releases
つかいかた
- シリアルポートを指定する
- ボーレートを指定する
- モードを指定する
- Startボタンを押す
- 画面がデータでいっぱいになったら
Portというラベルの横のコンボボックスにシリアルポートのパスを入れます。
起動すると勝手にシリアルポートを検索してくれます。
Searchボタンを押して検索させることもできます。
お目当てのポートが出てこない場合は直接入力することもできます。
Baudというラベルの横のポップアップボタンから選びます。
デフォルトは9600です。デフォルトを変える機能とかはないです。
変えたかったらソースいじってビルドしてください。
Modeというラベルの横のポップアップボタンから選びます。
無駄に3つも読み取りモードを備えています。
char[] | 読んだデータを文字列として表示する(普通これしか使わない)。 |
uint8_t | 読んだデータを符号なし8bit整数として表示する。 |
int8_t | 読んだデータを符号あり8bit整数として表示する。 |
シリアル通信が始まります。
StartボタンがStopボタンになるので止めたかったらそれを押します。
Clearボタンを押して消しましょう。
あとはなんだかデータを送信する機能がついてる風味です。
画面下部のテキストボックスにデータを入れてSendボタンを押すとデータが送信されます。
テキストボックス左のポップアップボタンからデータの扱いを変更できます。
String | データを文字列として送信する。 |
Numeric | データを数値として送信する。 |
\n | 入力されたデータに関わらず改行コードを送信する。 |
ソースについて
ソースコードはあんまり見て欲しくないです。いろいろと適当仕様なのです。
- 恥ずかしポイント1: AppDelegateの実装がいいかげん
- 恥ずかしポイント2: シリアルの初期化がAppleのサンプルコード
個人用の動けばよかろうコードなのでエレガントさに欠けます。
だって動くんだもの。
あと、SwiftじゃなくてObjective-Cで書かれているのには理由があります。
当初SwiftはなぜかIOKitあたりのAPIが一部叩けなかったのです(今は知らない)。
登場して間もない言語だったので仕方ないですね。
どれくらい間もないかというと、実は2015ジャパンオープンでGcraudNanoのポスターにSerialerが紹介されていたりします。
実際は関東ブロック〜ジャパンオープンの間に開発し始めた気がします。Swift登場から下手すると半年経っていません。
今ならSwiftでAPI叩けるかもしれませんが、Objective-C大好きなので書き直すつもりとかはあまりありません。
困ったことがあったら言ってください。
コメント