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
39#ifdef PREINIT_SUPPORTED
40#include "preinit.h"
41#endif
42
43#ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
45 #include "delays.h"
46 #endif
47#endif
48
49#include "drv_digital_out.h"
50#include "drv_digital_in.h"
51#include "drv_analog_in.h"
52
73#define CHARGER19_VOUT_1V8 0x00
74#define CHARGER19_VOUT_2V1 0x01
75#define CHARGER19_VOUT_2V7 0x02
76#define CHARGER19_VOUT_3V0 0x03
77
82#define CHARGER19_SHIP_MODE_ON 0x01
83#define CHARGER19_SHIP_MODE_OFF 0x00
84
85 // charger19_set
86
101#define CHARGER19_MAP_MIKROBUS( cfg, mikrobus ) \
102 cfg.an = MIKROBUS( mikrobus, MIKROBUS_AN ); \
103 cfg.sac = MIKROBUS( mikrobus, MIKROBUS_RST ); \
104 cfg.vs1 = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
105 cfg.vs2 = MIKROBUS( mikrobus, MIKROBUS_INT )
106
107 // charger19_map
108 // charger19
109
114typedef struct
115{
116 digital_out_t sac;
117 digital_out_t vs1;
118 digital_out_t vs2;
120 analog_in_t adc;
123
128typedef struct
129{
130 pin_name_t an;
131 pin_name_t sac;
132 pin_name_t vs1;
133 pin_name_t vs2;
135 analog_in_resolution_t resolution;
136 float vref;
139
150
167
182
196
208err_t charger19_read_an_pin_value ( charger19_t *ctx, uint16_t *data_out );
209
223err_t charger19_read_an_pin_voltage ( charger19_t *ctx, float *data_out );
224
236err_t charger19_set_vout ( charger19_t *ctx, uint8_t vout_sel );
237
247void charger19_set_ship_mode ( charger19_t *ctx, uint8_t ship_sel );
248
260err_t charger19_get_vbat ( charger19_t *ctx, float *vbat );
261
262#ifdef __cplusplus
263}
264#endif
265#endif // CHARGER19_H
266
267 // charger19
268
269// ------------------------------------------------------------------------ END
charger19_return_value_t
Charger 19 Click return value data.
Definition charger19.h:145
@ CHARGER19_ERROR
Definition charger19.h:147
@ CHARGER19_OK
Definition charger19.h:146
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:129
analog_in_resolution_t resolution
Definition charger19.h:135
float vref
Definition charger19.h:136
pin_name_t vs2
Definition charger19.h:133
pin_name_t sac
Definition charger19.h:131
pin_name_t vs1
Definition charger19.h:132
pin_name_t an
Definition charger19.h:130
Charger 19 Click context object.
Definition charger19.h:115
digital_out_t vs1
Definition charger19.h:117
digital_out_t sac
Definition charger19.h:116
digital_out_t vs2
Definition charger19.h:118
analog_in_t adc
Definition charger19.h:120