Posts in Category: mac

なんとかなりそう

ちょとやり方変えてみたらいまんとこ不具合でてないや。
きっと自分が悪いにちがいない。。

データを受信したらその都度表示していくタイプで
単にHEXならHEXだけてれれーーっと表示するならそのまま表示してきゃいいんだけど
それぞれ表示方法の違う3カラム表示なので変な変なやり方で実装しちゃった。
TextView3つとかすりゃいいんだろうけど、スクロールとかめんどくさそうで。。
なのでカラムごとのStringデータを作ってこれを結合
データくるたびにこの結合したStringを行として書き換えることにしちゃった。強引!
TextViewの行をRangeで指定してデータごと書き換えてたんだけど、例の表示とりこぼし
みたいな現象がよくわからんので、今回この方法で。
でも、延々と表示してたらいつか破綻するよな(笑)
ある程度いったら最初の行は削除していかないばね。。

こゆストリーム的な表示ってどやってるんだろう?

あとは規格外のボーレート実装できるかやってみよっと。(MIDI用の 31250bps)

Share on Facebook

NSTextView

ん〜バグなのか、やり方が悪いのか、
NSTextViewで不可解な現象。。
UARTcomでの表示で、ちょくちょく表示されなかったり、
表示されないのがまとめてだだっと表示されたり

でもでデバッグ確認でNSLogでコンソールに文字吐くと、不具合がでなくなる。

ん〜〜〜〜????
どおしよう。。

って、いまこれに集中するわけにもいかないのがもどかしい。。

Share on Facebook

UARTcom(OSX用簡易シリアルターミナル)

UARTcom(original OSX uart terminal )

16進 / 10進 / ASCIIの3カラムで表示できた。
この表示方法、正直無理矢理な気がするんだけどこれでいいのかどうか。。。(笑)
あとは表示クリア実装と、メモリリーク潰し。

とおもったらやたらCPU負荷が重い。。150,180%あたりまえ。
やっぱマルチスレッドで素の無限ループはだめなんだな。そりゃそーか(笑)
とりあえず0.1秒眠らせつつ回すことに。これじゃ遅いかなあ

とりあえずこれでAVRのデバッグ楽になるかな〜〜

Share on Facebook

Cocoaで自作シリアル通信ソフト・続

受信したデータを表示する部分。
普通にだらだらと表示するだけなら素のNSTextViewで事足りそうだけど
16進、10進、テキストを3カラムで同時にスクロールとなると、ちょっと手強いぞ。
NSTextViewを3つ並べてスクロール同期(ってできるんだよねきっと)というのと
1つのNSTextView内でフォーマットして表示させるか
悩みどころ

Share on Facebook

OSX(cocoa)のシリアル通信ソフト -追記

uartcom.png

Cocoaの勉強がてらこないだからぼちぼち作ってます。
初めてのObjective-C&Cocoa。

OSXでも使えるシリアル通信ソフトはZTermとかJermもあるけど
AVRとかのシリアル通信ではテキストのやりとりはちょっと避けたいので(printf使うと容量食うし)
デバッグ用にバイナリでのやりとりしやすいように、ほんでGUIで。

でもまーtermios使ってるだけなんですけどね〜。
とりあえず送信はいいみたいなので、
次受信。これが本番。

とはいえ、これは派生ブツで、ほんとは使いやすいUARTクラスを作りたかったんですた。
Macと外部(AVR)のやりとりする場面も増えそうなので

—-追記
受信はマルチスレッドにして、裏でじゃんじゃか受信->リングバッファへ放り込むをひたすら繰り返す
という感じにしたけど、拍子抜けするくらいアッサリできた。
ほーへー。

これをどやって表示するかだよなあ。またUIでストップ。

Share on Facebook