ISSDK  1.8
IoT Sensing Software Development Kit
fxpq3115.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016, Freescale Semiconductor, Inc.
3  * Copyright 2016-2017 NXP
4  * All rights reserved.
5  *
6  * SPDX-License-Identifier: BSD-3-Clause
7  */
8 #ifndef FXPQ3115_H_
9 #define FXPQ3115_H_
10 
11 /**
12  **
13  ** FXPQ3115 Sensor Internal Registers
14  */
15 enum {
62 };
63 
64 #define FXPQ3115_I2C_ADDRESS (0x60) /* FXPQ3115BV I2C Slave Address. */
65 #define FXPQ3115_WHOAMI_VALUE (0xC5) /* FXPQ3115BV WHO_AM_I Value. */
66 
67 
68 /*--------------------------------
69 ** Register: STATUS
70 ** Enum: FXPQ3115_STATUS
71 ** --
72 ** Offset : 0x00 - Alias for DR_STATUS or F_STATUS.
73 ** ------------------------------*/
74 typedef uint8_t FXPQ3115_STATUS_t;
75 
76 
77 
78 /*--------------------------------
79 ** Register: OUT_P_MSB
80 ** Enum: FXPQ3115_OUT_P_MSB
81 ** --
82 ** Offset : 0x01 - Bits 12-19 of 20-bit real-time Pressure sample.
83 ** ------------------------------*/
84 typedef uint8_t FXPQ3115_OUT_P_MSB_t;
85 
86 
87 /*--------------------------------
88 ** Register: OUT_P_CSB
89 ** Enum: FXPQ3115_OUT_P_CSB
90 ** --
91 ** Offset : 0x02 - Bits 4-11 of 20-bit real-time Pressure sample.
92 ** ------------------------------*/
93 typedef uint8_t FXPQ3115_OUT_P_CSB_t;
94 
95 
96 /*--------------------------------
97 ** Register: OUT_P_LSB
98 ** Enum: FXPQ3115_OUT_P_LSB
99 ** --
100 ** Offset : 0x03 - Bits 0-3 of 20-bit real-time Pressure sample.
101 ** ------------------------------*/
102 typedef union {
103  struct {
104  uint8_t _reserved_ : 4;
105  uint8_t pd : 4; /* - 20-bit pressure sample measurement data bits 3:0 */
106 
107  } b;
108  uint8_t w;
110 
111 
112 /*
113 ** OUT_P_LSB - Bit field mask definitions
114 */
115 #define FXPQ3115_OUT_P_LSB_PD_MASK ((uint8_t) 0xF0)
116 #define FXPQ3115_OUT_P_LSB_PD_SHIFT ((uint8_t) 4)
117 
118 
119 /*------------------------------*/
120 
121 
122 
123 /*--------------------------------
124 ** Register: OUT_T_MSB
125 ** Enum: FXPQ3115_OUT_T_MSB
126 ** --
127 ** Offset : 0x04 - Bits 4-11 of 12-bit real-time Temperature sample.
128 ** ------------------------------*/
129 typedef uint8_t FXPQ3115_OUT_T_MSB_t;
130 
131 
132 /*--------------------------------
133 ** Register: OUT_T_LSB
134 ** Enum: FXPQ3115_OUT_T_LSB
135 ** --
136 ** Offset : 0x05 - Bits 0-3 of 12-bit real-time Temperature sample.
137 ** ------------------------------*/
138 typedef union {
139  struct {
140  uint8_t _reserved_ : 4;
141  uint8_t pd : 4; /* - 12-bit temperature sample measurement data bits 3:0 */
142 
143  } b;
144  uint8_t w;
146 
147 
148 /*
149 ** OUT_T_LSB - Bit field mask definitions
150 */
151 #define FXPQ3115_OUT_T_LSB_PD_MASK ((uint8_t) 0xF0)
152 #define FXPQ3115_OUT_T_LSB_PD_SHIFT ((uint8_t) 4)
153 
154 
155 /*------------------------------*/
156 
157 
158 
159 /*--------------------------------
160 ** Register: DR_STATUS
161 ** Enum: FXPQ3115_DR_STATUS
162 ** --
163 ** Offset : 0x06 - Data-ready status information
164 ** ------------------------------*/
165 typedef union {
166  struct {
167  uint8_t _reserved_ : 1;
168  uint8_t tdr : 1; /* Temperature new Data Available. */
169 
170  uint8_t pdr : 1; /* Pressure/Altitude new data available. */
171 
172  uint8_t ptdr : 1; /* Pressure/Altitude OR Temperature data ready. */
173 
174  uint8_t _reserved_1 : 1;
175  uint8_t tow : 1; /* Temperature data overwrite. */
176 
177  uint8_t pow : 1; /* Pressure/Altitude data overwrite. */
178 
179  uint8_t ptow : 1; /* Pressure/Altitude OR Temperature data overwrite. */
180 
181  } b;
182  uint8_t w;
184 
185 
186 /*
187 ** DR_STATUS - Bit field mask definitions
188 */
189 #define FXPQ3115_DR_STATUS_TDR_MASK ((uint8_t) 0x02)
190 #define FXPQ3115_DR_STATUS_TDR_SHIFT ((uint8_t) 1)
191 
192 #define FXPQ3115_DR_STATUS_PDR_MASK ((uint8_t) 0x04)
193 #define FXPQ3115_DR_STATUS_PDR_SHIFT ((uint8_t) 2)
194 
195 #define FXPQ3115_DR_STATUS_PTDR_MASK ((uint8_t) 0x08)
196 #define FXPQ3115_DR_STATUS_PTDR_SHIFT ((uint8_t) 3)
197 
198 #define FXPQ3115_DR_STATUS_TOW_MASK ((uint8_t) 0x20)
199 #define FXPQ3115_DR_STATUS_TOW_SHIFT ((uint8_t) 5)
200 
201 #define FXPQ3115_DR_STATUS_POW_MASK ((uint8_t) 0x40)
202 #define FXPQ3115_DR_STATUS_POW_SHIFT ((uint8_t) 6)
203 
204 #define FXPQ3115_DR_STATUS_PTOW_MASK ((uint8_t) 0x80)
205 #define FXPQ3115_DR_STATUS_PTOW_SHIFT ((uint8_t) 7)
206 
207 
208 /*
209 ** DR_STATUS - Bit field value definitions
210 */
211 #define FXPQ3115_DR_STATUS_TDR_DRDY ((uint8_t) 0x02) /* Set to 1 whenever a Temperature data acquisition */
212  /* is completed. Cleared anytime OUT_T_MSB register */
213  /* is read, when F_MODE is zero */
214 #define FXPQ3115_DR_STATUS_PDR_DRDY ((uint8_t) 0x04) /* Set to 1 whenever a new Pressure/Altitude data */
215  /* acquisition is completed. Cleared anytime */
216  /* OUT_P_MSB register is read, when F_MODE is zero */
217 #define FXPQ3115_DR_STATUS_PTDR_DRDY ((uint8_t) 0x08) /* Signals that a new acquisition for either */
218  /* Pressure/Altitude or Temperature is available. */
219  /* Cleared anytime OUT_P_MSB or OUT_T_MSB register is */
220  /* read, when F_MODE is zero */
221 #define FXPQ3115_DR_STATUS_TOW_OWR ((uint8_t) 0x20) /* Set to 1 whenever a new Temperature acquisition is */
222  /* completed before the retrieval of the previous */
223  /* data. When this occurs the previous data is */
224  /* overwritten. Cleared anytime OUT_T_MSB register is */
225  /* read, when F_MODE is zero */
226 #define FXPQ3115_DR_STATUS_POW_OWR ((uint8_t) 0x40) /* Set to 1 whenever a new Pressure/Altitude */
227  /* acquisition is completed before the retrieval of */
228  /* the previous data. When this occurs the previous */
229  /* data is overwritten. POW is cleared anytime */
230  /* OUT_P_MSB register is read, when F_MODE is zero */
231 #define FXPQ3115_DR_STATUS_PTOW_OWR ((uint8_t) 0x80) /* Set to 1 whenever new data is acquired before */
232  /* completing the retrieval of the previous set. This */
233  /* event occurs when the content of at least one data */
234  /* register (i.e. OUT_P, OUT_T) has been overwritten. */
235  /* PTOW is cleared when the high-bytes of the data */
236  /* (OUT_P_MSB or OUT_T_MSB) are read, when F_MODE is */
237  /* zero */
238 /*------------------------------*/
239 
240 
241 
242 /*--------------------------------
243 ** Register: OUT_P_DELTA_MSB
244 ** Enum: FXPQ3115_OUT_P_DELTA_MSB
245 ** --
246 ** Offset : 0x07 - Bits 12-19 of 20-bit Pressure change data.
247 ** ------------------------------*/
249 
250 
251 /*--------------------------------
252 ** Register: OUT_P_DELTA_CSB
253 ** Enum: FXPQ3115_OUT_P_DELTA_CSB
254 ** --
255 ** Offset : 0x08 - Bits 4-11 of 20-bit Pressure change data.
256 ** ------------------------------*/
258 
259 
260 /*--------------------------------
261 ** Register: OUT_P_DELTA_LSB
262 ** Enum: FXPQ3115_OUT_P_DELTA_LSB
263 ** --
264 ** Offset : 0x09 - Bits 0-3 of 20-bit Pressure change data.
265 ** ------------------------------*/
266 typedef union {
267  struct {
268  uint8_t _reserved_ : 4;
269  uint8_t pcd : 4; /* - 20-bit pressure change measurement data bits 3:0 */
270 
271  } b;
272  uint8_t w;
274 
275 
276 /*
277 ** OUT_P_DELTA_LSB - Bit field mask definitions
278 */
279 #define FXPQ3115_OUT_P_DELTA_LSB_PCD_MASK ((uint8_t) 0xF0)
280 #define FXPQ3115_OUT_P_DELTA_LSB_PCD_SHIFT ((uint8_t) 4)
281 
282 
283 /*------------------------------*/
284 
285 
286 
287 /*--------------------------------
288 ** Register: OUT_T_DELTA_MSB
289 ** Enum: FXPQ3115_OUT_T_DELTA_MSB
290 ** --
291 ** Offset : 0x0A - Bits 4-11 of 12-bit Temperature change data.
292 ** ------------------------------*/
294 
295 
296 /*--------------------------------
297 ** Register: OUT_T_DELTA_LSB
298 ** Enum: FXPQ3115_OUT_T_DELTA_LSB
299 ** --
300 ** Offset : 0x0B - Bits 0-3 of 12-bit Temperature change data.
301 ** ------------------------------*/
302 typedef union {
303  struct {
304  uint8_t _reserved_ : 4;
305  uint8_t tcd : 4; /* - 12-bit temperature change measurement data bits 3:0 */
306 
307  } b;
308  uint8_t w;
310 
311 
312 /*
313 ** OUT_T_DELTA_LSB - Bit field mask definitions
314 */
315 #define FXPQ3115_OUT_T_DELTA_LSB_TCD_MASK ((uint8_t) 0xF0)
316 #define FXPQ3115_OUT_T_DELTA_LSB_TCD_SHIFT ((uint8_t) 4)
317 
318 
319 /*------------------------------*/
320 
321 
322 
323 /*--------------------------------
324 ** Register: WHO_AM_I
325 ** Enum: FXPQ3115_WHO_AM_I
326 ** --
327 ** Offset : 0x0C - Fixed Device ID Number.
328 ** ------------------------------*/
329 typedef uint8_t FXPQ3115_WHO_AM_I_t;
330 
331 
332 
333 /*--------------------------------
334 ** Register: F_STATUS
335 ** Enum: FXPQ3115_F_STATUS
336 ** --
337 ** Offset : 0x0D - FIFO Status: No FIFO event detected.
338 ** ------------------------------*/
339 typedef union {
340  struct {
341  uint8_t f_cnt : 6; /* FIFO sample counter. F_CNT[5:0] bits indicate the number of samples */
342  /* currently stored in the FIFO buffer */
343 
344  uint8_t f_wmkf_flag : 1; /* FIFO Watermark event */
345 
346  uint8_t f_ovf : 1; /* FIFO overflow event. */
347 
348  } b;
349  uint8_t w;
351 
352 
353 /*
354 ** F_STATUS - Bit field mask definitions
355 */
356 #define FXPQ3115_F_STATUS_F_CNT_MASK ((uint8_t) 0x3F)
357 #define FXPQ3115_F_STATUS_F_CNT_SHIFT ((uint8_t) 0)
358 
359 #define FXPQ3115_F_STATUS_F_WMKF_FLAG_MASK ((uint8_t) 0x40)
360 #define FXPQ3115_F_STATUS_F_WMKF_FLAG_SHIFT ((uint8_t) 6)
361 
362 #define FXPQ3115_F_STATUS_F_OVF_MASK ((uint8_t) 0x80)
363 #define FXPQ3115_F_STATUS_F_OVF_SHIFT ((uint8_t) 7)
364 
365 
366 /*
367 ** F_STATUS - Bit field value definitions
368 */
369 #define FXPQ3115_F_STATUS_F_WMKF_FLAG_NOEVT ((uint8_t) 0x00) /* No FIFO watermark event detected. */
370 #define FXPQ3115_F_STATUS_F_WMKF_FLAG_EVTDET ((uint8_t) 0x40) /* FIFO Watermark event has been detected. */
371 #define FXPQ3115_F_STATUS_F_OVF_NOOVFL ((uint8_t) 0x00) /* No FIFO overflow events detected. */
372 #define FXPQ3115_F_STATUS_F_OVF_OVFLDET ((uint8_t) 0x80) /* FIFO Overflow event has been detected. */
373 /*------------------------------*/
374 
375 
376 
377 /*--------------------------------
378 ** Register: F_DATA
379 ** Enum: FXPQ3115_F_DATA
380 ** --
381 ** Offset : 0x0E - FIFO 8-bit data access.
382 ** ------------------------------*/
383 typedef uint8_t FXPQ3115_F_DATA_t;
384 
385 
386 
387 /*--------------------------------
388 ** Register: F_SETUP
389 ** Enum: FXPQ3115_F_SETUP
390 ** --
391 ** Offset : 0x0F - FIFO setup.
392 ** ------------------------------*/
393 typedef union {
394  struct {
395  uint8_t f_wmrk : 6; /* FIFO Event Sample Count Watermark. */
396 
397  uint8_t f_mode : 2; /* FIFO buffer overflow mode. */
398 
399  } b;
400  uint8_t w;
402 
403 
404 /*
405 ** F_SETUP - Bit field mask definitions
406 */
407 #define FXPQ3115_F_SETUP_F_WMRK_MASK ((uint8_t) 0x3F)
408 #define FXPQ3115_F_SETUP_F_WMRK_SHIFT ((uint8_t) 0)
409 
410 #define FXPQ3115_F_SETUP_F_MODE_MASK ((uint8_t) 0xC0)
411 #define FXPQ3115_F_SETUP_F_MODE_SHIFT ((uint8_t) 6)
412 
413 
414 /*
415 ** F_SETUP - Bit field value definitions
416 */
417 #define FXPQ3115_F_SETUP_F_MODE_FIFO_OFF ((uint8_t) 0x00) /* FIFO is disabled. */
418 #define FXPQ3115_F_SETUP_F_MODE_CIR_MODE ((uint8_t) 0x40) /* FIFO contains the most recent samples when */
419  /* overflowed (circular buffer). */
420 #define FXPQ3115_F_SETUP_F_MODE_STOP_MODE ((uint8_t) 0x80) /* FIFO stops accepting new samples when overflowed. */
421 /*------------------------------*/
422 
423 
424 
425 /*--------------------------------
426 ** Register: TIME_DLY
427 ** Enum: FXPQ3115_TIME_DLY
428 ** --
429 ** Offset : 0x10 - Time since FIFO overflow.
430 ** ------------------------------*/
431 typedef uint8_t FXPQ3115_TIME_DLY_t;
432 
433 
434 
435 /*--------------------------------
436 ** Register: SYSMOD
437 ** Enum: FXPQ3115_SYSMOD
438 ** --
439 ** Offset : 0x11 - Current system mode.
440 ** ------------------------------*/
441 typedef union {
442  struct {
443  uint8_t sysmod : 1; /* - System mode data bit 0. (Bits 7-1 are reserved, will always read 0.) */
444 
445  } b;
446  uint8_t w;
448 
449 
450 /*
451 ** SYSMOD - Bit field mask definitions
452 */
453 #define FXPQ3115_SYSMOD_SYSMOD_MASK ((uint8_t) 0x01)
454 #define FXPQ3115_SYSMOD_SYSMOD_SHIFT ((uint8_t) 0)
455 
456 
457 /*
458 ** SYSMOD - Bit field value definitions
459 */
460 #define FXPQ3115_SYSMOD_SYSMOD_STANDBY ((uint8_t) 0x00) /* STANDBY Mode. */
461 #define FXPQ3115_SYSMOD_SYSMOD_ACTIVE ((uint8_t) 0x01) /* ACTIVE Mode. */
462 /*------------------------------*/
463 
464 
465 
466 /*--------------------------------
467 ** Register: INT_SOURCE
468 ** Enum: FXPQ3115_INT_SOURCE
469 ** --
470 ** Offset : 0x12 - Interrupt status. The bits that are set (logic ‘1’) indicate which function has asserted its interrupt and conversely, bits that are cleared (logic ‘0’) indicate which function has not asserted its interrupt.
471 ** ------------------------------*/
472 typedef union {
473  struct {
474  uint8_t src_tchg : 1; /* Delta T interrupt status bit. */
475 
476  uint8_t src_pchg : 1; /* Delta P interrupt status bit. */
477 
478  uint8_t src_tth : 1; /* Temperature threshold interrupt. */
479 
480  uint8_t src_pth : 1; /* Altitude/Pressure threshold interrupt. */
481 
482  uint8_t src_tw : 1; /* Temperature alerter status bit near or equal to target temperature. */
483 
484  uint8_t src_pw : 1; /* Altitude/Pressure alerter status bit near or equal to target */
485  /* Pressure/Altitude. */
486 
487  uint8_t src_fifo : 1; /* FIFO interrupt status bit. */
488 
489  uint8_t src_drdy : 1; /* Data ready interrupt status bit. */
490 
491  } b;
492  uint8_t w;
494 
495 
496 /*
497 ** INT_SOURCE - Bit field mask definitions
498 */
499 #define FXPQ3115_INT_SOURCE_SRC_TCHG_MASK ((uint8_t) 0x01)
500 #define FXPQ3115_INT_SOURCE_SRC_TCHG_SHIFT ((uint8_t) 0)
501 
502 #define FXPQ3115_INT_SOURCE_SRC_PCHG_MASK ((uint8_t) 0x02)
503 #define FXPQ3115_INT_SOURCE_SRC_PCHG_SHIFT ((uint8_t) 1)
504 
505 #define FXPQ3115_INT_SOURCE_SRC_TTH_MASK ((uint8_t) 0x04)
506 #define FXPQ3115_INT_SOURCE_SRC_TTH_SHIFT ((uint8_t) 2)
507 
508 #define FXPQ3115_INT_SOURCE_SRC_PTH_MASK ((uint8_t) 0x08)
509 #define FXPQ3115_INT_SOURCE_SRC_PTH_SHIFT ((uint8_t) 3)
510 
511 #define FXPQ3115_INT_SOURCE_SRC_TW_MASK ((uint8_t) 0x10)
512 #define FXPQ3115_INT_SOURCE_SRC_TW_SHIFT ((uint8_t) 4)
513 
514 #define FXPQ3115_INT_SOURCE_SRC_PW_MASK ((uint8_t) 0x20)
515 #define FXPQ3115_INT_SOURCE_SRC_PW_SHIFT ((uint8_t) 5)
516 
517 #define FXPQ3115_INT_SOURCE_SRC_FIFO_MASK ((uint8_t) 0x40)
518 #define FXPQ3115_INT_SOURCE_SRC_FIFO_SHIFT ((uint8_t) 6)
519 
520 #define FXPQ3115_INT_SOURCE_SRC_DRDY_MASK ((uint8_t) 0x80)
521 #define FXPQ3115_INT_SOURCE_SRC_DRDY_SHIFT ((uint8_t) 7)
522 
523 
524 /*------------------------------*/
525 
526 
527 
528 /*--------------------------------
529 ** Register: PT_DATA_CFG
530 ** Enum: FXPQ3115_PT_DATA_CFG
531 ** --
532 ** Offset : 0x13 - Data event flag configuration.
533 ** ------------------------------*/
534 typedef union {
535  struct {
536  uint8_t tdefe : 1; /* Data event flag enable on new Temperature data. */
537 
538  uint8_t pdefe : 1; /* Data event flag enable on new Pressure/Altitude data. */
539 
540  uint8_t drem : 1; /* Data ready event mode. */
541 
542  } b;
543  uint8_t w;
545 
546 
547 /*
548 ** PT_DATA_CFG - Bit field mask definitions
549 */
550 #define FXPQ3115_PT_DATA_CFG_TDEFE_MASK ((uint8_t) 0x01)
551 #define FXPQ3115_PT_DATA_CFG_TDEFE_SHIFT ((uint8_t) 0)
552 
553 #define FXPQ3115_PT_DATA_CFG_PDEFE_MASK ((uint8_t) 0x02)
554 #define FXPQ3115_PT_DATA_CFG_PDEFE_SHIFT ((uint8_t) 1)
555 
556 #define FXPQ3115_PT_DATA_CFG_DREM_MASK ((uint8_t) 0x04)
557 #define FXPQ3115_PT_DATA_CFG_DREM_SHIFT ((uint8_t) 2)
558 
559 
560 /*
561 ** PT_DATA_CFG - Bit field value definitions
562 */
563 #define FXPQ3115_PT_DATA_CFG_TDEFE_DISABLED ((uint8_t) 0x00) /* Event detection disabled. */
564 #define FXPQ3115_PT_DATA_CFG_TDEFE_ENABLED ((uint8_t) 0x01) /* Event detection enabled. Raise event flag on new */
565  /* Temperature data. */
566 #define FXPQ3115_PT_DATA_CFG_PDEFE_DISABLED ((uint8_t) 0x00) /* Event detection disabled. */
567 #define FXPQ3115_PT_DATA_CFG_PDEFE_ENABLED ((uint8_t) 0x02) /* Event detection enabled. Raise event flag on new */
568  /* Pressure/Altitude data. */
569 #define FXPQ3115_PT_DATA_CFG_DREM_DISABLED ((uint8_t) 0x00) /* Event detection disabled. */
570 #define FXPQ3115_PT_DATA_CFG_DREM_ENABLED ((uint8_t) 0x04) /* Event detection enabled. Generate data ready */
571  /* event flag on new Pressure/Altitude or */
572  /* Temperature data. */
573 /*------------------------------*/
574 
575 
576 
577 /*--------------------------------
578 ** Register: BAR_IN_MSB
579 ** Enum: FXPQ3115_BAR_IN_MSB
580 ** --
581 ** Offset : 0x14 - Bits 8-15 of Barometric input for Altitude calculation.
582 ** ------------------------------*/
583 typedef uint8_t FXPQ3115_BAR_IN_MSB_t;
584 
585 
586 /*--------------------------------
587 ** Register: BAR_IN_LSB
588 ** Enum: FXPQ3115_BAR_IN_LSB
589 ** --
590 ** Offset : 0x15 - Bits 0-7 of Barometric input for Altitude calculation.
591 ** ------------------------------*/
592 typedef uint8_t FXPQ3115_BAR_IN_LSB_t;
593 
594 
595 
596 /*--------------------------------
597 ** Register: P_TGT_MSB
598 ** Enum: FXPQ3115_P_TGT_MSB
599 ** --
600 ** Offset : 0x16 - Bits 8-15 of Pressure/Altitude target value.
601 ** ------------------------------*/
602 typedef uint8_t FXPQ3115_P_TGT_MSB_t;
603 
604 
605 /*--------------------------------
606 ** Register: P_TGT_LSB
607 ** Enum: FXPQ3115_P_TGT_LSB
608 ** --
609 ** Offset : 0x17 - Bits 0-7 of Pressure/Altitude target value.
610 ** ------------------------------*/
611 typedef uint8_t FXPQ3115_P_TGT_LSB_t;
612 
613 
614 
615 /*--------------------------------
616 ** Register: T_TGT
617 ** Enum: FXPQ3115_T_TGT
618 ** --
619 ** Offset : 0x18 - Temperature target value.
620 ** ------------------------------*/
621 typedef uint8_t FXPQ3115_T_TGT_t;
622 
623 
624 
625 /*--------------------------------
626 ** Register: P_WND_MSB
627 ** Enum: FXPQ3115_P_WND_MSB
628 ** --
629 ** Offset : 0x19 - Bits 8-15 of Pressure/Altitude window value.
630 ** ------------------------------*/
631 typedef uint8_t FXPQ3115_P_WND_MSB_t;
632 
633 
634 /*--------------------------------
635 ** Register: P_WND_LSB
636 ** Enum: FXPQ3115_P_WND_LSB
637 ** --
638 ** Offset : 0x1A - Bits 0-7 of Pressure/Altitude window value.
639 ** ------------------------------*/
640 typedef uint8_t FXPQ3115_P_WND_LSB_t;
641 
642 
643 
644 /*--------------------------------
645 ** Register: T_WND
646 ** Enum: FXPQ3115_T_WND
647 ** --
648 ** Offset : 0x1B - Temperature window value.
649 ** ------------------------------*/
650 typedef uint8_t FXPQ3115_T_WND_t;
651 
652 
653 
654 /*--------------------------------
655 ** Register: P_MIN_MSB
656 ** Enum: FXPQ3115_P_MIN_MSB
657 ** --
658 ** Offset : 0x1C - Bits 12-19 of 20-bit Minimum Pressure/Altitude data.
659 ** ------------------------------*/
660 typedef uint8_t FXPQ3115_P_MIN_MSB_t;
661 
662 
663 /*--------------------------------
664 ** Register: P_MIN_CSB
665 ** Enum: FXPQ3115_P_MIN_CSB
666 ** --
667 ** Offset : 0x1D - Bits 4-11 of 20-bit Minimum Pressure/Altitude data.
668 ** ------------------------------*/
669 typedef uint8_t FXPQ3115_P_MIN_CSB_t;
670 
671 
672 /*--------------------------------
673 ** Register: P_MIN_LSB
674 ** Enum: FXPQ3115_P_MIN_LSB
675 ** --
676 ** Offset : 0x1E - Bits 0-3 of 20-bit Minimum Pressure/Altitude data.
677 ** ------------------------------*/
678 typedef union {
679  struct {
680  uint8_t _reserved_ : 4;
681  uint8_t minpad : 4; /* - 20-bit Minimum Pressure/Altitude data bits 3:0. */
682 
683  } b;
684  uint8_t w;
686 
687 
688 /*
689 ** P_MIN_LSB - Bit field mask definitions
690 */
691 #define FXPQ3115_P_MIN_LSB_MINPAD_MASK ((uint8_t) 0xF0)
692 #define FXPQ3115_P_MIN_LSB_MINPAD_SHIFT ((uint8_t) 4)
693 
694 
695 /*------------------------------*/
696 
697 
698 
699 /*--------------------------------
700 ** Register: T_MIN_MSB
701 ** Enum: FXPQ3115_T_MIN_MSB
702 ** --
703 ** Offset : 0x1F - Bits 4-11 of 12-bit Minimum Temperature data.
704 ** ------------------------------*/
705 typedef uint8_t FXPQ3115_T_MIN_MSB_t;
706 
707 
708 /*--------------------------------
709 ** Register: T_MIN_LSB
710 ** Enum: FXPQ3115_T_MIN_LSB
711 ** --
712 ** Offset : 0x20 - Bits 0-3 of 12-bit Minimum Temperature data.
713 ** ------------------------------*/
714 typedef union {
715  struct {
716  uint8_t _reserved_ : 4;
717  uint8_t mintd : 4; /* - 12-bit Minimum Temperature data bits 3:0. */
718 
719  } b;
720  uint8_t w;
722 
723 
724 /*
725 ** T_MIN_LSB - Bit field mask definitions
726 */
727 #define FXPQ3115_T_MIN_LSB_MINTD_MASK ((uint8_t) 0xF0)
728 #define FXPQ3115_T_MIN_LSB_MINTD_SHIFT ((uint8_t) 4)
729 
730 
731 /*------------------------------*/
732 
733 
734 
735 /*--------------------------------
736 ** Register: P_MAX_MSB
737 ** Enum: FXPQ3115_P_MAX_MSB
738 ** --
739 ** Offset : 0x21 - Bits 12-19 of 20-bit Maximum Pressure/Altitude data.
740 ** ------------------------------*/
741 typedef uint8_t FXPQ3115_P_MAX_MSB_t;
742 
743 
744 /*--------------------------------
745 ** Register: P_MAX_CSB
746 ** Enum: FXPQ3115_P_MAX_CSB
747 ** --
748 ** Offset : 0x22 - Bits 4-11 of 20-bit Maximum Pressure/Altitude data.
749 ** ------------------------------*/
750 typedef uint8_t FXPQ3115_P_MAX_CSB_t;
751 
752 
753 /*--------------------------------
754 ** Register: P_MAX_LSB
755 ** Enum: FXPQ3115_P_MAX_LSB
756 ** --
757 ** Offset : 0x23 - Bits 0-3 of 20-bit Maximum Pressure/Altitude data.
758 ** ------------------------------*/
759 typedef union {
760  struct {
761  uint8_t _reserved_ : 4;
762  uint8_t maxpad : 4; /* - 20-bit Maximum Pressure/Altitude data bits 3:0. */
763 
764  } b;
765  uint8_t w;
767 
768 
769 /*
770 ** P_MAX_LSB - Bit field mask definitions
771 */
772 #define FXPQ3115_P_MAX_LSB_MAXPAD_MASK ((uint8_t) 0xF0)
773 #define FXPQ3115_P_MAX_LSB_MAXPAD_SHIFT ((uint8_t) 4)
774 
775 
776 /*------------------------------*/
777 
778 
779 
780 /*--------------------------------
781 ** Register: T_MAX_MSB
782 ** Enum: FXPQ3115_T_MAX_MSB
783 ** --
784 ** Offset : 0x24 - Bits 4-11 of 12-bit Maximum Temperature data.
785 ** ------------------------------*/
786 typedef uint8_t FXPQ3115_T_MAX_MSB_t;
787 
788 
789 /*--------------------------------
790 ** Register: T_MAX_LSB
791 ** Enum: FXPQ3115_T_MAX_LSB
792 ** --
793 ** Offset : 0x25 - Bits 0-3 of 12-bit Maximum Temperature data.
794 ** ------------------------------*/
795 typedef union {
796  struct {
797  uint8_t _reserved_ : 4;
798  uint8_t maxtd : 4; /* - 12-bit Maximum Temperature data bits 3:0. */
799 
800  } b;
801  uint8_t w;
803 
804 
805 /*
806 ** T_MAX_LSB - Bit field mask definitions
807 */
808 #define FXPQ3115_T_MAX_LSB_MAXTD_MASK ((uint8_t) 0xF0)
809 #define FXPQ3115_T_MAX_LSB_MAXTD_SHIFT ((uint8_t) 4)
810 
811 
812 /*------------------------------*/
813 
814 
815 
816 /*--------------------------------
817 ** Register: CTRL_REG1
818 ** Enum: FXPQ3115_CTRL_REG1
819 ** --
820 ** Offset : 0x26 - Control Register 1: Modes, Oversampling.
821 ** ------------------------------*/
822 typedef union {
823  struct {
824  uint8_t sbyb : 1; /* Operation Mode. */
825 
826  uint8_t ost : 1; /* OST bit to initiate a measurement immediately, If the SBYB bit is set to */
827  /* active. */
828 
829  uint8_t rst : 1; /* Software Reset. This bit is used to activate the software reset. */
830 
831  uint8_t os : 3; /* Oversample Ratio. These bits select the oversampling ratio. */
832 
833  uint8_t raw : 1; /* RAW output mode. RAW bit will output ADC data with no post processing, */
834  /* except for oversampling. */
835 
836  uint8_t alt : 1; /* Altimeter-Barometer mode. */
837 
838  } b;
839  uint8_t w;
841 
842 
843 /*
844 ** CTRL_REG1 - Bit field mask definitions
845 */
846 #define FXPQ3115_CTRL_REG1_SBYB_MASK ((uint8_t) 0x01)
847 #define FXPQ3115_CTRL_REG1_SBYB_SHIFT ((uint8_t) 0)
848 
849 #define FXPQ3115_CTRL_REG1_OST_MASK ((uint8_t) 0x02)
850 #define FXPQ3115_CTRL_REG1_OST_SHIFT ((uint8_t) 1)
851 
852 #define FXPQ3115_CTRL_REG1_RST_MASK ((uint8_t) 0x04)
853 #define FXPQ3115_CTRL_REG1_RST_SHIFT ((uint8_t) 2)
854 
855 #define FXPQ3115_CTRL_REG1_OS_MASK ((uint8_t) 0x38)
856 #define FXPQ3115_CTRL_REG1_OS_SHIFT ((uint8_t) 3)
857 
858 #define FXPQ3115_CTRL_REG1_RAW_MASK ((uint8_t) 0x40)
859 #define FXPQ3115_CTRL_REG1_RAW_SHIFT ((uint8_t) 6)
860 
861 #define FXPQ3115_CTRL_REG1_ALT_MASK ((uint8_t) 0x80)
862 #define FXPQ3115_CTRL_REG1_ALT_SHIFT ((uint8_t) 7)
863 
864 
865 /*
866 ** CTRL_REG1 - Bit field value definitions
867 */
868 #define FXPQ3115_CTRL_REG1_SBYB_STANDBY ((uint8_t) 0x00) /* Standby Mode. */
869 #define FXPQ3115_CTRL_REG1_SBYB_ACTIVE ((uint8_t) 0x01) /* Active Mode. */
870 #define FXPQ3115_CTRL_REG1_OST_RESET ((uint8_t) 0x00) /* Reset OST Bit. */
871 #define FXPQ3115_CTRL_REG1_OST_SET ((uint8_t) 0x02) /* SET OST Bit. */
872 #define FXPQ3115_CTRL_REG1_RST_DIS ((uint8_t) 0x00) /* Device reset disabled. */
873 #define FXPQ3115_CTRL_REG1_RST_EN ((uint8_t) 0x04) /* Device reset enabled. */
874 #define FXPQ3115_CTRL_REG1_OS_OSR_1 ((uint8_t) 0x00) /* OSR = 1 and Minimum Time Between Data Samples 6 ms */
875 #define FXPQ3115_CTRL_REG1_OS_OSR_2 ((uint8_t) 0x08) /* OSR = 2 and Minimum Time Between Data Samples 10 */
876  /* ms */
877 #define FXPQ3115_CTRL_REG1_OS_OSR_4 ((uint8_t) 0x10) /* OSR = 4 and Minimum Time Between Data Samples 18 */
878  /* ms */
879 #define FXPQ3115_CTRL_REG1_OS_OSR_8 ((uint8_t) 0x18) /* OSR = 8 and Minimum Time Between Data Samples 34 */
880  /* ms */
881 #define FXPQ3115_CTRL_REG1_OS_OSR_16 ((uint8_t) 0x20) /* OSR = 16 and Minimum Time Between Data Samples 66 */
882  /* ms */
883 #define FXPQ3115_CTRL_REG1_OS_OSR_32 ((uint8_t) 0x28) /* OSR = 32 and Minimum Time Between Data Samples 130 */
884  /* ms */
885 #define FXPQ3115_CTRL_REG1_OS_OSR_64 ((uint8_t) 0x30) /* OSR = 64 and Minimum Time Between Data Samples 258 */
886  /* ms */
887 #define FXPQ3115_CTRL_REG1_OS_OSR_128 ((uint8_t) 0x38) /* OSR = 128 and Minimum Time Between Data Samples */
888  /* 512 ms */
889 #define FXPQ3115_CTRL_REG1_RAW_DIS ((uint8_t) 0x00) /* Raw output disabled. */
890 #define FXPQ3115_CTRL_REG1_RAW_EN ((uint8_t) 0x40) /* Raw output enabled. */
891 #define FXPQ3115_CTRL_REG1_ALT_ALT ((uint8_t) 0x80) /* Altimeter Mode. */
892 #define FXPQ3115_CTRL_REG1_ALT_BAR ((uint8_t) 0x00) /* Barometer Mode. */
893 /*------------------------------*/
894 
895 
896 
897 /*--------------------------------
898 ** Register: CTRL_REG2
899 ** Enum: FXPQ3115_CTRL_REG2
900 ** --
901 ** Offset : 0x27 - Control Register 2: Acquisition time step.
902 ** ------------------------------*/
903 typedef union {
904  struct {
905  uint8_t st : 4; /* Auto acquisition time step.. */
906 
907  uint8_t alarm_sel : 1; /* The bit selects the Target value for SRC_PW/SRC_TW and SRC_PTH/SRC_TTH. */
908 
909  uint8_t load_output : 1; /* This is to load the target values for SRC_PW/SRC_TW and SRC_PTH/SRC_TTH. */
910 
911  } b;
912  uint8_t w;
914 
915 
916 /*
917 ** CTRL_REG2 - Bit field mask definitions
918 */
919 #define FXPQ3115_CTRL_REG2_ST_MASK ((uint8_t) 0x0F)
920 #define FXPQ3115_CTRL_REG2_ST_SHIFT ((uint8_t) 0)
921 
922 #define FXPQ3115_CTRL_REG2_ALARM_SEL_MASK ((uint8_t) 0x10)
923 #define FXPQ3115_CTRL_REG2_ALARM_SEL_SHIFT ((uint8_t) 4)
924 
925 #define FXPQ3115_CTRL_REG2_LOAD_OUTPUT_MASK ((uint8_t) 0x20)
926 #define FXPQ3115_CTRL_REG2_LOAD_OUTPUT_SHIFT ((uint8_t) 5)
927 
928 
929 /*
930 ** CTRL_REG2 - Bit field value definitions
931 */
932 #define FXPQ3115_CTRL_REG2_ALARM_SEL_USE_TGT ((uint8_t) 0x00) /* The values in P_TGT_MSB, P_TGT_LSB and T_TGT are */
933  /* used. */
934 #define FXPQ3115_CTRL_REG2_ALARM_SEL_USE_OUT ((uint8_t) 0x10) /* The values in OUT_P/OUT_T are used for calculating */
935  /* the interrupts SRC_PW/SRC_TW and SRC_PTH/SRC_TTH. */
936 #define FXPQ3115_CTRL_REG2_LOAD_OUTPUT_DNL ((uint8_t) 0x00) /* Do not load OUT_P/OUT_T as target values. */
937 #define FXPQ3115_CTRL_REG2_LOAD_OUTPUT_NXT_VAL ((uint8_t) 0x20) /* The next values of OUT_P/OUT_T are used to set the */
938  /* target values for the interrupts. */
939 /*------------------------------*/
940 
941 
942 
943 /*--------------------------------
944 ** Register: CTRL_REG3
945 ** Enum: FXPQ3115_CTRL_REG3
946 ** --
947 ** Offset : 0x28 - Control Register 3: Interrupt pin configuration.
948 ** ------------------------------*/
949 typedef union {
950  struct {
951  uint8_t pp_od2 : 1; /* This bit configures the interrupt pad INT2 to Push-Pull or in Open Drain */
952  /* mode. */
953 
954  uint8_t ipol2 : 1; /* Interrupt Polarity active high, or active low on interrupt pad INT2. */
955 
956  uint8_t _reserved_ : 2;
957  uint8_t pp_od1 : 1; /* This bit configures the interrupt pad INT1 to Push-Pull or in Open Drain */
958  /* mode. */
959 
960  uint8_t ipol1 : 1; /* Interrupt Polarity active high, or active low on interrupt pad INT1. */
961 
962  } b;
963  uint8_t w;
965 
966 
967 /*
968 ** CTRL_REG3 - Bit field mask definitions
969 */
970 #define FXPQ3115_CTRL_REG3_PP_OD2_MASK ((uint8_t) 0x01)
971 #define FXPQ3115_CTRL_REG3_PP_OD2_SHIFT ((uint8_t) 0)
972 
973 #define FXPQ3115_CTRL_REG3_IPOL2_MASK ((uint8_t) 0x02)
974 #define FXPQ3115_CTRL_REG3_IPOL2_SHIFT ((uint8_t) 1)
975 
976 #define FXPQ3115_CTRL_REG3_PP_OD1_MASK ((uint8_t) 0x10)
977 #define FXPQ3115_CTRL_REG3_PP_OD1_SHIFT ((uint8_t) 4)
978 
979 #define FXPQ3115_CTRL_REG3_IPOL1_MASK ((uint8_t) 0x20)
980 #define FXPQ3115_CTRL_REG3_IPOL1_SHIFT ((uint8_t) 5)
981 
982 
983 /*
984 ** CTRL_REG3 - Bit field value definitions
985 */
986 #define FXPQ3115_CTRL_REG3_PP_OD2_INTPULLUP ((uint8_t) 0x00) /* Internal Pull-up. */
987 #define FXPQ3115_CTRL_REG3_PP_OD2_OPENDRAIN ((uint8_t) 0x01) /* Open drain. */
988 #define FXPQ3115_CTRL_REG3_IPOL2_LOW ((uint8_t) 0x00) /* Active low. */
989 #define FXPQ3115_CTRL_REG3_IPOL2_HIGH ((uint8_t) 0x02) /* Active high. */
990 #define FXPQ3115_CTRL_REG3_PP_OD1_INTPULLUP ((uint8_t) 0x00) /* Internal Pull-up. */
991 #define FXPQ3115_CTRL_REG3_PP_OD1_OPENDRAIN ((uint8_t) 0x10) /* Open drain. */
992 #define FXPQ3115_CTRL_REG3_IPOL1_LOW ((uint8_t) 0x00) /* Active low. */
993 #define FXPQ3115_CTRL_REG3_IPOL1_HIGH ((uint8_t) 0x20) /* Active high. */
994 /*------------------------------*/
995 
996 
997 
998 /*--------------------------------
999 ** Register: CTRL_REG4
1000 ** Enum: FXPQ3115_CTRL_REG4
1001 ** --
1002 ** Offset : 0x29 - Control Register 4: Interrupt enables.
1003 ** ------------------------------*/
1004 typedef union {
1005  struct {
1006  uint8_t int_en_tchg : 1; /* Temperature Change Interrupt Enable. */
1007 
1008  uint8_t int_en_pchg : 1; /* Pressure Change Interrupt Enable. */
1009 
1010  uint8_t int_en_tth : 1; /* Temperature Threshold Interrupt Enable. */
1011 
1012  uint8_t int_en_pth : 1; /* Pressure Threshold Interrupt Enable. */
1013 
1014  uint8_t int_en_tw : 1; /* Temperature window Interrupt Enable. */
1015 
1016  uint8_t int_en_pw : 1; /* Pressure window Interrupt Enable. */
1017 
1018  uint8_t int_en_fifo : 1; /* FIFO Interrupt Enable. */
1019 
1020  uint8_t int_en_drdy : 1; /* Data Ready Interrupt Enable. */
1021 
1022  } b;
1023  uint8_t w;
1025 
1026 
1027 /*
1028 ** CTRL_REG4 - Bit field mask definitions
1029 */
1030 #define FXPQ3115_CTRL_REG4_INT_EN_TCHG_MASK ((uint8_t) 0x01)
1031 #define FXPQ3115_CTRL_REG4_INT_EN_TCHG_SHIFT ((uint8_t) 0)
1032 
1033 #define FXPQ3115_CTRL_REG4_INT_EN_PCHG_MASK ((uint8_t) 0x02)
1034 #define FXPQ3115_CTRL_REG4_INT_EN_PCHG_SHIFT ((uint8_t) 1)
1035 
1036 #define FXPQ3115_CTRL_REG4_INT_EN_TTH_MASK ((uint8_t) 0x04)
1037 #define FXPQ3115_CTRL_REG4_INT_EN_TTH_SHIFT ((uint8_t) 2)
1038 
1039 #define FXPQ3115_CTRL_REG4_INT_EN_PTH_MASK ((uint8_t) 0x08)
1040 #define FXPQ3115_CTRL_REG4_INT_EN_PTH_SHIFT ((uint8_t) 3)
1041 
1042 #define FXPQ3115_CTRL_REG4_INT_EN_TW_MASK ((uint8_t) 0x10)
1043 #define FXPQ3115_CTRL_REG4_INT_EN_TW_SHIFT ((uint8_t) 4)
1044 
1045 #define FXPQ3115_CTRL_REG4_INT_EN_PW_MASK ((uint8_t) 0x20)
1046 #define FXPQ3115_CTRL_REG4_INT_EN_PW_SHIFT ((uint8_t) 5)
1047 
1048 #define FXPQ3115_CTRL_REG4_INT_EN_FIFO_MASK ((uint8_t) 0x40)
1049 #define FXPQ3115_CTRL_REG4_INT_EN_FIFO_SHIFT ((uint8_t) 6)
1050 
1051 #define FXPQ3115_CTRL_REG4_INT_EN_DRDY_MASK ((uint8_t) 0x80)
1052 #define FXPQ3115_CTRL_REG4_INT_EN_DRDY_SHIFT ((uint8_t) 7)
1053 
1054 
1055 /*
1056 ** CTRL_REG4 - Bit field value definitions
1057 */
1058 #define FXPQ3115_CTRL_REG4_INT_EN_TCHG_INTDISABLED ((uint8_t) 0x00) /* Temperature Change interrupt disabled. */
1059 #define FXPQ3115_CTRL_REG4_INT_EN_TCHG_INTENABLED ((uint8_t) 0x01) /* Temperature Change interrupt enabled */
1060 #define FXPQ3115_CTRL_REG4_INT_EN_PCHG_INTDISABLED ((uint8_t) 0x00) /* Pressure Change interrupt disabled. */
1061 #define FXPQ3115_CTRL_REG4_INT_EN_PCHG_INTENABLED ((uint8_t) 0x02) /* Pressure Change interrupt enabled */
1062 #define FXPQ3115_CTRL_REG4_INT_EN_TTH_INTDISABLED ((uint8_t) 0x00) /* Temperature Threshold interrupt disabled. */
1063 #define FXPQ3115_CTRL_REG4_INT_EN_TTH_INTENABLED ((uint8_t) 0x04) /* Temperature Threshold interrupt enabled */
1064 #define FXPQ3115_CTRL_REG4_INT_EN_PTH_INTDISABLED ((uint8_t) 0x00) /* Pressure Threshold interrupt disabled. */
1065 #define FXPQ3115_CTRL_REG4_INT_EN_PTH_INTENABLED ((uint8_t) 0x08) /* Pressure Threshold interrupt enabled */
1066 #define FXPQ3115_CTRL_REG4_INT_EN_TW_INTDISABLED ((uint8_t) 0x00) /* Temperature window interrupt disabled. */
1067 #define FXPQ3115_CTRL_REG4_INT_EN_TW_INTENABLED ((uint8_t) 0x10) /* Temperature window interrupt enabled */
1068 #define FXPQ3115_CTRL_REG4_INT_EN_PW_INTDISABLED ((uint8_t) 0x00) /* Pressure window interrupt disabled. */
1069 #define FXPQ3115_CTRL_REG4_INT_EN_PW_INTENABLED ((uint8_t) 0x20) /* Pressure window interrupt enabled */
1070 #define FXPQ3115_CTRL_REG4_INT_EN_FIFO_INTDISABLED ((uint8_t) 0x00) /* FIFO interrupt disabled. */
1071 #define FXPQ3115_CTRL_REG4_INT_EN_FIFO_INTENABLED ((uint8_t) 0x40) /* FIFO interrupt enabled */
1072 #define FXPQ3115_CTRL_REG4_INT_EN_DRDY_INTDISABLED ((uint8_t) 0x00) /* Data Ready interrupt disabled. */
1073 #define FXPQ3115_CTRL_REG4_INT_EN_DRDY_INTENABLED ((uint8_t) 0x80) /* Data Ready interrupt enabled. */
1074 /*------------------------------*/
1075 
1076 
1077 
1078 /*--------------------------------
1079 ** Register: CTRL_REG5
1080 ** Enum: FXPQ3115_CTRL_REG5
1081 ** --
1082 ** Offset : 0x2A - Control Register 5: Interrupt output pin assignment.
1083 ** ------------------------------*/
1084 typedef union {
1085  struct {
1086  uint8_t int_cfg_tchg : 1; /* Temperature Change INT1/INT2 Configuration. */
1087 
1088  uint8_t int_cfg_pchg : 1; /* Pressure Change INT1/INT2 Configuration. */
1089 
1090  uint8_t int_cfg_tth : 1; /* Temperature Threshold INT1/INT2 Configuration. */
1091 
1092  uint8_t int_cfg_pth : 1; /* Pressure Threshold INT1/INT2 Configuration. */
1093 
1094  uint8_t int_cfg_tw : 1; /* Temperature window INT1/INT2 Configuration. */
1095 
1096  uint8_t int_cfg_pw : 1; /* Pressure window INT1/INT2 Configuration. */
1097 
1098  uint8_t int_cfg_fifo : 1; /* FIFO INT1/INT2 Configuration. */
1099 
1100  uint8_t int_cfg_drdy : 1; /* Data Ready INT1/INT2 Configuration. */
1101 
1102  } b;
1103  uint8_t w;
1105 
1106 
1107 /*
1108 ** CTRL_REG5 - Bit field mask definitions
1109 */
1110 #define FXPQ3115_CTRL_REG5_INT_CFG_TCHG_MASK ((uint8_t) 0x01)
1111 #define FXPQ3115_CTRL_REG5_INT_CFG_TCHG_SHIFT ((uint8_t) 0)
1112 
1113 #define FXPQ3115_CTRL_REG5_INT_CFG_PCHG_MASK ((uint8_t) 0x02)
1114 #define FXPQ3115_CTRL_REG5_INT_CFG_PCHG_SHIFT ((uint8_t) 1)
1115 
1116 #define FXPQ3115_CTRL_REG5_INT_CFG_TTH_MASK ((uint8_t) 0x04)
1117 #define FXPQ3115_CTRL_REG5_INT_CFG_TTH_SHIFT ((uint8_t) 2)
1118 
1119 #define FXPQ3115_CTRL_REG5_INT_CFG_PTH_MASK ((uint8_t) 0x08)
1120 #define FXPQ3115_CTRL_REG5_INT_CFG_PTH_SHIFT ((uint8_t) 3)
1121 
1122 #define FXPQ3115_CTRL_REG5_INT_CFG_TW_MASK ((uint8_t) 0x10)
1123 #define FXPQ3115_CTRL_REG5_INT_CFG_TW_SHIFT ((uint8_t) 4)
1124 
1125 #define FXPQ3115_CTRL_REG5_INT_CFG_PW_MASK ((uint8_t) 0x20)
1126 #define FXPQ3115_CTRL_REG5_INT_CFG_PW_SHIFT ((uint8_t) 5)
1127 
1128 #define FXPQ3115_CTRL_REG5_INT_CFG_FIFO_MASK ((uint8_t) 0x40)
1129 #define FXPQ3115_CTRL_REG5_INT_CFG_FIFO_SHIFT ((uint8_t) 6)
1130 
1131 #define FXPQ3115_CTRL_REG5_INT_CFG_DRDY_MASK ((uint8_t) 0x80)
1132 #define FXPQ3115_CTRL_REG5_INT_CFG_DRDY_SHIFT ((uint8_t) 7)
1133 
1134 
1135 /*
1136 ** CTRL_REG5 - Bit field value definitions
1137 */
1138 #define FXPQ3115_CTRL_REG5_INT_CFG_TCHG_INT2 ((uint8_t) 0x00) /* Interrupt is routed to INT2 pin. */
1139 #define FXPQ3115_CTRL_REG5_INT_CFG_TCHG_INT1 ((uint8_t) 0x01) /* Interrupt is routed to INT1 Pin. */
1140 #define FXPQ3115_CTRL_REG5_INT_CFG_PCHG_INT2 ((uint8_t) 0x00) /* Interrupt is routed to INT2 pin. */
1141 #define FXPQ3115_CTRL_REG5_INT_CFG_PCHG_INT1 ((uint8_t) 0x02) /* Interrupt is routed to INT1 Pin. */
1142 #define FXPQ3115_CTRL_REG5_INT_CFG_TTH_INT2 ((uint8_t) 0x00) /* Interrupt is routed to INT2 pin. */
1143 #define FXPQ3115_CTRL_REG5_INT_CFG_TTH_INT1 ((uint8_t) 0x04) /* Interrupt is routed to INT1 Pin. */
1144 #define FXPQ3115_CTRL_REG5_INT_CFG_PTH_INT2 ((uint8_t) 0x00) /* Interrupt is routed to INT2 pin. */
1145 #define FXPQ3115_CTRL_REG5_INT_CFG_PTH_INT1 ((uint8_t) 0x08) /* Interrupt is routed to INT1 Pin. */
1146 #define FXPQ3115_CTRL_REG5_INT_CFG_TW_INT2 ((uint8_t) 0x00) /* Interrupt is routed to INT2 pin. */
1147 #define FXPQ3115_CTRL_REG5_INT_CFG_TW_INT1 ((uint8_t) 0x10) /* Interrupt is routed to INT1 Pin. */
1148 #define FXPQ3115_CTRL_REG5_INT_CFG_PW_INT2 ((uint8_t) 0x00) /* Interrupt is routed to INT2 pin. */
1149 #define FXPQ3115_CTRL_REG5_INT_CFG_PW_INT1 ((uint8_t) 0x20) /* Interrupt is routed to INT1 Pin. */
1150 #define FXPQ3115_CTRL_REG5_INT_CFG_FIFO_INT2 ((uint8_t) 0x00) /* Interrupt is routed to INT2 pin. */
1151 #define FXPQ3115_CTRL_REG5_INT_CFG_FIFO_INT1 ((uint8_t) 0x40) /* Interrupt is routed to INT1 Pin. */
1152 #define FXPQ3115_CTRL_REG5_INT_CFG_DRDY_INT2 ((uint8_t) 0x00) /* Interrupt is routed to INT2 pin. */
1153 #define FXPQ3115_CTRL_REG5_INT_CFG_DRDY_INT1 ((uint8_t) 0x80) /* Interrupt is routed to INT1 Pin. */
1154 /*------------------------------*/
1155 
1156 
1157 
1158 /*--------------------------------
1159 ** Register: OFF_P
1160 ** Enum: FXPQ3115_OFF_P
1161 ** --
1162 ** Offset : 0x2B - Pressure data offset.
1163 ** ------------------------------*/
1164 typedef uint8_t FXPQ3115_OFF_P_t;
1165 
1166 
1167 
1168 /*--------------------------------
1169 ** Register: OFF_T
1170 ** Enum: FXPQ3115_OFF_T
1171 ** --
1172 ** Offset : 0x2C - Temperature data offset.
1173 ** ------------------------------*/
1174 typedef uint8_t FXPQ3115_OFF_T_t;
1175 
1176 
1177 
1178 /*--------------------------------
1179 ** Register: OFF_H
1180 ** Enum: FXPQ3115_OFF_H
1181 ** --
1182 ** Offset : 0x2D - Altitude data offset.
1183 ** ------------------------------*/
1184 typedef uint8_t FXPQ3115_OFF_H_t;
1185 
1186 
1187 #endif /* FXPQ3115_H_ */
uint8_t FXPQ3115_P_TGT_MSB_t
Definition: fxpq3115.h:602
uint8_t FXPQ3115_P_MAX_CSB_t
Definition: fxpq3115.h:750
uint8_t FXPQ3115_WHO_AM_I_t
Definition: fxpq3115.h:329
uint8_t FXPQ3115_P_WND_LSB_t
Definition: fxpq3115.h:640
uint8_t FXPQ3115_OUT_P_MSB_t
Definition: fxpq3115.h:84
uint8_t FXPQ3115_P_TGT_LSB_t
Definition: fxpq3115.h:611
uint8_t FXPQ3115_T_MAX_MSB_t
Definition: fxpq3115.h:786
uint8_t FXPQ3115_OUT_P_DELTA_MSB_t
Definition: fxpq3115.h:248
uint8_t FXPQ3115_OUT_P_DELTA_CSB_t
Definition: fxpq3115.h:257
uint8_t FXPQ3115_STATUS_t
Definition: fxpq3115.h:74
uint8_t FXPQ3115_P_MIN_CSB_t
Definition: fxpq3115.h:669
uint8_t FXPQ3115_P_MAX_MSB_t
Definition: fxpq3115.h:741
uint8_t FXPQ3115_BAR_IN_MSB_t
Definition: fxpq3115.h:583
uint8_t FXPQ3115_OUT_T_MSB_t
Definition: fxpq3115.h:129
uint8_t FXPQ3115_OFF_T_t
Definition: fxpq3115.h:1174
uint8_t FXPQ3115_T_TGT_t
Definition: fxpq3115.h:621
uint8_t FXPQ3115_OUT_P_CSB_t
Definition: fxpq3115.h:93
uint8_t FXPQ3115_T_MIN_MSB_t
Definition: fxpq3115.h:705
uint8_t FXPQ3115_P_MIN_MSB_t
Definition: fxpq3115.h:660
uint8_t sysmod
Definition: fxpq3115.h:443
uint8_t FXPQ3115_F_DATA_t
Definition: fxpq3115.h:383
uint8_t FXPQ3115_P_WND_MSB_t
Definition: fxpq3115.h:631
uint8_t f_wmkf_flag
Definition: fxpq3115.h:344
uint8_t FXPQ3115_T_WND_t
Definition: fxpq3115.h:650
uint8_t FXPQ3115_TIME_DLY_t
Definition: fxpq3115.h:431
uint8_t FXPQ3115_OFF_H_t
Definition: fxpq3115.h:1184
uint8_t FXPQ3115_OFF_P_t
Definition: fxpq3115.h:1164
uint8_t FXPQ3115_BAR_IN_LSB_t
Definition: fxpq3115.h:592
uint8_t FXPQ3115_OUT_T_DELTA_MSB_t
Definition: fxpq3115.h:293