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