もう最近ではぜんぜんSpaceWireを使っていませんが、コンピュータの中なら出てきたので、C++11に書き直してgistにあげておきました。C++11だと、{}を使ったUniversal Initiaizationが使えるので、パケットのバイト列を入れたstd::vectorを初期化するのも楽ですね。(昔はpush_backをずらずら書いていた、、、)

参考: C++11 Universal Initialization は、いつでも使うべきなのか – Qiita

Macで以下のgistのC++ファイルとMakefileをダウンロードして、同じフォルダに入れてmakeするとコンパイルされて、以下のように実行できます。Macじゃない人はMacを買ってください。


$ make
clang++ -std=c++11 -stdlib=libc++ crc_example.cc -o crc_example

$ ./crc_example
CRC = 0x38
CRC = 0x59

crc_example.cc – gist.github.com