SWIGを使うことにより、SpaceWire RMAP LibraryがRubyから利用できるようになりました(SpaceWire RMAP Libraryのニュース記事)!

コンパイルなしにSpaceWireパケットの送受信やRMAP Read/Writeアクセスが実行できます。

たとえば、以下のように。

#load SpaceWireRMAPLibrary module
require "SpaceWireRMAP"
include SpaceWireRMAP

#Connect to SpaceWire-to-GigabitEther device via TCP/IP
serverURL="localhost"
tcpPort=10030
spwif=SpaceWireIFOverTCP.new(serverURL,tcpPort)

#Open a SpaceWire link
spwif.open()
print "Connectedn"

#Create a packet, and then send it via the SpaceWire I/F
packet=VectorUInt8.new([1,2,3,4,5,6,7])
spwif.send(packet)
print "Sentn"

#Close the SpaceWire I/F
spwif.close()

ダウンロードは、SpaceWire RMAP Libraryのgithubレポジトリーからどうぞ。


git clone https://github.com/yuasatakayuki/SpaceWireRMAPLibrary

もっと詳しい紹介は、The open-source SpaceWire projectのページからどうぞ。