| | |
- adc()
- 現在の1chから8chまでのADCの値を取得する。
@戻り値
タプル型で1chから8chまでのADCの値を返す。
- adc_getfreq()
- 現在のADCのサンプリング周波数を取得する。
なお、ADCに与えているクロックの周波数ではなく、デシメーション後の周波数である。
@戻り値
int型でサンプリング周波数(1~125)を返す。
- adc_info()
- ADCに関する情報を取得する。
@戻り値
dictionary型で以下の順に返す。
basefreq
デシメーションされる前のベースとなるクロック周波数
decimation ratio
デシメーション比
double smpling_freq_mhz
デシメーションされたサンプリング周波数
adc_num
ADCの数(CosmoZならばチャネル数の1/4になる)
testmode
テストモードか稲か
device_max_freq
ADCの最高クロック周波数
device_resolution
ADCの持つ本来の分解能(bit)
current_resolution
現在の分解能(bit)
device_type
ADCの型番
- adc_reset()
- ADCをソフトリセットし、同期を取り直す。
この関数は実行するのに200msかかる。
@戻り値
str型で"ok"を返す。
- adc_setfreq(freq)
- ADCの周波数を設定し、同期をリセットする。
@引数
int freq: サンプリング周波数
1: クロック周波数80MHz、デシメーション80に設定する。
2: クロック周波数80MHz、デシメーション40に設定する。
4: クロック周波数80MHz、デシメーション20に設定する。
5: クロック周波数80MHz、デシメーション16に設定する。
8: クロック周波数80MHz、デシメーション10に設定する。
10: クロック周波数80MHz、デシメーション8に設定する。
16: クロック周波数80MHz、デシメーション5に設定する。
20: クロック周波数80MHz、デシメーション4に設定する。
25: クロック周波数100MHz、デシメーション4に設定する。
40: クロック周波数80MHz、デシメーション2に設定する。
50: クロック周波数100MHz、デシメーション2に設定する。
80: クロック周波数125MHz、デシメーション1に設定する。
100: クロック周波数125MHz、デシメーション1に設定する。
125: クロック周波数125MHz、デシメーション1に設定する。
@戻り値
1を返す。上記以外の値の場合0を返す。
- adc_vrange()
- ADCの電圧や分解能に関するデータを取得する。
@戻り値
dictionary型で以下の順に返す。
min_input_voltage
入力電圧の最小値
max_input_voltage
入力電圧の最大値
adc_resolution
ADCの分解能
adc_resolution_bit
ADCの分解能(bit)
- capture(chmask, length, type)
- 波形キャプチャを実行する。
@引数
unit32_t chmask: キャプチャしたいチャネルを2進数のビットマスクで指定する。
例えば、CH1とCH3とCH7, 8をキャプチャしたい場合は0xc5とする。
int length: キャプチャしたい長さを、データ点数で指定する。
str type: キャプチャの方法を指定する。
"auto" オシロのAUTOモードのように、少しだけトリガを待ってからキャプチャする。
"free" オシロのAUTOモードのように、少しだけトリガを待ってからキャプチャする。
"trigger" トリガが来るまで待ってからキャプチャする。オシロのNORMALモードに相当。
"normal" トリガが来るまで待ってからキャプチャする。オシロのNORMALモードに相当。
"long" 長時間キャプチャ
@戻り値
以下のいずれかをstr型で返す。
success: キャプチャは成功した。
error: データの転送が間に合わなかったなどの理由で失敗した。
abort: キャプチャはユーザからの指示で中断された。
another: ほかのキャプチャが動作しているため、波形キャプチャを開始できない。
timeout: トリガ待ち状態のままで、タイムアウトした。
適切でない引数の場合、エラーメッセージやFALSEを返す。
- capture_abort()
- 現在の波形キャプチャを中断する。
@戻り値
0を返す。
- capture_status()
- 現在のキャプチャ状態を返す。
@戻り値
以下のいずれかをstr型で返す。
IDLE: 待機状態
TRIGWAIT: トリガ待ち状態
RUN: 実行中
- close()
- CosmoZライブラリをクローズする。
ドライバをクローズし、その他雑多なメモリの開放や環境の復元を行う。
@戻り値
str型で"ok"を返す。
- evcap_execute(chmask, count)
- イベントのキャプチャを実行する。
@引数
unit32_t chmask: キャプチャしたいチャネルを2進数のビットマスクで指定する。
例えば、CH1とCH3とCH7, 8をキャプチャしたい場合は0xc5とする。
int: それぞれのチャネルの測定回数
@戻り値
0を返す。
- evcap_get_next()
- キャプチャしたイベントの中身を一つずつ読みだしていく。
呼ぶたびに次の中身を返す。
@戻り値
dictionary型で以下の内容を返す。
ch: チャネル番号
sumation:
evcount: 現在読出し中のデータの数
mesp: 現在読出し中のデータのポインタ
data: データの値
header:
length: キャプチャ長
result: キャプチャ実行結果
timestamp: 実行開始時のタイムスタンプ
pulseheight: パルスハイト
pedestal: トリガがかかっていない状態のADC値
meslen:
- exttrig(ch, type)
- 外部トリガのタイプを調べたり、外部トリガを設定する。
@引数
int ch: チャネル番号
str type: トリガの方法
"OFF" トリガは発生しない
"RISE" 立ち上がりでトリガ発生
"FALL" 立ち下がりでトリガ発生
"HIGH" HIGHレベルでトリガ発生
@戻り値
引数がchのみの場合(外部トリガのタイプを調べたい場合)
以下の順でdictionary型で返す。
ch: チャネル番号
type: トリガの方法
引数がchとtypeの場合(外部トリガを設定したい場合)
成功すると1を返す。
不適切な引数の場合、str型で"illegal parameter"と返す。
- getdata(ch)
- 引数のチャネル番号のデータを取得する。
@引数
int ch: データ取得したいチャネル番号
@戻り値
引数のチャネル番号のデータをstr型で返す。
- maxch()
- ADCのチャンネル数を取得する。
@戻り値
int型で現在のFPGAの構成で使用可能なADCのチャンネル数を返す。
- open()
- ドライバをオープンし、その他雑多な初期化処理を行う。
タイムアウト時間(キャプチャを開始してもトリガが入らない場合にタイムアウトする時間)を1秒に設定する。
@戻り値
通常は1を返し、オープンに失敗した場合には0を返す。
- posettirg_fixed(type)
- ポストトリガのタイプを固定長にしたり、固定長でなくしたりする。
@引数
str type: 固定長にしたい場合、"fixed"
固定長でなくしたい場合、"variable"
@戻り値
基本的に1を返す。不適切な引数の場合0を返す。
- posttrig_get()
- ポストトリガの長さを取得し、ポストトリガが固定長であるかどうか調べる。
@戻り値
dictionary型で以下の順に返す。
lentgh: ポストトリガの長さ
type: ポストトリガのタイプ。"fixed"なら固定されていて、"variable"なら固定されていない。
- posttrig_set(posttrig)
- ポストトリガの長さを設定する。
@引数
int posttrig: ポストトリガの設定
@戻り値
通常は1を返し、失敗した場合は0を返す。
- pretrig_get()
- 現在のプレトリガを取得する。
@戻り値
int型でプリトリガの値を返す。
- pretrig_set(pretrig)
- プレトリガ(トリガ点より前に何ポイントとるか)を設定する。
@引数
int pretrig: プレトリガの設定
@戻り値
通常は1を返し、失敗した場合は0を返す。
- regrd(regnum)
- FPGA内蔵レジスタへの読出しを行う。
@引数
int regnum: レジスタ番号。デフォルトのFPGAでは0~63である。
@戻り値
レジスタの値がint型で返る。
レジスタの番号が適切でないとstr型で"illegal reg number"と返す。
- regwr(regnum, val)
- FPGA内蔵レジスタへの書き込みを行う
@引数
int regnum: レジスタ番号。デフォルトのFPGAでは0~63である。
unit32_t val: 書き込む値
@戻り値
レジスタの番号が適切でないとstr型で"illegal reg number"と返す。
- trg_ortrig(type)
- トリガをORトリガ(全チャネルのうち一つでもヒットしたら、全体のトリガをかける)かANDトリガに設定する。
@引数
str type: ORトリガにしたい場合"OR"、ANDトリガにしたい場合"AND"
@戻り値
不適切な引数の場合、str型で"illegal parameter"と返す。
- trig_get(ch)
- トリガについての情報を取得する。
@引数
int ch: トリガの情報を取得したいチャネル番号。
@戻り値
以下の順でdictionary型で返す。
ch: チャネル番号
type: トリガの種類
adcval: トリガがかかるADC値
voltage: トリガがかかる電圧
rate: トリガのカウントレート
plsh: トリガがかかっているパルスハイト
pedestal: トリガがかかっていない状態のADC値
適切な引数でない場合はstr型で"illegal parameter"と返す。
- trig_is_ortrig()
- 現在ORトリガが適用されているかを調べる。
@戻り値
以下の順でdictionary型で返す。
Global: "OR"ならORトリガ、"AND"ならそうではない。
- trig_set(ch, type, val)
- トリガをセットする。
@引数
int ch: チャネル番号(1-32)
str type: トリガのかけ方
"OFF" トリガは発生しない
"UPPER" 指定値以上ならトリガ発生
"LOWER" 指定値以下ならトリガ発生
"CROSS" 指定値を横切ったらトリガ発生
"DISCRI" 通常の値より指定値分下回ったらトリガ発生
"RISE" 指定値を横切って立ち上がったらトリガ発生
"FALL" 指定値を横切って立ち下がったらトリガ発生
"LINKAGE" ほかのチャネルがヒットしたらトリガ発生
"USER" ユーザ定義による
"ERROR" エラー
int val: トリガをかける値。ADC値で設定する。LINKAGEとOFFの場合は、値は設定されるが動作には関係ない。
@戻り値
成功すると1を返す。不適切な引数の場合、str型で"illegal parameter"と返す。
- version()
- CosmoZのバージョンを返す。
@戻り値
辞書型で以下のように返す。
pyapi: CosmoZのバージョン
- xadc()
- FPGAの温度や電圧に関する情報を取得する。
@戻り値
dictionary型で以下の順に返す。
temperature
FPGAの温度
vccint
FPGAのコア電圧
vccaux
FPGAのAUX電圧
vccddro
FPGAのDDR電圧
|