Subversion Repositories Code-Repo

Rev

Rev 283 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
283 Kevin 1
#include "defines.h"
2
#include "CONTROLLER.h"
3
#include "I2C1.h"
4
 
5
void Controller_Init(void) {
6
 
7
}
8
 
9
uint8_t Controller_Read(CTRL_BTN_STATUS *btns) {
10
    uint8_t buffer[8];
11
    uint8_t result, length, ret = 1;
12
 
13
    // Read in the button values for each controller
14
    I2C1_Master_Restart(CONTROLLER_ADDRESS, CONTROLLER_CMD_READ, 6);
15
    do {
16
        result = I2C1_Get_Status();
17
    } while (!result);
18
    if (result == I2C_RECV_OK) {
19
        ret = 0;
20
 
21
        // Save the read values
22
        length = I2C1_Read_Buffer(buffer);
23
 
24
        btns->REF = buffer[0];
25
        btns->L_X_CH = buffer[1];
26
        btns->L_Y_CH = buffer[2];
27
        btns->R_X_CH = buffer[3];
28
        btns->R_Y_CH = buffer[4];
29
        btns->BTN = buffer[5];
30
    }
31
 
32
    return ret;
33
}
34
 
35
void Controller_Set_Led(uint8_t value) {
36
    uint8_t c = value;
37
    I2C1_Master_Send(CONTROLLER_ADDRESS, &c, 1);
38
}