FGPS主催
Jupiterモニターレポート(その6。
Rockwellバイナリモード活用)(99.01.09
ちょっと情報追加)新着情報
98年10月からSPAにおいてちょっと値下げされてジュピターが販売されているようです。
はじめに
jupiter
のrockwellバイナリモード活用は、プログラムを書く必要もあり、私にはかなりハードルが高いことです。情報だけ集めて、実際の実験には到ってないので御了承ください。しかし、せめてバージョン情報の表示やNMEAモードへの復帰くらいはできるようになりたいなと考えています。言語として何を選択するかという問題もありますが、C(
gcc)として汎用性を高めたいなとは考えています。
1
.RS232Cプログラミング情報の入手(このサイトの他ページと重複あり)
(雑誌・書籍)−以下のものは98年3月以降秋葉原書泉ブックタワーで入手
トランジスタ技術 98年5月号 CQ出版社
特集「回路設計のためのパソコン活用」
初級者の私には難しいのですが、GPSエンジン活用の基本となるRS232C関連のプログラムについて、事例(VCとVB)があります。
Interface
98年6月号 CQ出版社Visual Basic
でエンジョイプログラミング CQ出版社「外部機器制御に使えるRS-232C通信機能の使い方」という章もあります
新VisualC++5.0入門 ビギナー編 SoftBank
エンジニアのためのC&C++プログラミング CQ出版社
実用RS−232C通信プログラム作成法 CQ出版社
(FGPS会議室・Lib)
シリアル通信プログラム関連 mes3-# 1266,1537,1564
FGPSのLibにはソースコードを含んだRS232Cプログラム(主にVB)がアップされており、そのコードを勉強するだけでもかなりの知識向上では。
Lib2- 20,101,258
(Win95 シリアルポートモニタ)Lib5- 1,2,6,91,
(ホームページ等)
Com tool
というシリアルラインモニターソフトが、TNKのホームページ http://www.yo.rim.or.jp/~kenk から入手できます。バイナリーデータのHex表示もできます。試用期間中でもフル機能がサポートされているようです。プログラムを書けないが、GPSのバイナリーデータをちょっと分析してみたいと思う方には便利かもしれません。ただし、価格がちょっと高い(
29,800円です。ホームページには98年9月現在、2,9800と表記されていますが、問い合わせて確認しました)。
(その他)
Linux
付属ドキュメント(http://jf.linux.or.jp において日本語化も行われています)Serial-Programming-HOWTO
Serial-HOWTO
など
2
.Rockwellバイナリーモードに関する勉強方法など(FGPSからの情報収集)
jupiter
におけるRockwellバイナリーモード活用96年にFGPSでモニターテストが行われた
ロックウェルの開発キット等に添付されるLABMON(英語版dosソフト)の入手方法FGPS mes3-# 1854
私が
ftpsearchで検索した結果の例を挙げると、があります。同じディレクトリにある
jupiter2.pdfというファイルもゲットすると、1PPS信号とバイナリモードの時刻データとの関係も分かります。更には、バイナリーモードでのコマンド番号一覧も分かります(番号が分かるだけで、具体的なフォーマットは記述されていません…)。ただし、現在(
99.01.09)はファイルが存在しなくなっています。
最近(
99.01.08)新たにaltavistaで検索したところ、ドイツですが、http://www.unitronic.de/rockwell/GPS-002.htm
に開発キットのドキュメントや
LABMONがあることが分かりました。ドイツのサイトからLABMON.zip(100KBほどのファイル)をダウンロードするとlabmon47がダウンロードされてしますので、jupiter.zip(3MB以上)をダウンロードすることをお勧めします。このアーカイブの中には、LABMON49や各種マニュアルが同梱されています。
LABMON
は、私のところのwindows95上のDosではフルスクリーン及び窓とも立ち上げ不可でした。Ms-Dosモードで立ち上げ直せば問題ありませんでした(私の経験の範囲です)。FGPS mes3-#2446
からのツリーにLABMONの主要な使い方がアップされています(98.11.07)。
jupiterの開発キットのマニュアル(英文pdfファイル)の入手方法FGPS mes3-#2504(99.01.07)
このマニュアルをゲットするとLABMONの使い方やバイナリーモードにおけるデータの詳細な仕様を知ることができます。
Delome
のTripmateのRockwellバイナリーモード活用 FGPS mes3-#1409,1995後継機種である
earthmateはデフォルトでrockwellバイナリモードデータが出力されるそうです(FGPS mes2-#3678,mes4-#3337からのツリー)。
(インターネット上の情報)
Jupiter
やtrimbleなどのGPSユニットからのデータを分析してくれる「Data monitor」というソフトも販売されています(かなり高価ですが…)。http://www.mooreinc.com を参照してみてください。
(
xntpのソースファイル活用)著作権等はアーカイブ付属の
アーカイブが
http://www.eecis.udel.edu/~ntp から入手可能です。最新バージョンはntp4.0.72g(Apr.27.98)となっています(non-X)。私はxntp3-5.93.tar.gzをダウンロードして利用しています。アーカイブの中には、
html形式のドキュメントがあります。アーカイブをwindows95上で解凍して、win95上で動くブラウザーで読むこともできました(当然かもしれませんが…)。Jupiter
用のドライバーは、Driver Type31ですが、他のドライバーと違いhtmlによる説明ファイルはなし。これにより何ができるのか、SPAの
jupiterでもいいのかなど、ソースファイルや他のドキュメントを見ないと分かりません。(以下、ソースファイルの解析はあまりよく分からないので、認識が間違っていたら御指摘ください)
refclock_jupiter.c
をみるとbaud rateが9600となっています。SPAのjupiterは4800固定ですのでソースの修正が必要と考えられます。当然1PPS関連のheader fileもincludeされております。これらのコードを活用すれば、jupiterのbinary活用も容易にできるかも…。
<注意>
xntp
のアーカイブのjupiter.hの10行目をみると、jupiterの仕様書にミスがある旨のコメントがありました。確かに、SPAのマニュアルのセクション1.2.1でも0xff81となっていますね。これは間違いということでしょうか?。既に世界的に周知の事実かもしれませんが…。#define JUPITER_SYNC 0x81ff /* sync word (book says 0xff81 !?!?) */
(未定稿)
Windows
でもunixコマンドやgccが利用できます(http://www.cygnus.com/misc/gnu-win32 を参照)のでgccを利用してjupiterのbinaryデータをいじることを試みてみました。
GNU-win32
に関する参考文献「フリーだから出来る
UNIX USER
ソフトバンク 98年12月号この号の記事は
beta18についてのものですので、ちょっと記述内容に古い点があります。
GNU-win32
はwindows95上のソフトで、最新版はbeta19(98.08.05現在)です。usrtools.exe cdk.exe
(beta19へのパッチ。dllファイルのみ)の3つのファイルをダウンロードしてください。結構サイズが大きい(合計16M程度)ので、ダイヤルアップ環境の方はsplitディレクトリのファイルをダウンロードしてつなぎ合わせるという作業が必要になります。また、必要に応じてマニュアル類もダウンロードすると良いと思います。インストールは到って簡単で、通常の
windowsソフトと同様にインストーラーまでついており、スタートメニューにもアイコン(Cygwin32 beta 19という名前)が登録されます。
C:
ドライブ以外にインストールした場合(例:g:\gnu-win32)は、インストールでディレクトリにある cygnus.bat を修正して、/tmpと/homeディレクトリを環境変数を用いて適切に設定する必要があります。Cygnus.bat
の追加設定例SET TMPDIR=G:\GNUWIN32\TMP
SET HOME=G:\GNUWIN32\HOME
この場合、
cd /tmpは大丈夫ですが、cd /;cd tmpはうまく行かない場合がありますので注意してください。更には
/binをマウントします。以上の設定を終えて、アイコンをダブルクリックすると、
MsDosプロンプトが立ち上がり、unixユーザーには馴染みがあるシェルプロンプトが表示されます。/
(ルートディレクトリ)はc:\となっていますので、参考にしてください。
以下のように
hello.cを作成し、#include <stdio.h>
main(void){
printf("Hello!\n");
}
を
gcc -o hello hello.c としてコンパイルしてみてください。うまくいきましたか?hello.exeという実行形式ファイルができているはずですので実行してみてください。