forked from haiwil/pa2000
-
Notifications
You must be signed in to change notification settings - Fork 0
/
base_config.h
818 lines (746 loc) · 32.3 KB
/
base_config.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
/*345678901234567890123456789012345678901234567890123456789012345678901234567890
* 10 20 30 40 50 60 70 80
* 定义各种基本数据结构
* 有探头 楔块 工件 闸门 GROUP 配置 聚焦法则的阵元和波束
*
*
* 2011-04-24
* 谭登华
*/
#ifndef __BASE_CONFIG_H_
#define __BASE_CONFIG_H_
#include "base_const.h"
#define GROUP_GAIN 0x1000
#define GROUP_GAINR 0x1001
#define GROUP_START 0x1002
#define GROUP_RANGE 0x1003
#define GROUP_WEDGE_DELAY 0x1004
#define GROUP_VELOCITY 0x1005
#define GROUP_PULSER 0x1006
#define GROUP_RECEIVER 0x1007
#define GROUP_FILTER 0x1008
#define GROUP_DB_REF 0x1009
#define GROUP_FILTER_POS 0x100a
#define GROUP_RECTIFIER 0x100b
#define GROUP_AVERAGING 0x100c
#define GROUP_VIDEO_FILTER 0x100d
#define GROUP_TX_RX_MODE 0x100e
#define GROUP_FREQ_VAL 0x100f
#define GROUP_FREQ_POS 0x1010
#define GROUP_PW_VAL 0x1011
#define GROUP_PW_POS 0x1012
#define GROUP_PRF_VAL 0x1013
#define GROUP_PRF_POS 0x1014
#define GROUP_PQTY_VAL 0x1015
#define GROUP_PQTY_POS 0x1016
/* 闸门信息 */
typedef struct _gate_info
{
unsigned char parameters; /* 调节模式 0 Positions 1 Mode */
unsigned char synchro; /* 同步 */
unsigned char measure; /* */
unsigned char rectifier_freq; /* 射频 */
char height;
char tt[3];
int start; /* 单位ns */
unsigned int width;
} GATE_INFO, *GATE_INFO_P;
struct _output_info;
typedef struct _output_info OUTPUT_INFO1;
/* 输出信息 */
struct _output_info
{
unsigned short alarm_info; /* 状态 表示16个alarm信号的状态 */
unsigned char count; /**/
unsigned char sound; /**/
unsigned int delay; /* 单位ns */
unsigned int holdtime; /* 单位ns */
};
/* 光标信息 */
typedef struct _cursors_info
{
short angle;
unsigned short amplitude;
unsigned short UT;
char tt[2];
int scan;
int index;
} CURSORS_INFO, *CURSORS_INFO_P;
struct _simple_Probe;
typedef struct _simple_Probe st_simple_Probe;
struct _simple_Probe
{
char Model[20]; /* 探头名字 */
char Serial[20]; /* 探头名字 */
unsigned char PA_probe_type; /* 探头类型 1 是Custom 3 是angle beam 5 是 Contact 6是Immersion */
unsigned char Elem_qty; /* 阵元数 */
unsigned short Frequency; /* 频率 */
unsigned short Reference_Point; /* */
unsigned int Pitch; /* 阵元中心间距 0.001mm 为单位 范围是0.01~65.00mm UT 是Elemet_size */
};
struct _simple_Wedge;
typedef struct _simple_Wedge st_simple_Wedge;
struct _simple_Wedge
{
char Wave_type; /* 1 是L 2 是 S */
char Model[20]; /* 共用 楔块名字 */
char Serial[20]; /* 共用 楔块名字 */
char Orientation; /* 1 Normal 0 reversal*/
unsigned short Angle; /* 共用 角度单位0.1度 */
unsigned short Probe_delay; /* UT ns为单位 */
int Ref_point; /* UT 使用 */
unsigned int Height; /* 单位微米 */
unsigned int Velocity_UT;
unsigned int Velocity_PA; /* 速度 mm/s */
int Primary_offset; /* 微米 */
unsigned int Secondary_offset; /* 微米 */
};
/* 探头(Probe) 516 byte 如果探头是unknown 必须给一个参数 */
typedef struct _Probe
{
/*PA 时候先读走4个字节*/
char A1[2];
unsigned char PA_probe_type; /* 探头类型 1 是Custom 3 是angle beam 5 是 Contact 6是Immersion */
char A10;
unsigned char UT_probe_type; /* 探头类型 1 n/a 0 converntional */
char A11;
char Model[20]; /* 探头名字 */
char Serial[20]; /* 探头名字 */
unsigned char Elem_qty; /* 阵元数 */
unsigned char Freq2; /* UT 时候 频率是 (freq2 << 8) + elem_qty */
unsigned int Pitch; /* 阵元中心间距 0.001mm 为单位 范围是0.01~65.00mm UT 是Elemet_size */
unsigned int A3;
unsigned short A4;
unsigned short Frequency; /* 频率 */
unsigned int A5[75];
unsigned short A6;
unsigned short A7;
unsigned short A8;
unsigned short Reference_Point; /* */
unsigned int A9[36];
} PROBE, *PROBE_P;
/*楔块 (Wedge)*/
typedef struct _Wedge
{
unsigned char A1[2]; /* 0x03000300 PA 0x01000100 UT*/
char Wave_type; /* 1 是L 2 是 S */
char A11;
char Model[20]; /* 共用 楔块名字 */
char Serial[20]; /* 共用 楔块名字 */
unsigned short Angle; /* 共用 角度单位0.1度 */
unsigned short A7;
unsigned short Probe_delay; /* UT ns为单位 */
char A2;
char A10; /* UT 1 SW 0 LW*/
int Ref_point; /* UT 使用 */
/*这个地方 得 多读一个字节 */
unsigned int Height; /* 单位微米 */
unsigned int Velocity_UT;
unsigned int A8;
unsigned int Velocity_PA; /* 速度 mm/s */
char Orientation; /* 1 Normal 0 reversal*/
char A4[3];
int Primary_offset; /* 微米 */
unsigned int Secondary_offset; /* 微米 */
int A6[107];
} WEDGE, *WEDGE_P;
struct _Encoder;
typedef struct _Encoder st_Enc;
struct _Encoder {
char Polarity;
char Type;
char Preset;
char Enable;
unsigned int Resolution;
unsigned int Origin;
};
struct _Part;
typedef struct _Part st_PART;
/* 工件 (Part) 12字节 已经全部移走只有CONFIG结构体用到了它 等待隐藏 */
struct _Part
{
unsigned char Geometry; /* 几何形状 FLAT/ID/OD/BALL */
unsigned char Material_pos; /* 材料 */
unsigned char tt[2]; /* 保留 */
unsigned int Thickness; /* 厚度 */
unsigned int Diameter; /* 直径 */
unsigned char Weld; /* 焊缝 */
unsigned char symmetry; /* 对称 */
unsigned int weland_height;
unsigned int weland_offset;
unsigned int fizone_height;
unsigned int fizone_angle;
unsigned int fizone_radius;
};
/* 一个阵元的聚焦信息*/
typedef struct _law_elem
{
unsigned char E_number;
unsigned char Amplitude; /* 电压 单位V */
unsigned short FL_gain; /* Focal Gain 0.1db单位 */
unsigned short R_delay; /* */
unsigned short T_delay; /* 0-25560 单位 ns 65535不活动状态 */
unsigned short P_width; /* 50-500 单位ns*/
unsigned char tt[2];
}LAW_ELEM, *LAW_ELEM_P;
/* 一条beam的聚焦信息 */
typedef struct _law_beam
{
/* char Version[32]; */
/* int N_laws; */
unsigned char N_ActiveElements; /* 同时激发的阵元数 */
unsigned char cycle;
unsigned char sumgain; /* */
unsigned char mode; /* 0 T/R 1 Pulse-echo*/
unsigned char filter; /* 0 no filter 1 0.5-5 2 2-10 3 5-15 */
unsigned char T_first;
unsigned char R_first;
char tt; /* 占位置 */
unsigned short frequency; /* 频率0.001Mhz 为单位 */
short R_angle;
unsigned short S_angle;
char tt1[2]; /* 占位置 */
unsigned int Scan_offset; /* 单位 0.001 mm*/
unsigned int Index_offset; /* 单位 0.001 mm*/
int G_delay; /* 单位ns Wedge Delay + Law Delay */
int beam_delay; /* 单位ns Law Delay */
int F_depth; /* 单位 微粒 */
unsigned int M_velocity; /* 单位 m/s */
}LAW_BEAM, *LAW_BEAM_P;
typedef struct _law_focal
{
char version[16];
short beam_qty; /* 这个focal有几个beam */
LAW_BEAM_P *law_beam_p;
LAW_ELEM_P *law_elem_p;
} LAW_FOCAL, *LAW_FOCAL_P;
/* 聚焦法则信息(law_info) */
typedef struct _law_info
{
unsigned char Focal_type; /* 聚焦类型 */
unsigned char Focal_point_type; /* 聚焦类型 */
unsigned char Tx_connect; /* pulser该法则的探头发射第一个阵元其连接口的编号 */
unsigned char Rx_connect; /* receiver */
unsigned char Elem_qty; /* 聚焦阵元数 */
short First_tx_elem; /* 法则使用的第一个发射阵元 收发分离时候 tx rx 不一样 */
short First_rx_elem; /* 法则使用的第一个接收阵元 */
unsigned char Last_tx_elem; /* 法则使用的最后一个发射阵元 */
unsigned char Last_rx_elem; /* 法则使用的最后一个接收阵元 */
unsigned char Elem_step; /* 线扫时候可以设置阵元间隔 */
unsigned char Wave_type; /* 纵波 或者 横波 */
unsigned char res1;
short Angle_min; /* PA 时候是开始角度 UT时候记录探头角度 */
short Angle_max; /* 扇扫时候可以设置的角度 0.01度为单位 */
unsigned short Angle_step; /* 扇扫时候可以设置的角度步进 */
short Angle_beam_skew_min;
short Angle_beam_skew_max;
unsigned short Angle_beam_skew_step; /* 2D的时候beam skew angle */
unsigned short law_index_start; /* 聚焦法则索引 计算出来的 */
unsigned short law_index_end; /* */
unsigned int Focus_depth; /* 扇扫时候为声程 线扫是深度 0.001mm为单位 */
unsigned int Position_start;
unsigned int Position_end;
unsigned int Position_step;
unsigned int Offset_start;
unsigned int Depth_start;
unsigned int Offset_end;
unsigned int Depth_end;
} LAW_INFO, *LAW_INFO_P;
/*测量数据 (MEASURE_DATA)*/
typedef struct _Measure_data
{
//目前用到的
float a_height;//%A
float b_height;//%B
float a_position;//A^
float b_position;//B^
float i_position;//I/
float a_ref_position;//RA^
float b_ref_position;//RB^
float a_probe_front;//PA^
float b_probe_front;//PB^
float a_depth;//DA^
float b_depth;//DB^
float a_sound_path;//SA^
float b_sound_path;//SB^
float a_volu_position_i;//ViA
float b_volu_position_i;//ViB
float a_volu_position_s;//VsA
float b_volu_position_s;//VsB
float a_leg;//LA
float b_leg;//LB
//其他待添加
} MEASURE_DATA, *MEASURE_DATA_P;
struct _Group;
typedef struct _Group GROUP;
/* 组信息 */
struct _Group
{
/* 基本设置 */
int wedge_delay; /* 楔款延时 单位 ns */
int range; /* 显示范围 单位 ns */
int start; /* 扫描延时 单位 ns */
short gain; /* 实际增益 单位 0.01dB */
short gainr; /* 参考增益 单位 0.01dB */
int velocity; /* 实际声速 单位 0.01m/s*/
int on_off_status;
/* 保存各种ON OFF 菜单的值
0位 dB_ref 开关
1位 video_filter 开关
*/
/* 发射接收 */
unsigned char pulser1; /* 1~128 - elem_qty(聚焦阵元数最大为32) + 1 指定发射阵元
与机器配置相关我们是128阵元最大,值与connect P 一样 */
unsigned char receiver1; /* 接收阵元 必须是 PR 模式才能调节 */
unsigned char filter1; /* 滤波 */
unsigned char rectifier1; /* 检波 */
unsigned char averaging1; /* 平均 */
unsigned char filter_pos1; /* */
unsigned char tx_rxmode1; /* 收发模式 */
unsigned char freq_pos1; /* 频率选择模式是指定还是自己输入 */
unsigned char pw_pos1; /* 脉冲宽度选择模式 */
unsigned char prf_pos1; /* 脉冲宽度选择模式 */
unsigned short frequency1; /* 以0.001Mhz 也就是Khz 1MHz~20MHz 为单位 当探头学选unknown 时候才可以调节 */
unsigned short pulser_width1; /* 30~500ns 2.5ns为步进*/
int prf1; /* 重复频率 1-20000Hz 取值为10~200000 */
char point_qty_pos; /* 点个数 位置 */
char sum_gain_pos; /**/
unsigned char gate_pos; /* A , B , I 当前修改的是哪个闸门 */
unsigned short point_qty; /* 点个数 */
unsigned short sum_gain;
unsigned short gain_offset[256];
GATE_INFO gate[setup_MAX_GATE]; /* gate[0] A , gate[1] B , gate[2] I */
unsigned char mode_pos; /*Gate/Alarm->Sizing Curves->Mode*/
unsigned char curve_pos; /*Gate/Alarm->Sizing Curves->Curve*/
unsigned int ref_ampl;
unsigned short ref_ampl_offset;
unsigned int amplitude[16];
unsigned int position[16];
unsigned char point_pos;
unsigned char dac_point_qty;
unsigned short curve_step;
unsigned short ref_gain;
unsigned short mat_atten;
unsigned int delay;
unsigned short tcg_gain;
unsigned char ut_unit; /*检测单位 时间2 声程1 实际深度0 .*/
unsigned char group_mode; /* 组工作模式 0 UT or 1 PA*/
LAW_INFO law_info; /* 聚焦法则的信息 */
PROBE probe;
WEDGE wedge;
unsigned char selection;
unsigned short per_reference; /* 参考光标的高度 */
unsigned short per_measure; /* 测量光标的高度 */
unsigned int u_reference; /* 参考光标在超声轴的位置 */
unsigned int u_measure; /* 测量光标在超声轴的位置 */
int s_reference; /* 参考光标在扫描轴的位置 */
int s_measure; /* 测量光标在扫描轴的位置 */
unsigned char data_link;
int i_reference; /* 参考光标在指数轴的位置 */
int i_measure; /* 测量光标在指数轴的位置 */
unsigned short s_refmeas;
unsigned short cursors_angle;
CURSORS_INFO cursors_info[4];
unsigned char source;
unsigned char col_select_pos; /* 0 Amplitude 1 TOFD 2 Depth 共3个*/
unsigned char col_start;
unsigned char col_end;
unsigned char col_contrast;
unsigned char col_brightness;
unsigned int col_min;
unsigned int col_max;
unsigned char col_mode;
/* Display Ascan的设置 */
unsigned char ascan_color; /**/
unsigned char ascan_envelope; /* 0 None 1 Infinite */
unsigned char ascan_source; /**/
unsigned char ascan_appearance; /**/
unsigned char ascan_overlay; /**/
/* COL_SELECT_INFO col_select[3];*/ /* Amplitude TOFD Depth 3个*/
/*波束 beam*/
int scan_offset; /**/
int index_offset; /**/
int angle; /**/
unsigned short skew; /**/
unsigned char skew_pos;
int agate_start;
unsigned int agate_width;
};
struct _Config;
typedef struct _Config CONFIG;
/*配置信息 (CONFIG)*/
struct _Config
{
unsigned char groupId; /* 当前group 0-7 */
unsigned char groupQty; /* 共有几个group 1-8 */
unsigned char voltage_pa; /* PA UT 的电压 */
unsigned char voltage_ut;
unsigned char language; /* 语言 */
unsigned char reject; /* 抑制 */
unsigned char display_pos; /* 显示模式 A B C A+B A+B+C A+S ... */
unsigned char display_group; /* 显示所有group还是 当前 */
unsigned char c_scan_pos; /* c扫描的source*/
unsigned char data1; /* Strip Chart A 的DATA */
unsigned char data2; /* */
unsigned char dis_mode; /* Strip Chart A 时候的模式 */
unsigned int dis_range; /* Strip Chart A 时候的显示范围 */
unsigned char bright; /* 亮度 0~100 */
unsigned char alarm_pos; /* 当前选择报警信息 0~15 */
unsigned char output_pos; /* 选择输出0~4 */
unsigned char analog1[2]; /* Analog 2个 0-2位表示group 3-4位是data */
unsigned short alarm_info[16]; /* 存储alarm 配置的信息 */
unsigned char list; /* Measurements->Reading->list filed 测量的list选项 */
unsigned char field[4]; /* 4个测量值选择 */
OUTPUT_INFO1 output1[3]; /* 输出信息 output[0],output[1],output[2] */
GROUP group[setup_MAX_GROUP_QTY]; /* */
MEASURE_DATA measure_data[setup_MAX_LAW_QTY];//保存多个聚焦法则的测量数据
st_PART part; /* 被检测工件 */
unsigned short year;
unsigned char month;
unsigned char day;
unsigned char hour;
unsigned char minitue;
unsigned char second;
unsigned char unit; /* 0 mm 1 inch */
unsigned int cur_entry; /* Measurements->Table->Select Entry 增加一组测量数据(entry) */
unsigned int entry_qty; /* Measurements->Table->Select Entry 删除一组测量数组 */
unsigned int min_thickness; /* Measurements->Thickness->min */
unsigned int max_thickness; /* Measurements->Thickness->max */
unsigned char echo_qty; /* Measurements->Thickness->echo_qty */
unsigned char grid; /* Display->overlay->grid 网格选项 */
unsigned char dis_prop_scan; /* Display->Properties->Scan 6个 */
unsigned char fft_color; /* Display->Properties->fft_color */
unsigned int on_off_status;
/* 保存各种ON OFF 菜单的值
0位 Display->overlay->sizing curves 曲线的显示开关
1位 Display->overlay->gate 闸门的显示开关
2位 Display->overlay->cursor 标尺显示开关
3位 Display->overlay->overlay 什么的显示开关?
4位 Display->Properties->Bscan.optimum B扫描最优开关
5位 Display->Properties->Cscan.ratio1:1 C扫描开关
6位 Display->Properties->Sscan.interpolation S扫描插值开关
7位 Display->Properties->Stripchart.orientation Strip chart 方向 0垂直 1水平
8位 探头自动检测开关
9位 选择探头或者是自定义探头
10位 probe/part characterize FFT 开关
11位 聚集法则 auto_program 开关
12位 encoder 编码器当前选择 0表示编码器1 1表示编码器2
13位 空
14-15位 Scan->Start->start mode 00 reset all 01 reset encoder 10 reset data
16位 Scan->start->pause 0 关 1 开
17-18位 Scan->Data->Storage 00 01 10 11
19位 Scan->Data->Inspec Data 0 1
20-21 File->File->Storage 保存在什么地方 00 01 10 11
22-23 File->File->Save Mode 保存什么数据 00 01 10 11
24位 File->Report->Template
25位 File->Format->User field
26位 File->Format->Probe
27位 File->Format->Setup
28位 File->Format->Note
29-30位 File->Format->View 00 01 10 11
*/
unsigned int on_off_status1;
/*
0位 Measurements->Table->display table 测量数据保存显示 ON or OFF
1位 Measurements->Table->entry image ON or OFF
*/
unsigned int bcompress; /* Display->Properties->compress */
st_Enc encoder1[setup_MAX_QTY_ENCODER];
unsigned char report_paper_size; /* File->Report->paper size */
unsigned char inspection_type; /* Scan->Inspection->Type On-line Raster Helicoidal */
unsigned char inspection_scan; /* Scan->Inspection->Scan Time Encoder1,2 */
unsigned char inspection_index; /* Scan->Inspection->Index auto encoder1,2 topturn off */
unsigned int inspection_scanspeed; /* Scan->Inspection->Index scanspeed */
unsigned int inspection_rpmscanspeed;/* Scan->Inspection->Index rpm scanspeed */
unsigned int inspection_indexspeed; /* Scan->Inspection->Index rpm scanspeed */
int inspection_scan_start; /* Scan->Area->Scan start*/
int inspection_scan_end; /* Scan->Area->Scan end*/
int inspection_scan_resolution; /* Scan->Area->Scan resolution*/
int inspection_index_start; /* Scan->Area->Index start*/
int inspection_index_end; /* Scan->Area->Index end*/
int inspection_index_resolution; /* Scan->Area->Index resolution*/
unsigned int userfield_select_enable; /* File->User Field->select userfield 使能状态 */
char user_label[10][25];
char user_label_content[10][25];
char edit_notes_info[256];
char edit_header_info[256];
char file_name_info[50];
char file_name_inspection_data[50];
char file_name_inspection_table[50];
char file_name_screen[50];
char file_name_report[50];
char probe_type;
unsigned char userfield_select; /* File->User Field->select 当前选择userfield编号 */
unsigned char damping_pos;
unsigned int virtual_focallaw ;
};
extern unsigned char get_damping_pos(CONFIG *p);
extern void set_damping_pos(CONFIG *p, void* data);
/* fetch material info of current config 获取当前配置中材料的信息 */
extern char *get_material_name (CONFIG *p);
extern unsigned int get_material_lw (CONFIG *p);
extern unsigned int get_material_sw (CONFIG *p);
/* part operations 工件的操作 */
extern unsigned char get_part_geometry (CONFIG *p);
extern void set_part_geometry (CONFIG *p, void* data);
extern unsigned char get_part_material (CONFIG *p);
extern void set_part_material (CONFIG *p, void* data);
extern unsigned int get_part_thickness (CONFIG *p);
extern void set_part_thickness (CONFIG *p, void* data);
extern unsigned int get_part_diameter (CONFIG *p);
extern void set_part_diameter (CONFIG *p, void* data);
extern unsigned char get_part_weld (CONFIG *p);
extern void set_part_weld (CONFIG *p, void* data);
extern unsigned char get_part_symmetry (CONFIG *p);
extern void set_part_symmetry (CONFIG *p, void* data);
extern unsigned int get_weland_height (CONFIG *p);
extern void set_weland_height (CONFIG *p, void* data);
extern unsigned int get_weland_offset (CONFIG *p);
extern void set_weland_offset (CONFIG *p, void* data);
extern unsigned int get_fizone_height (CONFIG *p);
extern void set_fizone_height (CONFIG *p, void* data);
extern unsigned int get_fizone_angle (CONFIG *p);
extern void set_fizone_angle (CONFIG *p, void* data);
extern unsigned int get_fizone_radius (CONFIG *p);
extern void set_fizone_radius (CONFIG *p, void* data);
/* 配置信息的操作start */
extern GROUP *get_group_by_id (CONFIG *p, int group);
extern unsigned char get_current_group (CONFIG *p);
extern void set_current_group (CONFIG *p, unsigned char data, int cal);
extern unsigned char get_group_qty (CONFIG *p);
extern void set_group_qty (CONFIG *p, unsigned char data);
extern unsigned char get_voltage (CONFIG *p, unsigned int group_num);
extern void set_voltage (CONFIG *p, unsigned int group_num, unsigned char data);
extern unsigned char get_language (CONFIG *p);
extern void set_language (CONFIG *p, unsigned char data);
extern unsigned char get_reject (CONFIG *p);
extern void set_reject (CONFIG *p, unsigned char data);
extern unsigned char get_display_pos (CONFIG *p);
extern void set_display_pos (CONFIG *p, unsigned char data);
extern unsigned char get_display_group (CONFIG *p);
extern void set_display_group (CONFIG *p, unsigned char data);
extern unsigned char get_cscan_source (CONFIG *p, unsigned int pos);
extern void set_cscan_source (CONFIG *p, unsigned char data, unsigned int pos);
extern unsigned char get_stripscan_data1 (CONFIG *p);
extern unsigned char get_stripscan_data2 (CONFIG *p);
extern unsigned char get_stripscan_mode (CONFIG *p);
extern unsigned int get_stripscan_disrange (CONFIG *p);
extern void set_stripscan_data1 (CONFIG *p, unsigned char data);
extern void set_stripscan_data2 (CONFIG *p, unsigned char data);
extern void set_stripscan_mode (CONFIG *p, unsigned char data);
extern void set_stripscan_disrange (CONFIG *p, unsigned int data);
/* ALARM */
extern unsigned char get_alarm_pos (CONFIG *p);
extern unsigned char get_alarm_groupa (CONFIG *p);
extern unsigned char get_alarm_groupb (CONFIG *p);
extern unsigned char get_alarm_conditiona (CONFIG *p);
extern unsigned char get_alarm_conditionb (CONFIG *p);
extern unsigned char get_alarm_operator (CONFIG *p);
extern void set_alarm_pos (CONFIG *p, unsigned char data);
extern void set_alarm_groupa (CONFIG *p, unsigned char data);
extern void set_alarm_groupb (CONFIG *p, unsigned char data);
extern void set_alarm_conditiona (CONFIG *p, unsigned char data);
extern void set_alarm_conditionb (CONFIG *p, unsigned char data);
extern void set_alarm_operator (CONFIG *p, unsigned char data);
/* OUTPUT */
extern unsigned char get_output_pos (CONFIG *p);
extern unsigned short get_output_alarm (CONFIG *p);
extern unsigned short get_1output_alarm_pos (CONFIG *p);
extern unsigned char get_output_alarm_qty (CONFIG *p);
extern unsigned char get_output_alarm_pos (CONFIG *p, unsigned int pos);
extern void set_output_pos (CONFIG *p, unsigned char data);
extern void set_output_alarm (CONFIG *p, unsigned char data, unsigned int pos);
extern unsigned char get_output_count (CONFIG *p);
extern unsigned char get_output_sound (CONFIG *p);
extern void set_output_count (CONFIG *p, unsigned char data);
extern void set_output_sound (CONFIG *p, unsigned char data);
extern unsigned int get_output_delay (CONFIG *p);
extern unsigned int get_output_holdtime (CONFIG *p);
extern void set_output_delay (CONFIG *p, unsigned int data);
extern void set_output_holdtime (CONFIG *p, unsigned int data);
extern unsigned char get_output_group (CONFIG *p);
extern unsigned char get_output_data (CONFIG *p);
extern void set_output_group (CONFIG *p, unsigned char data);
extern void set_output_data (CONFIG *p, unsigned char data);
/* 设置获取亮度 */
extern unsigned char get_bright (CONFIG *p);
extern void set_bright (CONFIG *p, unsigned char data);
/* Reading list field 设置当前读取的数值 */
extern unsigned char get_reading_list (CONFIG *p);
extern void set_reading_list (CONFIG *p, unsigned char data);
extern unsigned char get_reading_field1 (CONFIG *p);
extern void set_reading_field1 (CONFIG *p, unsigned char data);
extern unsigned char get_reading_field2 (CONFIG *p);
extern void set_reading_field2 (CONFIG *p, unsigned char data);
extern unsigned char get_reading_field3 (CONFIG *p);
extern void set_reading_field3 (CONFIG *p, unsigned char data);
extern unsigned char get_reading_field4 (CONFIG *p);
extern void set_reading_field4 (CONFIG *p, unsigned char data);
/* 单位 */
extern unsigned char get_unit (CONFIG *p);
extern void set_unit (CONFIG *p, unsigned char data);
/* */
extern unsigned char get_display_table (CONFIG *p);
extern void set_display_table (CONFIG *p, unsigned char data);
extern unsigned char get_entry_image (CONFIG *p);
extern void set_entry_image (CONFIG *p, unsigned char data);
extern unsigned int get_cur_entry (CONFIG *p);
extern void set_cur_entry (CONFIG *p, unsigned int data);
extern unsigned int get_entry_qty (CONFIG *p);
extern void set_entry_qty (CONFIG *p, unsigned int data);
extern unsigned int get_min_thickness (CONFIG *p);
extern void set_min_thickness (CONFIG *p, unsigned int data);
extern unsigned int get_max_thickness (CONFIG *p);
extern void set_max_thickness (CONFIG *p, unsigned int data);
extern unsigned char get_echo_qty (CONFIG *p);
extern void set_echo_qty (CONFIG *p, unsigned char data);
/* Display Overlay */
extern unsigned char get_overlay_grid (CONFIG *p);
extern void set_overlay_grid (CONFIG *p, unsigned char data);
extern int get_overlay_sizing_curves (CONFIG *p);
extern void set_overlay_sizing_curves (CONFIG *p, int data);
extern int get_overlay_gate (CONFIG *p);
extern void set_overlay_gate (CONFIG *p, int data);
extern int get_overlay_cursor (CONFIG *p);
extern void set_overlay_cursor (CONFIG *p, int data);
extern int get_overlay_overlay (CONFIG *p);
extern void set_overlay_overlay (CONFIG *p, int data);
/* Display Properties */
extern unsigned char get_dis_prop_scan (CONFIG *p);
extern void set_dis_prop_scan (CONFIG *p, unsigned char data);
extern unsigned int get_b_compress (CONFIG *p);
extern void set_b_compress (CONFIG *p, unsigned int data);
extern int get_dis_prop_boptimum (CONFIG *p);
extern void set_dis_prop_boptimum (CONFIG *p, int data);
extern int get_dis_prop_cratio (CONFIG *p);
extern void set_dis_prop_cratio (CONFIG *p, int data);
extern int get_dis_prop_sinterpolation (CONFIG *p);
extern void set_dis_prop_sinterpolation (CONFIG *p, int data);
extern int get_dis_prop_strip_orientation (CONFIG *p);
extern void set_dis_prop_strip_orientation (CONFIG *p, int data);
extern unsigned char get_fft_color (CONFIG *p);
extern void set_fft_color (CONFIG *p, unsigned char data);
/* 自动检测探头 */
extern int get_auto_detect (CONFIG *p);
extern void set_auto_detect (CONFIG *p, int data);
/* 选择探头或者是自定义探头 */
extern int get_probe_select (CONFIG *p);
extern void set_probe_select (CONFIG *p, int data);
/* 选择探头FFT开关 */
extern int get_probe_fft (CONFIG *p);
extern void set_probe_fft (CONFIG *p, int data);
/* 选择聚焦法则自动计算开关 */
extern int get_auto_focal (CONFIG *p);
extern void set_auto_focal (CONFIG *p, int data);
/* 选择当前encoder 1或者2 */
extern int get_cur_encoder (CONFIG *p);
extern void set_cur_encoder (CONFIG *p, int data);
/* 设置encoder属性 */
extern unsigned char get_enc_polarity (CONFIG *p, int enc_id);
extern void set_enc_polarity (CONFIG *p, unsigned char data, int enc_id);
extern unsigned char get_enc_type (CONFIG *p, int enc_id);
extern void set_enc_type (CONFIG *p, unsigned char data, int enc_id);
extern unsigned int get_enc_resolution (CONFIG *p, int enc_id);
extern void set_enc_resolution (CONFIG *p, unsigned int data, int enc_id);
extern unsigned int get_enc_origin (CONFIG *p, int enc_id);
extern void set_enc_origin (CONFIG *p, unsigned int data, int enc_id);
/* 设置 scan inspection 属性 */
extern unsigned char get_inspec_type (CONFIG *p);
extern void set_inspec_type (CONFIG *p, unsigned char data);
extern unsigned char get_inspec_source (CONFIG *p);
extern void set_inspec_source (CONFIG *p, unsigned char data);
extern unsigned char get_inspec_index (CONFIG *p);
extern void set_inspec_index (CONFIG *p, unsigned char data);
extern unsigned int get_inspec_speed (CONFIG *p);
extern void set_inspec_speed (CONFIG *p, unsigned int data);
extern unsigned int get_inspec_rpmspeed (CONFIG *p);
extern void set_inspec_rpmspeed (CONFIG *p, unsigned int data);
extern unsigned int get_inspec_indexspeed (CONFIG *p);
extern void set_inspec_indexspeed (CONFIG *p, unsigned int data);
/* 设置 scan area 属性 */
extern int get_area_scanstart (CONFIG *p);
extern void set_area_scanstart (CONFIG *p, int data);
extern int get_area_scanend (CONFIG *p);
extern void set_area_scanend (CONFIG *p, int data);
extern int get_area_scanresolution (CONFIG *p);
extern void set_area_scanresolution (CONFIG *p, int data);
extern int get_area_indexstart (CONFIG *p);
extern void set_area_indexstart (CONFIG *p, int data);
extern int get_area_indexend (CONFIG *p);
extern void set_area_indexend (CONFIG *p, int data);
extern int get_area_indexresolution (CONFIG *p);
extern void set_area_indexresolution (CONFIG *p, int data);
/* 设置 scan start */
extern unsigned char get_start_mode (CONFIG *p);
extern void set_start_mode (CONFIG *p, unsigned char data);
extern int get_start_pause (CONFIG *p);
extern void set_start_pause (CONFIG *p, int data);
/* 设置 scan Data */
extern unsigned char get_data_storage (CONFIG *p);
extern void set_data_storage (CONFIG *p, unsigned char data);
extern int get_data_inspec_data (CONFIG *p);
extern void set_data_inspec_data (CONFIG *p, int data);
/* 设置 file->file */
extern unsigned char get_file_storage (CONFIG *p);
extern void set_file_storage (CONFIG *p, unsigned char data);
extern unsigned char get_file_save_mode (CONFIG *p);
extern void set_file_save_mode (CONFIG *p, unsigned char data);
/* 设置 file->report */
extern int get_report_template (CONFIG *p);
extern void set_report_template (CONFIG *p, int data);
extern unsigned char get_report_paper_size (CONFIG *p);
extern void set_report_paper_size (CONFIG *p, unsigned char data);
/* 设置 file->format */
extern int get_report_format_userfield (CONFIG *p);
extern void set_report_format_userfield (CONFIG *p, int data);
extern int get_report_format_probe (CONFIG *p);
extern void set_report_format_probe (CONFIG *p, int data);
extern int get_report_format_setup (CONFIG *p);
extern void set_report_format_setup (CONFIG *p, int data);
extern int get_report_format_note (CONFIG *p);
extern void set_report_format_note (CONFIG *p, int data);
extern unsigned char get_report_format_view (CONFIG *p);
extern void set_report_format_view (CONFIG *p, unsigned char data);
/* 设置 file->userfield */
extern unsigned char get_report_userfield_select (CONFIG *p);
extern void set_report_userfield_select (CONFIG *p, unsigned char data);
extern int get_report_userfield_enable (CONFIG *p, int select_pos);
extern void set_report_userfield_enable (CONFIG *p, int data, int select_pos);
extern const char *get_report_userfield_label (CONFIG *p, int select_pos);
extern void set_report_userfield_label (CONFIG *p, const char *label, int select_pos);
extern const char *get_report_userfield_content (CONFIG *p, int select_pos);
extern void set_report_userfield_content (CONFIG *p, const char *content, int select_pos);
/* 保存配置信息 */
extern const char *get_edit_notes_info (CONFIG *p);
extern void set_edit_notes_info (CONFIG *p, const char *content);
extern const char *get_header_info (CONFIG *p);
extern void set_header_info (CONFIG *p, const char *content);
extern const char *get_file_name_info (CONFIG *p);
extern void set_file_name_info (CONFIG *p, const char *content);
extern const char *get_file_name_all (CONFIG *p);
extern void set_file_name_all (CONFIG *p, const char *content);
/* gll probe_type */
extern char get_probe_type (CONFIG *p);
extern void set_probe_type (CONFIG *p, char data);
/* 配置信息的操作end */
/* Group 参数的保存读取 */
extern int get_group_point_qty_pos (CONFIG *p, int group_id);
extern void set_group_point_qty_pos (CONFIG *p, int group_id, int data);
extern int get_group_point_qty_val (CONFIG *p, int group_id);
extern void set_group_point_qty_val (CONFIG *p, int group_id, int data);
extern int get_group_sum_gain_pos (CONFIG *p, int group_id);
extern void set_group_sum_gain_pos (CONFIG *p, int group_id, int data);
extern int get_group_sum_gain_val (CONFIG *p, int group_id);
extern void set_group_sum_gain_val (CONFIG *p, int group_id, int data);
extern int get_group_db_ref (CONFIG *p, int group_id);
extern void set_group_db_ref (CONFIG *p, int group_id, int data);
/* Group 参数的保存读取 */
extern int get_group_val (GROUP *p, int type);
extern void set_group_val (GROUP *p, int type, int val);
/* group操作 */
extern void grpcpy (CONFIG *p, unsigned int src, unsigned int dst);
/***
#define VAL_GRP_ID 0x0001
extern int *get_cfg_val (CONFIG *p, int val_type, int grp);
***/
#endif