Subversion Repositories Code-Repo

Compare Revisions

Ignore whitespace Rev 127 → Rev 128

/PIC Stuff/PIC_27J13/led_backpack.c
24,9 → 24,10
};
 
static LED_DATA led_data;
static LED_DATA *led_data_p = &led_data;
 
void LED_Init() {
led_data.i2c_address = 0x70;
led_data_p->i2c_address = 0x70;
}
 
void LED_Start() {
33,7 → 34,7
unsigned char result;
unsigned char c = 0x21; // Cmd to turn on oscillator
I2C_Master_Send(led_data.i2c_address, 1, &c);
I2C_Master_Send(led_data_p->i2c_address, 1, &c);
result = I2C_Get_Status();
while (!result) {
result = I2C_Get_Status();
51,7 → 52,7
if (c > 15) c = 15;
c |= 0xE0;
 
I2C_Master_Send(led_data.i2c_address, 1, &c);
I2C_Master_Send(led_data_p->i2c_address, 1, &c);
result = I2C_Get_Status();
while (!result) {
result = I2C_Get_Status();
65,7 → 66,7
 
buffer = HT16K33_BLINK_CMD | HT16K33_BLINK_DISPLAYON | (c << 1);
 
I2C_Master_Send(led_data.i2c_address, 1, &buffer);
I2C_Master_Send(led_data_p->i2c_address, 1, &buffer);
buffer = I2C_Get_Status();
while (!buffer) {
buffer = I2C_Get_Status();
75,8 → 76,8
void LED_writeDisplay() {
unsigned char result;
led_data.display_buffer[0] = 0x00; // Start at address 0x00
I2C_Master_Send(led_data.i2c_address, 17, led_data.display_buffer);
led_data_p->display_buffer[0] = 0x00; // Start at address 0x00
I2C_Master_Send(led_data_p->i2c_address, 17, led_data_p->display_buffer);
 
result = I2C_Get_Status();
while (!result) {
87,21 → 88,21
void LED_clear() {
unsigned char c;
for (c = 0; c < 17; c++) {
led_data.display_buffer[c] = 0;
led_data_p->display_buffer[c] = 0;
}
}
 
void LED_drawColon(unsigned char c) {
if (c) {
led_data.display_buffer[5] = 0xFF;
led_data_p->display_buffer[5] = 0xFF;
} else {
led_data.display_buffer[5] = 0;
led_data_p->display_buffer[5] = 0;
}
}
 
void LED_writeDigitRaw(unsigned char loc, unsigned char bitmask) {
if (loc > 4) return;
led_data.display_buffer[(loc<<1)+1] = bitmask;
led_data_p->display_buffer[(loc<<1)+1] = bitmask;
}
 
void LED_writeDigitNum(unsigned char loc, unsigned char num, unsigned char dot) {