TNB Library
クラス | 公開型 | 公開メンバ関数 | 全メンバ一覧
CNmea0183 クラス

NMEA-0183 レポートクラス. [詳解]

#include <TnbNmea0183.h>

クラス

class  CLineInfo
 NMEA-0183 のライン情報. [詳解]
 
struct  IListener
 NMEA-0183 のリスナーインターフェース. [詳解]
 
struct  TGpGga
 Global Positioning System Fix Data [詳解]
 
struct  TGpGsv
 Satellites in View [詳解]
 
struct  TGpRmc
 Recommended Minimum Specific GNSS Data [詳解]
 

公開型

enum  EErrorCode {
  EC_UnknownDatas = 1 , EC_CheckSumError , EC_Connect , EC_Disconnect ,
  EC_End
}
 結果 [詳解]
 

公開メンバ関数

 CNmea0183 (void)
 コンストラクタ [詳解]
 
virtual bool ExistGps (void) const
 [確認] GPS確認. [詳解]
 
bool GetGgaData (TGpGga &_gga, DWORD tick=2000) const
 [取得] GGAデータ取得. [詳解]
 
bool GetGsvData (CVectorT< TGpGsv > &_gsvs, DWORD tick=2000) const
 [取得] GSVデータ取得. [詳解]
 
bool GetRmcData (TGpRmc &_rmc, DWORD tick=2000) const
 [取得] RMCデータ取得. [詳解]
 
bool GetZdaData (SYSTEMTIME &_tm, DWORD tick=2000) const
 [取得] ZDAデータ取得. [詳解]
 
void SetEnvironment (IReport *pReport, IListener *pListener=NULL)
 [設定] 環境設定. [詳解]
 

詳解

NMEA-0183 レポートクラス.

米国海洋電子機器協会(National Marine Electronics Association)が定めた通信フォーマットを扱います。

IReport から読みだしたデータを解析します。
覚え書き
GGA(Global Positioning System Fix Data)と GSV(Satellites in View)、 ZDA(Time&Date)は、本クラスにおいて解析し、 保持し、ゲッターメンバーにより取得することが出来ます。それ以外は、 リスナー を使うことで、 容易に情報を取り出すことが出来ます。
使用例
    // RS232C の例
    CRs232c rs232c;
    rs232c.SetParameter(1, 38400, 8, CRs232c::EP_NonParity, CRs232c::ES_OneStopBit);
    CCommunicationReporter rep(&rs232c);
    CNmea0183 nmea;
    nmea.SetEnvironment(&rep);

    rep.Start(); //開始       

    
必要ファイル
TnbNmea0183.h
日付
09/01/21 新規作成
09/01/27 排他追加
09/02/05 解析処理修正
09/02/20 GPRMC 対応

TnbNmea0183.h58 行目に定義があります。

列挙型メンバ詳解

◆ EErrorCode

enum EErrorCode

結果

列挙値
EC_UnknownDatas 

不明なデータ(SkipData)。lParamは長さ。

EC_CheckSumError 

チェックサムエラー。HIWORD(lParam)は受信SUM、LOWORD(lParam) は計算SUM。

EC_Connect 

接続。lParam は0。

EC_Disconnect 

切断。lParam は0。

EC_End 

終了。クローズされた。lParam は0。

TnbNmea0183.h214 行目に定義があります。

構築子と解体子

◆ CNmea0183()

CNmea0183 ( void  )

コンストラクタ

TnbNmea0183.h258 行目に定義があります。

関数詳解

◆ ExistGps()

virtual bool ExistGps ( void  ) const
virtual

[確認] GPS確認.

戻り値
trueGPS接続有り。
falseGPSなし。開始していない。 

TnbNmea0183.h369 行目に定義があります。

◆ GetGgaData()

bool GetGgaData ( TGpGga _gga,
DWORD  tick = 2000 
) const

[取得] GGAデータ取得.

引数
[out]_ggaGGAデータ。ここに情報が格納されます。
[in]tick受信してからの時間(ms)
戻り値
falsetick時間内にデータは受信されていない
truetick時間内にデータあり。

TnbNmea0183.h304 行目に定義があります。

◆ GetGsvData()

bool GetGsvData ( CVectorT< TGpGsv > &  _gsvs,
DWORD  tick = 2000 
) const

[取得] GSVデータ取得.

引数
[out]_gsvsGSVデータ配列。ここに情報が格納されます。
[in]tick受信してからの時間(ms)
戻り値
falsetick時間内にデータは受信されていない
truetick時間内にデータあり。

TnbNmea0183.h323 行目に定義があります。

◆ GetRmcData()

bool GetRmcData ( TGpRmc _rmc,
DWORD  tick = 2000 
) const

[取得] RMCデータ取得.

引数
[out]_rmcRMCデータ。ここに情報が格納されます。
[in]tick受信してからの時間(ms)
戻り値
falsetick時間内にデータは受信されていない
truetick時間内にデータあり。

TnbNmea0183.h352 行目に定義があります。

◆ GetZdaData()

bool GetZdaData ( SYSTEMTIME _tm,
DWORD  tick = 2000 
) const

[取得] ZDAデータ取得.

引数
[out]_tmZDAデータ(ローカルタイム)。ここに情報が格納されます。
[in]tick受信してからの時間(ms)
戻り値
falsetick時間内にデータは受信されていない
truetick時間内にデータあり。

TnbNmea0183.h280 行目に定義があります。

◆ SetEnvironment()

void SetEnvironment ( IReport pReport,
IListener pListener = NULL 
)

[設定] 環境設定.

引数
pReportレポート。
pListenerリスナー。省略可能。

TnbNmea0183.h267 行目に定義があります。