Go to the documentation of this file.
35 #include "drv_digital_out.h"
36 #include "drv_digital_in.h"
37 #include "drv_one_wire.h"
59 #define THERMO19_CMD_CONVERT_TEMPERATURE 0x44
60 #define THERMO19_CMD_WRITE_SCRATCHPAD 0x4E
61 #define THERMO19_CMD_READ_SCRATCHPAD 0xBE
62 #define THERMO19_CMD_DETECT_ADDRESS 0x88
63 #define THERMO19_CMD_SELECT_ADDRESS 0x70
81 #define THERMO19_CONFIG_FORMAT_NORMAL 0x00
82 #define THERMO19_CONFIG_FORMAT_EXTEND 0x80
83 #define THERMO19_CONFIG_FORMAT_BIT_MASK 0x80
84 #define THERMO19_CONFIG_RESOLUTION_8BIT 0x00
85 #define THERMO19_CONFIG_RESOLUTION_9BIT 0x20
86 #define THERMO19_CONFIG_RESOLUTION_10BIT 0x40
87 #define THERMO19_CONFIG_RESOLUTION_12BIT 0x60
88 #define THERMO19_CONFIG_RESOLUTION_BIT_MASK 0x60
89 #define THERMO19_CONFIG_COMP_INT_COMPARATOR 0x00
90 #define THERMO19_CONFIG_COMP_INT_INTERRUPT 0x10
91 #define THERMO19_CONFIG_COMP_INT_BIT_MASK 0x10
92 #define THERMO19_CONFIG_FAULT_QUEUE_SINGLE 0x00
93 #define THERMO19_CONFIG_FAULT_QUEUE_MULTIPLE 0x08
94 #define THERMO19_CONFIG_FAULT_QUEUE_BIT_MASK 0x08
95 #define THERMO19_CONFIG_CONVERSION_RATE_0 0x00
96 #define THERMO19_CONFIG_CONVERSION_RATE_1_64 0x01
97 #define THERMO19_CONFIG_CONVERSION_RATE_1_32 0x02
98 #define THERMO19_CONFIG_CONVERSION_RATE_1_16 0x03
99 #define THERMO19_CONFIG_CONVERSION_RATE_1_4 0x04
100 #define THERMO19_CONFIG_CONVERSION_RATE_1_1 0x05
101 #define THERMO19_CONFIG_CONVERSION_RATE_4_1 0x06
102 #define THERMO19_CONFIG_CONVERSION_RATE_8_1 0x07
103 #define THERMO19_CONFIG_CONVERSION_RATE_BIT_MASK 0x07
109 #define THERMO19_STATUS_TH_FAULT_OCCURED 0x80
110 #define THERMO19_STATUS_TH_FAULT_NOT_OCCURED 0x00
111 #define THERMO19_STATUS_TH_FAULT_BIT_MASK 0x80
112 #define THERMO19_STATUS_TL_FAULT_OCCURED 0x40
113 #define THERMO19_STATUS_TL_FAULT_NOT_OCCURED 0x00
114 #define THERMO19_STATUS_TL_FAULT_BIT_MASK 0x40
115 #define THERMO19_STATUS_ADDRRESS_0 0x1A
116 #define THERMO19_STATUS_ADDRRESS_1 0x3A
117 #define THERMO19_STATUS_ADDRRESS_BIT_MASK 0x3F
123 #define THERMO19_ADDRESS_0 0x1A
124 #define THERMO19_ADDRESS_1 0x3A
125 #define THERMO19_ADDRESS_ALL 0xFF
126 #define THERMO19_ADDRESS_BIT_MASK 0x3F
132 #define THERMO19_DATA_RESOLUTION 0.0625
138 #define THERMO19_FAMILY_CODE 0x3B
144 #define THERMO19_DEFAULT_CONFIG ( THERMO19_CONFIG_RESOLUTION_12BIT | THERMO19_CONFIG_COMP_INT_INTERRUPT )
145 #define THERMO19_DEFAULT_ADDRESS THERMO19_ADDRESS_ALL
146 #define THERMO19_DEFAULT_TEMP_HIGH_ALARM 0xFFFF
147 #define THERMO19_DEFAULT_TEMP_LOW_ALARM 0x0000
166 #define THERMO19_MAP_MIKROBUS( cfg, mikrobus ) \
167 cfg.gp0 = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
168 cfg.gp1 = MIKROBUS( mikrobus, MIKROBUS_AN ); \
169 cfg.alt = MIKROBUS( mikrobus, MIKROBUS_INT );
digital_in_t alt
Definition: thermo19.h:191
thermo19_gpio_sel_t gpio_sel
Definition: thermo19.h:213
@ THERMO19_OK
Definition: thermo19.h:223
uint8_t config
Definition: thermo19.h:197
void thermo19_gpio_selection(thermo19_cfg_t *cfg, thermo19_gpio_sel_t gpio_sel)
Thermo 19 driver interface setup function.
err_t thermo19_check_communication(thermo19_t *ctx)
Thermo 19 check communication function.
err_t thermo19_default_cfg(thermo19_t *ctx)
Thermo 19 default configuration function.
@ THERMO19_GPIO_0
Definition: thermo19.h:180
one_wire_t ow
Definition: thermo19.h:194
pin_name_t gp0
Definition: thermo19.h:209
Thermo 19 Click context object.
Definition: thermo19.h:190
one_wire_rom_address_t rom_addr
Definition: thermo19.h:196
@ THERMO19_GPIO_1
Definition: thermo19.h:181
pin_name_t alt
Definition: thermo19.h:211
err_t thermo19_read_scratchpad(thermo19_t *ctx, uint8_t *scratchpad)
Thermo 19 read scratchpad function.
void thermo19_cfg_setup(thermo19_cfg_t *cfg)
Thermo 19 configuration object setup function.
Thermo 19 Click configuration object.
Definition: thermo19.h:207
thermo19_return_value_t
Thermo 19 Click return value data.
Definition: thermo19.h:222
err_t thermo19_write_scratchpad(thermo19_t *ctx, uint16_t temp_high, uint16_t temp_low, uint8_t config)
Thermo 19 write scratchpad function.
err_t thermo19_start_measurement(thermo19_t *ctx)
Thermo 19 start measurement function.
err_t thermo19_read_temperature(thermo19_t *ctx, float *temperature)
Thermo 19 read temperature function.
thermo19_gpio_sel_t
Thermo 19 Click gpio selector.
Definition: thermo19.h:179
uint8_t thermo19_get_alert_pin(thermo19_t *ctx)
Thermo 19 get alert pin function.
pin_name_t gp1
Definition: thermo19.h:210
@ THERMO19_ERROR
Definition: thermo19.h:224
err_t thermo19_select_device(thermo19_t *ctx)
Thermo 19 select device function.
err_t thermo19_init(thermo19_t *ctx, thermo19_cfg_t *cfg)
Thermo 19 initialization function.
uint8_t address
Definition: thermo19.h:198