ARCS6 AR6-REV.24062600
読み取り中…
検索中…
一致する文字列を見つけられません
ARCSparams.hh
[詳解]
1
8//
9// Copyright (C) 2011-2024 Yokokura, Yuki
10// MIT License. For details, see the LICENSE file.
11
12#ifndef ARCSPARAMS
13#define ARCSPARAMS
14
15#include <pthread.h>
16#include <string>
17
18namespace ARCS { // ARCS名前空間
21 public:
22 // ARCS改訂番号(ARCS本体側システムコード改変時にちゃんと変えること)
23 static constexpr char ARCS_REVISION[] = "AR6-REV.24062600";
24
25 // イベントログの設定
26 static constexpr char EVENTLOG_NAME[] = "EventLog.txt";
27
28 // ARCSシステムスレッドの設定
29 static constexpr int ARCS_POL_CMDI = SCHED_RR;
30 static constexpr int ARCS_POL_DISP = SCHED_RR;
31 static constexpr int ARCS_POL_EMER = SCHED_RR;
32 static constexpr int ARCS_POL_GRPL = SCHED_RR;
33 static constexpr int ARCS_POL_INFO = SCHED_RR;
34 static constexpr int ARCS_POL_MAIN = SCHED_RR;
35 static constexpr int ARCS_PRIO_CMDI = 32;
36 static constexpr int ARCS_PRIO_DISP = 33;
37 static constexpr int ARCS_PRIO_EMER = 34;
38 static constexpr int ARCS_PRIO_GRPL = 35;
39 static constexpr int ARCS_PRIO_INFO = 36;
40 static constexpr int ARCS_PRIO_MAIN = 37;
41 static constexpr size_t ARCS_CPU_CMDI = 0;
42 static constexpr size_t ARCS_CPU_DISP = 0;
43 static constexpr size_t ARCS_CPU_EMER = 0;
44 static constexpr size_t ARCS_CPU_GRPL = 1;
45 static constexpr size_t ARCS_CPU_INFO = 0;
46 static constexpr size_t ARCS_CPU_MAIN = 0;
47 static constexpr unsigned long ARCS_TIME_DISP = 33333;
48 static constexpr unsigned long ARCS_TIME_GRPL = 33333;
49 static constexpr unsigned long ARCS_TIME_INFO = 33333;
50 static constexpr size_t THREAD_MAX = 3;
51
52 // 実験機アクチュエータの設定
53 static constexpr size_t ACTUATOR_MAX = 16;
54
60
67
68 // 任意変数値表示の設定
69 static constexpr size_t INDICVARS_MAX = 16;
70
71 // オンライン設定変数の設定
72 static constexpr size_t ONLINEVARS_MAX = 16;
73
74 // 時系列グラフプロットの設定
75 static constexpr size_t PLOT_MAX = 16;
76 static constexpr size_t PLOT_VAR_MAX = 8;
77
78 private:
79 ARCSparams() = delete;
80 ~ARCSparams() = delete;
81 ARCSparams(const ARCSparams&) = delete;
82 const ARCSparams& operator=(const ARCSparams&) = delete;
83
84};
85}
86
87#endif
88
ARCSシステムコード共通パラメータ設定静的クラス
Definition ARCSparams.hh:20
static constexpr int ARCS_PRIO_MAIN
main関数スレッドの優先順位
Definition ARCSparams.hh:40
static constexpr int ARCS_PRIO_CMDI
指令入力スレッドの優先順位(SCHED_RRはFIFO+32にするのがPOSIX.1-2001での決まり)
Definition ARCSparams.hh:35
static constexpr size_t ARCS_CPU_DISP
表示スレッドに割り当てるCPUコア番号(実時間スレッドとは別にすること)
Definition ARCSparams.hh:42
static constexpr int ARCS_PRIO_EMER
緊急停止スレッドの優先順位
Definition ARCSparams.hh:37
static constexpr size_t ARCS_CPU_CMDI
指令入力スレッドに割り当てるCPUコア番号(実時間スレッドとは別にすること)
Definition ARCSparams.hh:41
static constexpr int ARCS_POL_DISP
表示スレッドのポリシー
Definition ARCSparams.hh:30
static constexpr unsigned long ARCS_TIME_INFO
[us] 情報取得の更新時間(ここの時間は厳密ではない)
Definition ARCSparams.hh:49
static constexpr size_t ARCS_CPU_INFO
情報取得スレッドに割り当てるCPUコア番号(実時間スレッドとは別にすること)
Definition ARCSparams.hh:45
static constexpr size_t PLOT_VAR_MAX
[-] プロット可能な変数の最大数 (変更不可)
Definition ARCSparams.hh:76
static constexpr size_t ARCS_CPU_MAIN
main関数に割り当てるCPUコア番号(実時間スレッドとは別にすること)
Definition ARCSparams.hh:46
ActRefUnit
アクチュエータ指令単位の定義
Definition ARCSparams.hh:62
@ NEWTON
ニュートン単位
Definition ARCSparams.hh:64
@ AMPERE
アンペア単位
Definition ARCSparams.hh:63
@ NEWTON_METER
ニュートンメートル単位
Definition ARCSparams.hh:65
static constexpr int ARCS_POL_CMDI
指令入力スレッドのポリシー
Definition ARCSparams.hh:29
static constexpr int ARCS_PRIO_GRPL
グラフ表示スレッドの優先順位
Definition ARCSparams.hh:38
static constexpr size_t ACTUATOR_MAX
[基] ARCSが対応しているアクチュエータの最大数
Definition ARCSparams.hh:53
static constexpr size_t THREAD_MAX
リアルタイムスレッド最大数 (変更不可)
Definition ARCSparams.hh:50
static constexpr char ARCS_REVISION[]
ARCS改訂番号(16文字以内)
Definition ARCSparams.hh:23
static constexpr int ARCS_PRIO_INFO
情報取得スレッドの優先順位
Definition ARCSparams.hh:39
static constexpr size_t INDICVARS_MAX
表示変数最大数 (変更不可)
Definition ARCSparams.hh:69
static constexpr int ARCS_POL_MAIN
main関数のポリシー
Definition ARCSparams.hh:34
static constexpr size_t ONLINEVARS_MAX
オンライン設定変数最大数 (変更不可)
Definition ARCSparams.hh:72
static constexpr unsigned long ARCS_TIME_DISP
[us] 表示の更新時間(ここの時間は厳密ではない)
Definition ARCSparams.hh:47
static constexpr int ARCS_POL_INFO
情報取得スレッドのポリシー
Definition ARCSparams.hh:33
static constexpr int ARCS_POL_EMER
緊急停止スレッドのポリシー
Definition ARCSparams.hh:31
static constexpr size_t ARCS_CPU_GRPL
グラフ表示スレッドに割り当てるCPUコア番号(実時間スレッドとは別にすること)
Definition ARCSparams.hh:44
static constexpr int ARCS_PRIO_DISP
表示スレッドの優先順位
Definition ARCSparams.hh:36
static constexpr size_t PLOT_MAX
[-] グラフプロットの最大数 (変更不可)
Definition ARCSparams.hh:75
static constexpr size_t ARCS_CPU_EMER
緊急停止スレッドに割り当てるCPUコア番号(実時間スレッドとは別にすること)
Definition ARCSparams.hh:43
static constexpr int ARCS_POL_GRPL
グラフ表示スレッドのポリシー
Definition ARCSparams.hh:32
static constexpr unsigned long ARCS_TIME_GRPL
[us] グラフ表示の更新時間(ここの時間は厳密ではない)
Definition ARCSparams.hh:48
ActType
アクチュエータタイプの定義
Definition ARCSparams.hh:56
@ LINEAR_MOTOR
リニアモータ
Definition ARCSparams.hh:57
@ ROTARY_MOTOR
回転モータ
Definition ARCSparams.hh:58
static constexpr char EVENTLOG_NAME[]
イベントログファイル名
Definition ARCSparams.hh:26