47#define ADAS1000_COMM_WRITE 0x80
48#define ADAS1000_RDY_MASK 0x40
49#define ADAS1000_ALL_CH_MASK 0x00
50#define ADAS1000_WD_CNT_MASK 0x01
52#define ADAS1000_NOP 0x00
53#define ADAS1000_ECGCTL 0x01
54#define ADAS1000_LOFFCTL 0x02
55#define ADAS1000_RESPCTL 0x03
56#define ADAS1000_PACECTL 0x04
57#define ADAS1000_CMREFCTL 0x05
58#define ADAS1000_GPIOCTL 0x06
59#define ADAS1000_PACEAMPTH 0x07
60#define ADAS1000_TESTTONE 0x08
61#define ADAS1000_CALDAC 0x09
62#define ADAS1000_FRMCTL 0x0A
63#define ADAS1000_FILTCTL 0x0B
64#define ADAS1000_LOFFUTH 0x0C
65#define ADAS1000_LOFFLTH 0x0D
66#define ADAS1000_PACEEDGETH 0x0E
67#define ADAS1000_PACELVLTH 0x0F
68#define ADAS1000_LADATA 0x11
69#define ADAS1000_LLDATA 0x12
70#define ADAS1000_RADATA 0x13
71#define ADAS1000_V1DATA 0x14
72#define ADAS1000_V2DATA 0x15
73#define ADAS1000_PACEDATA 0x1A
74#define ADAS1000_RESPMAG 0x1B
75#define ADAS1000_RESPPH 0x1C
76#define ADAS1000_LOFF 0x1D
77#define ADAS1000_DCLEADSOFF 0x1E
78#define ADAS1000_EXTENDSW 0x20
79#define ADAS1000_CALLA 0x21
80#define ADAS1000_CALLL 0x22
81#define ADAS1000_CALRA 0x23
82#define ADAS1000_CALV1 0x24
83#define ADAS1000_CALV2 0x25
84#define ADAS1000_LOAMLA 0x31
85#define ADAS1000_LOAMLL 0x32
86#define ADAS1000_LOAMRA 0x33
87#define ADAS1000_LOAMV1 0x34
88#define ADAS1000_LOAMV2 0x35
89#define ADAS1000_PACE1_DATA 0x3A
90#define ADAS1000_PACE2_DATA 0x3B
91#define ADAS1000_PACE3_DATA 0x3C
92#define ADAS1000_FRAMES 0x40
93#define ADAS1000_CRC 0x41
100#define ADAS1000_ECGCTL_LAEN (1ul << 23)
103#define ADAS1000_ECGCTL_LLEN (1ul << 22)
106#define ADAS1000_ECGCTL_RAEN (1ul << 21)
109#define ADAS1000_ECGCTL_V1EN (1ul << 20)
112#define ADAS1000_ECGCTL_V2EN (1ul << 19)
116#define ADAS1000_ECGCTL_CHCONFIG (1ul << 10)
120#define ADAS1000_ECGCTL_GAIN (1ul << 8)
123#define ADAS1000_ECGCTL_VREFBUF (1ul << 7)
128#define ADAS1000_ECGCTL_CLKEXT (1ul << 6)
132#define ADAS1000_ECGCTL_MASTER (1ul << 5)
135#define ADAS1000_ECGCTL_GANG (1ul << 4)
139#define ADAS1000_ECGCTL_HP (1ul << 3)
142#define ADAS1000_ECGCTL_CNVEN (1ul << 2)
146#define ADAS1000_ECGCTL_PWREN (1ul << 1)
151#define ADAS1000_ECGCTL_SWRST (1ul << 0)
156#define ADAS1000_LOFFCTL_LAPH (1ul << 23)
158#define ADAS1000_LOFFCTL_LLPH (1ul << 22)
160#define ADAS1000_LOFFCTL_RAPH (1ul << 21)
162#define ADAS1000_LOFFCTL_V1PH (1ul << 20)
164#define ADAS1000_LOFFCTL_V2PH (1ul << 19)
166#define ADAS1000_LOFFCTL_CEPH (1ul << 18)
170#define ADAS1000_LOFFCTL_LAACLOEN (1ul << 17)
174#define ADAS1000_LOFFCTL_LLACLOEN (1ul << 16)
178#define ADAS1000_LOFFCTL_RAACLOEN (1ul << 15)
182#define ADAS1000_LOFFCTL_V1ACLOEN (1ul << 14)
186#define ADAS1000_LOFFCTL_V2ACLOEN (1ul << 13)
190#define ADAS1000_LOFFCTL_CEACLOEN (1ul << 12)
194#define ADAS1000_LOFFCTL_ACCURREN (1ul << 7)
198#define ADAS1000_LOFFCTL_DCCURRENT (1ul << 2)
204#define ADAS1000_LOFFCTL_ACSEL (1ul << 1)
207#define ADAS1000_LOFFCTL_LOFFEN (1ul << 0)
216#define ADAS1000_RESPCTL_RESPEXTSYNC (1ul << 15)
220#define ADAS1000_RESPCTL_RESPEXTAMP (1ul << 14)
223#define ADAS1000_RESPCTL_RESPOUT (1ul << 13)
226#define ADAS1000_RESPCTL_RESPCAP (1ul << 12)
231#define ADAS1000_RESPCTL_RESPGAIN (1ul << 8)
235#define ADAS1000_RESPCTL_RESPEXTSEL (1ul << 7)
239#define ADAS1000_RESPCTL_RESPSEL (1ul << 5)
243#define ADAS1000_RESPCTL_RESPAMP (1ul << 3)
246#define ADAS1000_RESPCTL_RESPFREQ (1ul << 1)
249#define ADAS1000_RESPCTL_RESPEN (1ul << 0)
251#define ADAS1000_RESPCTL_RESPGAIN_MASK (0x0000000Ful << 8)
252#define ADAS1000_RESPCTL_RESPSEL_MASK (0x00000003ul << 5)
259#define ADAS1000_PACECTL_PACEFILTW (1ul << 11)
262#define ADAS1000_PACECTL_PACETFILT2 (1ul << 10)
265#define ADAS1000_PACECTL_PACETFILT1 (1ul << 9)
268#define ADAS1000_PACECTL_PACE3SEL (1ul << 7)
271#define ADAS1000_PACECTL_PACE2SEL (1ul << 5)
274#define ADAS1000_PACECTL_PACE1SEL (1ul << 3)
277#define ADAS1000_PACECTL_PACE3EN (1ul << 2)
280#define ADAS1000_PACECTL_PACE2EN (1ul << 1)
283#define ADAS1000_PACECTL_PACE1EN (1ul << 0)
284#define ADAS1000_PACECTL_PACE3SEL_MASK (0x00000003ul << 7)
285#define ADAS1000_PACECTL_PACE2SEL_MASK (0x00000003ul << 5)
286#define ADAS1000_PACECTL_PACE1SEL_MASK (0x00000003ul << 3)
292#define ADAS1000_CMREFCTL_LACM (1ul << 23)
294#define ADAS1000_CMREFCTL_LLCM (1ul << 22)
296#define ADAS1000_CMREFCTL_RACM (1ul << 21)
298#define ADAS1000_CMREFCTL_V1CM (1ul << 20)
304#define ADAS1000_CMREFCTL_V2CM (1ul << 19)
308#define ADAS1000_CMREFCTL_LARLD (1ul << 14)
312#define ADAS1000_CMREFCTL_LLRLD (1ul << 13)
316#define ADAS1000_CMREFCTL_RARLD (1ul << 12)
320#define ADAS1000_CMREFCTL_V1RLD (1ul << 11)
324#define ADAS1000_CMREFCTL_V2RLD (1ul << 10)
328#define ADAS1000_CMREFCTL_CERLD (1ul << 9)
332#define ADAS1000_CMREFCTL_CEREFEN (1ul << 8)
337#define ADAS1000_CMREFCTL_RLDSEL (1ul << 4)
343#define ADAS1000_CMREFCTL_DRVCM (1ul << 3)
348#define ADAS1000_CMREFCTL_EXTCM (1ul << 2)
352#define ADAS1000_CMREFCTL_RLD_EN (1ul << 1)
356#define ADAS1000_CMREFCTL_SHLDEN (1ul << 0)
358#define ADAS1000_CMREFCTL_RLDSEL_MASK (0x0000000Ful << 4)
366#define ADAS1000_GPIOCTL_SPIFW (1ul << 18)
373#define ADAS1000_GPIOCTL_SPIEN (1ul << 16)
377#define ADAS1000_GPIOCTL_G3CTL (1ul << 14)
382#define ADAS1000_GPIOCTL_G3OUT (1ul << 13)
386#define ADAS1000_GPIOCTL_G3IN (1ul << 12)
390#define ADAS1000_GPIOCTL_G2CTL (1ul << 10)
395#define ADAS1000_GPIOCTL_G2OUT (1ul << 9)
399#define ADAS1000_GPIOCTL_G2IN (1ul << 8)
403#define ADAS1000_GPIOCTL_G1CTL (1ul << 6)
408#define ADAS1000_GPIOCTL_G1OUT (1ul << 5)
412#define ADAS1000_GPIOCTL_G1IN (1ul << 4)
416#define ADAS1000_GPIOCTL_G0CTL (1ul << 2)
421#define ADAS1000_GPIOCTL_G0OUT (1ul << 1)
426#define ADAS1000_GPIOCTL_G0IN (1ul << 0)
427#define ADAS1000_GPIOCTL_G3CTL_MASK (0x00000003ul << 14)
428#define ADAS1000_GPIOCTL_G2CTL_MASK (0x00000003ul << 10)
429#define ADAS1000_GPIOCTL_G1CTL_MASK (0x00000003ul << 6)
430#define ADAS1000_GPIOCTL_G0CTL_MASK (0x00000003ul << 2)
436#define ADAS1000_PACEAMPTH_PACE3AMPTH (1ul << 16)
438#define ADAS1000_PACEAMPTH_PACE2AMPTH (1ul << 8)
439#define ADAS1000_PACEAMPTH_PACE1AMPTH (1ul << 0)
441#define ADAS1000_PACEAMPTH_PACE3AMPTH_MASK (0x000000FFul << 16)
442#define ADAS1000_PACEAMPTH_PACE2AMPTH_MASK (0x000000FFul << 8)
443#define ADAS1000_PACEAMPTH_PACE1AMPTH_MASK (0x000000FFul << 0)
449#define ADAS1000_TESTTONE_TONLA (1ul << 23)
451#define ADAS1000_TESTTONE_TONLL (1ul << 22)
453#define ADAS1000_TESTTONE_TONRA (1ul << 21)
454#define ADAS1000_TESTTONE_TONV1 (1ul << 20)
455#define ADAS1000_TESTTONE_TONV2 (1ul << 19)
459#define ADAS1000_TESTTONE_TONTYPE (1ul << 3)
463#define ADAS1000_TESTTONE_TONINT (1ul << 2)
467#define ADAS1000_TESTTONE_TONOUT (1ul << 1)
474#define ADAS1000_TESTTONE_TONEN (1ul << 0)
476#define ADAS1000_TESTTONE_TONTYPE_MASK (0x00000003ul << 3)
485#define ADAS1000_CALDAC_CALCHPEN (1ul << 13)
490#define ADAS1000_CALDAC_CALMODEEN (1ul << 12)
496#define ADAS1000_CALDAC_CALINT (1ul << 11)
504#define ADAS1000_CALDAC_CALDACEN (1ul << 10)
506#define ADAS1000_CALDAC_CALDATA (1ul << 0)
508#define ADAS1000_CALDAC_CALDATA_MASK (0x000003FFul << 0)
518#define ADAS1000_FRMCTL_LEAD_I_LADIS (1ul << 23)
519#define ADAS1000_FRMCTL_LEAD_II_LLDIS (1ul << 22)
520#define ADAS1000_FRMCTL_LEAD_III_RADIS (1ul << 21)
521#define ADAS1000_FRMCTL_V1DIS (1ul << 20)
522#define ADAS1000_FRMCTL_V2DIS (1ul << 19)
526#define ADAS1000_FRMCTL_PACEDIS (1ul << 14)
530#define ADAS1000_FRMCTL_RESPMDIS (1ul << 13)
534#define ADAS1000_FRMCTL_RESPPHDIS (1ul << 12)
538#define ADAS1000_FRMCTL_LOFFDIS (1ul << 11)
542#define ADAS1000_FRMCTL_GPIODIS (1ul << 10)
546#define ADAS1000_FRMCTL_CRCDIS (1ul << 9)
553#define ADAS1000_FRMCTL_SIGNEDEN (1ul << 8)
558#define ADAS1000_FRMCTL_ADIS (1ul << 7)
564#define ADAS1000_FRMCTL_RDYRPT (1ul << 6)
569#define ADAS1000_FRMCTL_DATAFMT (1ul << 4)
574#define ADAS1000_FRMCTL_SKIP (1ul << 2)
576#define ADAS1000_FRMCTL_FRMRATE_2KHZ 0x00
578#define ADAS1000_FRMCTL_FRMRATE_16KHZ 0x01
580#define ADAS1000_FRMCTL_FRMRATE_128KHZ 0x10
582#define ADAS1000_FRMCTL_FRMRATE_31_25HZ 0x11
584#define ADAS1000_FRMCTL_WORD_MASK (ADAS1000_FRMCTL_LEAD_I_LADIS | \
585 ADAS1000_FRMCTL_LEAD_II_LLDIS | \
586 ADAS1000_FRMCTL_LEAD_III_RADIS | \
587 ADAS1000_FRMCTL_V1DIS | \
588 ADAS1000_FRMCTL_V2DIS | \
589 ADAS1000_FRMCTL_PACEDIS | \
590 ADAS1000_FRMCTL_RESPMDIS | \
591 ADAS1000_FRMCTL_RESPPHDIS | \
592 ADAS1000_FRMCTL_LOFFDIS | \
593 ADAS1000_FRMCTL_GPIODIS | \
594 ADAS1000_FRMCTL_CRCDIS)
584#define ADAS1000_FRMCTL_WORD_MASK (ADAS1000_FRMCTL_LEAD_I_LADIS | \ …
595#define ADAS1000_FRMCTL_SKIP_MASK (0x00000003ul << 2)
596#define ADAS1000_FRMCTL_FRMRATE_MASK (0x00000003ul << 0)
604#define ADAS1000_FILTCTL_MN2K (1ul << 5)
608#define ADAS1000_FILTCTL_N2KBP (1ul << 4)
613#define ADAS1000_FILTCTL_LPF (1ul << 2)
615#define ADAS1000_FILTCTL_LPF_MASK (0x00000003ul << 2)
629#define ADAS1000_LOFFUTH_ADCOVER (1ul << 16)
632#define ADAS1000_LOFFUTH_LOFFUTH (1ul << 0)
634#define ADAS1000_LOFFUTH_ADCOVER_MASK (0x0000000Ful << 16)
635#define ADAS1000_LOFFUTH_LOFFUTH_MASK (0x0000FFFFul << 0)
648#define ADAS1000_LOFFLTH_ADCUNDR (1ul << 16)
651#define ADAS1000_LOFFLTH_LOFFLTH (1ul << 0)
653#define ADAS1000_LOFFLTH_ADCUNDR_MASK (0x0000000Ful << 16)
654#define ADAS1000_LOFFLTH_LOFFLTH_MASK (0x0000FFFFul << 0)
660#define ADAS1000_PACEEDGETH_PACE3EDGTH (1ul << 16)
662#define ADAS1000_PACEEDGETH_PACE2EDGTH (1ul << 8)
664#define ADAS1000_PACEEDGETH_PACE1EDGTH (1ul << 0)
667#define ADAS1000_PACEEDGETH_PACE3EDGTH_MASK (0x000000FFul << 16)
668#define ADAS1000_PACEEDGETH_PACE2EDGTH_MASK (0x000000FFul << 8)
669#define ADAS1000_PACEEDGETH_PACE1EDGTH_MASK (0x000000FFul << 0)
675#define ADAS1000_PACELVLTH_PACE3LVLTH (1ul << 16)
677#define ADAS1000_PACELVLTH_PACE2LVLTH (1ul << 8)
679#define ADAS1000_PACELVLTH_PACE1LVLTH (1ul << 0)
683#define ADAS1000_PACELVLTH_PACE3LVLTH_MASK (0x000000FFul << 16)
684#define ADAS1000_PACELVLTH_PACE2LVLTH_MASK (0x000000FFul << 8)
685#define ADAS1000_PACELVLTH_PACE1LVLTH_MASK (0x000000FFul << 0)
695#define ADAS1000_LADATA_ADDRESS (1ul << 24)
712#define ADAS1000_LADATA_ECG_DATA (1ul << 0)
713#define ADAS1000_LADATA_ADDRESS_MASK (0x000000FFul << 24)
714#define ADAS1000_LADATA_ECG_DATA_MASK (0x00FFFFFFul << 0)
720#define ADAS1000_PACEDATA_ADDRESS (1ul << 24)
725#define ADAS1000_PACEDATA_PACE3_DETECTED (1ul << 23)
728#define ADAS1000_PACEDATA_PACE_CH3_HEIGHT (1ul << 16)
731#define ADAS1000_PACEDATA_PACE_CH3_WIDTH (1ul << 20)
736#define ADAS1000_PACEDATA_PACE2_DETECTED (1ul << 15)
739#define ADAS1000_PACEDATA_PACE_CH2_WIDTH (1ul << 12)
742#define ADAS1000_PACEDATA_PACE_CH2_HEIGHT (1ul << 8)
747#define ADAS1000_PACEDATA_PACE1_DETECTED (1ul << 7)
750#define ADAS1000_PACEDATA_PACE_CH1_WIDTH (1ul << 4)
753#define ADAS1000_PACEDATA_CH1_HEIGHT (1ul << 0)
755#define ADAS1000_PACEDATA_ADDRESS_MASK (0x000000FFul << 24)
756#define ADAS1000_PACEDATA_PACE_CH3_WIDTH_MASK (0x00000007ul << 20)
757#define ADAS1000_PACEDATA_PACE_CH3_HEIGHT_MASK (0x0000000Ful << 16)
758#define ADAS1000_PACEDATA_PACE_CH2_WIDTH_MASK (0x00000007ul << 12)
759#define ADAS1000_PACEDATA_PACE_CH2_HEIGHT_MASK (0x0000000Ful << 8)
760#define ADAS1000_PACEDATA_PACE_CH1_WIDTH_MASK (0x00000007ul << 4)
761#define ADAS1000_PACEDATA_PACE_CH1_HEIGHT_MASK (0x0000000Ful << 0)
767#define ADAS1000_RESPMAG_ADDRESS (1ul << 24)
769#define ADAS1000_RESPMAG_MAGNITUDE (1ul << 0)
771#define ADAS1000_RESPMAG_ADDRESS_MASK (0x000000FFul << 24)
772#define ADAS1000_RESPMAG_MAGNITUDE_MASK (0x00FFFFFFul << 0)
778#define ADAS1000_RESPPH_ADDRESS (1ul << 24)
788#define ADAS1000_RESPPH_PHASE (1ul << 0)
790#define ADAS1000_RESPPH_ADDRESS_MASK (0x000000FFul << 24)
791#define ADAS1000_RESPPH_PHASE_MASK (0x00FFFFFFul << 0)
797#define ADAS1000_LOFF_ADDRESS (1ul << 24)
810#define ADAS1000_LOFF_RL_LEADS_OFF_STATUS (1ul << 23)
811#define ADAS1000_LOFF_LA_LEADS_OFF_STATUS (1ul << 22)
812#define ADAS1000_LOFF_LL_LEADS_OFF_STATUS (1ul << 21)
813#define ADAS1000_LOFF_RA_LEADS_OFF_STATUS (1ul << 20)
814#define ADAS1000_LOFF_V1_LEADS_OFF_STATUS (1ul << 19)
815#define ADAS1000_LOFF_V2_LEADS_OFF_STATUS (1ul << 18)
816#define ADAS1000_LOFF_CELO (1ul << 13)
821#define ADAS1000_LOFF_LAADCOR (1ul << 12)
822#define ADAS1000_LOFF_LLADCOR (1ul << 11)
823#define ADAS1000_LOFF_RAADCOR (1ul << 10)
824#define ADAS1000_LOFF_V1ADCOR (1ul << 9)
825#define ADAS1000_LOFF_V2ADCOR (1ul << 8)
827#define ADAS1000_LOFF_ADDRESS_MASK (0x000000FFul << 24)
833#define ADAS1000_DCLEADSOFF_ADDRESS (1ul << 24)
839#define ADAS1000_DCLEADSOFF_RL_INPUT_OVERRANGE (1ul << 23)
840#define ADAS1000_DCLEADSOFF_LA_INPUT_OVERRANGE (1ul << 22)
841#define ADAS1000_DCLEADSOFF_LL_INPUT_OVERRANGE (1ul << 21)
842#define ADAS1000_DCLEADSOFF_RA_INPUT_OVERRANGE (1ul << 20)
843#define ADAS1000_DCLEADSOFF_CE_INPUT_OVERRANGE (1ul << 13)
850#define ADAS1000_DCLEADSOFF_RL_INPUT_UNDERRANGE (1ul << 12)
851#define ADAS1000_DCLEADSOFF_LA_INPUT_UNDERRANGE (1ul << 11)
852#define ADAS1000_DCLEADSOFF_LL_INPUT_UNDERRANGE (1ul << 10)
853#define ADAS1000_DCLEADSOFF_RA_INPUT_UNDERRANGE (1ul << 9)
854#define ADAS1000_DCLEADSOFF_CE_INPUT_UNDERRANGE (1ul << 2)
856#define ADAS1000_DCLEADSOFF_ADDRESS_MASK (0x000000FFul << 24)
865#define ADAS1000_EXTENDSW_EXTRESP_RA_LA (1ul << 23)
866#define ADAS1000_EXTENDSW_EXTRESP_RA_LL (1ul << 22)
867#define ADAS1000_EXTENDSW_EXTRESP_RA_RA (1ul << 21)
868#define ADAS1000_EXTENDSW_EXTRESP_RA_V1 (1ul << 20)
869#define ADAS1000_EXTENDSW_EXTRESP_RA_V2 (1ul << 19)
870#define ADAS1000_EXTENDSW_EXTRESP_LL_LA (1ul << 18)
871#define ADAS1000_EXTENDSW_EXTRESP_LL_LL (1ul << 17)
872#define ADAS1000_EXTENDSW_EXTRESP_LL_RA (1ul << 16)
873#define ADAS1000_EXTENDSW_EXTRESP_LL_V1 (1ul << 15)
874#define ADAS1000_EXTENDSW_EXTRESP_LL_V2 (1ul << 14)
875#define ADAS1000_EXTENDSW_EXTRESP_LA_LA (1ul << 13)
876#define ADAS1000_EXTENDSW_EXTRESP_LA_LL (1ul << 12)
877#define ADAS1000_EXTENDSW_EXTRESP_LA_RA (1ul << 11)
878#define ADAS1000_EXTENDSW_EXTRESP_LA_V1 (1ul << 10)
879#define ADAS1000_EXTENDSW_EXTRESP_LA_V2 (1ul << 9)
890#define ADAS1000_EXTENDSW_FREE_V1 (1ul << 8)
891#define ADAS1000_EXTENDSW_FREE_V2 (1ul << 7)
899#define ADAS1000_EXTENDSW_NOMATH_V1 (1ul << 6)
900#define ADAS1000_EXTENDSW_NOMATH_V2 (1ul << 5)
910#define ADAS1000_CAL_ADDRESS (1ul << 24)
914#define ADAS1000_CAL_USRCAL (1ul << 23)
925#define ADAS1000_CAL_CALVALUE (1ul << 0)
927#define ADAS1000_CAL_ADDRESS_MASK (0x000000FFul << 24)
928#define ADAS1000_CAL_CALVALUE_MASK (0x00000FFFul << 0)
938#define ADAS1000_LOAM_ADDRESS (1ul << 24)
949#define ADAS1000_LOAM_LOFFAM (1ul << 0)
951#define ADAS1000_LOAM_ADDRESS_MASK (0x000000FFul << 24)
952#define ADAS1000_LOAM_LOFFAM_MASK (0x0000FFFFul << 0)
960#define ADAS1000_PACE_DATA_ADDRESS (1ul << 24)
965#define ADAS1000_PACE_DATA_HEIGHT (1ul << 8)
970#define ADAS1000_PACE_DATA_WIDTH (1ul << 0)
972#define ADAS1000_PACE_DATA_ADDRESS_MASK (0x000000FFul << 24)
973#define ADAS1000_PACE_DATA_HEIGHT_MASK (0x0000FFFFul << 8)
974#define ADAS1000_PACE_DATA_WIDTH_MASK (0x000000FFul << 0)
980#define ADAS1000_FRAMES_MARKER (1ul << 31)
985#define ADAS1000_FRAMES_READY_BIT (1ul << 30)
997#define ADAS1000_FRAMES_OVERFLOW (1ul << 28)
1001#define ADAS1000_FRAMES_FAULT (1ul << 27)
1006#define ADAS1000_FRAMES_PACE3_DETECTED (1ul << 26)
1011#define ADAS1000_FRAMES_PACE2_DETECTED (1ul << 25)
1016#define ADAS1000_FRAMES_PACE1_DETECTED (1ul << 24)
1019#define ADAS1000_FRAMES_RESPIRATION (1ul << 23)
1026#define ADAS1000_FRAMES_LEADS_OFF_DETECTED (1ul << 22)
1029#define ADAS1000_FRAMES_DC_LEADS_OFF_DETECTED (1ul << 21)
1032#define ADAS1000_FRAMES_ADC_OUT_OF_RANGE (1ul << 20)
1037#define ADAS1000_CRC_MASK (0x00FFFFFF << 0)
1042#define ADAS1000_31_25HZ_FRAME_RATE 3125
1043#define ADAS1000_2KHZ_FRAME_RATE 2000
1044#define ADAS1000_16KHZ_FRAME_RATE 16000
1045#define ADAS1000_128KHZ_FRAME_RATE 128000
1047#define ADAS1000_31_25HZ_WORD_SIZE 32
1048#define ADAS1000_2KHZ_WORD_SIZE 32
1049#define ADAS1000_16KHZ_WORD_SIZE 32
1050#define ADAS1000_128KHZ_WORD_SIZE 16
1052#define ADAS1000_31_25HZ_FRAME_SIZE 12
1053#define ADAS1000_2KHZ_FRAME_SIZE 12
1054#define ADAS1000_16KHZ_FRAME_SIZE 12
1055#define ADAS1000_128KHZ_FRAME_SIZE 15
1060#define CRC_POLY_2KHZ_16KHZ 0x005D6DCBul
1061#define CRC_CHECK_CONST_2KHZ_16KHZ 0x0015A0BAul
1063#define CRC_POLY_128KHZ 0x00001021ul
1064#define CRC_CHECK_CONST_128KHz 0x00001D0Ful
1100 uint32_t *spi_freq);
1108 uint32_t *reg_data);
1122 uint32_t words_mask);
1129 uint32_t frame_cnt,
struct read_param *read_data_param);
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
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:232
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:318
int32_t adas1000_read(struct adas1000_dev *device, uint8_t reg_addr, uint32_t *reg_data)
Read device register.
Definition adas1000.c:134
int32_t adas1000_write(struct adas1000_dev *device, uint8_t reg_addr, uint32_t reg_data)
Write device register.
Definition adas1000.c:163
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:87
int32_t adas1000_soft_reset(struct adas1000_dev *device)
Software reset of the device.
Definition adas1000.c:182
int32_t adas1000_set_frame_rate(struct adas1000_dev *device, uint32_t rate)
Sets the frame rate.
Definition adas1000.c:270
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:49
uint32_t adas1000_compute_frame_crc(struct adas1000_dev *device, uint8_t *buff)
Computes the CRC for a frame.
Definition adas1000.c:395
int32_t adas1000_compute_frame_size(struct adas1000_dev *device)
Compute frame size.
Definition adas1000.c:199
Header file of SPI Interface.
Definition adas1000.h:1066
struct no_os_spi_desc * spi_desc
Definition adas1000.h:1068
uint32_t inactive_words_no
Definition adas1000.h:1074
uint32_t frame_size
Definition adas1000.h:1070
uint32_t frame_rate
Definition adas1000.h:1072
Definition adas1000.h:1077
struct no_os_spi_init_param spi_init
Definition adas1000.h:1079
uint32_t frame_rate
Definition adas1000.h:1081
Definition ad9361_util.h:63
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128
Definition adas1000.h:1084
bool stop_read
Definition adas1000.h:1089
bool start_read
Definition adas1000.h:1086
bool ready_repeat
Definition adas1000.h:1095
bool wait_for_ready
Definition adas1000.h:1092