YUKAI / konashi-js-sdk

konashi JavaScript SDK
Apache License 2.0
26 stars 8 forks source link

uartWriteで文字を送る際の書き方の問題 #10

Closed tokoro10g closed 11 years ago

tokoro10g commented 11 years ago

uartWrite関数でASCII文字を送りたいときに,現状では以下のように記述する必要があります.

k.uartWrite('A'.charCodeAt(0));

これは直感的でないため,

k.uartWrite('A');

という表記にも対応したいと思います.

考えられる問題点:

k.uartWrite("hogehoge");

などと書かれた場合の処理をどうするか.

monakaz commented 11 years ago

('A')ノシ

monakaz commented 11 years ago

c言語なら'A'でchar、"A"でchar*で良い感じなんだけど、 jsは'A'でも"A"でも両方Stringなんだよね。

k.uartWrite('A');

でとる引数は本来uartWrite()で想定している型と違うから 1.引数の型をチェックして、処理を変える 2.Stringを引き数として指定できる新しい関数を作る かなと思います。 2がよさそうかなぁ。uartWriteString()みたいな。

tokoro10g commented 11 years ago

私も2が適当かと思います.

k.uartPutChar('A');

とか

k.uartWriteString("hogehoge");

とかやってしまうのがいいかもしれません. Javascriptでは型が明らかでないまま変数を扱うことが多いので, 使用する用途で分けて意識していただいた方がよいですね.

tokoro10g commented 11 years ago

developにuartPutCharとuartWriteStringを実装してマージしました. buildディレクトリにはまだ何も追加してないので,バージョンを切るなりなんなりよろしくお願いします. なお,サンプルは今回のバージョンを基準に作っています

monakaz commented 11 years ago

ナイス実装!!ありがとうたどっち。

jsの流儀だと'A'でも"A"でもStringとみなされるので、

k.uartWriteString("hogege");

のみで良いと思います。実装も見ましたがuartWriteStringだけでいけそうです。 もし1文字送りたい場合は

k.uartWriteString('A');

でuartPutChar相当の機能を果たすはずです。'A'.lengthの結果は1ですので!

monakaz commented 11 years ago

もちろん

k.uartWriteString('A');

k.uartWriteString("A");

は同じ結果となります。

monakaz commented 11 years ago

ついでにワンポイントアドバイスです! コミットのメッセージにissue番号(このissueは#10)を付与すれば、このissueの会話の中にコミット情報が出てきます。

git commit -m "#10 uartWriteStringメソッド追加"

みたいに。

monakaz commented 11 years ago

あとあれだね。 konashi-bridge.jsをアップデートすると、サンプルにあるkonashi-bridge.jsも毎回全部アップデートしないといけないの大変だね〜( ◞‸◟)

tokoro10g commented 11 years ago

遅くなりましたがuartPutCharは消しておきました.

monakaz commented 11 years ago

あざっす!