diff --git a/firmware/mcp_adc.c b/firmware/mcp_adc.c index addc539..04e0f83 100644 --- a/firmware/mcp_adc.c +++ b/firmware/mcp_adc.c @@ -21,6 +21,8 @@ #define ADC_ADDR 0xD0 /* or 0x68 */ +uint8_t r[4]; + void mcpadc_init(uint8_t mode) { i2c_write(ADC_ADDR, 1, &mode); @@ -28,7 +30,6 @@ void mcpadc_init(uint8_t mode) uint8_t mcpadc_has_new_data() { - uint8_t r[4]; i2c_read(ADC_ADDR, 4, r);/* 4 bytes are only needed in 18 bit mode */ return(r[3] & ADC_NEW_SAMPLE); } @@ -36,7 +37,6 @@ uint8_t mcpadc_has_new_data() #if ADC_ENABLE_18_BIT_MODE int32_t mcpadc_get_data() { - uint8_t r[4] = {0,0,0,0}; int32_t value = 0; i2c_read(ADC_ADDR, 4, r);/* reading 4 bytes guarantees us one config byte */ if(r[0] & 0x80) {value = 0xffff;} @@ -50,7 +50,6 @@ int32_t mcpadc_get_data() #else int16_t mcpadc_get_data() { - uint8_t r[2] = {0,0}; i2c_read(ADC_ADDR, 2, r);/* this will NOT work in 18 bit mode */ int16_t value = (r[0] << 8) | r[1];/*endianess ???*/ return r; @@ -59,7 +58,6 @@ int16_t mcpadc_get_data() void mcpadc_start_conv() { - uint8_t r[4]; i2c_read(ADC_ADDR, 4, r); r[3] |= ADC_NEW_SAMPLE; i2c_write(ADC_ADDR, 1, &(r[3]));