moved r from stack to bss

master
Nidan 15 years ago
parent cd36ba7fc3
commit db6925147b

@ -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]));

Loading…
Cancel
Save