jruby のシリアル COMx または /dev/ttySx インターフェイスから 500 ミリ秒ごとに着信メッセージを読み取る必要があります。
私がやろうとしているのは、リスナーを再トリガーするために、この例を Ruby に変換することです。
私はjRubyを学んでいるので、シリアルポートのアクティブ化を開始し、次の方法でリスナーを追加しようとしています:
java_import('gnu.io.RXTXPort') { 'JSerialPort' }
begin
sp=JSerialPort.new('COM6')
sp.setSerialPortParams(38400,8,1,0)
rescue
puts @error_message="myerror #{$!}"
ensure
sp.close
end
うまくいくようです。次に、上記の例でこの行に記述されているリスナーを追加します
serialPort.addEventListener(new SerialReader(in));
これについては、addListener メソッドが記述されている場所に記述されています。
メソッドを呼び出す方法はいろいろ試しましたaddListener
が、jRuby でそのような内部メソッドを呼び出すことができませんでした。
私はsp::RXTXPort::addEventListener
運が悪かった。長い研究グーグルは私を失速させました(そしていくらかの欲求不満)。どんな助けでも大歓迎です。