charger19 2.1.0.0
charger19.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 CHARGER19_H
29#define CHARGER19_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_analog_in.h"
38
59#define CHARGER19_VOUT_1V8 0x00
60#define CHARGER19_VOUT_2V1 0x01
61#define CHARGER19_VOUT_2V7 0x02
62#define CHARGER19_VOUT_3V0 0x03
63
68#define CHARGER19_SHIP_MODE_ON 0x01
69#define CHARGER19_SHIP_MODE_OFF 0x00
70 // charger19_set
72
87#define CHARGER19_MAP_MIKROBUS( cfg, mikrobus ) \
88 cfg.an = MIKROBUS( mikrobus, MIKROBUS_AN ); \
89 cfg.sac = MIKROBUS( mikrobus, MIKROBUS_RST ); \
90 cfg.vs1 = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
91 cfg.vs2 = MIKROBUS( mikrobus, MIKROBUS_INT )
92 // charger19_map // charger19
95
100typedef struct
101{
102 digital_out_t sac;
103 digital_out_t vs1;
104 digital_out_t vs2;
106 analog_in_t adc;
109
114typedef struct
115{
116 pin_name_t an;
117 pin_name_t sac;
118 pin_name_t vs1;
119 pin_name_t vs2;
121 analog_in_resolution_t resolution;
122 float vref;
125
130typedef enum
131{
133 CHARGER19_ERROR = -1
134
136
153
168
182
194err_t charger19_read_an_pin_value ( charger19_t *ctx, uint16_t *data_out );
195
209err_t charger19_read_an_pin_voltage ( charger19_t *ctx, float *data_out );
210
222err_t charger19_set_vout ( charger19_t *ctx, uint8_t vout_sel );
223
233void charger19_set_ship_mode ( charger19_t *ctx, uint8_t ship_sel );
234
246err_t charger19_get_vbat ( charger19_t *ctx, float *vbat );
247
248#ifdef __cplusplus
249}
250#endif
251#endif // CHARGER19_H
252 // charger19
254
255// ------------------------------------------------------------------------ END
charger19_return_value_t
Charger 19 Click return value data.
Definition: charger19.h:131
@ CHARGER19_ERROR
Definition: charger19.h:133
@ CHARGER19_OK
Definition: charger19.h:132
err_t charger19_default_cfg(charger19_t *ctx)
Charger 19 default configuration function.
err_t charger19_read_an_pin_value(charger19_t *ctx, uint16_t *data_out)
Charger 19 read AN pin value function.
void charger19_set_ship_mode(charger19_t *ctx, uint8_t ship_sel)
Charger 19 set Ship mode function.
void charger19_cfg_setup(charger19_cfg_t *cfg)
Charger 19 configuration object setup function.
err_t charger19_init(charger19_t *ctx, charger19_cfg_t *cfg)
Charger 19 initialization function.
err_t charger19_set_vout(charger19_t *ctx, uint8_t vout_sel)
Charger 19 set output voltage function.
err_t charger19_get_vbat(charger19_t *ctx, float *vbat)
Charger 19 get battery voltage function.
err_t charger19_read_an_pin_voltage(charger19_t *ctx, float *data_out)
Charger 19 read AN pin voltage level function.
Charger 19 Click configuration object.
Definition: charger19.h:115
analog_in_resolution_t resolution
Definition: charger19.h:121
float vref
Definition: charger19.h:122
pin_name_t vs2
Definition: charger19.h:119
pin_name_t sac
Definition: charger19.h:117
pin_name_t vs1
Definition: charger19.h:118
pin_name_t an
Definition: charger19.h:116
Charger 19 Click context object.
Definition: charger19.h:101
digital_out_t vs1
Definition: charger19.h:103
digital_out_t sac
Definition: charger19.h:102
digital_out_t vs2
Definition: charger19.h:104
analog_in_t adc
Definition: charger19.h:106