barometer7 2.0.0.0
barometer7.h
Go to the documentation of this file.
1/****************************************************************************
2** Copyright (C) 2020 MikroElektronika d.o.o.
3** Contact: https://www.mikroe.com/contact
4**
5** Permission is hereby granted, free of charge, to any person obtaining a copy
6** of this software and associated documentation files (the "Software"), to deal
7** in the Software without restriction, including without limitation the rights
8** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9** copies of the Software, and to permit persons to whom the Software is
10** furnished to do so, subject to the following conditions:
11** The above copyright notice and this permission notice shall be
12** included in all copies or substantial portions of the Software.
13**
14** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
16** OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
19** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20** USE OR OTHER DEALINGS IN THE SOFTWARE.
21****************************************************************************/
22
28#ifndef BAROMETER7_H
29#define BAROMETER7_H
30
31#ifdef __cplusplus
32extern "C"{
33#endif
34
35#include "drv_digital_out.h"
36#include "drv_digital_in.h"
37#include "drv_spi_master.h"
38#include "spi_specifics.h"
39
60#define BAROMETER7_CMD_TRIGGER_TEST_MODE 0x0C
61#define BAROMETER7_CMD_RESET_BIT_MASK 0x10
62#define BAROMETER7_CMD_ACQUIRE_PRESSURE 0x20
63#define BAROMETER7_CMD_ACQUIRE_TEMPERATURE 0x40
64#define BAROMETER7_CMD_TRIGGER_DIAGNOSIS 0x80
65#define BAROMETER7_CMD_ACQUIRE_IDENTIFIER 0xE0
66 // barometer7_cmd
68
87#define BAROMETER7_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
88#define BAROMETER7_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
89 // barometer7_set
91
106#define BAROMETER7_MAP_MIKROBUS( cfg, mikrobus ) \
107 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
108 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
109 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
110 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS )
111 // barometer7_map // barometer7
114
119typedef struct
120{
121 // Modules
122 spi_master_t spi;
124 pin_name_t chip_select;
126 uint8_t diagnosis;
127 uint8_t parity;
130
135typedef struct
136{
137 // Communication gpio pins
138 pin_name_t miso;
139 pin_name_t mosi;
140 pin_name_t sck;
141 pin_name_t cs;
143 // static variable
144 uint32_t spi_speed;
145 spi_master_mode_t spi_mode;
146 spi_master_chip_select_polarity_t cs_polarity;
149
154typedef struct
155{
156 uint8_t supplier;
159 uint8_t asic_name;
162
167typedef enum
168{
172
174
179typedef enum
180{
187
189
206
222
237
253err_t barometer7_generic_transfer ( barometer7_t *ctx, uint8_t cmd, uint16_t *data_out );
254
271err_t barometer7_set_command ( barometer7_t *ctx, uint8_t cmd, uint16_t *data_out );
272
292err_t barometer7_set_reset ( barometer7_t *ctx, uint8_t cmd, uint16_t *data_out );
293
308err_t barometer7_get_press_data ( barometer7_t *ctx, uint16_t *press_data );
309
324err_t barometer7_get_temp_data ( barometer7_t *ctx, uint16_t *temp_data );
325
340err_t barometer7_get_trigger_diagnosis_data ( barometer7_t *ctx, uint16_t *td_data );
341
356err_t barometer7_trigger_test_mode ( barometer7_t *ctx, uint16_t *tdm_data );
357
372err_t barometer7_get_id_data ( barometer7_t *ctx, uint16_t *id_data );
373
389
405err_t barometer7_get_pressure ( barometer7_t *ctx, float *pressure );
406
422err_t barometer7_get_temperature ( barometer7_t *ctx, float *temperature );
423
424
425
426#ifdef __cplusplus
427}
428#endif
429#endif // BAROMETER7_H
430 // barometer7
432
433// ------------------------------------------------------------------------ END
barometer7_return_value_t
Barometer 7 Click return value data.
Definition: barometer7.h:168
@ BAROMETER7_ERROR
Definition: barometer7.h:170
@ BAROMETER7_OK
Definition: barometer7.h:169
@ BAROMETER7_CMD_ERROR
Definition: barometer7.h:171
barometer7_diagnosis_code_t
Barometer 7 Click diagnosis code data.
Definition: barometer7.h:180
@ BAROMETER7_ACQUISITION_CHAIN_FAILURE
Definition: barometer7.h:182
@ BAROMETER7_NO_ERROR
Definition: barometer7.h:186
@ BAROMETER7_PRESSURE_OUT_OF_RANGE_LOW
Definition: barometer7.h:185
@ BAROMETER7_SENSOR_CELL_FAILURE
Definition: barometer7.h:183
@ BAROMETER7_EEPROM_FEC_ERROR
Definition: barometer7.h:181
@ BAROMETER7_PRESSURE_OUT_OF_RANGE_HIGH
Definition: barometer7.h:184
err_t barometer7_get_pressure(barometer7_t *ctx, float *pressure)
Barometer 7 get pressure function.
err_t barometer7_generic_transfer(barometer7_t *ctx, uint8_t cmd, uint16_t *data_out)
Barometer 7 data transfer function.
err_t barometer7_trigger_test_mode(barometer7_t *ctx, uint16_t *tdm_data)
Barometer 7 get trigger test mode data function.
err_t barometer7_get_identifier(barometer7_t *ctx, barometer7_identifier_t *identifier)
Barometer 7 get identifier function.
err_t barometer7_set_reset(barometer7_t *ctx, uint8_t cmd, uint16_t *data_out)
Barometer 7 set reset function.
err_t barometer7_get_temp_data(barometer7_t *ctx, uint16_t *temp_data)
Barometer 7 get temperature data function.
err_t barometer7_get_id_data(barometer7_t *ctx, uint16_t *id_data)
Barometer 7 get ID data function.
err_t barometer7_set_command(barometer7_t *ctx, uint8_t cmd, uint16_t *data_out)
Barometer 7 set command function.
err_t barometer7_get_press_data(barometer7_t *ctx, uint16_t *press_data)
Barometer 7 get pressure data function.
err_t barometer7_get_temperature(barometer7_t *ctx, float *temperature)
Barometer 7 get temperature function.
err_t barometer7_default_cfg(barometer7_t *ctx)
Barometer 7 default configuration function.
err_t barometer7_init(barometer7_t *ctx, barometer7_cfg_t *cfg)
Barometer 7 initialization function.
void barometer7_cfg_setup(barometer7_cfg_t *cfg)
Barometer 7 configuration object setup function.
err_t barometer7_get_trigger_diagnosis_data(barometer7_t *ctx, uint16_t *td_data)
Barometer 7 get trigger diagnosis data function.
This file contains SPI specific macros, functions, etc.
Barometer 7 Click configuration object.
Definition: barometer7.h:136
spi_master_chip_select_polarity_t cs_polarity
Definition: barometer7.h:146
pin_name_t sck
Definition: barometer7.h:140
spi_master_mode_t spi_mode
Definition: barometer7.h:145
pin_name_t mosi
Definition: barometer7.h:139
uint32_t spi_speed
Definition: barometer7.h:144
pin_name_t miso
Definition: barometer7.h:138
pin_name_t cs
Definition: barometer7.h:141
Barometer 7 Click response structure for identifier.
Definition: barometer7.h:155
uint8_t supplier
Definition: barometer7.h:156
uint8_t metal_version
Definition: barometer7.h:158
uint8_t silicon_version
Definition: barometer7.h:157
uint8_t asic_name
Definition: barometer7.h:159
Barometer 7 Click context object.
Definition: barometer7.h:120
spi_master_t spi
Definition: barometer7.h:122
uint8_t diagnosis
Definition: barometer7.h:126
uint8_t parity
Definition: barometer7.h:127
pin_name_t chip_select
Definition: barometer7.h:124