Advanced Robot Control System  5.1-REV.51SF170515
DataStorage.hh
[詳解]
1 //
9 // Copyright (C) 2011-2017 Yuki YOKOKURA
10 // This program is free software;
11 // you can redistribute it and/or modify it under the terms of the FreeBSD License.
12 // For details, see the License.txt file.
13 
14 #ifndef DATASTORAGE
15 #define DATASTORAGE
16 
17 #include <fstream>
18 
19 namespace ARCS { // ARCS名前空間
21  class DataStorage {
22  public:
24  enum SaveType {
27  };
28  DataStorage(const unsigned int NumOfVar, const unsigned long SmplTime, const double SaveTime, const unsigned int Rate);
29  // コンストラクタ NumOfVar;変数の数,SmplTime;[ns] 制御周期,SaveTime;[s] 保存時間
30  ~DataStorage(); // デストラクタ
31  void PutData(double* Value); // データの格納 Value;データ値,NumOfVar;変数の数
32  bool SaveDataFile(const std::string& FileName, const SaveType FileType) const;
33  // CSV/DATファイルの保存 FileName;ファイル名,FileType;ファイル形式,戻り値;true=完了,false=失敗
34  void ClearCounter(void); // 要素数カウンタをクリア
35 
36  private:
37  DataStorage(const DataStorage&); // コピーコンストラクタ使用禁止
38  const DataStorage& operator=(const DataStorage&); // 代入演算子使用禁止
39  const unsigned int N;
40  const unsigned long Ts;
41  const double Tend;
42  const unsigned long tlen;
43  const unsigned int M;
44  double** Data;
45  unsigned long count;
46  unsigned long Mcount;
47  };
48 }
49 
50 #endif
51 
DataStorage(const unsigned int NumOfVar, const unsigned long SmplTime, const double SaveTime, const unsigned int Rate)
コンストラクタ
Definition: DataStorage.cc:24
const double Tend
[s] 保存する時間
Definition: DataStorage.hh:41
DAT(タブ区切り)ファイルとして保存
Definition: DataStorage.hh:26
const unsigned int M
間引き数
Definition: DataStorage.hh:43
const unsigned int N
格納する変数の数
Definition: DataStorage.hh:39
double ** Data
データ格納用変数
Definition: DataStorage.hh:44
const unsigned long Ts
[ns]サンプリング時間
Definition: DataStorage.hh:40
CSVt Cǂݍ FileName
Definition: GraphPlotter.m:7
データ格納/ファイル出力クラス
Definition: DataStorage.hh:21
const DataStorage & operator=(const DataStorage &)
CSVファイルとして保存
Definition: DataStorage.hh:25
Definition: ControlFunctions.hh:17
void PutData(double *Value)
データの格納
Definition: DataStorage.cc:53
void ClearCounter(void)
要素数カウンタをクリア
Definition: DataStorage.cc:101
~DataStorage()
デストラクタ
Definition: DataStorage.cc:43
unsigned long count
要素数カウンタ
Definition: DataStorage.hh:45
bool SaveDataFile(const std::string &FileName, const SaveType FileType) const
CSV/DATファイルの保存
Definition: DataStorage.cc:68
SaveType
ファイル形式の定義
Definition: DataStorage.hh:24
unsigned long Mcount
間引き用カウンタ
Definition: DataStorage.hh:46
const unsigned long tlen
保存する要素数
Definition: DataStorage.hh:42