#############################################
##                                          ##
##    新規開発中 (新しいモノほど前)           ##
##                                          ##
##              (後ろに「新規開発済」有り)    ##
##                                          ##
COMMENT "Reading NewXAFSM.def"              ##
##############################################

# 2025.3.1
# SET_AUTO_RANGE_ENABLE S004 1
#   SET_AUTO_RANGE_ENABLE :     オートレンジ動作を操作するキーワード
#   S004                  :     対象ユニットのユニット ID
#   1                     :     オートレンジ有効 1, 無効 0
SET_AUTO_RANGE_ENABLE S004 1

# 2025.3.1
# AUTO_RANGE_CONTROLLABLE_UNIT_TYPE PAM PAM2
#   AUTO_RANGE_CONTROLLABLE_UNIT_TYPE : GUI 上でオートレンジの設定を可能にするユニットのタイプ
#   PAM PAM2                          : PAM, PAM2 は設定可。  ( PAM は指定しなくてもデフォルトで可能 )
AUTO_RANGE_CONTROLLABLE_UNIT_TYPE PAM

#
# 2024.7.19
# CHECK_BEFORE_CHANGE_MEAS_MODE 1/0     # 測定モード変更前に確認ダイアログを出す: 1, 出さない: 0 (デフォルトは0)
#
CHECK_BEFORE_CHANGE_MEAS_MODE 1

#
# 2024.7.2
# DBG_OUT          # デバッグ出力のコントロール
#
DBG_OUT 1          # デバッグ出力ファイル ( XafsM2Dbg.dat ) を出力する: 1, しない: 0

#
# 2024.04    : 特定ユニットの測定時点での値を尋ねて記録する仕組みを作る
# 2024.05.21 : タイムアウト追加
#
# 1. 値を尋ねるための事前動作が不要で、
#    例えば「GetValue」するとそれで即答で値が返ってくるようなユニットのみが登録可能
#    ( 逆に SetTime, Measure しておかないと GetValue できない / 意味のある値にならないものは不可 )
# 2. また、同時には値を尋ねられない様な複数のユニットを登録するのも不可
#    ( 1. の条件を満たした時点で、2. の条件に抵触するものはたぶんほぼ無い )
#
# RECORD R001 "DXM Temp." simmotor ch0 "sccm" "GetValue" 1
#   RECORD : 値を記録するユニットを登録するキーワード
#    R001        : ユニット ID
#    "DXM Temp." : ユニット名(ユニークでなくても問題ない)
#    simmotor    : 実際の Stars デバイス名
#    ch0         : 実際の Stars チャンネル名
#    "sccm"      : 得らる値の単位
#    "GetValue"  : 値を尋ねるためのコマンド
#    1           : タイムアウト時間[秒]. この時間待って対応デバイスから返答がなければ
#                  "" (空白) の返答があったかの様に進める。指定がなければ 1秒
#
RECORD R001 "DXM Temp."  qGasFlow-IonCh ch0 "stat" "GetValue" 1
RECORD R002 "DXM Temp2." simmotor ch1 "sccm" "GetValue" 2

#
# 2024.04.04 測定結果がレンジアウトしていないかチェックをする検出器の指定
#
ENABLE_RANGE_OUT_CHECK       1                       # レンジアウトチェックを有効にする: 1, しない: 0
# 
# CHECK_RANGE_OUT_SENSORS    : レンジアウトをチェックする検出器の登録を行うキーワード
#  2     : チェックしてエラーだった時の動作。  0: 何もしない、1: ダイアログを出すが続行、2: ダイアログを出して中断
#  8e5   : 許容最小値
#  8e7   : 許容最大値
#  S000 S001 S002 ...    : 検出器の ID 番号の並び
#
CHECK_RANGE_OUT_SENSORS 2 8e5 8e7   S000 S001 S002   # Step のIC、ステップなので少し値が小さくても許す
CHECK_RANGE_OUT_SENSORS 2 2e6 8e7   S100 S101 S102   # Quick のIC、クイックなので厳し目に設定
CHECK_RANGE_OUT_SENSORS 2 2e6 8e7   S036 S037 S038   # Quick のIC、クイックなので厳し目に設定

#
# 2024.01.18
# 2次元スキャンを行う際の予想時間の補正係数
#
2DSCAN_CORRECTION_FACTOR   1.5

#
# 2023.12.16   3軸以上の(多軸のチェンジャ指定)
#
# MCHANGER : 2つ以上駆動軸の組み合わせを「チェンジャ」として登録する
# 
MCHANGER "MC000" "3x3x3 Stage" 3   "M002" 3 1 50 -1 3000    "M003" 3 1 45 -1 30000    "M004" 3 1 50 -1 3000
#
# MCHANGER     :   チェンジャの登録を示すキーワード
#  "MC000"      :   チェンジャの ID 
#  "3x3 Stage" :   名前。表示にだけ使用される
#     3        :   チェンジャを構成する軸の数

#  "M009"      :   チェンジャを構成する駆動軸、その1
#     3        :   駆動軸1の方向に幾つ試料を置けるか
#     1        :   駆動軸1の方向の何番目の試料位置をセンターにするか
#              :      (試料位置は0, 1, 2...と数える)
#    50        :   駆動軸1の方向の試料位置の間隔
#              :      単位は対応する駆動軸の「実単位」
#    -1        :   駆動軸1の正方向に動く時、試料位置番号が大きくなるか小さくなるかの指定。
#              :       1 : 大きくなる, -1 : 小さくなる
#  30000       :   試料ホルダーの駆動軸1方向の開口幅

#  "M010"      :   チェンジャを構成する駆動軸、その2
#     3        :   駆動軸2の方向に幾つ試料を置けるか
#     1        :   駆動軸2の方向の何番目の試料位置をセンターにするか
#              :      (試料位置は0, 1, 2...と数える)
#    45        :   駆動軸2の方向の試料位置の間隔
#              :      単位は対応する駆動軸の「実単位」
#    -1        :   駆動軸2の正方向に動く時、試料位置番号が大きくなるか小さくなるかの指定。
#              :       1 : 大きくなる, -1 : 小さくなる
#  30000       :   試料ホルダーの駆動軸2方向の開口幅

#  "M011"      :   チェンジャを構成する駆動軸、その3
#     3        :   駆動軸3の方向に幾つ試料を置けるか
#     1        :   駆動軸3の方向の何番目の試料位置をセンターにするか
#              :      (試料位置は0, 1, 2...と数える)
#    45        :   駆動軸3の方向の試料位置の間隔
#              :      単位は対応する駆動軸の「実単位」
#    -1        :   駆動軸3の正方向に動く時、試料位置番号が大きくなるか小さくなるかの指定。
#              :       1 : 大きくなる, -1 : 小さくなる
#  30000       :   試料ホルダーの駆動軸3方向の開口幅

#   .... 軸の数だけ繰り返し ....


#
# 蛍光検出器の追加パラメータ表示
# (QtXmapSSD の時しか意味がないのでほぼ使われないと思われる)
#
# DISP_EXT_PARAMS [検出器ID] [0/1 (0:しない, 1:する)]
#
DISP_EXT_PARAMS S006 0
DISP_EXT_PARAMS S306 1

#
# 蛍光の合計カウント表示
#
# DISP_TOTAL_COUNT [検出器ID] [0/1 (0:しない, 1:する)]
#
DISP_TOTAL_COUNT S006 0
DISP_TOTAL_COUNT S306 1

#
# 蛍光検出器の数え落とし補正のタイプを選択する
# 2022.10.25
#
SEL_DTC_TYPE S006 1        # 1: 中間型, 2: 野村先生型, 3: 宇留賀さん型 
SEL_DTC_TYPE S306 3        # 1: 中間型, 2: 野村先生型, 3: 宇留賀さん型 

#
# 設定タブの「モニタ」デバイスのデフォルトのチェック
# 2022.5.20
#
MONITOR_DEV_CHECK 0 1 0 1 1

#
# TechnoAP SDD用新ドライバ(qTAPDa)の設定
# 2022.04
#
# SENSOR SSD  "S306" "TotalF" "SDD(7ch) NewDrv" "qTAPDa"   "" "count" YES "S306" 7 4096 30.0 DTypeV7Ch KeV2MCApix-7SDD-BL11.txt "" "" NO YES
# ROI_SET_UP  S206   "ROISetup2.cfg"


#
#  XAFS 測定前に I0 の値をチェックして設定値以下なら警告を出す
#  2022.02.10
#
#  CHECK_I0_BEFORE_MEAS  フラグ(1/0)  閾値(%)  基準値(カウント値)  測定ロック(1/0)
#     フラグ :   0 : 警告を出さない, 1 : 警告を出す
#     閾値   :   測定直前の I0 の値が「数値(%)/100 * 基準値(カウント値)」以下の時には警告を出す
#     基準値 :   測定直前の I0 の値が「数値(%)/100 * 基準値(カウント値)」以下の時には警告を出す
#     測定ロック : 警告が出る時、警告ダイアログを消すまで XAFS 測定を開始しない
#
CHECK_I0_BEFORE_MEAS  S002  1  80  32000000  1

#
#  「計測時間」として何を表示するかの選択
#  2022.02.03
#     0 : 古い予想計測時間
#     1 : 新しい予想計測時間
#     2 : 両方
#
MEAS_TIME_DISPLAY 1
#
#  「新しい時間」を表示する際のラベル
#     "KETime: " や "新時間: " を置き換える
#     ここで "Time" にしておくと XafsM2 の変換で "時間" と表示される。
#     設定ファイルに日本語を埋め込んでも大丈夫っぽいので
#     SET_KET_NAME "時間"
#     でも多分大丈夫。
#
SET_KET_NAME "蜜柑"
SET_KET_NAME "Time"         // 複数指定は後ろが有効

SET_KEET_NAME "KE E.Time"  
SET_KEET_NAME "End Time"  

#
#  計測時間を補正するためのパラメータの読み込み
#  2021.10.30
#
MEAS_TIME_CORRECT "mtc.cfg"

#
#  吸収端が指定されたとき蛍光検出器の ROI を設定するための設定
#  2021.10.30
#
AUTO_ROI_SET_UP "S006" 1             # 吸収端が指定されたとき蛍光検出器の ROI を自動的に設定する : 1 = する、0 = しない
ROI_SET_UP "S006" "roiSetup1.cfg"    # ROI の設定の設定

# ******************************************************************************************
# 2021.09.09
#
AUTO_COUNT_UP_DATA_NO  1               # 指定された XAFS データファイル名に "No数字並び" という部分がある時
		       		       # 1 : 測定毎にその数字を繰り上げる。 0 : 繰り上げない
				       # デフォルトは 0 (繰り上げない)
AUTO_COUNT_UP_DATA_NO_PREFIX "No"      # ファイル名中に埋め込まれたファイル番号の始まりを表す文字列
                                       # デフォルトは "No" (Number)
AUTO_COUNT_UP_DATA_NO_ON_EACH_RPT  1   # 複数回測定や自動試料交換等で測定が繰り返す際にも
                                       # 1 : 数字を繰り上げる。 0 : 繰り上げない
				       # デフォルトは 0 (繰り上げない)

# ******************************************************************************************
# 2021.06.07
#
SET_LEFT_SIDE_IS "S006" "Down"        # SSD "S006" の素子表示 : "Up" => 左側が"上流", "Down" => "下流"

# ******************************************************************************************
# 2021.06.07
#
SET_SLIDER_UNIT "S006" "M005"       # S006 でのステージスライダとして M001 を使う。
                                     # かならず S006, M001 の定義の後で設定すること
SET_SLIDER_MIN  "S006"    0         # スライダの最小位置([mm]等の実単位) スライダUI の左端位置に対応する値
SET_SLIDER_MAX  "S006"  300         # スライダの最大位置([mm]等の実単位) スライダUI の右端位置に対応する値
SET_SLIDER_STEP "S006" "<<<" -100   # スライダを定量移動させるボタン定義、移動量は実単位([mm]等)指定　複数指定可
SET_SLIDER_STEP "S006"  "<<"  -10   # スライダを定量移動させるボタン定義、移動量は実単位([mm]等)指定　複数指定可
SET_SLIDER_STEP "S006"   "<"   -1   # スライダを定量移動させるボタン定義、移動量は実単位([mm]等)指定　複数指定可
SET_SLIDER_STEP "S006"   ">"    1   # スライダを定量移動させるボタン定義、移動量は実単位([mm]等)指定　複数指定可
SET_SLIDER_STEP "S006"  ">>"   10   # スライダを定量移動させるボタン定義、移動量は実単位([mm]等)指定　複数指定可
SET_SLIDER_STEP "S006" "▶▶▶"  100   # スライダを定量移動させるボタン定義、移動量は実単位([mm]等)指定　複数指定可
SET_SLIDER_POS  "S006" "P1"     0   # スライダを定位置に移動させるボタン定義、移動量は実単位([mm]等)指定　複数指定可
SET_SLIDER_POS  "S006" "P2"   100   # スライダを定位置に移動させるボタン定義、移動量は実単位([mm]等)指定　複数指定可
SET_SLIDER_POS  "S006" "P3"   200   # スライダを定位置に移動させるボタン定義、移動量は実単位([mm]等)指定　複数指定可
SET_SLIDER_POS  "S006" "P4"   300   # スライダを定位置に移動させるボタン定義、移動量は実単位([mm]等)指定　複数指定可

# ******************************************************************************************
# 2022.01.20   ( SET_SLIDER_UNIT より後に書くこと )
#
SET_SLIDER_DEF_SPEED "S006" "0"      # スライダのデフォルトの速度 H/M/L または 2/1/0 で指定


# ########################################
#
LOG_DIR "/home/tabuchi/Data"


# ******************************************************************************************
# 2021.02.17
#
REMOTE_START_STOP_AS_BLOCKING 0     # Remote コマンドの Start / Stop の動作を昔ながらの Blocking にするかどうか


# ******************************************************************************************
# 2021.02.12
#
# LOG_DIR "/home/tabuchi/XafsM2Log"

# ******************************************************************************************
# 2021.01.21
#
SET_HV_UNIT "S006" "S206"           # S006 で HV を制御するときに S026 を使う。 今の所使えるのは Type == "SSD" だけ
                                    # かならず S006, S026 の定義の後で設定すること

# ******************************************************************************************
# 2020.12.07
#
SET_DATA_WAIT_TIME_IN_SEC  1.5      # データ転送待ちのタイムアウト時間 [秒], 蛍光検出器用(AUnitSFluo 用)

# ******************************************************************************************
# 2020.10.08
#
CHECK_SFLUO_MEAS_NO	0     # 測定番号の連続性チェック
CHECK_SFLUO_MEAS_ID     1     # 測定 ID の一致チェック

# ******************************************************************************************
# 2020.09.01
#
DIALOG_POS  300 800


# ******************************************************************************************
# 2020.08.04     ## 上書き確認用のファイル置き場 ## 何のために ?? どうつかう ?? (2024.04)
#
CHK_FILE_ROOT "/home/tabuchi/Data/XafsChkFile"

# ******************************************************************************************
# 2020.07.10, 7.14
#
#  XAFS 測定時に新旧の追加情報ファイルを作るかどうかの指定  :  1: 作る, 0: 作らない
#    旧追加情報ファイル : Step 時 ".info", Quick 時 ".dat"
#    新追加情報ファイル : ".inf"
#    有効なのは 1 つだけ。後から書いたほうが有効

MAKE_NEW_INFO_FILE 1
# MAKE_OLD_INFO_FILE 1
# MAKE_NO_INFO_FILE 1

# ******************************************************************************************
# 2020.06.22
#
# HiPic と連動して Step 2D/Step CT をするための仕掛け
# HiPic 側で、AUnitSTD に見えるような最低限のコマンドを実装。
# 現状、Step 2D は実行可能。 Step CT は開発中。
# 現状、GetValue の時に返す値は一定値

SENSOR STD "S902" "" "HiPic" "HiPic2Stars" "" "count" YES "S902"

# ******************************************************************************************

# 2019.11.13
#
# SSD/SDD の測定で、MCA のスペクトル取得や、MCA の状態表示を行う際に
# 最低限開けないといけない時間間隔を指定する
#   1/0 : Limit を設ける / 設けない
#   400 : Limit の時間 [msec]
#
LIMIT_MINIMUM_MCA_MEAS_CYCLE       1 200
LIMIT_MINIMUM_MCA_COND_DISP_CYCLE  0 800

# ******************************************************************************************
# 2018.2.8   # 転換電子測定の時に HV の設定とか He フロートとかを自動でやりたい
IGNORE_MOTOR 0        # これを生かすと、以降に MOTOR の定義があった場合、それはまた有効にな

COMMENT "Setting CEY ctrl"

# CEY_MODE で HV/He をコントロールする「MOTOR」の定義

MOTOR HV      "M905" "" "CEY HV Ctrl"     "qNHQx2xx-1"     "ch2" "V"    1 INT
MOTOR GASFLOW "M906" "" "CEY He Gas Ctrl" "qGasFlow-IonCh" "ch7" "sccm" 1 INT "He"

# CEY_MODE         : MEAS_MODE/QMEAS_MODE で設定した測定モードを
#                  : CEY 測定のモードであると宣言し、HV / He の自動 On/Off に必要な
#                  : 情報を設定する
#                  : 複数設定可能
#
# CEY_MODE "CEYM" M401 M402 400 300 20
# 
# "CEYM"           : MEAS_MODE/QMEAS_MODE で設定した測定モードの名前
# M401             : CEY チャンバの HV をコントロールするデバイス uid
# M402             : CEY チャンバの He ガスをコントロールするデバイス uid
# 400              : HV の電圧 [V]
# 300              : He の流量 [sccm]
# 20               : He の流量を変えてからの待ち時間 [min]

CEY_MODE "CEYM" M401 M402 500 250 2

#                  : CEY モードの動作コントロール
# CEY_MODE PARAM 1 1 10 60
# 1                : 自動 HV/He On/Off 機能を使用する(1)、使用しない(0)。デフォルトは 1
# 1                : HV/He 切替時に確認する(1)、しない(0)。デフォルトは 1
# 10               : HV/He を On にするときの確認待ち時間(秒)。デフォルトは 10秒
# 60               : HV/He を Off にするときの確認待ち時間(秒)。デフォルトは 60秒

CEY_MODE_PARAM 1 1 45 75

IGNORE_MOTOR 1        # これを生かすと、以降に MOTOR の定義は無効になる
# ******************************************************************************************
# 2018.2.17 // 済
# 自動で Dead Time 補正をかける(1)/かけない(0) の選択 (デフォルトは 1: かける)
#
AUTO_DT_CORRECT 1

# 2018.2.17 // 済
# デフォルトの Dead Time パラメータファイル
#
DT_PARAM_FILE S006 "160704_AichiSR_BL5S1_19chSSD.conf"
DT_PARAM_FILE S063 "170214_AichiSR_BL5S1_7chSDD.conf"

# 2018.2.9 // 済
# 測定ブロックの変更に関するチェックを行う(1) 行わない(0)
#   元素指定によるブロックパラメータの設定を行わないまま測定を開始しようとすると
#   「元素が指定されてないけど大丈夫」というダイアログが出てくるのを抑止する
#
CHECK_DIFFERENT_BLOCK_P 0

# 2017.7.25 // 済
# 測定したダークを記録するかどうかを選択
RECORD_DARK     0     # 1 : 記録する / 0 : 記録しない

# 2017.5.10 // 済
#   2次元検出器の ad hoc でない取扱を検討する
#SENSOR 2DD "S2D0" "2DD" "HyPix 1" "qHyPix" "" "count" YES S2D0
#SENSOR 2DD "S2D1" "2DD" "HyPix 2" "qHyPix-2" "" "count" YES S2D0
# 2D_DETECTORS S2D0     # この定義は不要

# 2017.4.14 // 済
# ダークを記録するファイルの指定
DARK_RECORD_FILE "dark/darkRecord.dat"    # for unix and mac os
#DARK_RECORD_FILE "dark\darkRecord.dat"    # for windows

###############################################################
DEF_END #######################################################
###############################################################

#                               2017.03.19 作業開始
# MIXED_GAS_PURGE_PATTERN
#
MIXED_GAS_PURGE_PATTERN "I0" 6 5 1 10  # 6倍5分、1倍10分
MIXED_GAS_PURGE_PATTERN "I1" 6 5 1 10  # 6倍5分、1倍10分

-----------------

# 2017.1.17
#
# カウンタなどの計測器で、その前につながっているアンプ等をコントロールして
# レンジ変更が可能なものについて、追加で、レンジ指定可能の属性を付ける
# もともとレンジ設定をサポートしている検出器(CNT2, PAM2 等)では無効
# (指定してはいけない)
#
# RANGE_SELECTABLE S000 -3 -10 qca5350-1 ""
#
# RANGE_SELECTABLE [検出器ID] [最小レンジ] [最大レンジ] [レンジ指定に使用するドライバ] [チャンネル]
#
#RANGE_SELECTABLE S000 -3 -10 qca5350-1 ""         # I0
#RANGE_SELECTABLE S001 -3 -10 qca5350-2 ""         # I1
#RANGE_SELECTABLE S002 -3 -10 qca5350-3 ""         # I2
#RANGE_SELECTABLE S100 -3 -10 qca5350-1 ""         # quick I0
#RANGE_SELECTABLE S101 -3 -10 qca5350-2 ""         # quick I1
#RANGE_SELECTABLE S102 -3 -10 qca5350-3 ""         # quick I2


###########################################################################
COMMENT "Finish NewXAFSM.def"
#
DEF_END     # テスト用にこのファイルを INCLUDE する時、ここまでしか読まない
#
COMMENT "Not Reading Below"
###########################################################################

##############################################
##                                          ##
##    新規開発済 (新しいモノほど前)         ##
##                                          ##
##############################################
# // 以下は XAFSM.def に移動済み(のはず)

# 2017.3.30
#
NXAFS_LOG \
  ""\
  "-------------"\
  "測定モード : %MODE%"\
  "測定日時   : %DATE%  %TIME%"\
  "ファイル名 : %FNAME%"\
  "コメント   : %COMMENT%"\
  "測定ブロック設定 : (単位:%UNIT%)"\
  "%BLOCK%"\
  "-------------"

COMMENT "Setting Quick XAFS Log Template"
QXAFS_LOG \
  ""\
  "-------------"\
  "測定モード   : %MODE%"\
  "測定日時     : %DATE%  %TIME%"\
  "ファイル名   : %FNAME%"\
  "コメント     : %COMMENT%"\
  "始点-終点    : %QSTART% - %QEND%"\
  "刻み幅, 点数 : %QSTEP%, %QPOINTS%"\
  "計測時間     : %QDWELL%"\
  "-------------"

# TIME_PATTERN           2017.03.16
#
TIME_PATTERN     "yyMMdd-hhmmss"

-----------------

# INCLUDE  使用可能     2017.3.10 導入
#
# INCLUDE "test.def" と書くと、test.def の中身がその場所にあるかのように振る舞う
#

-----------------

# COMMENT  使用可能     2017.3.10 導入
#
# 主にデバッグ用 そこに書いたコメントが標準エラーに出力される

COMMENT "in 'NewXAFSM.def'"

--------------------------------

# SCAN_RANGE             2017.03.02 作業開始
#                             03.06 多分 OK
#                             03.10 不具合指摘 Speed 指定が効いてない
#  各軸のスキャン(1軸のスキャン)の初期設定が独立に出来るようにする

# Δθ1
#          Motor-Id Pulse/Real(P/R) Speed(H/M/L) Start  End  Step  Dwell
SCAN_RANGE   M219        P               H        -100  100    10      1

# ハッチ内4象限スリット
SCAN_RANGE   M240        R               M          -1    5   0.9     13
SCAN_RANGE   M241        R               L          -2    6   1.0     14
SCAN_RANGE   M242        R               M          -3    7   1.1     15
SCAN_RANGE   M243        R               H          -4    8   1.2     16

# 2軸試料ステージ
SCAN_RANGE   M250        R               M          -5    5   0.2      1
SCAN_RANGE   M251        R               L          -5    5   0.2      1

# 4軸試料ステージ
SCAN_RANGE   M252        R               M          -5    5   0.2      1
SCAN_RANGE   M253        R               H          -2    2   0.1      1
SCAN_RANGE   M254        R               M         -10   10   0.5      1
SCAN_RANGE   M255        R               L          -5    5   0.2      1

-----------------

# 新しい ALARM #########  2017.02.27 作業開始
#                              02.28 一旦作業終了
#                                    BL11S2 取り込み済み
#                              03.08 ALARM2 の書式変更
#                              03.09 新書式でも正常に動くはず

# ALARM2  [AlarmID] [0/1] [Alarm Name] [Device(Stars)] [Ch(Stars)]
#   AlarmID    : この行で定義される ID その ID に対して、ALARM2SIGNALでシグナルを登録する
#   0/1        : 0 : そのアラームを発生するデバイスを XAFS 測定に使う場合のみ有効
#                1 : 測定に使われるかどうかに関わらず常に有効
#   Alarm Name : アラーム名。表示等に使われるだけ
#   Device     : アラームを発生するデバイス
#   Ch         : アラームを発生するチャンネル

# ALARM2SSIGNAL [AlarmID] [Alarm Pattern] [Alarm Level]
#   AlarmID       : ALARM2 で定義された ID
#   Alarm Pattern : ID に対応するデバイスが発生するイベントが
#                      このパタンに一致するかどうかを監視する
#   Alarm Level   : 一致したときに発生するアラームのレベル
#                 : 0 最低(アラームなし)、正の数字が大きくなると通知優先度の高いアラーム

ALARM2       "A001" 0 "I0 Level Alert" "Debugger" ""
ALARM2SIGNAL "A001" "_LevelAlert I0 2" 2
ALARM2SIGNAL "A001" "_LevelAlert I0 1" 1
ALARM2SIGNAL "A001" "_LevelAlert I0 0" 0
ALARM2SIGNAL "A001" "_LevelAlert I0 -1" 1
ALARM2SIGNAL "A001" "_LevelAlert I0 -2" 2

ALARM2       "A002" 0 "I1 Level Alert" "Debugger" ""
ALARM2SIGNAL "A002" "_LevelAlert I1 2" 2
ALARM2SIGNAL "A002" "_LevelAlert I1 1" 1
ALARM2SIGNAL "A002" "_LevelAlert I1 0" 0
ALARM2SIGNAL "A002" "_LevelAlert I1 -1" 1
ALARM2SIGNAL "A002" "_LevelAlert I1 -2" 2

ALARM2       "A003" 0 "I2 Level Alert" "Debugger" ""
ALARM2SIGNAL "A003" "_LevelAlert I2 2" 2
ALARM2SIGNAL "A003" "_LevelAlert I2 1" 1
ALARM2SIGNAL "A003" "_LevelAlert I2 0" 0
ALARM2SIGNAL "A003" "_LevelAlert I2 -1" 1
ALARM2SIGNAL "A003" "_LevelAlert I2 -2" 2

-----------------

# Dark 測定時に、QI0 と I0 とか、本来同じ値になるべきデバイス間では
# Dark の測定を一本化したい
#                                                           2017.02.23 作業開始
#                                                                02.28 終了
#                                                                      BL11S2 取り込み済
#
# UNION [デバイスのID] [デバイスのID]... (複数可)
#   実体が同じデバイスの ID を記載
#   【注意!!】 但し、別々に宣言された SENSOR でも、Stars のドライバ名と Ch 名が同じなら
#   自動的に同じものと認識する機能は XafsM2 に組み込まれている。
#   ここで UNION 宣言するのは、Starsのドライバ名、チャンネル名が違うが
#   それでも実体が同じもの、というケース(カウンタを quick と step に使うときなど)

# UNION "S001" "S101"    // でも結局 UNION 指定は現在は不要だった
# UNION "S002" "S102"    // Step でも Quick でも、Stars のドライバは qct08 で、
                         // XafsM2 側で CNT 型か、DV3 型かを区別してるだけだったので

-----------------

# MStab と独立に、Shutter の指定が出来るようにする : 2017.02.20 導入作業開始
#                                                    2017.02.23 実装終了(未確認)
#                                                    2017.03.02 動作確認済み
#                                                               BL11S2 取り込み済
#                                                    2020.06.15 改造 on/off 両方指定可能に
# AUnitOnOff が使えるようになった
#
# MOTOR ONOFF "M030" "GENERAL" "Shutter in Hatch" "TakedaShutter" "" ""
#   MOTOR ONOFF  : ONOFF 型のモータ定義
#   M030         : ID
#   SHUTTER      : シャッターとして使うことを宣言:: 内部で(AUnit0*)MSutter にセットされる
#   "Shutter..." : GUI上での表記 
#   "simmotor"   : ONOFF 型のモーターの Stars 上での名前
#   "ch10"       : Stars 上でのチャンネル
#   ""           : 単位名(無し)
#   1            : UPP
#   INT          : 意味なし
#   "0"          : シャッタ閉の時に(Stars の device に向けて)設定しようとする値
#   "10000"      : シャッタ開の時に(Stars の device に向けて)設定しようとする値
#
#  Stars 向きのインターフェイスとしては
#    初期に IsBusy (XafsM2-->dev)の確認を行い
#    開閉司令を SetValue 0/1 (XafsM2-->dev)の形で出す(0 : Off (Open), On-値 : On (Close))
#          もし 0, 「On-値」 以外が来た場合は 値 > 0 なら On-値, 値 <= 0 なら 0 とみなす。
#    開閉状態の問い合わせ GetValue : 戻り値は 値 > 0 なら On-値, 値 <= 0 なら 0 とみなす。
#    開閉中のステータスは _ChangedIsBusy 0/1 で返す。0 : idle(停止中), 1 : Busy(移動中)
#
#  XafsM2 内部向きのインターフェイスとしては
#    Position 0, 1 のみがあるモータとして扱う。
#    value() は常に 0 / 1 を返す。
#    SetValue( val ) は val > 0 なら、SetValue( 1 ), val <= 0 なら SetValue( 0 )

# MOTOR ONOFF "M030" "SHUTTER" "Shutter in Hatch" "simmotor" "ch10" "" 1 INT 10000

-----------------

# AUTOSHUTTER 0/1 : デフォルトは 0 :
# 　起動時、ダーク測定時の自動シャッターの項目にチェックを入れる(1)かどうか
#                                                                BL11S2 取り込み済
AUTOSHUTTER 1

-----------------

# 2017.1.27    MIXED_GAS の定義にパラメータを一つ追加(パージの倍率)
#                                                                BL11S2 取り込み済
#
# MIXED_GAS : イオンチャンバに使用可能な可変比混合ガスの指定
#  ICLENGTH で指定した I0, I1 等に対応して、それぞれどのような混合ガスが流せるかを教える
# MIXED_GAS      : 混合ガス指定行の ID
#  "I0"          : ガスの ID (表示名) ('I1' は I1 であることの ID にもなっている。)
#  "qGasFlow"    : ガスの混合比変更に担当する stars ドライバの名前
#  "ch0"         : ガスの混合比変更を担当する stars ドライバのチャンネル名
#  14.0          : イオンチャンバの有効長さ()
#  0.85          : 目指すべき最適「透過」率
#  0.70          : 警告を出すボーダラインの透過率
#  0.92          : 警告を出すボーラダインの透過率
#  6.00          : パージを行う時の流量の倍率(6倍)
#  "He" "N2" ... : そのラインで使える混合ガスの元ガスのリスト(化学式)

MIXED_GAS "I0" "qGasFlow-IonCh" "ch0" 14.0 0.85 0.80 0.92 6.0 "He" "N2" "Ar" "Kr"
MIXED_GAS "I1" "qGasFlow-IonCh" "ch1" 28.0 0.10 0.05 0.30 6.0 "He" "N2" "Ar" "Kr"

-----------------

# 2017.1.11                                                  BL11S2 取り込み済
#
# 検出器の最大値 : 積分型の連続スキャンを行った時のオーバーフロウの補正用
#
# MAX_VALUE [b/i/d] [num] [Sensor-IDs ...]
#    [b/i/d]          : b = bit length, i = integer, d = double
#    [num]            : max value
#    [Sensor-IDs ...] : この設定が適用されるセンサーの ID
#
MAX_VALUE b 32 S000 S001 S002 S100 S101 S102                           # ct32 Step/Quick I0, I1, I2
MAX_VALUE b 32 S010 S011 S012 S013 S014 S015 S016 S017 S018 S019 S020  # ct32 全チャンネル
MAX_VALUE b 32      S021 S022 S023 S024 S025 S026 S027 S028 S029 S030
MAX_VALUE b 32      S031 S032 S033 S034 S035 S036 S037 S038 S039 S040
MAX_VALUE b 32 S006                                                    # 7ch SDD

-----------------

#                                                             BL11S2 取り込み済
# 元素選択を行った時、デフォルトで選ぶエッジ(K, L1, L2, L3) を指定する
# 先に出てくる定義が優先
#
# AGROUP_EDGE [GroupId] [Edge No]
#    Edget No : 0 = K, 1 = L1, 2 = L2, 3 = L3
#
AGROUP_EDGE 1 0       # AGROUP 1 は Edge 0 ( K )
AGROUP_EDGE 2 3       # AGROUP 2 は Edge 3 ( L3 )

-----------------

# 2016.12.10                                                  BL11S2 取り込み済
#
# DEFAULT_S2D_MODE : 2次元スキャンのデフォルトのモード指定
#
#    0 : ステップスキャン
#    1 : 擬似連続スキャン
#    2 : 連続スキャン
#
# 指定がない場合や範囲外の数字が指定されていた場合、2(連続スキャン)
#
DEFAULT_S2D_MODE 2

-----------------

#                                                             BL11S2 取り込み済
# 画面下部のグラフ表示部を起動時に独立 Window にするかどうかを指定
#
# POPUP_G_VIEW 1
#
#    0 : 起動時はメインウインドウと一体
#    1 : 起動時に 独立のウインドウにする
#        デフォルトの動作は 0 : 起動時はメインウインドウと一体
#
POPUP_G_VIEW 0
