1#![allow(clippy::all)]
37
38use epics_base_rs::server::record::{Asl, Base, FieldDesc, Special};
39use epics_base_rs::types::{DbFieldType, DbfCode};
40
41pub static MENU_EPID_FEEDBACK_MODE: &[&str] = &["PID", "Max/Min"];
49
50pub static MENU_EPID_FEEDBACK_STATE: &[&str] = &["Off", "On"];
52
53pub static MENU_THROTTLE_DRVLC: &[&str] = &["Off", "On"];
55
56pub static MENU_THROTTLE_DRVLS: &[&str] = &["Normal", "Low Limit", "High Limit"];
58
59pub static MENU_THROTTLE_OV: &[&str] = &["Ext PV NC", "Ext PV OK", "Local PV", "Constant"];
61
62pub static MENU_THROTTLE_STS: &[&str] = &["Unknown", "Error", "Success"];
64
65pub static MENU_THROTTLE_SYNC: &[&str] = &["Idle", "Process"];
67
68pub static MENU_THROTTLE_WAIT: &[&str] = &["False", "True"];
70
71pub static MENU_TIMESTAMP_TST: &[&str] = &[
73 "YY/MM/DD HH:MM:SS",
74 "MM/DD/YY HH:MM:SS",
75 "Mon DD HH:MM:SS YY",
76 "Mon DD HH:MM:SS",
77 "HH:MM:SS",
78 "HH:MM",
79 "DD/MM/YY HH:MM:SS",
80 "DD Mon HH:MM:SS YY",
81 "DD-Mon-YYYY HH:MM:SS",
82 "Mon DD, YYYY HH:MM:SS.ns",
83 "MM/DD/YY HH:MM:SS.ns",
84];
85
86pub fn menu_choices(menu: &str) -> Option<&'static [&'static str]> {
92 Some(match menu {
93 "epidFeedbackMode" => MENU_EPID_FEEDBACK_MODE,
94 "epidFeedbackState" => MENU_EPID_FEEDBACK_STATE,
95 "throttleDRVLC" => MENU_THROTTLE_DRVLC,
96 "throttleDRVLS" => MENU_THROTTLE_DRVLS,
97 "throttleOV" => MENU_THROTTLE_OV,
98 "throttleSTS" => MENU_THROTTLE_STS,
99 "throttleSYNC" => MENU_THROTTLE_SYNC,
100 "throttleWAIT" => MENU_THROTTLE_WAIT,
101 "timestampTST" => MENU_TIMESTAMP_TST,
102 _ => return None,
103 })
104}
105
106pub static MENUS: &[(&str, &[&str], &[&str])] = &[
114 (
115 "epidFeedbackMode",
116 &["epidFeedbackMode_PID", "epidFeedbackMode_MaxMin"],
117 MENU_EPID_FEEDBACK_MODE,
118 ),
119 (
120 "epidFeedbackState",
121 &["epidFeedbackState_Off", "epidFeedbackState_On"],
122 MENU_EPID_FEEDBACK_STATE,
123 ),
124 (
125 "throttleDRVLC",
126 &["throttleDRVLC_OFF", "throttleDRVLC_ON"],
127 MENU_THROTTLE_DRVLC,
128 ),
129 (
130 "throttleDRVLS",
131 &[
132 "throttleDRVLS_NORM",
133 "throttleDRVLS_LOW",
134 "throttleDRVLS_HIGH",
135 ],
136 MENU_THROTTLE_DRVLS,
137 ),
138 (
139 "throttleOV",
140 &[
141 "throttleOV_EXT_NC",
142 "throttleOV_EXT",
143 "throttleOV_LOC",
144 "throttleOV_CON",
145 ],
146 MENU_THROTTLE_OV,
147 ),
148 (
149 "throttleSTS",
150 &["throttleSTS_UNK", "throttleSTS_ERR", "throttleSTS_SUC"],
151 MENU_THROTTLE_STS,
152 ),
153 (
154 "throttleSYNC",
155 &["throttleSYNC_IDLE", "throttleSYNC_PROC"],
156 MENU_THROTTLE_SYNC,
157 ),
158 (
159 "throttleWAIT",
160 &["throttleWAIT_FALSE", "throttleWAIT_TRUE"],
161 MENU_THROTTLE_WAIT,
162 ),
163 (
164 "timestampTST",
165 &[
166 "timestampTST_YY_MM_DD_HH_MM_SS",
167 "timestampTST_MM_DD_YY_HH_MM_SS",
168 "timestampTST_MM_DD_HH_MM_SS_YY",
169 "timestampTST_MM_DD_HH_MM_SS",
170 "timestampTST_HH_MM_SS",
171 "timestampTST_HH_MM",
172 "timestampTST_DD_MM_YY_HH_MM_SS",
173 "timestampTST_DD_MM_HH_MM_SS_YY",
174 "timestampTST_VMS",
175 "timestampTST_MM_DD_YYYY",
176 "timestampTST_MM_DD_YY",
177 ],
178 MENU_TIMESTAMP_TST,
179 ),
180];
181
182pub static VARIABLES: &[(&str, &str)] = &[];
190
191pub static EPID_FIELDS: &[FieldDesc] = &[
198 FieldDesc {
199 name: "VAL",
200 dbf_type: DbFieldType::Double,
201 declared_dbf: DbfCode::Double,
202 runtime_typed: false,
203 read_only: false,
204 special: Special::None,
205 declared_special: Special::None,
206 pp: true,
207 asl: Asl::Asl0,
208 size: 0,
209 extra: None,
210 menu: None,
211 initial: None,
212 interest: 0,
213 prop: false,
214 prompt: Some("Setpoint"),
215 promptgroup: None,
216 base: Base::Decimal,
217 },
218 FieldDesc {
219 name: "SMSL",
220 dbf_type: DbFieldType::Enum,
221 declared_dbf: DbfCode::Menu,
222 runtime_typed: false,
223 read_only: false,
224 special: Special::None,
225 declared_special: Special::None,
226 pp: false,
227 asl: Asl::Asl1,
228 size: 0,
229 extra: None,
230 menu: Some(epics_base_rs::server::record::dbd_generated::MENU_OMSL),
231 initial: None,
232 interest: 1,
233 prop: false,
234 prompt: Some("Setpoint Mode Select"),
235 promptgroup: Some("GUI_PID"),
236 base: Base::Decimal,
237 },
238 FieldDesc {
239 name: "STPL",
240 dbf_type: DbFieldType::String,
241 declared_dbf: DbfCode::Inlink,
242 runtime_typed: false,
243 read_only: false,
244 special: Special::None,
245 declared_special: Special::None,
246 pp: false,
247 asl: Asl::Asl1,
248 size: 0,
249 extra: None,
250 menu: None,
251 initial: None,
252 interest: 1,
253 prop: false,
254 prompt: Some("Setpoint Location"),
255 promptgroup: Some("GUI_PID"),
256 base: Base::Decimal,
257 },
258 FieldDesc {
259 name: "INP",
260 dbf_type: DbFieldType::String,
261 declared_dbf: DbfCode::Inlink,
262 runtime_typed: false,
263 read_only: false,
264 special: Special::None,
265 declared_special: Special::None,
266 pp: false,
267 asl: Asl::Asl1,
268 size: 0,
269 extra: None,
270 menu: None,
271 initial: None,
272 interest: 1,
273 prop: false,
274 prompt: Some("Controlled Value Loc"),
275 promptgroup: Some("GUI_INPUTS"),
276 base: Base::Decimal,
277 },
278 FieldDesc {
279 name: "OUTL",
280 dbf_type: DbFieldType::String,
281 declared_dbf: DbfCode::Outlink,
282 runtime_typed: false,
283 read_only: false,
284 special: Special::None,
285 declared_special: Special::None,
286 pp: false,
287 asl: Asl::Asl1,
288 size: 0,
289 extra: None,
290 menu: None,
291 initial: None,
292 interest: 1,
293 prop: false,
294 prompt: Some("Output Location"),
295 promptgroup: Some("GUI_PID"),
296 base: Base::Decimal,
297 },
298 FieldDesc {
299 name: "TRIG",
300 dbf_type: DbFieldType::String,
301 declared_dbf: DbfCode::Outlink,
302 runtime_typed: false,
303 read_only: false,
304 special: Special::None,
305 declared_special: Special::None,
306 pp: false,
307 asl: Asl::Asl1,
308 size: 0,
309 extra: None,
310 menu: None,
311 initial: None,
312 interest: 1,
313 prop: false,
314 prompt: Some("Readback Trigger"),
315 promptgroup: Some("GUI_PID"),
316 base: Base::Decimal,
317 },
318 FieldDesc {
319 name: "TVAL",
320 dbf_type: DbFieldType::Double,
321 declared_dbf: DbfCode::Double,
322 runtime_typed: false,
323 read_only: false,
324 special: Special::None,
325 declared_special: Special::None,
326 pp: false,
327 asl: Asl::Asl1,
328 size: 0,
329 extra: None,
330 menu: None,
331 initial: None,
332 interest: 1,
333 prop: false,
334 prompt: Some("Trigger Value"),
335 promptgroup: Some("GUI_PID"),
336 base: Base::Decimal,
337 },
338 FieldDesc {
339 name: "CVAL",
340 dbf_type: DbFieldType::Double,
341 declared_dbf: DbfCode::Double,
342 runtime_typed: false,
343 read_only: true,
344 special: Special::NoMod,
345 declared_special: Special::NoMod,
346 pp: false,
347 asl: Asl::Asl1,
348 size: 0,
349 extra: None,
350 menu: None,
351 initial: None,
352 interest: 0,
353 prop: false,
354 prompt: Some("Controlled Value"),
355 promptgroup: None,
356 base: Base::Decimal,
357 },
358 FieldDesc {
359 name: "CVLP",
360 dbf_type: DbFieldType::Double,
361 declared_dbf: DbfCode::Double,
362 runtime_typed: false,
363 read_only: true,
364 special: Special::NoMod,
365 declared_special: Special::NoMod,
366 pp: false,
367 asl: Asl::Asl1,
368 size: 0,
369 extra: None,
370 menu: None,
371 initial: None,
372 interest: 0,
373 prop: false,
374 prompt: Some("Prev. Controlled Value"),
375 promptgroup: None,
376 base: Base::Decimal,
377 },
378 FieldDesc {
379 name: "OVAL",
380 dbf_type: DbFieldType::Double,
381 declared_dbf: DbfCode::Double,
382 runtime_typed: false,
383 read_only: true,
384 special: Special::NoMod,
385 declared_special: Special::NoMod,
386 pp: false,
387 asl: Asl::Asl1,
388 size: 0,
389 extra: None,
390 menu: None,
391 initial: None,
392 interest: 0,
393 prop: false,
394 prompt: Some("Output value"),
395 promptgroup: None,
396 base: Base::Decimal,
397 },
398 FieldDesc {
399 name: "OVLP",
400 dbf_type: DbFieldType::Double,
401 declared_dbf: DbfCode::Double,
402 runtime_typed: false,
403 read_only: true,
404 special: Special::NoMod,
405 declared_special: Special::NoMod,
406 pp: false,
407 asl: Asl::Asl1,
408 size: 0,
409 extra: None,
410 menu: None,
411 initial: None,
412 interest: 3,
413 prop: false,
414 prompt: Some("Prev output"),
415 promptgroup: None,
416 base: Base::Decimal,
417 },
418 FieldDesc {
419 name: "PREC",
420 dbf_type: DbFieldType::Short,
421 declared_dbf: DbfCode::Short,
422 runtime_typed: false,
423 read_only: false,
424 special: Special::None,
425 declared_special: Special::None,
426 pp: false,
427 asl: Asl::Asl1,
428 size: 0,
429 extra: None,
430 menu: None,
431 initial: None,
432 interest: 1,
433 prop: false,
434 prompt: Some("Display Precision"),
435 promptgroup: Some("GUI_DISPLAY"),
436 base: Base::Decimal,
437 },
438 FieldDesc {
439 name: "MDT",
440 dbf_type: DbFieldType::Double,
441 declared_dbf: DbfCode::Double,
442 runtime_typed: false,
443 read_only: false,
444 special: Special::None,
445 declared_special: Special::None,
446 pp: false,
447 asl: Asl::Asl1,
448 size: 0,
449 extra: None,
450 menu: None,
451 initial: None,
452 interest: 1,
453 prop: false,
454 prompt: Some("Min Delta T"),
455 promptgroup: Some("GUI_PID"),
456 base: Base::Decimal,
457 },
458 FieldDesc {
459 name: "FMOD",
460 dbf_type: DbFieldType::Enum,
461 declared_dbf: DbfCode::Menu,
462 runtime_typed: false,
463 read_only: false,
464 special: Special::None,
465 declared_special: Special::None,
466 pp: false,
467 asl: Asl::Asl1,
468 size: 0,
469 extra: None,
470 menu: Some(MENU_EPID_FEEDBACK_MODE),
471 initial: None,
472 interest: 1,
473 prop: false,
474 prompt: Some("Feedback Mode"),
475 promptgroup: Some("GUI_PID"),
476 base: Base::Decimal,
477 },
478 FieldDesc {
479 name: "FBON",
480 dbf_type: DbFieldType::Enum,
481 declared_dbf: DbfCode::Menu,
482 runtime_typed: false,
483 read_only: false,
484 special: Special::None,
485 declared_special: Special::None,
486 pp: false,
487 asl: Asl::Asl1,
488 size: 0,
489 extra: None,
490 menu: Some(MENU_EPID_FEEDBACK_STATE),
491 initial: None,
492 interest: 1,
493 prop: false,
494 prompt: Some("Feedback On/Off"),
495 promptgroup: Some("GUI_PID"),
496 base: Base::Decimal,
497 },
498 FieldDesc {
499 name: "FBOP",
500 dbf_type: DbFieldType::Enum,
501 declared_dbf: DbfCode::Menu,
502 runtime_typed: false,
503 read_only: false,
504 special: Special::None,
505 declared_special: Special::None,
506 pp: false,
507 asl: Asl::Asl1,
508 size: 0,
509 extra: None,
510 menu: Some(MENU_EPID_FEEDBACK_STATE),
511 initial: None,
512 interest: 1,
513 prop: false,
514 prompt: Some("Prev. feedback On/Off"),
515 promptgroup: Some("GUI_PID"),
516 base: Base::Decimal,
517 },
518 FieldDesc {
519 name: "KP",
520 dbf_type: DbFieldType::Double,
521 declared_dbf: DbfCode::Double,
522 runtime_typed: false,
523 read_only: false,
524 special: Special::None,
525 declared_special: Special::None,
526 pp: false,
527 asl: Asl::Asl1,
528 size: 0,
529 extra: None,
530 menu: None,
531 initial: None,
532 interest: 1,
533 prop: false,
534 prompt: Some("Proportional Gain"),
535 promptgroup: Some("GUI_PID"),
536 base: Base::Decimal,
537 },
538 FieldDesc {
539 name: "KI",
540 dbf_type: DbFieldType::Double,
541 declared_dbf: DbfCode::Double,
542 runtime_typed: false,
543 read_only: false,
544 special: Special::None,
545 declared_special: Special::None,
546 pp: false,
547 asl: Asl::Asl1,
548 size: 0,
549 extra: None,
550 menu: None,
551 initial: None,
552 interest: 1,
553 prop: false,
554 prompt: Some("Intergral Gain"),
555 promptgroup: Some("GUI_PID"),
556 base: Base::Decimal,
557 },
558 FieldDesc {
559 name: "KD",
560 dbf_type: DbFieldType::Double,
561 declared_dbf: DbfCode::Double,
562 runtime_typed: false,
563 read_only: false,
564 special: Special::None,
565 declared_special: Special::None,
566 pp: false,
567 asl: Asl::Asl1,
568 size: 0,
569 extra: None,
570 menu: None,
571 initial: None,
572 interest: 1,
573 prop: false,
574 prompt: Some("Derivative Gain"),
575 promptgroup: Some("GUI_PID"),
576 base: Base::Decimal,
577 },
578 FieldDesc {
579 name: "EGU",
580 dbf_type: DbFieldType::String,
581 declared_dbf: DbfCode::String,
582 runtime_typed: false,
583 read_only: false,
584 special: Special::None,
585 declared_special: Special::None,
586 pp: false,
587 asl: Asl::Asl1,
588 size: 16,
589 extra: None,
590 menu: None,
591 initial: None,
592 interest: 1,
593 prop: false,
594 prompt: Some("Engineering Units"),
595 promptgroup: Some("GUI_DISPLAY"),
596 base: Base::Decimal,
597 },
598 FieldDesc {
599 name: "HOPR",
600 dbf_type: DbFieldType::Double,
601 declared_dbf: DbfCode::Double,
602 runtime_typed: false,
603 read_only: false,
604 special: Special::None,
605 declared_special: Special::None,
606 pp: false,
607 asl: Asl::Asl1,
608 size: 0,
609 extra: None,
610 menu: None,
611 initial: None,
612 interest: 1,
613 prop: false,
614 prompt: Some("High Operating Range"),
615 promptgroup: Some("GUI_DISPLAY"),
616 base: Base::Decimal,
617 },
618 FieldDesc {
619 name: "LOPR",
620 dbf_type: DbFieldType::Double,
621 declared_dbf: DbfCode::Double,
622 runtime_typed: false,
623 read_only: false,
624 special: Special::None,
625 declared_special: Special::None,
626 pp: false,
627 asl: Asl::Asl1,
628 size: 0,
629 extra: None,
630 menu: None,
631 initial: None,
632 interest: 1,
633 prop: false,
634 prompt: Some("Low Operating Range"),
635 promptgroup: Some("GUI_DISPLAY"),
636 base: Base::Decimal,
637 },
638 FieldDesc {
639 name: "DRVH",
640 dbf_type: DbFieldType::Double,
641 declared_dbf: DbfCode::Double,
642 runtime_typed: false,
643 read_only: false,
644 special: Special::None,
645 declared_special: Special::None,
646 pp: false,
647 asl: Asl::Asl1,
648 size: 0,
649 extra: None,
650 menu: None,
651 initial: None,
652 interest: 1,
653 prop: false,
654 prompt: Some("High Drive Limit"),
655 promptgroup: Some("GUI_DISPLAY"),
656 base: Base::Decimal,
657 },
658 FieldDesc {
659 name: "DRVL",
660 dbf_type: DbFieldType::Double,
661 declared_dbf: DbfCode::Double,
662 runtime_typed: false,
663 read_only: false,
664 special: Special::None,
665 declared_special: Special::None,
666 pp: false,
667 asl: Asl::Asl1,
668 size: 0,
669 extra: None,
670 menu: None,
671 initial: None,
672 interest: 1,
673 prop: false,
674 prompt: Some("Low Drive Limit"),
675 promptgroup: Some("GUI_DISPLAY"),
676 base: Base::Decimal,
677 },
678 FieldDesc {
679 name: "HIHI",
680 dbf_type: DbFieldType::Double,
681 declared_dbf: DbfCode::Double,
682 runtime_typed: false,
683 read_only: false,
684 special: Special::None,
685 declared_special: Special::None,
686 pp: false,
687 asl: Asl::Asl1,
688 size: 0,
689 extra: None,
690 menu: None,
691 initial: None,
692 interest: 1,
693 prop: false,
694 prompt: Some("Hihi Deviation Limit"),
695 promptgroup: Some("GUI_ALARMS"),
696 base: Base::Decimal,
697 },
698 FieldDesc {
699 name: "LOLO",
700 dbf_type: DbFieldType::Double,
701 declared_dbf: DbfCode::Double,
702 runtime_typed: false,
703 read_only: false,
704 special: Special::None,
705 declared_special: Special::None,
706 pp: false,
707 asl: Asl::Asl1,
708 size: 0,
709 extra: None,
710 menu: None,
711 initial: None,
712 interest: 1,
713 prop: false,
714 prompt: Some("Lolo Deviation Limit"),
715 promptgroup: Some("GUI_ALARMS"),
716 base: Base::Decimal,
717 },
718 FieldDesc {
719 name: "HIGH",
720 dbf_type: DbFieldType::Double,
721 declared_dbf: DbfCode::Double,
722 runtime_typed: false,
723 read_only: false,
724 special: Special::None,
725 declared_special: Special::None,
726 pp: false,
727 asl: Asl::Asl1,
728 size: 0,
729 extra: None,
730 menu: None,
731 initial: None,
732 interest: 1,
733 prop: false,
734 prompt: Some("High Deviation Limit"),
735 promptgroup: Some("GUI_ALARMS"),
736 base: Base::Decimal,
737 },
738 FieldDesc {
739 name: "LOW",
740 dbf_type: DbFieldType::Double,
741 declared_dbf: DbfCode::Double,
742 runtime_typed: false,
743 read_only: false,
744 special: Special::None,
745 declared_special: Special::None,
746 pp: false,
747 asl: Asl::Asl1,
748 size: 0,
749 extra: None,
750 menu: None,
751 initial: None,
752 interest: 1,
753 prop: false,
754 prompt: Some("Low Deviation Limit"),
755 promptgroup: Some("GUI_ALARMS"),
756 base: Base::Decimal,
757 },
758 FieldDesc {
759 name: "HHSV",
760 dbf_type: DbFieldType::Enum,
761 declared_dbf: DbfCode::Menu,
762 runtime_typed: false,
763 read_only: false,
764 special: Special::None,
765 declared_special: Special::None,
766 pp: false,
767 asl: Asl::Asl1,
768 size: 0,
769 extra: None,
770 menu: Some(epics_base_rs::server::record::dbd_generated::MENU_ALARM_SEVR),
771 initial: None,
772 interest: 1,
773 prop: false,
774 prompt: Some("Hihi Severity"),
775 promptgroup: Some("GUI_ALARMS"),
776 base: Base::Decimal,
777 },
778 FieldDesc {
779 name: "LLSV",
780 dbf_type: DbFieldType::Enum,
781 declared_dbf: DbfCode::Menu,
782 runtime_typed: false,
783 read_only: false,
784 special: Special::None,
785 declared_special: Special::None,
786 pp: false,
787 asl: Asl::Asl1,
788 size: 0,
789 extra: None,
790 menu: Some(epics_base_rs::server::record::dbd_generated::MENU_ALARM_SEVR),
791 initial: None,
792 interest: 1,
793 prop: false,
794 prompt: Some("Lolo Severity"),
795 promptgroup: Some("GUI_ALARMS"),
796 base: Base::Decimal,
797 },
798 FieldDesc {
799 name: "HSV",
800 dbf_type: DbFieldType::Enum,
801 declared_dbf: DbfCode::Menu,
802 runtime_typed: false,
803 read_only: false,
804 special: Special::None,
805 declared_special: Special::None,
806 pp: false,
807 asl: Asl::Asl1,
808 size: 0,
809 extra: None,
810 menu: Some(epics_base_rs::server::record::dbd_generated::MENU_ALARM_SEVR),
811 initial: None,
812 interest: 1,
813 prop: false,
814 prompt: Some("High Severity"),
815 promptgroup: Some("GUI_ALARMS"),
816 base: Base::Decimal,
817 },
818 FieldDesc {
819 name: "LSV",
820 dbf_type: DbFieldType::Enum,
821 declared_dbf: DbfCode::Menu,
822 runtime_typed: false,
823 read_only: false,
824 special: Special::None,
825 declared_special: Special::None,
826 pp: false,
827 asl: Asl::Asl1,
828 size: 0,
829 extra: None,
830 menu: Some(epics_base_rs::server::record::dbd_generated::MENU_ALARM_SEVR),
831 initial: None,
832 interest: 1,
833 prop: false,
834 prompt: Some("Low Severity"),
835 promptgroup: Some("GUI_ALARMS"),
836 base: Base::Decimal,
837 },
838 FieldDesc {
839 name: "HYST",
840 dbf_type: DbFieldType::Double,
841 declared_dbf: DbfCode::Double,
842 runtime_typed: false,
843 read_only: false,
844 special: Special::None,
845 declared_special: Special::None,
846 pp: false,
847 asl: Asl::Asl1,
848 size: 0,
849 extra: None,
850 menu: None,
851 initial: None,
852 interest: 1,
853 prop: false,
854 prompt: Some("Alarm Deadband"),
855 promptgroup: Some("GUI_ALARMS"),
856 base: Base::Decimal,
857 },
858 FieldDesc {
859 name: "ADEL",
860 dbf_type: DbFieldType::Double,
861 declared_dbf: DbfCode::Double,
862 runtime_typed: false,
863 read_only: false,
864 special: Special::None,
865 declared_special: Special::None,
866 pp: false,
867 asl: Asl::Asl1,
868 size: 0,
869 extra: None,
870 menu: None,
871 initial: None,
872 interest: 1,
873 prop: false,
874 prompt: Some("Archive Deadband"),
875 promptgroup: Some("GUI_DISPLAY"),
876 base: Base::Decimal,
877 },
878 FieldDesc {
879 name: "MDEL",
880 dbf_type: DbFieldType::Double,
881 declared_dbf: DbfCode::Double,
882 runtime_typed: false,
883 read_only: false,
884 special: Special::None,
885 declared_special: Special::None,
886 pp: false,
887 asl: Asl::Asl1,
888 size: 0,
889 extra: None,
890 menu: None,
891 initial: None,
892 interest: 1,
893 prop: false,
894 prompt: Some("Monitor Deadband"),
895 promptgroup: Some("GUI_DISPLAY"),
896 base: Base::Decimal,
897 },
898 FieldDesc {
899 name: "ODEL",
900 dbf_type: DbFieldType::Double,
901 declared_dbf: DbfCode::Double,
902 runtime_typed: false,
903 read_only: false,
904 special: Special::None,
905 declared_special: Special::None,
906 pp: false,
907 asl: Asl::Asl1,
908 size: 0,
909 extra: None,
910 menu: None,
911 initial: None,
912 interest: 1,
913 prop: false,
914 prompt: Some("Output Deadband"),
915 promptgroup: Some("GUI_PID"),
916 base: Base::Decimal,
917 },
918 FieldDesc {
919 name: "P",
920 dbf_type: DbFieldType::Double,
921 declared_dbf: DbfCode::Double,
922 runtime_typed: false,
923 read_only: true,
924 special: Special::NoMod,
925 declared_special: Special::NoMod,
926 pp: false,
927 asl: Asl::Asl1,
928 size: 0,
929 extra: None,
930 menu: None,
931 initial: None,
932 interest: 2,
933 prop: false,
934 prompt: Some("P component"),
935 promptgroup: None,
936 base: Base::Decimal,
937 },
938 FieldDesc {
939 name: "PP",
940 dbf_type: DbFieldType::Double,
941 declared_dbf: DbfCode::Double,
942 runtime_typed: false,
943 read_only: true,
944 special: Special::NoMod,
945 declared_special: Special::NoMod,
946 pp: false,
947 asl: Asl::Asl1,
948 size: 0,
949 extra: None,
950 menu: None,
951 initial: None,
952 interest: 2,
953 prop: false,
954 prompt: Some("Prev. P component"),
955 promptgroup: None,
956 base: Base::Decimal,
957 },
958 FieldDesc {
959 name: "I",
960 dbf_type: DbFieldType::Double,
961 declared_dbf: DbfCode::Double,
962 runtime_typed: false,
963 read_only: false,
964 special: Special::None,
965 declared_special: Special::None,
966 pp: false,
967 asl: Asl::Asl1,
968 size: 0,
969 extra: None,
970 menu: None,
971 initial: None,
972 interest: 2,
973 prop: false,
974 prompt: Some("I component"),
975 promptgroup: None,
976 base: Base::Decimal,
977 },
978 FieldDesc {
979 name: "IP",
980 dbf_type: DbFieldType::Double,
981 declared_dbf: DbfCode::Double,
982 runtime_typed: false,
983 read_only: false,
984 special: Special::None,
985 declared_special: Special::None,
986 pp: false,
987 asl: Asl::Asl1,
988 size: 0,
989 extra: None,
990 menu: None,
991 initial: None,
992 interest: 2,
993 prop: false,
994 prompt: Some("Prev. I component"),
995 promptgroup: None,
996 base: Base::Decimal,
997 },
998 FieldDesc {
999 name: "D",
1000 dbf_type: DbFieldType::Double,
1001 declared_dbf: DbfCode::Double,
1002 runtime_typed: false,
1003 read_only: true,
1004 special: Special::NoMod,
1005 declared_special: Special::NoMod,
1006 pp: false,
1007 asl: Asl::Asl1,
1008 size: 0,
1009 extra: None,
1010 menu: None,
1011 initial: None,
1012 interest: 2,
1013 prop: false,
1014 prompt: Some("D component"),
1015 promptgroup: None,
1016 base: Base::Decimal,
1017 },
1018 FieldDesc {
1019 name: "DP",
1020 dbf_type: DbFieldType::Double,
1021 declared_dbf: DbfCode::Double,
1022 runtime_typed: false,
1023 read_only: true,
1024 special: Special::NoMod,
1025 declared_special: Special::NoMod,
1026 pp: false,
1027 asl: Asl::Asl1,
1028 size: 0,
1029 extra: None,
1030 menu: None,
1031 initial: None,
1032 interest: 2,
1033 prop: false,
1034 prompt: Some("Prev. D component"),
1035 promptgroup: None,
1036 base: Base::Decimal,
1037 },
1038 FieldDesc {
1039 name: "CT",
1040 dbf_type: DbFieldType::UChar,
1041 declared_dbf: DbfCode::NoAccess,
1042 runtime_typed: false,
1043 read_only: true,
1044 special: Special::NoMod,
1045 declared_special: Special::NoMod,
1046 pp: false,
1047 asl: Asl::Asl1,
1048 size: 8,
1049 extra: Some("epicsTimeStamp ct"),
1050 menu: None,
1051 initial: None,
1052 interest: 4,
1053 prop: false,
1054 prompt: Some("Time"),
1055 promptgroup: None,
1056 base: Base::Decimal,
1057 },
1058 FieldDesc {
1059 name: "CTP",
1060 dbf_type: DbFieldType::UChar,
1061 declared_dbf: DbfCode::NoAccess,
1062 runtime_typed: false,
1063 read_only: true,
1064 special: Special::NoMod,
1065 declared_special: Special::NoMod,
1066 pp: false,
1067 asl: Asl::Asl1,
1068 size: 8,
1069 extra: Some("epicsTimeStamp ctp"),
1070 menu: None,
1071 initial: None,
1072 interest: 4,
1073 prop: false,
1074 prompt: Some("Previous time"),
1075 promptgroup: None,
1076 base: Base::Decimal,
1077 },
1078 FieldDesc {
1079 name: "DT",
1080 dbf_type: DbFieldType::Double,
1081 declared_dbf: DbfCode::Double,
1082 runtime_typed: false,
1083 read_only: false,
1084 special: Special::None,
1085 declared_special: Special::None,
1086 pp: false,
1087 asl: Asl::Asl1,
1088 size: 0,
1089 extra: None,
1090 menu: None,
1091 initial: None,
1092 interest: 2,
1093 prop: false,
1094 prompt: Some("Delta T"),
1095 promptgroup: None,
1096 base: Base::Decimal,
1097 },
1098 FieldDesc {
1099 name: "DTP",
1100 dbf_type: DbFieldType::Double,
1101 declared_dbf: DbfCode::Double,
1102 runtime_typed: false,
1103 read_only: false,
1104 special: Special::None,
1105 declared_special: Special::None,
1106 pp: false,
1107 asl: Asl::Asl1,
1108 size: 0,
1109 extra: None,
1110 menu: None,
1111 initial: None,
1112 interest: 2,
1113 prop: false,
1114 prompt: Some("Prev. Delta T"),
1115 promptgroup: None,
1116 base: Base::Decimal,
1117 },
1118 FieldDesc {
1119 name: "ERR",
1120 dbf_type: DbFieldType::Double,
1121 declared_dbf: DbfCode::Double,
1122 runtime_typed: false,
1123 read_only: true,
1124 special: Special::NoMod,
1125 declared_special: Special::NoMod,
1126 pp: false,
1127 asl: Asl::Asl1,
1128 size: 0,
1129 extra: None,
1130 menu: None,
1131 initial: None,
1132 interest: 2,
1133 prop: false,
1134 prompt: Some("Error"),
1135 promptgroup: None,
1136 base: Base::Decimal,
1137 },
1138 FieldDesc {
1139 name: "ERRP",
1140 dbf_type: DbFieldType::Double,
1141 declared_dbf: DbfCode::Double,
1142 runtime_typed: false,
1143 read_only: true,
1144 special: Special::NoMod,
1145 declared_special: Special::NoMod,
1146 pp: false,
1147 asl: Asl::Asl1,
1148 size: 0,
1149 extra: None,
1150 menu: None,
1151 initial: None,
1152 interest: 2,
1153 prop: false,
1154 prompt: Some("Prev. Error"),
1155 promptgroup: None,
1156 base: Base::Decimal,
1157 },
1158 FieldDesc {
1159 name: "LALM",
1160 dbf_type: DbFieldType::Double,
1161 declared_dbf: DbfCode::Double,
1162 runtime_typed: false,
1163 read_only: true,
1164 special: Special::NoMod,
1165 declared_special: Special::NoMod,
1166 pp: false,
1167 asl: Asl::Asl1,
1168 size: 0,
1169 extra: None,
1170 menu: None,
1171 initial: None,
1172 interest: 3,
1173 prop: false,
1174 prompt: Some("Last Value Alarmed"),
1175 promptgroup: None,
1176 base: Base::Decimal,
1177 },
1178 FieldDesc {
1179 name: "ALST",
1180 dbf_type: DbFieldType::Double,
1181 declared_dbf: DbfCode::Double,
1182 runtime_typed: false,
1183 read_only: true,
1184 special: Special::NoMod,
1185 declared_special: Special::NoMod,
1186 pp: false,
1187 asl: Asl::Asl1,
1188 size: 0,
1189 extra: None,
1190 menu: None,
1191 initial: None,
1192 interest: 3,
1193 prop: false,
1194 prompt: Some("Last Value Archived"),
1195 promptgroup: None,
1196 base: Base::Decimal,
1197 },
1198 FieldDesc {
1199 name: "MLST",
1200 dbf_type: DbFieldType::Double,
1201 declared_dbf: DbfCode::Double,
1202 runtime_typed: false,
1203 read_only: true,
1204 special: Special::NoMod,
1205 declared_special: Special::NoMod,
1206 pp: false,
1207 asl: Asl::Asl1,
1208 size: 0,
1209 extra: None,
1210 menu: None,
1211 initial: None,
1212 interest: 3,
1213 prop: false,
1214 prompt: Some("Last Value Monitored"),
1215 promptgroup: None,
1216 base: Base::Decimal,
1217 },
1218];
1219
1220pub static EPID_NOACCESS: &[&str] = &[];
1223
1224pub static EPID_DECL: &[&str] = &[
1228 "NAME", "DESC", "ASG", "SCAN", "PINI", "PHAS", "EVNT", "TSE", "TSEL", "DTYP", "DISV", "DISA",
1229 "SDIS", "MLOK", "MLIS", "BKLNK", "DISP", "PROC", "STAT", "SEVR", "AMSG", "NSTA", "NSEV",
1230 "NAMSG", "ACKS", "ACKT", "DISS", "LCNT", "PACT", "PUTF", "RPRO", "ASP", "PPN", "PPNR", "SPVT",
1231 "RSET", "DSET", "DPVT", "RDES", "LSET", "PRIO", "TPRO", "BKPT", "UDF", "UDFS", "TIME", "UTAG",
1232 "FLNK", "VAL", "SMSL", "STPL", "INP", "OUTL", "TRIG", "TVAL", "CVAL", "CVLP", "OVAL", "OVLP",
1233 "PREC", "MDT", "FMOD", "FBON", "FBOP", "KP", "KI", "KD", "EGU", "HOPR", "LOPR", "DRVH", "DRVL",
1234 "HIHI", "LOLO", "HIGH", "LOW", "HHSV", "LLSV", "HSV", "LSV", "HYST", "ADEL", "MDEL", "ODEL",
1235 "P", "PP", "I", "IP", "D", "DP", "CT", "CTP", "DT", "DTP", "ERR", "ERRP", "LALM", "ALST",
1236 "MLST",
1237];
1238
1239pub static THROTTLE_FIELDS: &[FieldDesc] = &[
1241 FieldDesc {
1242 name: "VAL",
1243 dbf_type: DbFieldType::Double,
1244 declared_dbf: DbfCode::Double,
1245 runtime_typed: false,
1246 read_only: false,
1247 special: Special::None,
1248 declared_special: Special::None,
1249 pp: true,
1250 asl: Asl::Asl1,
1251 size: 0,
1252 extra: None,
1253 menu: None,
1254 initial: None,
1255 interest: 0,
1256 prop: false,
1257 prompt: Some("Set Value"),
1258 promptgroup: None,
1259 base: Base::Decimal,
1260 },
1261 FieldDesc {
1262 name: "OVAL",
1263 dbf_type: DbFieldType::Double,
1264 declared_dbf: DbfCode::Double,
1265 runtime_typed: false,
1266 read_only: true,
1267 special: Special::NoMod,
1268 declared_special: Special::NoMod,
1269 pp: false,
1270 asl: Asl::Asl1,
1271 size: 0,
1272 extra: None,
1273 menu: None,
1274 initial: None,
1275 interest: 3,
1276 prop: false,
1277 prompt: Some("Previous Set Value"),
1278 promptgroup: None,
1279 base: Base::Decimal,
1280 },
1281 FieldDesc {
1282 name: "SENT",
1283 dbf_type: DbFieldType::Double,
1284 declared_dbf: DbfCode::Double,
1285 runtime_typed: false,
1286 read_only: true,
1287 special: Special::NoMod,
1288 declared_special: Special::NoMod,
1289 pp: false,
1290 asl: Asl::Asl1,
1291 size: 0,
1292 extra: None,
1293 menu: None,
1294 initial: None,
1295 interest: 0,
1296 prop: false,
1297 prompt: Some("Sent Value"),
1298 promptgroup: None,
1299 base: Base::Decimal,
1300 },
1301 FieldDesc {
1302 name: "OSENT",
1303 dbf_type: DbFieldType::Double,
1304 declared_dbf: DbfCode::Double,
1305 runtime_typed: false,
1306 read_only: true,
1307 special: Special::NoMod,
1308 declared_special: Special::NoMod,
1309 pp: false,
1310 asl: Asl::Asl1,
1311 size: 0,
1312 extra: None,
1313 menu: None,
1314 initial: None,
1315 interest: 0,
1316 prop: false,
1317 prompt: Some("Previous Sent Value"),
1318 promptgroup: None,
1319 base: Base::Decimal,
1320 },
1321 FieldDesc {
1322 name: "WAIT",
1323 dbf_type: DbFieldType::Enum,
1324 declared_dbf: DbfCode::Menu,
1325 runtime_typed: false,
1326 read_only: true,
1327 special: Special::NoMod,
1328 declared_special: Special::NoMod,
1329 pp: false,
1330 asl: Asl::Asl1,
1331 size: 0,
1332 extra: None,
1333 menu: Some(MENU_THROTTLE_WAIT),
1334 initial: Some("0"),
1335 interest: 1,
1336 prop: false,
1337 prompt: Some("Busy"),
1338 promptgroup: None,
1339 base: Base::Decimal,
1340 },
1341 FieldDesc {
1342 name: "HOPR",
1343 dbf_type: DbFieldType::Double,
1344 declared_dbf: DbfCode::Double,
1345 runtime_typed: false,
1346 read_only: false,
1347 special: Special::None,
1348 declared_special: Special::None,
1349 pp: false,
1350 asl: Asl::Asl1,
1351 size: 0,
1352 extra: None,
1353 menu: None,
1354 initial: None,
1355 interest: 1,
1356 prop: false,
1357 prompt: Some("High Operating Range"),
1358 promptgroup: Some("GUI_DISPLAY"),
1359 base: Base::Decimal,
1360 },
1361 FieldDesc {
1362 name: "LOPR",
1363 dbf_type: DbFieldType::Double,
1364 declared_dbf: DbfCode::Double,
1365 runtime_typed: false,
1366 read_only: false,
1367 special: Special::None,
1368 declared_special: Special::None,
1369 pp: false,
1370 asl: Asl::Asl1,
1371 size: 0,
1372 extra: None,
1373 menu: None,
1374 initial: None,
1375 interest: 1,
1376 prop: false,
1377 prompt: Some("Low Operating Range"),
1378 promptgroup: Some("GUI_DISPLAY"),
1379 base: Base::Decimal,
1380 },
1381 FieldDesc {
1382 name: "DRVLH",
1383 dbf_type: DbFieldType::Double,
1384 declared_dbf: DbfCode::Double,
1385 runtime_typed: false,
1386 read_only: false,
1387 special: Special::Mod,
1388 declared_special: Special::Mod,
1389 pp: false,
1390 asl: Asl::Asl1,
1391 size: 0,
1392 extra: None,
1393 menu: None,
1394 initial: Some("0.0"),
1395 interest: 0,
1396 prop: false,
1397 prompt: Some("High Limit"),
1398 promptgroup: None,
1399 base: Base::Decimal,
1400 },
1401 FieldDesc {
1402 name: "DRVLL",
1403 dbf_type: DbFieldType::Double,
1404 declared_dbf: DbfCode::Double,
1405 runtime_typed: false,
1406 read_only: false,
1407 special: Special::Mod,
1408 declared_special: Special::Mod,
1409 pp: false,
1410 asl: Asl::Asl1,
1411 size: 0,
1412 extra: None,
1413 menu: None,
1414 initial: Some("0.0"),
1415 interest: 0,
1416 prop: false,
1417 prompt: Some("Low Limit"),
1418 promptgroup: None,
1419 base: Base::Decimal,
1420 },
1421 FieldDesc {
1422 name: "DRVLS",
1423 dbf_type: DbFieldType::Enum,
1424 declared_dbf: DbfCode::Menu,
1425 runtime_typed: false,
1426 read_only: true,
1427 special: Special::NoMod,
1428 declared_special: Special::NoMod,
1429 pp: false,
1430 asl: Asl::Asl1,
1431 size: 0,
1432 extra: None,
1433 menu: Some(MENU_THROTTLE_DRVLS),
1434 initial: Some("0"),
1435 interest: 1,
1436 prop: false,
1437 prompt: Some("Limit Status"),
1438 promptgroup: None,
1439 base: Base::Decimal,
1440 },
1441 FieldDesc {
1442 name: "DRVLC",
1443 dbf_type: DbFieldType::Enum,
1444 declared_dbf: DbfCode::Menu,
1445 runtime_typed: false,
1446 read_only: false,
1447 special: Special::None,
1448 declared_special: Special::None,
1449 pp: false,
1450 asl: Asl::Asl1,
1451 size: 0,
1452 extra: None,
1453 menu: Some(MENU_THROTTLE_DRVLC),
1454 initial: Some("0"),
1455 interest: 0,
1456 prop: false,
1457 prompt: Some("Limit Clipping"),
1458 promptgroup: None,
1459 base: Base::Decimal,
1460 },
1461 FieldDesc {
1462 name: "VER",
1463 dbf_type: DbFieldType::String,
1464 declared_dbf: DbfCode::String,
1465 runtime_typed: false,
1466 read_only: true,
1467 special: Special::NoMod,
1468 declared_special: Special::NoMod,
1469 pp: false,
1470 asl: Asl::Asl1,
1471 size: 20,
1472 extra: None,
1473 menu: None,
1474 initial: Some(""),
1475 interest: 0,
1476 prop: false,
1477 prompt: Some("Code Version"),
1478 promptgroup: None,
1479 base: Base::Decimal,
1480 },
1481 FieldDesc {
1482 name: "STS",
1483 dbf_type: DbFieldType::Enum,
1484 declared_dbf: DbfCode::Menu,
1485 runtime_typed: false,
1486 read_only: true,
1487 special: Special::NoMod,
1488 declared_special: Special::NoMod,
1489 pp: false,
1490 asl: Asl::Asl1,
1491 size: 0,
1492 extra: None,
1493 menu: Some(MENU_THROTTLE_STS),
1494 initial: Some("0"),
1495 interest: 1,
1496 prop: false,
1497 prompt: Some("Record Status"),
1498 promptgroup: None,
1499 base: Base::Decimal,
1500 },
1501 FieldDesc {
1502 name: "PREC",
1503 dbf_type: DbFieldType::Short,
1504 declared_dbf: DbfCode::Short,
1505 runtime_typed: false,
1506 read_only: false,
1507 special: Special::None,
1508 declared_special: Special::None,
1509 pp: false,
1510 asl: Asl::Asl1,
1511 size: 0,
1512 extra: None,
1513 menu: None,
1514 initial: None,
1515 interest: 1,
1516 prop: false,
1517 prompt: Some("Display Precision"),
1518 promptgroup: Some("GUI_DISPLAY"),
1519 base: Base::Decimal,
1520 },
1521 FieldDesc {
1522 name: "DPREC",
1523 dbf_type: DbFieldType::Short,
1524 declared_dbf: DbfCode::Short,
1525 runtime_typed: false,
1526 read_only: false,
1527 special: Special::None,
1528 declared_special: Special::None,
1529 pp: false,
1530 asl: Asl::Asl1,
1531 size: 0,
1532 extra: None,
1533 menu: None,
1534 initial: None,
1535 interest: 1,
1536 prop: false,
1537 prompt: Some("Delay Display Precision"),
1538 promptgroup: Some("GUI_DISPLAY"),
1539 base: Base::Decimal,
1540 },
1541 FieldDesc {
1542 name: "DLY",
1543 dbf_type: DbFieldType::Double,
1544 declared_dbf: DbfCode::Double,
1545 runtime_typed: false,
1546 read_only: false,
1547 special: Special::Mod,
1548 declared_special: Special::Mod,
1549 pp: false,
1550 asl: Asl::Asl1,
1551 size: 0,
1552 extra: None,
1553 menu: None,
1554 initial: Some("0.0"),
1555 interest: 0,
1556 prop: false,
1557 prompt: Some("Delay value"),
1558 promptgroup: None,
1559 base: Base::Decimal,
1560 },
1561 FieldDesc {
1562 name: "OUT",
1563 dbf_type: DbFieldType::String,
1564 declared_dbf: DbfCode::Outlink,
1565 runtime_typed: false,
1566 read_only: false,
1567 special: Special::Mod,
1568 declared_special: Special::Mod,
1569 pp: false,
1570 asl: Asl::Asl1,
1571 size: 0,
1572 extra: None,
1573 menu: None,
1574 initial: None,
1575 interest: 1,
1576 prop: false,
1577 prompt: Some("Output"),
1578 promptgroup: Some("GUI_COMMON"),
1579 base: Base::Decimal,
1580 },
1581 FieldDesc {
1582 name: "OV",
1583 dbf_type: DbFieldType::Enum,
1584 declared_dbf: DbfCode::Menu,
1585 runtime_typed: false,
1586 read_only: true,
1587 special: Special::NoMod,
1588 declared_special: Special::NoMod,
1589 pp: false,
1590 asl: Asl::Asl1,
1591 size: 0,
1592 extra: None,
1593 menu: Some(MENU_THROTTLE_OV),
1594 initial: Some("1"),
1595 interest: 1,
1596 prop: false,
1597 prompt: Some("Output link valid"),
1598 promptgroup: None,
1599 base: Base::Decimal,
1600 },
1601 FieldDesc {
1602 name: "SINP",
1603 dbf_type: DbFieldType::String,
1604 declared_dbf: DbfCode::Inlink,
1605 runtime_typed: false,
1606 read_only: false,
1607 special: Special::Mod,
1608 declared_special: Special::Mod,
1609 pp: false,
1610 asl: Asl::Asl1,
1611 size: 0,
1612 extra: None,
1613 menu: None,
1614 initial: None,
1615 interest: 1,
1616 prop: false,
1617 prompt: Some("Sync Input"),
1618 promptgroup: Some("GUI_COMMON"),
1619 base: Base::Decimal,
1620 },
1621 FieldDesc {
1622 name: "SIV",
1623 dbf_type: DbFieldType::Enum,
1624 declared_dbf: DbfCode::Menu,
1625 runtime_typed: false,
1626 read_only: true,
1627 special: Special::NoMod,
1628 declared_special: Special::NoMod,
1629 pp: false,
1630 asl: Asl::Asl1,
1631 size: 0,
1632 extra: None,
1633 menu: Some(MENU_THROTTLE_OV),
1634 initial: Some("1"),
1635 interest: 1,
1636 prop: false,
1637 prompt: Some("Sync Input link valid"),
1638 promptgroup: None,
1639 base: Base::Decimal,
1640 },
1641 FieldDesc {
1642 name: "SYNC",
1643 dbf_type: DbFieldType::Enum,
1644 declared_dbf: DbfCode::Menu,
1645 runtime_typed: false,
1646 read_only: false,
1647 special: Special::Mod,
1648 declared_special: Special::Mod,
1649 pp: false,
1650 asl: Asl::Asl1,
1651 size: 0,
1652 extra: None,
1653 menu: Some(MENU_THROTTLE_SYNC),
1654 initial: Some("Idle"),
1655 interest: 0,
1656 prop: false,
1657 prompt: Some("Sync values"),
1658 promptgroup: None,
1659 base: Base::Decimal,
1660 },
1661];
1662
1663pub static THROTTLE_NOACCESS: &[&str] = &["RPVT"];
1666
1667pub static THROTTLE_DECL: &[&str] = &[
1671 "NAME", "DESC", "ASG", "SCAN", "PINI", "PHAS", "EVNT", "TSE", "TSEL", "DTYP", "DISV", "DISA",
1672 "SDIS", "MLOK", "MLIS", "BKLNK", "DISP", "PROC", "STAT", "SEVR", "AMSG", "NSTA", "NSEV",
1673 "NAMSG", "ACKS", "ACKT", "DISS", "LCNT", "PACT", "PUTF", "RPRO", "ASP", "PPN", "PPNR", "SPVT",
1674 "RSET", "DSET", "DPVT", "RDES", "LSET", "PRIO", "TPRO", "BKPT", "UDF", "UDFS", "TIME", "UTAG",
1675 "FLNK", "VAL", "OVAL", "SENT", "OSENT", "WAIT", "HOPR", "LOPR", "DRVLH", "DRVLL", "DRVLS",
1676 "DRVLC", "VER", "RPVT", "STS", "PREC", "DPREC", "DLY", "OUT", "OV", "SINP", "SIV", "SYNC",
1677];
1678
1679pub static TIMESTAMP_FIELDS: &[FieldDesc] = &[
1681 FieldDesc {
1682 name: "VAL",
1683 dbf_type: DbFieldType::String,
1684 declared_dbf: DbfCode::String,
1685 runtime_typed: false,
1686 read_only: false,
1687 special: Special::None,
1688 declared_special: Special::None,
1689 pp: true,
1690 asl: Asl::Asl0,
1691 size: 40,
1692 extra: None,
1693 menu: None,
1694 initial: None,
1695 interest: 0,
1696 prop: false,
1697 prompt: Some("Current Value"),
1698 promptgroup: None,
1699 base: Base::Decimal,
1700 },
1701 FieldDesc {
1702 name: "OVAL",
1703 dbf_type: DbFieldType::String,
1704 declared_dbf: DbfCode::String,
1705 runtime_typed: false,
1706 read_only: true,
1707 special: Special::NoMod,
1708 declared_special: Special::NoMod,
1709 pp: false,
1710 asl: Asl::Asl1,
1711 size: 40,
1712 extra: None,
1713 menu: None,
1714 initial: None,
1715 interest: 3,
1716 prop: false,
1717 prompt: Some("Previous Value"),
1718 promptgroup: None,
1719 base: Base::Decimal,
1720 },
1721 FieldDesc {
1722 name: "RVAL",
1723 dbf_type: DbFieldType::ULong,
1724 declared_dbf: DbfCode::ULong,
1725 runtime_typed: false,
1726 read_only: false,
1727 special: Special::None,
1728 declared_special: Special::None,
1729 pp: true,
1730 asl: Asl::Asl1,
1731 size: 0,
1732 extra: None,
1733 menu: None,
1734 initial: None,
1735 interest: 0,
1736 prop: false,
1737 prompt: Some("Current Raw Value"),
1738 promptgroup: None,
1739 base: Base::Decimal,
1740 },
1741 FieldDesc {
1742 name: "TST",
1743 dbf_type: DbFieldType::Enum,
1744 declared_dbf: DbfCode::Menu,
1745 runtime_typed: false,
1746 read_only: false,
1747 special: Special::None,
1748 declared_special: Special::None,
1749 pp: false,
1750 asl: Asl::Asl1,
1751 size: 0,
1752 extra: None,
1753 menu: Some(MENU_TIMESTAMP_TST),
1754 initial: None,
1755 interest: 2,
1756 prop: false,
1757 prompt: Some("Time Stamp Type"),
1758 promptgroup: Some("GUI_INPUTS"),
1759 base: Base::Decimal,
1760 },
1761];
1762
1763pub static TIMESTAMP_NOACCESS: &[&str] = &[];
1766
1767pub static TIMESTAMP_DECL: &[&str] = &[
1771 "NAME", "DESC", "ASG", "SCAN", "PINI", "PHAS", "EVNT", "TSE", "TSEL", "DTYP", "DISV", "DISA",
1772 "SDIS", "MLOK", "MLIS", "BKLNK", "DISP", "PROC", "STAT", "SEVR", "AMSG", "NSTA", "NSEV",
1773 "NAMSG", "ACKS", "ACKT", "DISS", "LCNT", "PACT", "PUTF", "RPRO", "ASP", "PPN", "PPNR", "SPVT",
1774 "RSET", "DSET", "DPVT", "RDES", "LSET", "PRIO", "TPRO", "BKPT", "UDF", "UDFS", "TIME", "UTAG",
1775 "FLNK", "VAL", "OVAL", "RVAL", "TST",
1776];
1777
1778pub fn record_fields(record_type: &str) -> Option<&'static [FieldDesc]> {
1781 Some(match record_type {
1782 "epid" => EPID_FIELDS,
1783 "throttle" => THROTTLE_FIELDS,
1784 "timestamp" => TIMESTAMP_FIELDS,
1785 _ => return None,
1786 })
1787}
1788
1789pub fn record_noaccess_fields(record_type: &str) -> Option<&'static [&'static str]> {
1794 Some(match record_type {
1795 "epid" => EPID_NOACCESS,
1796 "throttle" => THROTTLE_NOACCESS,
1797 "timestamp" => TIMESTAMP_NOACCESS,
1798 _ => return None,
1799 })
1800}
1801
1802pub fn record_declaration_order(record_type: &str) -> Option<&'static [&'static str]> {
1808 Some(match record_type {
1809 "epid" => EPID_DECL,
1810 "throttle" => THROTTLE_DECL,
1811 "timestamp" => TIMESTAMP_DECL,
1812 _ => return None,
1813 })
1814}
1815
1816pub fn record_no_prompt(record_type: &str) -> Option<u16> {
1821 Some(match record_type {
1822 "epid" => 49,
1823 "throttle" => 24,
1824 "timestamp" => 19,
1825 _ => return None,
1826 })
1827}
1828
1829pub static RECORD_TYPES: &[&str] = &["epid", "throttle", "timestamp"];