Go to the documentation of this file.
57 #define ADAS1000_COMM_WRITE 0x80
58 #define ADAS1000_RDY_MASK 0x40
59 #define ADAS1000_ALL_CH_MASK 0x00
60 #define ADAS1000_WD_CNT_MASK 0x01
62 #define ADAS1000_NOP 0x00
63 #define ADAS1000_ECGCTL 0x01
64 #define ADAS1000_LOFFCTL 0x02
65 #define ADAS1000_RESPCTL 0x03
66 #define ADAS1000_PACECTL 0x04
67 #define ADAS1000_CMREFCTL 0x05
68 #define ADAS1000_GPIOCTL 0x06
69 #define ADAS1000_PACEAMPTH 0x07
70 #define ADAS1000_TESTTONE 0x08
71 #define ADAS1000_CALDAC 0x09
72 #define ADAS1000_FRMCTL 0x0A
73 #define ADAS1000_FILTCTL 0x0B
74 #define ADAS1000_LOFFUTH 0x0C
75 #define ADAS1000_LOFFLTH 0x0D
76 #define ADAS1000_PACEEDGETH 0x0E
77 #define ADAS1000_PACELVLTH 0x0F
78 #define ADAS1000_LADATA 0x11
79 #define ADAS1000_LLDATA 0x12
80 #define ADAS1000_RADATA 0x13
81 #define ADAS1000_V1DATA 0x14
82 #define ADAS1000_V2DATA 0x15
83 #define ADAS1000_PACEDATA 0x1A
84 #define ADAS1000_RESPMAG 0x1B
85 #define ADAS1000_RESPPH 0x1C
86 #define ADAS1000_LOFF 0x1D
87 #define ADAS1000_DCLEADSOFF 0x1E
88 #define ADAS1000_EXTENDSW 0x20
89 #define ADAS1000_CALLA 0x21
90 #define ADAS1000_CALLL 0x22
91 #define ADAS1000_CALRA 0x23
92 #define ADAS1000_CALV1 0x24
93 #define ADAS1000_CALV2 0x25
94 #define ADAS1000_LOAMLA 0x31
95 #define ADAS1000_LOAMLL 0x32
96 #define ADAS1000_LOAMRA 0x33
97 #define ADAS1000_LOAMV1 0x34
98 #define ADAS1000_LOAMV2 0x35
99 #define ADAS1000_PACE1_DATA 0x3A
100 #define ADAS1000_PACE2_DATA 0x3B
101 #define ADAS1000_PACE3_DATA 0x3C
102 #define ADAS1000_FRAMES 0x40
103 #define ADAS1000_CRC 0x41
110 #define ADAS1000_ECGCTL_LAEN (1ul << 23)
113 #define ADAS1000_ECGCTL_LLEN (1ul << 22)
116 #define ADAS1000_ECGCTL_RAEN (1ul << 21)
119 #define ADAS1000_ECGCTL_V1EN (1ul << 20)
122 #define ADAS1000_ECGCTL_V2EN (1ul << 19)
126 #define ADAS1000_ECGCTL_CHCONFIG (1ul << 10)
130 #define ADAS1000_ECGCTL_GAIN (1ul << 8)
133 #define ADAS1000_ECGCTL_VREFBUF (1ul << 7)
138 #define ADAS1000_ECGCTL_CLKEXT (1ul << 6)
142 #define ADAS1000_ECGCTL_MASTER (1ul << 5)
145 #define ADAS1000_ECGCTL_GANG (1ul << 4)
149 #define ADAS1000_ECGCTL_HP (1ul << 3)
152 #define ADAS1000_ECGCTL_CNVEN (1ul << 2)
156 #define ADAS1000_ECGCTL_PWREN (1ul << 1)
161 #define ADAS1000_ECGCTL_SWRST (1ul << 0)
166 #define ADAS1000_LOFFCTL_LAPH (1ul << 23)
168 #define ADAS1000_LOFFCTL_LLPH (1ul << 22)
170 #define ADAS1000_LOFFCTL_RAPH (1ul << 21)
172 #define ADAS1000_LOFFCTL_V1PH (1ul << 20)
174 #define ADAS1000_LOFFCTL_V2PH (1ul << 19)
176 #define ADAS1000_LOFFCTL_CEPH (1ul << 18)
180 #define ADAS1000_LOFFCTL_LAACLOEN (1ul << 17)
184 #define ADAS1000_LOFFCTL_LLACLOEN (1ul << 16)
188 #define ADAS1000_LOFFCTL_RAACLOEN (1ul << 15)
192 #define ADAS1000_LOFFCTL_V1ACLOEN (1ul << 14)
196 #define ADAS1000_LOFFCTL_V2ACLOEN (1ul << 13)
200 #define ADAS1000_LOFFCTL_CEACLOEN (1ul << 12)
204 #define ADAS1000_LOFFCTL_ACCURREN (1ul << 7)
208 #define ADAS1000_LOFFCTL_DCCURRENT (1ul << 2)
214 #define ADAS1000_LOFFCTL_ACSEL (1ul << 1)
217 #define ADAS1000_LOFFCTL_LOFFEN (1ul << 0)
226 #define ADAS1000_RESPCTL_RESPEXTSYNC (1ul << 15)
230 #define ADAS1000_RESPCTL_RESPEXTAMP (1ul << 14)
233 #define ADAS1000_RESPCTL_RESPOUT (1ul << 13)
236 #define ADAS1000_RESPCTL_RESPCAP (1ul << 12)
241 #define ADAS1000_RESPCTL_RESPGAIN (1ul << 8)
245 #define ADAS1000_RESPCTL_RESPEXTSEL (1ul << 7)
249 #define ADAS1000_RESPCTL_RESPSEL (1ul << 5)
253 #define ADAS1000_RESPCTL_RESPAMP (1ul << 3)
256 #define ADAS1000_RESPCTL_RESPFREQ (1ul << 1)
259 #define ADAS1000_RESPCTL_RESPEN (1ul << 0)
261 #define ADAS1000_RESPCTL_RESPGAIN_MASK (0x0000000Ful << 8)
262 #define ADAS1000_RESPCTL_RESPSEL_MASK (0x00000003ul << 5)
269 #define ADAS1000_PACECTL_PACEFILTW (1ul << 11)
272 #define ADAS1000_PACECTL_PACETFILT2 (1ul << 10)
275 #define ADAS1000_PACECTL_PACETFILT1 (1ul << 9)
278 #define ADAS1000_PACECTL_PACE3SEL (1ul << 7)
281 #define ADAS1000_PACECTL_PACE2SEL (1ul << 5)
284 #define ADAS1000_PACECTL_PACE1SEL (1ul << 3)
287 #define ADAS1000_PACECTL_PACE3EN (1ul << 2)
290 #define ADAS1000_PACECTL_PACE2EN (1ul << 1)
293 #define ADAS1000_PACECTL_PACE1EN (1ul << 0)
294 #define ADAS1000_PACECTL_PACE3SEL_MASK (0x00000003ul << 7)
295 #define ADAS1000_PACECTL_PACE2SEL_MASK (0x00000003ul << 5)
296 #define ADAS1000_PACECTL_PACE1SEL_MASK (0x00000003ul << 3)
302 #define ADAS1000_CMREFCTL_LACM (1ul << 23)
304 #define ADAS1000_CMREFCTL_LLCM (1ul << 22)
306 #define ADAS1000_CMREFCTL_RACM (1ul << 21)
308 #define ADAS1000_CMREFCTL_V1CM (1ul << 20)
314 #define ADAS1000_CMREFCTL_V2CM (1ul << 19)
318 #define ADAS1000_CMREFCTL_LARLD (1ul << 14)
322 #define ADAS1000_CMREFCTL_LLRLD (1ul << 13)
326 #define ADAS1000_CMREFCTL_RARLD (1ul << 12)
330 #define ADAS1000_CMREFCTL_V1RLD (1ul << 11)
334 #define ADAS1000_CMREFCTL_V2RLD (1ul << 10)
338 #define ADAS1000_CMREFCTL_CERLD (1ul << 9)
342 #define ADAS1000_CMREFCTL_CEREFEN (1ul << 8)
347 #define ADAS1000_CMREFCTL_RLDSEL (1ul << 4)
353 #define ADAS1000_CMREFCTL_DRVCM (1ul << 3)
358 #define ADAS1000_CMREFCTL_EXTCM (1ul << 2)
362 #define ADAS1000_CMREFCTL_RLD_EN (1ul << 1)
366 #define ADAS1000_CMREFCTL_SHLDEN (1ul << 0)
368 #define ADAS1000_CMREFCTL_RLDSEL_MASK (0x0000000Ful << 4)
376 #define ADAS1000_GPIOCTL_SPIFW (1ul << 18)
383 #define ADAS1000_GPIOCTL_SPIEN (1ul << 16)
387 #define ADAS1000_GPIOCTL_G3CTL (1ul << 14)
392 #define ADAS1000_GPIOCTL_G3OUT (1ul << 13)
396 #define ADAS1000_GPIOCTL_G3IN (1ul << 12)
400 #define ADAS1000_GPIOCTL_G2CTL (1ul << 10)
405 #define ADAS1000_GPIOCTL_G2OUT (1ul << 9)
409 #define ADAS1000_GPIOCTL_G2IN (1ul << 8)
413 #define ADAS1000_GPIOCTL_G1CTL (1ul << 6)
418 #define ADAS1000_GPIOCTL_G1OUT (1ul << 5)
422 #define ADAS1000_GPIOCTL_G1IN (1ul << 4)
426 #define ADAS1000_GPIOCTL_G0CTL (1ul << 2)
431 #define ADAS1000_GPIOCTL_G0OUT (1ul << 1)
436 #define ADAS1000_GPIOCTL_G0IN (1ul << 0)
437 #define ADAS1000_GPIOCTL_G3CTL_MASK (0x00000003ul << 14)
438 #define ADAS1000_GPIOCTL_G2CTL_MASK (0x00000003ul << 10)
439 #define ADAS1000_GPIOCTL_G1CTL_MASK (0x00000003ul << 6)
440 #define ADAS1000_GPIOCTL_G0CTL_MASK (0x00000003ul << 2)
446 #define ADAS1000_PACEAMPTH_PACE3AMPTH (1ul << 16)
448 #define ADAS1000_PACEAMPTH_PACE2AMPTH (1ul << 8)
449 #define ADAS1000_PACEAMPTH_PACE1AMPTH (1ul << 0)
451 #define ADAS1000_PACEAMPTH_PACE3AMPTH_MASK (0x000000FFul << 16)
452 #define ADAS1000_PACEAMPTH_PACE2AMPTH_MASK (0x000000FFul << 8)
453 #define ADAS1000_PACEAMPTH_PACE1AMPTH_MASK (0x000000FFul << 0)
459 #define ADAS1000_TESTTONE_TONLA (1ul << 23)
461 #define ADAS1000_TESTTONE_TONLL (1ul << 22)
463 #define ADAS1000_TESTTONE_TONRA (1ul << 21)
464 #define ADAS1000_TESTTONE_TONV1 (1ul << 20)
465 #define ADAS1000_TESTTONE_TONV2 (1ul << 19)
469 #define ADAS1000_TESTTONE_TONTYPE (1ul << 3)
473 #define ADAS1000_TESTTONE_TONINT (1ul << 2)
477 #define ADAS1000_TESTTONE_TONOUT (1ul << 1)
484 #define ADAS1000_TESTTONE_TONEN (1ul << 0)
486 #define ADAS1000_TESTTONE_TONTYPE_MASK (0x00000003ul << 3)
495 #define ADAS1000_CALDAC_CALCHPEN (1ul << 13)
500 #define ADAS1000_CALDAC_CALMODEEN (1ul << 12)
506 #define ADAS1000_CALDAC_CALINT (1ul << 11)
514 #define ADAS1000_CALDAC_CALDACEN (1ul << 10)
516 #define ADAS1000_CALDAC_CALDATA (1ul << 0)
518 #define ADAS1000_CALDAC_CALDATA_MASK (0x000003FFul << 0)
528 #define ADAS1000_FRMCTL_LEAD_I_LADIS (1ul << 23)
529 #define ADAS1000_FRMCTL_LEAD_II_LLDIS (1ul << 22)
530 #define ADAS1000_FRMCTL_LEAD_III_RADIS (1ul << 21)
531 #define ADAS1000_FRMCTL_V1DIS (1ul << 20)
532 #define ADAS1000_FRMCTL_V2DIS (1ul << 19)
536 #define ADAS1000_FRMCTL_PACEDIS (1ul << 14)
540 #define ADAS1000_FRMCTL_RESPMDIS (1ul << 13)
544 #define ADAS1000_FRMCTL_RESPPHDIS (1ul << 12)
548 #define ADAS1000_FRMCTL_LOFFDIS (1ul << 11)
552 #define ADAS1000_FRMCTL_GPIODIS (1ul << 10)
556 #define ADAS1000_FRMCTL_CRCDIS (1ul << 9)
563 #define ADAS1000_FRMCTL_SIGNEDEN (1ul << 8)
568 #define ADAS1000_FRMCTL_ADIS (1ul << 7)
574 #define ADAS1000_FRMCTL_RDYRPT (1ul << 6)
579 #define ADAS1000_FRMCTL_DATAFMT (1ul << 4)
584 #define ADAS1000_FRMCTL_SKIP (1ul << 2)
586 #define ADAS1000_FRMCTL_FRMRATE_2KHZ 0x00
588 #define ADAS1000_FRMCTL_FRMRATE_16KHZ 0x01
590 #define ADAS1000_FRMCTL_FRMRATE_128KHZ 0x10
592 #define ADAS1000_FRMCTL_FRMRATE_31_25HZ 0x11
594 #define ADAS1000_FRMCTL_WORD_MASK (ADAS1000_FRMCTL_LEAD_I_LADIS | \
595 ADAS1000_FRMCTL_LEAD_II_LLDIS | \
596 ADAS1000_FRMCTL_LEAD_III_RADIS | \
597 ADAS1000_FRMCTL_V1DIS | \
598 ADAS1000_FRMCTL_V2DIS | \
599 ADAS1000_FRMCTL_PACEDIS | \
600 ADAS1000_FRMCTL_RESPMDIS | \
601 ADAS1000_FRMCTL_RESPPHDIS | \
602 ADAS1000_FRMCTL_LOFFDIS | \
603 ADAS1000_FRMCTL_GPIODIS | \
604 ADAS1000_FRMCTL_CRCDIS)
605 #define ADAS1000_FRMCTL_SKIP_MASK (0x00000003ul << 2)
606 #define ADAS1000_FRMCTL_FRMRATE_MASK (0x00000003ul << 0)
614 #define ADAS1000_FILTCTL_MN2K (1ul << 5)
618 #define ADAS1000_FILTCTL_N2KBP (1ul << 4)
623 #define ADAS1000_FILTCTL_LPF (1ul << 2)
625 #define ADAS1000_FILTCTL_LPF_MASK (0x00000003ul << 2)
639 #define ADAS1000_LOFFUTH_ADCOVER (1ul << 16)
642 #define ADAS1000_LOFFUTH_LOFFUTH (1ul << 0)
644 #define ADAS1000_LOFFUTH_ADCOVER_MASK (0x0000000Ful << 16)
645 #define ADAS1000_LOFFUTH_LOFFUTH_MASK (0x0000FFFFul << 0)
658 #define ADAS1000_LOFFLTH_ADCUNDR (1ul << 16)
661 #define ADAS1000_LOFFLTH_LOFFLTH (1ul << 0)
663 #define ADAS1000_LOFFLTH_ADCUNDR_MASK (0x0000000Ful << 16)
664 #define ADAS1000_LOFFLTH_LOFFLTH_MASK (0x0000FFFFul << 0)
670 #define ADAS1000_PACEEDGETH_PACE3EDGTH (1ul << 16)
672 #define ADAS1000_PACEEDGETH_PACE2EDGTH (1ul << 8)
674 #define ADAS1000_PACEEDGETH_PACE1EDGTH (1ul << 0)
677 #define ADAS1000_PACEEDGETH_PACE3EDGTH_MASK (0x000000FFul << 16)
678 #define ADAS1000_PACEEDGETH_PACE2EDGTH_MASK (0x000000FFul << 8)
679 #define ADAS1000_PACEEDGETH_PACE1EDGTH_MASK (0x000000FFul << 0)
685 #define ADAS1000_PACELVLTH_PACE3LVLTH (1ul << 16)
687 #define ADAS1000_PACELVLTH_PACE2LVLTH (1ul << 8)
689 #define ADAS1000_PACELVLTH_PACE1LVLTH (1ul << 0)
693 #define ADAS1000_PACELVLTH_PACE3LVLTH_MASK (0x000000FFul << 16)
694 #define ADAS1000_PACELVLTH_PACE2LVLTH_MASK (0x000000FFul << 8)
695 #define ADAS1000_PACELVLTH_PACE1LVLTH_MASK (0x000000FFul << 0)
705 #define ADAS1000_LADATA_ADDRESS (1ul << 24)
722 #define ADAS1000_LADATA_ECG_DATA (1ul << 0)
723 #define ADAS1000_LADATA_ADDRESS_MASK (0x000000FFul << 24)
724 #define ADAS1000_LADATA_ECG_DATA_MASK (0x00FFFFFFul << 0)
730 #define ADAS1000_PACEDATA_ADDRESS (1ul << 24)
735 #define ADAS1000_PACEDATA_PACE3_DETECTED (1ul << 23)
738 #define ADAS1000_PACEDATA_PACE_CH3_HEIGHT (1ul << 16)
741 #define ADAS1000_PACEDATA_PACE_CH3_WIDTH (1ul << 20)
746 #define ADAS1000_PACEDATA_PACE2_DETECTED (1ul << 15)
749 #define ADAS1000_PACEDATA_PACE_CH2_WIDTH (1ul << 12)
752 #define ADAS1000_PACEDATA_PACE_CH2_HEIGHT (1ul << 8)
757 #define ADAS1000_PACEDATA_PACE1_DETECTED (1ul << 7)
760 #define ADAS1000_PACEDATA_PACE_CH1_WIDTH (1ul << 4)
763 #define ADAS1000_PACEDATA_CH1_HEIGHT (1ul << 0)
765 #define ADAS1000_PACEDATA_ADDRESS_MASK (0x000000FFul << 24)
766 #define ADAS1000_PACEDATA_PACE_CH3_WIDTH_MASK (0x00000007ul << 20)
767 #define ADAS1000_PACEDATA_PACE_CH3_HEIGHT_MASK (0x0000000Ful << 16)
768 #define ADAS1000_PACEDATA_PACE_CH2_WIDTH_MASK (0x00000007ul << 12)
769 #define ADAS1000_PACEDATA_PACE_CH2_HEIGHT_MASK (0x0000000Ful << 8)
770 #define ADAS1000_PACEDATA_PACE_CH1_WIDTH_MASK (0x00000007ul << 4)
771 #define ADAS1000_PACEDATA_PACE_CH1_HEIGHT_MASK (0x0000000Ful << 0)
777 #define ADAS1000_RESPMAG_ADDRESS (1ul << 24)
779 #define ADAS1000_RESPMAG_MAGNITUDE (1ul << 0)
781 #define ADAS1000_RESPMAG_ADDRESS_MASK (0x000000FFul << 24)
782 #define ADAS1000_RESPMAG_MAGNITUDE_MASK (0x00FFFFFFul << 0)
788 #define ADAS1000_RESPPH_ADDRESS (1ul << 24)
798 #define ADAS1000_RESPPH_PHASE (1ul << 0)
800 #define ADAS1000_RESPPH_ADDRESS_MASK (0x000000FFul << 24)
801 #define ADAS1000_RESPPH_PHASE_MASK (0x00FFFFFFul << 0)
807 #define ADAS1000_LOFF_ADDRESS (1ul << 24)
820 #define ADAS1000_LOFF_RL_LEADS_OFF_STATUS (1ul << 23)
821 #define ADAS1000_LOFF_LA_LEADS_OFF_STATUS (1ul << 22)
822 #define ADAS1000_LOFF_LL_LEADS_OFF_STATUS (1ul << 21)
823 #define ADAS1000_LOFF_RA_LEADS_OFF_STATUS (1ul << 20)
824 #define ADAS1000_LOFF_V1_LEADS_OFF_STATUS (1ul << 19)
825 #define ADAS1000_LOFF_V2_LEADS_OFF_STATUS (1ul << 18)
826 #define ADAS1000_LOFF_CELO (1ul << 13)
831 #define ADAS1000_LOFF_LAADCOR (1ul << 12)
832 #define ADAS1000_LOFF_LLADCOR (1ul << 11)
833 #define ADAS1000_LOFF_RAADCOR (1ul << 10)
834 #define ADAS1000_LOFF_V1ADCOR (1ul << 9)
835 #define ADAS1000_LOFF_V2ADCOR (1ul << 8)
837 #define ADAS1000_LOFF_ADDRESS_MASK (0x000000FFul << 24)
843 #define ADAS1000_DCLEADSOFF_ADDRESS (1ul << 24)
849 #define ADAS1000_DCLEADSOFF_RL_INPUT_OVERRANGE (1ul << 23)
850 #define ADAS1000_DCLEADSOFF_LA_INPUT_OVERRANGE (1ul << 22)
851 #define ADAS1000_DCLEADSOFF_LL_INPUT_OVERRANGE (1ul << 21)
852 #define ADAS1000_DCLEADSOFF_RA_INPUT_OVERRANGE (1ul << 20)
853 #define ADAS1000_DCLEADSOFF_CE_INPUT_OVERRANGE (1ul << 13)
860 #define ADAS1000_DCLEADSOFF_RL_INPUT_UNDERRANGE (1ul << 12)
861 #define ADAS1000_DCLEADSOFF_LA_INPUT_UNDERRANGE (1ul << 11)
862 #define ADAS1000_DCLEADSOFF_LL_INPUT_UNDERRANGE (1ul << 10)
863 #define ADAS1000_DCLEADSOFF_RA_INPUT_UNDERRANGE (1ul << 9)
864 #define ADAS1000_DCLEADSOFF_CE_INPUT_UNDERRANGE (1ul << 2)
866 #define ADAS1000_DCLEADSOFF_ADDRESS_MASK (0x000000FFul << 24)
875 #define ADAS1000_EXTENDSW_EXTRESP_RA_LA (1ul << 23)
876 #define ADAS1000_EXTENDSW_EXTRESP_RA_LL (1ul << 22)
877 #define ADAS1000_EXTENDSW_EXTRESP_RA_RA (1ul << 21)
878 #define ADAS1000_EXTENDSW_EXTRESP_RA_V1 (1ul << 20)
879 #define ADAS1000_EXTENDSW_EXTRESP_RA_V2 (1ul << 19)
880 #define ADAS1000_EXTENDSW_EXTRESP_LL_LA (1ul << 18)
881 #define ADAS1000_EXTENDSW_EXTRESP_LL_LL (1ul << 17)
882 #define ADAS1000_EXTENDSW_EXTRESP_LL_RA (1ul << 16)
883 #define ADAS1000_EXTENDSW_EXTRESP_LL_V1 (1ul << 15)
884 #define ADAS1000_EXTENDSW_EXTRESP_LL_V2 (1ul << 14)
885 #define ADAS1000_EXTENDSW_EXTRESP_LA_LA (1ul << 13)
886 #define ADAS1000_EXTENDSW_EXTRESP_LA_LL (1ul << 12)
887 #define ADAS1000_EXTENDSW_EXTRESP_LA_RA (1ul << 11)
888 #define ADAS1000_EXTENDSW_EXTRESP_LA_V1 (1ul << 10)
889 #define ADAS1000_EXTENDSW_EXTRESP_LA_V2 (1ul << 9)
900 #define ADAS1000_EXTENDSW_FREE_V1 (1ul << 8)
901 #define ADAS1000_EXTENDSW_FREE_V2 (1ul << 7)
909 #define ADAS1000_EXTENDSW_NOMATH_V1 (1ul << 6)
910 #define ADAS1000_EXTENDSW_NOMATH_V2 (1ul << 5)
920 #define ADAS1000_CAL_ADDRESS (1ul << 24)
924 #define ADAS1000_CAL_USRCAL (1ul << 23)
935 #define ADAS1000_CAL_CALVALUE (1ul << 0)
937 #define ADAS1000_CAL_ADDRESS_MASK (0x000000FFul << 24)
938 #define ADAS1000_CAL_CALVALUE_MASK (0x00000FFFul << 0)
948 #define ADAS1000_LOAM_ADDRESS (1ul << 24)
959 #define ADAS1000_LOAM_LOFFAM (1ul << 0)
961 #define ADAS1000_LOAM_ADDRESS_MASK (0x000000FFul << 24)
962 #define ADAS1000_LOAM_LOFFAM_MASK (0x0000FFFFul << 0)
970 #define ADAS1000_PACE_DATA_ADDRESS (1ul << 24)
975 #define ADAS1000_PACE_DATA_HEIGHT (1ul << 8)
980 #define ADAS1000_PACE_DATA_WIDTH (1ul << 0)
982 #define ADAS1000_PACE_DATA_ADDRESS_MASK (0x000000FFul << 24)
983 #define ADAS1000_PACE_DATA_HEIGHT_MASK (0x0000FFFFul << 8)
984 #define ADAS1000_PACE_DATA_WIDTH_MASK (0x000000FFul << 0)
990 #define ADAS1000_FRAMES_MARKER (1ul << 31)
995 #define ADAS1000_FRAMES_READY_BIT (1ul << 30)
1007 #define ADAS1000_FRAMES_OVERFLOW (1ul << 28)
1011 #define ADAS1000_FRAMES_FAULT (1ul << 27)
1016 #define ADAS1000_FRAMES_PACE3_DETECTED (1ul << 26)
1021 #define ADAS1000_FRAMES_PACE2_DETECTED (1ul << 25)
1026 #define ADAS1000_FRAMES_PACE1_DETECTED (1ul << 24)
1029 #define ADAS1000_FRAMES_RESPIRATION (1ul << 23)
1036 #define ADAS1000_FRAMES_LEADS_OFF_DETECTED (1ul << 22)
1039 #define ADAS1000_FRAMES_DC_LEADS_OFF_DETECTED (1ul << 21)
1042 #define ADAS1000_FRAMES_ADC_OUT_OF_RANGE (1ul << 20)
1047 #define ADAS1000_CRC_MASK (0x00FFFFFF << 0)
1052 #define ADAS1000_31_25HZ_FRAME_RATE 3125
1053 #define ADAS1000_2KHZ_FRAME_RATE 2000
1054 #define ADAS1000_16KHZ_FRAME_RATE 16000
1055 #define ADAS1000_128KHZ_FRAME_RATE 128000
1057 #define ADAS1000_31_25HZ_WORD_SIZE 32
1058 #define ADAS1000_2KHZ_WORD_SIZE 32
1059 #define ADAS1000_16KHZ_WORD_SIZE 32
1060 #define ADAS1000_128KHZ_WORD_SIZE 16
1062 #define ADAS1000_31_25HZ_FRAME_SIZE 12
1063 #define ADAS1000_2KHZ_FRAME_SIZE 12
1064 #define ADAS1000_16KHZ_FRAME_SIZE 12
1065 #define ADAS1000_128KHZ_FRAME_SIZE 15
1070 #define CRC_POLY_2KHZ_16KHZ 0x005D6DCBul
1071 #define CRC_CHECK_CONST_2KHZ_16KHZ 0x0015A0BAul
1073 #define CRC_POLY_128KHZ 0x00001021ul
1074 #define CRC_CHECK_CONST_128KHz 0x00001D0Ful
1114 uint32_t *spi_freq);
1122 uint32_t *reg_data);
1136 uint32_t words_mask);
1143 uint32_t frame_cnt,
struct read_param *read_data_param);
int32_t adas1000_init(struct adas1000_dev **device, const struct adas1000_init_param *init_param)
Initializes the SPI communication with ADAS1000. The ADAS1000 is configured with the specified frame ...
Definition: adas1000.c:100
#define ADAS1000_31_25HZ_FRAME_SIZE
Definition: adas1000.h:1062
int32_t adas1000_read_data(struct adas1000_dev *device, uint8_t *data_buff, uint32_t frame_cnt, struct read_param *read_data_param)
Reads the specified number of frames.
Definition: adas1000.c:331
int32_t adas1000_soft_reset(struct adas1000_dev *device)
Software reset of the device.
Definition: adas1000.c:195
uint32_t inactive_words_no
Definition: adas1000.h:1084
#define ADAS1000_ALL_CH_MASK
Definition: adas1000.h:59
int32_t adas1000_write(struct adas1000_dev *device, uint8_t reg_addr, uint32_t reg_data)
Write device register.
Definition: adas1000.c:176
NO_OS_DECLARE_CRC16_TABLE(ad7606_crc16)
#define ADAS1000_128KHZ_WORD_SIZE
Definition: adas1000.h:1060
int32_t no_os_spi_write_and_read(struct no_os_spi_desc *desc, uint8_t *data, uint16_t bytes_number)
Write and read data to/from SPI.
Definition: no_os_spi.c:95
Header file of SPI Interface.
#define CRC_POLY_128KHZ
Definition: adas1000.h:1073
#define ADAS1000_2KHZ_FRAME_RATE
Definition: adas1000.h:1053
#define ADAS1000_31_25HZ_FRAME_RATE
Definition: adas1000.h:1052
int32_t adas1000_read_data(struct adas1000_dev *device, uint8_t *data_buff, uint32_t frame_cnt, struct read_param *read_data_param)
Reads the specified number of frames.
Definition: adas1000.c:331
bool start_read
Definition: adas1000.h:1096
#define ADAS1000_NOP
Definition: adas1000.h:62
void no_os_crc24_populate_msb(uint32_t *table, const uint32_t polynomial)
Definition: adas1000.h:1087
#define ADAS1000_WD_CNT_MASK
Definition: adas1000.h:60
uint32_t frame_rate
Definition: adas1000.h:1091
#define ADAS1000_128KHZ_FRAME_SIZE
Definition: adas1000.h:1065
Definition: ad9361_util.h:75
#define ADAS1000_FRMCTL_FRMRATE_2KHZ
Definition: adas1000.h:586
void * no_os_calloc(size_t nitems, size_t size)
struct no_os_spi_init_param spi_init
Definition: adas1000.h:1089
#define ADAS1000_FRMCTL_FRMRATE_31_25HZ
Definition: adas1000.h:592
#define ADAS1000_FRMCTL_FRMRATE_MASK
Definition: adas1000.h:606
#define ADAS1000_16KHZ_WORD_SIZE
Definition: adas1000.h:1059
#define ADAS1000_16KHZ_FRAME_SIZE
Definition: adas1000.h:1064
#define ADAS1000_ECGCTL_SWRST
Definition: adas1000.h:161
uint32_t frame_size
Definition: adas1000.h:1080
uint32_t adas1000_compute_frame_crc(struct adas1000_dev *device, uint8_t *buff)
Computes the CRC for a frame.
Definition: adas1000.c:408
#define ADAS1000_FRMCTL_WORD_MASK
Definition: adas1000.h:594
int32_t adas1000_compute_frame_size(struct adas1000_dev *device)
Compute frame size.
Definition: adas1000.c:212
#define ADAS1000_16KHZ_FRAME_RATE
Definition: adas1000.h:1054
bool ready_repeat
Definition: adas1000.h:1105
int32_t adas1000_set_inactive_framewords(struct adas1000_dev *device, uint32_t words_mask)
Selects which words are not included in a data frame.
Definition: adas1000.c:245
int32_t adas1000_compute_frame_size(struct adas1000_dev *device)
Compute frame size.
Definition: adas1000.c:212
#define ADAS1000_ECGCTL
Definition: adas1000.h:63
bool stop_read
Definition: adas1000.h:1099
#define ADAS1000_2KHZ_FRAME_SIZE
Definition: adas1000.h:1063
#define ADAS1000_FRMCTL
Definition: adas1000.h:72
int32_t adas1000_set_frame_rate(struct adas1000_dev *device, uint32_t rate)
Sets the frame rate.
Definition: adas1000.c:283
int32_t adas1000_read(struct adas1000_dev *device, uint8_t reg_addr, uint32_t *reg_data)
Read device register.
Definition: adas1000.c:147
int32_t adas1000_set_frame_rate(struct adas1000_dev *device, uint32_t rate)
Sets the frame rate.
Definition: adas1000.c:283
bool wait_for_ready
Definition: adas1000.h:1102
int32_t adas1000_init(struct adas1000_dev **device, const struct adas1000_init_param *init_param)
Initializes the SPI communication with ADAS1000. The ADAS1000 is configured with the specified frame ...
Definition: adas1000.c:100
Structure holding SPI descriptor.
Definition: no_os_spi.h:143
int32_t adas1000_write(struct adas1000_dev *device, uint8_t reg_addr, uint32_t reg_data)
Write device register.
Definition: adas1000.c:176
Generic header file for all CRC computation algorithms.
#define ADAS1000_128KHZ_FRAME_RATE
Definition: adas1000.h:1055
#define ADAS1000_FRAMES
Definition: adas1000.h:102
Definition: adas1000.h:1076
int32_t adas1000_set_inactive_framewords(struct adas1000_dev *device, uint32_t words_mask)
Selects which words are not included in a data frame.
Definition: adas1000.c:245
int32_t adas1000_read(struct adas1000_dev *device, uint8_t reg_addr, uint32_t *reg_data)
Read device register.
Definition: adas1000.c:147
uint32_t no_os_crc24(const uint32_t *table, const uint8_t *pdata, size_t nbytes, uint32_t crc)
uint16_t no_os_crc16(const uint16_t *table, const uint8_t *pdata, size_t nbytes, uint16_t crc)
void no_os_free(void *ptr)
struct no_os_spi_desc * spi_desc
Definition: adas1000.h:1078
#define ADAS1000_FRMCTL_FRMRATE_16KHZ
Definition: adas1000.h:588
#define ADAS1000_COMM_WRITE
Definition: adas1000.h:57
Definition: adas1000.h:1094
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:96
uint32_t adas1000_compute_frame_crc(struct adas1000_dev *device, uint8_t *buff)
Computes the CRC for a frame.
Definition: adas1000.c:408
#define ADAS1000_31_25HZ_WORD_SIZE
Definition: adas1000.h:1057
#define NO_OS_DECLARE_CRC24_TABLE(_table)
Definition: no_os_crc24.h:47
int32_t adas1000_compute_spi_freq(struct adas1000_init_param *init_param, uint32_t *spi_freq)
Preliminary function which computes the spi frequency based on the frame rate value passed input para...
Definition: adas1000.c:62
#define ADAS1000_RDY_MASK
Definition: adas1000.h:58
int32_t no_os_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition: no_os_spi.c:51
void no_os_crc16_populate_msb(uint16_t *table, const uint16_t polynomial)
Header file of ADAS1000 Driver.
#define ADAS1000_2KHZ_WORD_SIZE
Definition: adas1000.h:1058
#define CRC_POLY_2KHZ_16KHZ
Definition: adas1000.h:1070
#define ADAS1000_FRMCTL_FRMRATE_128KHZ
Definition: adas1000.h:590
uint32_t frame_rate
Definition: adas1000.h:1082
int32_t adas1000_compute_spi_freq(struct adas1000_init_param *init_param, uint32_t *spi_freq)
Preliminary function which computes the spi frequency based on the frame rate value passed input para...
Definition: adas1000.c:62
int32_t adas1000_soft_reset(struct adas1000_dev *device)
Software reset of the device.
Definition: adas1000.c:195
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:121