Subversion Repositories Code-Repo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
224 Kevin 1
#include <xc.h>
2
#include "main.h"
3
#include "MAX17040.h"
4
#include "I2C.h"
5
 
6
void MAX17040_Init(void) {
7
    char c[] = {MAX17040_MODE_H, 0x40, 0x00};
8
    I2C_Master_Send(ADDRESS_LIPO, &c, 3);
9
    while (!I2C_Get_Status());
10
 
11
}
12
 
13
void MAX17040_Read_Batt(char *h, char *l) {
14
    char result, length, buffer[10] = {0};
15
 
16
    char c = MAX17040_SOC_H;
17
 
18
    I2C_Master_Restart(ADDRESS_LIPO, c, 2);
19
    do {
20
        result = I2C_Get_Status();
21
    } while (!result);
22
 
23
    // Read received data
24
    length = I2C_Read_Buffer(buffer);
25
 
26
    // Data is received in low-high byte order
27
    *h = buffer[0];
28
    *l = buffer[1];
29
}