1#![allow(clippy::all)]
28
29use epics_base_rs::server::record::{Asl, FieldDesc, Special};
30use epics_base_rs::types::DbFieldType;
31
32pub static MENU_EPID_FEEDBACK_MODE: &[&str] = &["PID", "Max/Min"];
40
41pub static MENU_EPID_FEEDBACK_STATE: &[&str] = &["Off", "On"];
43
44pub static MENU_THROTTLE_DRVLC: &[&str] = &["Off", "On"];
46
47pub static MENU_THROTTLE_DRVLS: &[&str] = &["Normal", "Low Limit", "High Limit"];
49
50pub static MENU_THROTTLE_OV: &[&str] = &["Ext PV NC", "Ext PV OK", "Local PV", "Constant"];
52
53pub static MENU_THROTTLE_STS: &[&str] = &["Unknown", "Error", "Success"];
55
56pub static MENU_THROTTLE_SYNC: &[&str] = &["Idle", "Process"];
58
59pub static MENU_THROTTLE_WAIT: &[&str] = &["False", "True"];
61
62pub static MENU_TIMESTAMP_TST: &[&str] = &[
64 "YY/MM/DD HH:MM:SS",
65 "MM/DD/YY HH:MM:SS",
66 "Mon DD HH:MM:SS YY",
67 "Mon DD HH:MM:SS",
68 "HH:MM:SS",
69 "HH:MM",
70 "DD/MM/YY HH:MM:SS",
71 "DD Mon HH:MM:SS YY",
72 "DD-Mon-YYYY HH:MM:SS",
73 "Mon DD, YYYY HH:MM:SS.ns",
74 "MM/DD/YY HH:MM:SS.ns",
75];
76
77pub fn menu_choices(menu: &str) -> Option<&'static [&'static str]> {
83 Some(match menu {
84 "epidFeedbackMode" => MENU_EPID_FEEDBACK_MODE,
85 "epidFeedbackState" => MENU_EPID_FEEDBACK_STATE,
86 "throttleDRVLC" => MENU_THROTTLE_DRVLC,
87 "throttleDRVLS" => MENU_THROTTLE_DRVLS,
88 "throttleOV" => MENU_THROTTLE_OV,
89 "throttleSTS" => MENU_THROTTLE_STS,
90 "throttleSYNC" => MENU_THROTTLE_SYNC,
91 "throttleWAIT" => MENU_THROTTLE_WAIT,
92 "timestampTST" => MENU_TIMESTAMP_TST,
93 _ => return None,
94 })
95}
96
97pub static EPID_FIELDS: &[FieldDesc] = &[
104 FieldDesc {
105 name: "VAL",
106 dbf_type: DbFieldType::Double,
107 runtime_typed: false,
108 read_only: false,
109 special: Special::None,
110 pp: true,
111 asl: Asl::Asl0,
112 size: 0,
113 menu: None,
114 initial: None,
115 interest: 0,
116 prop: false,
117 },
118 FieldDesc {
119 name: "SMSL",
120 dbf_type: DbFieldType::Enum,
121 runtime_typed: false,
122 read_only: false,
123 special: Special::None,
124 pp: false,
125 asl: Asl::Asl1,
126 size: 0,
127 menu: Some(epics_base_rs::server::record::dbd_generated::MENU_OMSL),
128 initial: None,
129 interest: 1,
130 prop: false,
131 },
132 FieldDesc {
133 name: "STPL",
134 dbf_type: DbFieldType::String,
135 runtime_typed: false,
136 read_only: false,
137 special: Special::None,
138 pp: false,
139 asl: Asl::Asl1,
140 size: 0,
141 menu: None,
142 initial: None,
143 interest: 1,
144 prop: false,
145 },
146 FieldDesc {
147 name: "INP",
148 dbf_type: DbFieldType::String,
149 runtime_typed: false,
150 read_only: false,
151 special: Special::None,
152 pp: false,
153 asl: Asl::Asl1,
154 size: 0,
155 menu: None,
156 initial: None,
157 interest: 1,
158 prop: false,
159 },
160 FieldDesc {
161 name: "OUTL",
162 dbf_type: DbFieldType::String,
163 runtime_typed: false,
164 read_only: false,
165 special: Special::None,
166 pp: false,
167 asl: Asl::Asl1,
168 size: 0,
169 menu: None,
170 initial: None,
171 interest: 1,
172 prop: false,
173 },
174 FieldDesc {
175 name: "TRIG",
176 dbf_type: DbFieldType::String,
177 runtime_typed: false,
178 read_only: false,
179 special: Special::None,
180 pp: false,
181 asl: Asl::Asl1,
182 size: 0,
183 menu: None,
184 initial: None,
185 interest: 1,
186 prop: false,
187 },
188 FieldDesc {
189 name: "TVAL",
190 dbf_type: DbFieldType::Double,
191 runtime_typed: false,
192 read_only: false,
193 special: Special::None,
194 pp: false,
195 asl: Asl::Asl1,
196 size: 0,
197 menu: None,
198 initial: None,
199 interest: 1,
200 prop: false,
201 },
202 FieldDesc {
203 name: "CVAL",
204 dbf_type: DbFieldType::Double,
205 runtime_typed: false,
206 read_only: true,
207 special: Special::NoMod,
208 pp: false,
209 asl: Asl::Asl1,
210 size: 0,
211 menu: None,
212 initial: None,
213 interest: 0,
214 prop: false,
215 },
216 FieldDesc {
217 name: "CVLP",
218 dbf_type: DbFieldType::Double,
219 runtime_typed: false,
220 read_only: true,
221 special: Special::NoMod,
222 pp: false,
223 asl: Asl::Asl1,
224 size: 0,
225 menu: None,
226 initial: None,
227 interest: 0,
228 prop: false,
229 },
230 FieldDesc {
231 name: "OVAL",
232 dbf_type: DbFieldType::Double,
233 runtime_typed: false,
234 read_only: true,
235 special: Special::NoMod,
236 pp: false,
237 asl: Asl::Asl1,
238 size: 0,
239 menu: None,
240 initial: None,
241 interest: 0,
242 prop: false,
243 },
244 FieldDesc {
245 name: "OVLP",
246 dbf_type: DbFieldType::Double,
247 runtime_typed: false,
248 read_only: true,
249 special: Special::NoMod,
250 pp: false,
251 asl: Asl::Asl1,
252 size: 0,
253 menu: None,
254 initial: None,
255 interest: 3,
256 prop: false,
257 },
258 FieldDesc {
259 name: "PREC",
260 dbf_type: DbFieldType::Short,
261 runtime_typed: false,
262 read_only: false,
263 special: Special::None,
264 pp: false,
265 asl: Asl::Asl1,
266 size: 0,
267 menu: None,
268 initial: None,
269 interest: 1,
270 prop: false,
271 },
272 FieldDesc {
273 name: "MDT",
274 dbf_type: DbFieldType::Double,
275 runtime_typed: false,
276 read_only: false,
277 special: Special::None,
278 pp: false,
279 asl: Asl::Asl1,
280 size: 0,
281 menu: None,
282 initial: None,
283 interest: 1,
284 prop: false,
285 },
286 FieldDesc {
287 name: "FMOD",
288 dbf_type: DbFieldType::Enum,
289 runtime_typed: false,
290 read_only: false,
291 special: Special::None,
292 pp: false,
293 asl: Asl::Asl1,
294 size: 0,
295 menu: Some(MENU_EPID_FEEDBACK_MODE),
296 initial: None,
297 interest: 1,
298 prop: false,
299 },
300 FieldDesc {
301 name: "FBON",
302 dbf_type: DbFieldType::Enum,
303 runtime_typed: false,
304 read_only: false,
305 special: Special::None,
306 pp: false,
307 asl: Asl::Asl1,
308 size: 0,
309 menu: Some(MENU_EPID_FEEDBACK_STATE),
310 initial: None,
311 interest: 1,
312 prop: false,
313 },
314 FieldDesc {
315 name: "FBOP",
316 dbf_type: DbFieldType::Enum,
317 runtime_typed: false,
318 read_only: false,
319 special: Special::None,
320 pp: false,
321 asl: Asl::Asl1,
322 size: 0,
323 menu: Some(MENU_EPID_FEEDBACK_STATE),
324 initial: None,
325 interest: 1,
326 prop: false,
327 },
328 FieldDesc {
329 name: "KP",
330 dbf_type: DbFieldType::Double,
331 runtime_typed: false,
332 read_only: false,
333 special: Special::None,
334 pp: false,
335 asl: Asl::Asl1,
336 size: 0,
337 menu: None,
338 initial: None,
339 interest: 1,
340 prop: false,
341 },
342 FieldDesc {
343 name: "KI",
344 dbf_type: DbFieldType::Double,
345 runtime_typed: false,
346 read_only: false,
347 special: Special::None,
348 pp: false,
349 asl: Asl::Asl1,
350 size: 0,
351 menu: None,
352 initial: None,
353 interest: 1,
354 prop: false,
355 },
356 FieldDesc {
357 name: "KD",
358 dbf_type: DbFieldType::Double,
359 runtime_typed: false,
360 read_only: false,
361 special: Special::None,
362 pp: false,
363 asl: Asl::Asl1,
364 size: 0,
365 menu: None,
366 initial: None,
367 interest: 1,
368 prop: false,
369 },
370 FieldDesc {
371 name: "EGU",
372 dbf_type: DbFieldType::String,
373 runtime_typed: false,
374 read_only: false,
375 special: Special::None,
376 pp: false,
377 asl: Asl::Asl1,
378 size: 16,
379 menu: None,
380 initial: None,
381 interest: 1,
382 prop: false,
383 },
384 FieldDesc {
385 name: "HOPR",
386 dbf_type: DbFieldType::Double,
387 runtime_typed: false,
388 read_only: false,
389 special: Special::None,
390 pp: false,
391 asl: Asl::Asl1,
392 size: 0,
393 menu: None,
394 initial: None,
395 interest: 1,
396 prop: false,
397 },
398 FieldDesc {
399 name: "LOPR",
400 dbf_type: DbFieldType::Double,
401 runtime_typed: false,
402 read_only: false,
403 special: Special::None,
404 pp: false,
405 asl: Asl::Asl1,
406 size: 0,
407 menu: None,
408 initial: None,
409 interest: 1,
410 prop: false,
411 },
412 FieldDesc {
413 name: "DRVH",
414 dbf_type: DbFieldType::Double,
415 runtime_typed: false,
416 read_only: false,
417 special: Special::None,
418 pp: false,
419 asl: Asl::Asl1,
420 size: 0,
421 menu: None,
422 initial: None,
423 interest: 1,
424 prop: false,
425 },
426 FieldDesc {
427 name: "DRVL",
428 dbf_type: DbFieldType::Double,
429 runtime_typed: false,
430 read_only: false,
431 special: Special::None,
432 pp: false,
433 asl: Asl::Asl1,
434 size: 0,
435 menu: None,
436 initial: None,
437 interest: 1,
438 prop: false,
439 },
440 FieldDesc {
441 name: "HIHI",
442 dbf_type: DbFieldType::Double,
443 runtime_typed: false,
444 read_only: false,
445 special: Special::None,
446 pp: false,
447 asl: Asl::Asl1,
448 size: 0,
449 menu: None,
450 initial: None,
451 interest: 1,
452 prop: false,
453 },
454 FieldDesc {
455 name: "LOLO",
456 dbf_type: DbFieldType::Double,
457 runtime_typed: false,
458 read_only: false,
459 special: Special::None,
460 pp: false,
461 asl: Asl::Asl1,
462 size: 0,
463 menu: None,
464 initial: None,
465 interest: 1,
466 prop: false,
467 },
468 FieldDesc {
469 name: "HIGH",
470 dbf_type: DbFieldType::Double,
471 runtime_typed: false,
472 read_only: false,
473 special: Special::None,
474 pp: false,
475 asl: Asl::Asl1,
476 size: 0,
477 menu: None,
478 initial: None,
479 interest: 1,
480 prop: false,
481 },
482 FieldDesc {
483 name: "LOW",
484 dbf_type: DbFieldType::Double,
485 runtime_typed: false,
486 read_only: false,
487 special: Special::None,
488 pp: false,
489 asl: Asl::Asl1,
490 size: 0,
491 menu: None,
492 initial: None,
493 interest: 1,
494 prop: false,
495 },
496 FieldDesc {
497 name: "HHSV",
498 dbf_type: DbFieldType::Enum,
499 runtime_typed: false,
500 read_only: false,
501 special: Special::None,
502 pp: false,
503 asl: Asl::Asl1,
504 size: 0,
505 menu: Some(epics_base_rs::server::record::dbd_generated::MENU_ALARM_SEVR),
506 initial: None,
507 interest: 1,
508 prop: false,
509 },
510 FieldDesc {
511 name: "LLSV",
512 dbf_type: DbFieldType::Enum,
513 runtime_typed: false,
514 read_only: false,
515 special: Special::None,
516 pp: false,
517 asl: Asl::Asl1,
518 size: 0,
519 menu: Some(epics_base_rs::server::record::dbd_generated::MENU_ALARM_SEVR),
520 initial: None,
521 interest: 1,
522 prop: false,
523 },
524 FieldDesc {
525 name: "HSV",
526 dbf_type: DbFieldType::Enum,
527 runtime_typed: false,
528 read_only: false,
529 special: Special::None,
530 pp: false,
531 asl: Asl::Asl1,
532 size: 0,
533 menu: Some(epics_base_rs::server::record::dbd_generated::MENU_ALARM_SEVR),
534 initial: None,
535 interest: 1,
536 prop: false,
537 },
538 FieldDesc {
539 name: "LSV",
540 dbf_type: DbFieldType::Enum,
541 runtime_typed: false,
542 read_only: false,
543 special: Special::None,
544 pp: false,
545 asl: Asl::Asl1,
546 size: 0,
547 menu: Some(epics_base_rs::server::record::dbd_generated::MENU_ALARM_SEVR),
548 initial: None,
549 interest: 1,
550 prop: false,
551 },
552 FieldDesc {
553 name: "HYST",
554 dbf_type: DbFieldType::Double,
555 runtime_typed: false,
556 read_only: false,
557 special: Special::None,
558 pp: false,
559 asl: Asl::Asl1,
560 size: 0,
561 menu: None,
562 initial: None,
563 interest: 1,
564 prop: false,
565 },
566 FieldDesc {
567 name: "ADEL",
568 dbf_type: DbFieldType::Double,
569 runtime_typed: false,
570 read_only: false,
571 special: Special::None,
572 pp: false,
573 asl: Asl::Asl1,
574 size: 0,
575 menu: None,
576 initial: None,
577 interest: 1,
578 prop: false,
579 },
580 FieldDesc {
581 name: "MDEL",
582 dbf_type: DbFieldType::Double,
583 runtime_typed: false,
584 read_only: false,
585 special: Special::None,
586 pp: false,
587 asl: Asl::Asl1,
588 size: 0,
589 menu: None,
590 initial: None,
591 interest: 1,
592 prop: false,
593 },
594 FieldDesc {
595 name: "ODEL",
596 dbf_type: DbFieldType::Double,
597 runtime_typed: false,
598 read_only: false,
599 special: Special::None,
600 pp: false,
601 asl: Asl::Asl1,
602 size: 0,
603 menu: None,
604 initial: None,
605 interest: 1,
606 prop: false,
607 },
608 FieldDesc {
609 name: "P",
610 dbf_type: DbFieldType::Double,
611 runtime_typed: false,
612 read_only: true,
613 special: Special::NoMod,
614 pp: false,
615 asl: Asl::Asl1,
616 size: 0,
617 menu: None,
618 initial: None,
619 interest: 2,
620 prop: false,
621 },
622 FieldDesc {
623 name: "PP",
624 dbf_type: DbFieldType::Double,
625 runtime_typed: false,
626 read_only: true,
627 special: Special::NoMod,
628 pp: false,
629 asl: Asl::Asl1,
630 size: 0,
631 menu: None,
632 initial: None,
633 interest: 2,
634 prop: false,
635 },
636 FieldDesc {
637 name: "I",
638 dbf_type: DbFieldType::Double,
639 runtime_typed: false,
640 read_only: false,
641 special: Special::None,
642 pp: false,
643 asl: Asl::Asl1,
644 size: 0,
645 menu: None,
646 initial: None,
647 interest: 2,
648 prop: false,
649 },
650 FieldDesc {
651 name: "IP",
652 dbf_type: DbFieldType::Double,
653 runtime_typed: false,
654 read_only: false,
655 special: Special::None,
656 pp: false,
657 asl: Asl::Asl1,
658 size: 0,
659 menu: None,
660 initial: None,
661 interest: 2,
662 prop: false,
663 },
664 FieldDesc {
665 name: "D",
666 dbf_type: DbFieldType::Double,
667 runtime_typed: false,
668 read_only: true,
669 special: Special::NoMod,
670 pp: false,
671 asl: Asl::Asl1,
672 size: 0,
673 menu: None,
674 initial: None,
675 interest: 2,
676 prop: false,
677 },
678 FieldDesc {
679 name: "DP",
680 dbf_type: DbFieldType::Double,
681 runtime_typed: false,
682 read_only: true,
683 special: Special::NoMod,
684 pp: false,
685 asl: Asl::Asl1,
686 size: 0,
687 menu: None,
688 initial: None,
689 interest: 2,
690 prop: false,
691 },
692 FieldDesc {
693 name: "DT",
694 dbf_type: DbFieldType::Double,
695 runtime_typed: false,
696 read_only: false,
697 special: Special::None,
698 pp: false,
699 asl: Asl::Asl1,
700 size: 0,
701 menu: None,
702 initial: None,
703 interest: 2,
704 prop: false,
705 },
706 FieldDesc {
707 name: "DTP",
708 dbf_type: DbFieldType::Double,
709 runtime_typed: false,
710 read_only: false,
711 special: Special::None,
712 pp: false,
713 asl: Asl::Asl1,
714 size: 0,
715 menu: None,
716 initial: None,
717 interest: 2,
718 prop: false,
719 },
720 FieldDesc {
721 name: "ERR",
722 dbf_type: DbFieldType::Double,
723 runtime_typed: false,
724 read_only: true,
725 special: Special::NoMod,
726 pp: false,
727 asl: Asl::Asl1,
728 size: 0,
729 menu: None,
730 initial: None,
731 interest: 2,
732 prop: false,
733 },
734 FieldDesc {
735 name: "ERRP",
736 dbf_type: DbFieldType::Double,
737 runtime_typed: false,
738 read_only: true,
739 special: Special::NoMod,
740 pp: false,
741 asl: Asl::Asl1,
742 size: 0,
743 menu: None,
744 initial: None,
745 interest: 2,
746 prop: false,
747 },
748 FieldDesc {
749 name: "LALM",
750 dbf_type: DbFieldType::Double,
751 runtime_typed: false,
752 read_only: true,
753 special: Special::NoMod,
754 pp: false,
755 asl: Asl::Asl1,
756 size: 0,
757 menu: None,
758 initial: None,
759 interest: 3,
760 prop: false,
761 },
762 FieldDesc {
763 name: "ALST",
764 dbf_type: DbFieldType::Double,
765 runtime_typed: false,
766 read_only: true,
767 special: Special::NoMod,
768 pp: false,
769 asl: Asl::Asl1,
770 size: 0,
771 menu: None,
772 initial: None,
773 interest: 3,
774 prop: false,
775 },
776 FieldDesc {
777 name: "MLST",
778 dbf_type: DbFieldType::Double,
779 runtime_typed: false,
780 read_only: true,
781 special: Special::NoMod,
782 pp: false,
783 asl: Asl::Asl1,
784 size: 0,
785 menu: None,
786 initial: None,
787 interest: 3,
788 prop: false,
789 },
790];
791
792pub static EPID_NOACCESS: &[&str] = &["CT", "CTP"];
795
796pub static THROTTLE_FIELDS: &[FieldDesc] = &[
798 FieldDesc {
799 name: "VAL",
800 dbf_type: DbFieldType::Double,
801 runtime_typed: false,
802 read_only: false,
803 special: Special::None,
804 pp: true,
805 asl: Asl::Asl1,
806 size: 0,
807 menu: None,
808 initial: None,
809 interest: 0,
810 prop: false,
811 },
812 FieldDesc {
813 name: "OVAL",
814 dbf_type: DbFieldType::Double,
815 runtime_typed: false,
816 read_only: true,
817 special: Special::NoMod,
818 pp: false,
819 asl: Asl::Asl1,
820 size: 0,
821 menu: None,
822 initial: None,
823 interest: 3,
824 prop: false,
825 },
826 FieldDesc {
827 name: "SENT",
828 dbf_type: DbFieldType::Double,
829 runtime_typed: false,
830 read_only: true,
831 special: Special::NoMod,
832 pp: false,
833 asl: Asl::Asl1,
834 size: 0,
835 menu: None,
836 initial: None,
837 interest: 0,
838 prop: false,
839 },
840 FieldDesc {
841 name: "OSENT",
842 dbf_type: DbFieldType::Double,
843 runtime_typed: false,
844 read_only: true,
845 special: Special::NoMod,
846 pp: false,
847 asl: Asl::Asl1,
848 size: 0,
849 menu: None,
850 initial: None,
851 interest: 0,
852 prop: false,
853 },
854 FieldDesc {
855 name: "WAIT",
856 dbf_type: DbFieldType::Enum,
857 runtime_typed: false,
858 read_only: true,
859 special: Special::NoMod,
860 pp: false,
861 asl: Asl::Asl1,
862 size: 0,
863 menu: Some(MENU_THROTTLE_WAIT),
864 initial: Some("0"),
865 interest: 1,
866 prop: false,
867 },
868 FieldDesc {
869 name: "HOPR",
870 dbf_type: DbFieldType::Double,
871 runtime_typed: false,
872 read_only: false,
873 special: Special::None,
874 pp: false,
875 asl: Asl::Asl1,
876 size: 0,
877 menu: None,
878 initial: None,
879 interest: 1,
880 prop: false,
881 },
882 FieldDesc {
883 name: "LOPR",
884 dbf_type: DbFieldType::Double,
885 runtime_typed: false,
886 read_only: false,
887 special: Special::None,
888 pp: false,
889 asl: Asl::Asl1,
890 size: 0,
891 menu: None,
892 initial: None,
893 interest: 1,
894 prop: false,
895 },
896 FieldDesc {
897 name: "DRVLH",
898 dbf_type: DbFieldType::Double,
899 runtime_typed: false,
900 read_only: false,
901 special: Special::Mod,
902 pp: false,
903 asl: Asl::Asl1,
904 size: 0,
905 menu: None,
906 initial: Some("0.0"),
907 interest: 0,
908 prop: false,
909 },
910 FieldDesc {
911 name: "DRVLL",
912 dbf_type: DbFieldType::Double,
913 runtime_typed: false,
914 read_only: false,
915 special: Special::Mod,
916 pp: false,
917 asl: Asl::Asl1,
918 size: 0,
919 menu: None,
920 initial: Some("0.0"),
921 interest: 0,
922 prop: false,
923 },
924 FieldDesc {
925 name: "DRVLS",
926 dbf_type: DbFieldType::Enum,
927 runtime_typed: false,
928 read_only: true,
929 special: Special::NoMod,
930 pp: false,
931 asl: Asl::Asl1,
932 size: 0,
933 menu: Some(MENU_THROTTLE_DRVLS),
934 initial: Some("0"),
935 interest: 1,
936 prop: false,
937 },
938 FieldDesc {
939 name: "DRVLC",
940 dbf_type: DbFieldType::Enum,
941 runtime_typed: false,
942 read_only: false,
943 special: Special::None,
944 pp: false,
945 asl: Asl::Asl1,
946 size: 0,
947 menu: Some(MENU_THROTTLE_DRVLC),
948 initial: Some("0"),
949 interest: 0,
950 prop: false,
951 },
952 FieldDesc {
953 name: "VER",
954 dbf_type: DbFieldType::String,
955 runtime_typed: false,
956 read_only: true,
957 special: Special::NoMod,
958 pp: false,
959 asl: Asl::Asl1,
960 size: 20,
961 menu: None,
962 initial: Some(""),
963 interest: 0,
964 prop: false,
965 },
966 FieldDesc {
967 name: "STS",
968 dbf_type: DbFieldType::Enum,
969 runtime_typed: false,
970 read_only: true,
971 special: Special::NoMod,
972 pp: false,
973 asl: Asl::Asl1,
974 size: 0,
975 menu: Some(MENU_THROTTLE_STS),
976 initial: Some("0"),
977 interest: 1,
978 prop: false,
979 },
980 FieldDesc {
981 name: "PREC",
982 dbf_type: DbFieldType::Short,
983 runtime_typed: false,
984 read_only: false,
985 special: Special::None,
986 pp: false,
987 asl: Asl::Asl1,
988 size: 0,
989 menu: None,
990 initial: None,
991 interest: 1,
992 prop: false,
993 },
994 FieldDesc {
995 name: "DPREC",
996 dbf_type: DbFieldType::Short,
997 runtime_typed: false,
998 read_only: false,
999 special: Special::None,
1000 pp: false,
1001 asl: Asl::Asl1,
1002 size: 0,
1003 menu: None,
1004 initial: None,
1005 interest: 1,
1006 prop: false,
1007 },
1008 FieldDesc {
1009 name: "DLY",
1010 dbf_type: DbFieldType::Double,
1011 runtime_typed: false,
1012 read_only: false,
1013 special: Special::Mod,
1014 pp: false,
1015 asl: Asl::Asl1,
1016 size: 0,
1017 menu: None,
1018 initial: Some("0.0"),
1019 interest: 0,
1020 prop: false,
1021 },
1022 FieldDesc {
1023 name: "OUT",
1024 dbf_type: DbFieldType::String,
1025 runtime_typed: false,
1026 read_only: false,
1027 special: Special::Mod,
1028 pp: false,
1029 asl: Asl::Asl1,
1030 size: 0,
1031 menu: None,
1032 initial: None,
1033 interest: 1,
1034 prop: false,
1035 },
1036 FieldDesc {
1037 name: "OV",
1038 dbf_type: DbFieldType::Enum,
1039 runtime_typed: false,
1040 read_only: true,
1041 special: Special::NoMod,
1042 pp: false,
1043 asl: Asl::Asl1,
1044 size: 0,
1045 menu: Some(MENU_THROTTLE_OV),
1046 initial: Some("1"),
1047 interest: 1,
1048 prop: false,
1049 },
1050 FieldDesc {
1051 name: "SINP",
1052 dbf_type: DbFieldType::String,
1053 runtime_typed: false,
1054 read_only: false,
1055 special: Special::Mod,
1056 pp: false,
1057 asl: Asl::Asl1,
1058 size: 0,
1059 menu: None,
1060 initial: None,
1061 interest: 1,
1062 prop: false,
1063 },
1064 FieldDesc {
1065 name: "SIV",
1066 dbf_type: DbFieldType::Enum,
1067 runtime_typed: false,
1068 read_only: true,
1069 special: Special::NoMod,
1070 pp: false,
1071 asl: Asl::Asl1,
1072 size: 0,
1073 menu: Some(MENU_THROTTLE_OV),
1074 initial: Some("1"),
1075 interest: 1,
1076 prop: false,
1077 },
1078 FieldDesc {
1079 name: "SYNC",
1080 dbf_type: DbFieldType::Enum,
1081 runtime_typed: false,
1082 read_only: false,
1083 special: Special::Mod,
1084 pp: false,
1085 asl: Asl::Asl1,
1086 size: 0,
1087 menu: Some(MENU_THROTTLE_SYNC),
1088 initial: Some("Idle"),
1089 interest: 0,
1090 prop: false,
1091 },
1092];
1093
1094pub static THROTTLE_NOACCESS: &[&str] = &["RPVT"];
1097
1098pub static TIMESTAMP_FIELDS: &[FieldDesc] = &[
1100 FieldDesc {
1101 name: "VAL",
1102 dbf_type: DbFieldType::String,
1103 runtime_typed: false,
1104 read_only: false,
1105 special: Special::None,
1106 pp: true,
1107 asl: Asl::Asl0,
1108 size: 40,
1109 menu: None,
1110 initial: None,
1111 interest: 0,
1112 prop: false,
1113 },
1114 FieldDesc {
1115 name: "OVAL",
1116 dbf_type: DbFieldType::String,
1117 runtime_typed: false,
1118 read_only: true,
1119 special: Special::NoMod,
1120 pp: false,
1121 asl: Asl::Asl1,
1122 size: 40,
1123 menu: None,
1124 initial: None,
1125 interest: 3,
1126 prop: false,
1127 },
1128 FieldDesc {
1129 name: "RVAL",
1130 dbf_type: DbFieldType::ULong,
1131 runtime_typed: false,
1132 read_only: false,
1133 special: Special::None,
1134 pp: true,
1135 asl: Asl::Asl1,
1136 size: 0,
1137 menu: None,
1138 initial: None,
1139 interest: 0,
1140 prop: false,
1141 },
1142 FieldDesc {
1143 name: "TST",
1144 dbf_type: DbFieldType::Enum,
1145 runtime_typed: false,
1146 read_only: false,
1147 special: Special::None,
1148 pp: false,
1149 asl: Asl::Asl1,
1150 size: 0,
1151 menu: Some(MENU_TIMESTAMP_TST),
1152 initial: None,
1153 interest: 2,
1154 prop: false,
1155 },
1156];
1157
1158pub fn record_fields(record_type: &str) -> Option<&'static [FieldDesc]> {
1161 Some(match record_type {
1162 "epid" => EPID_FIELDS,
1163 "throttle" => THROTTLE_FIELDS,
1164 "timestamp" => TIMESTAMP_FIELDS,
1165 _ => return None,
1166 })
1167}
1168
1169pub fn record_noaccess_fields(record_type: &str) -> Option<&'static [&'static str]> {
1174 Some(match record_type {
1175 "epid" => EPID_NOACCESS,
1176 "throttle" => THROTTLE_NOACCESS,
1177 "timestamp" => &[],
1178 _ => return None,
1179 })
1180}
1181
1182pub static RECORD_TYPES: &[&str] = &["epid", "throttle", "timestamp"];