static int16_t get_channel(uint8_t i) { int16_t val = 0; uint8_t src = channel_source[i]; switch (SRC_SYS(src)) { case SRC_ADC: val = adc_get(SRC_NUM(src)); break; case SRC_SW: val = sw_get(SRC_NUM(src)); break; case SRC_DS: val = ds_get_next_pulse(); break; #ifdef USE_TWI_ADC case SRC_TWI_ADC: val = twi_adc_get(SRC_NUM(src)); break; #endif #ifdef USE_NUNCHUK case SRC_NUNCHUK: val = nunchuk_get(SRC_NUM(src)); break; #endif default: /* unknown source */ break; } return val; }
int16_t get_input_range(isrc_t src, uint8_t max) { int16_t val = 0; switch (SRC_SYS(src)) { case SRC_ADC: val = max ? 1023 : 0; break; case SRC_SW: val = max ? 1 : -1; break; #ifdef USE_TWI_ADC case SRC_TWI_ADC: val = max ? 255 : 0; break; #endif #ifdef USE_NUNCHUK case SRC_NUNCHUK: val = nunchuk_get_range(SRC_NUM(src), max); break; #endif case SRC_DS: /* SRC_DS will not yield a return value */ case SRC_NULL: default: /* unknown source */ break; } return val; }
int16_t get_input(isrc_t src) { int16_t val = 0; switch (SRC_SYS(src)) { case SRC_ADC: val = adc_get_raw(SRC_NUM(src)); break; case SRC_SW: val = sw_get_raw(SRC_NUM(src)); break; #ifdef USE_TWI_ADC case SRC_TWI_ADC: val = twi_adc_get_raw(SRC_NUM(src)); break; #endif #ifdef USE_NUNCHUK case SRC_NUNCHUK: val = nunchuk_get_raw(SRC_NUM(src)); break; #endif case SRC_DS: /* SRC_DS will not yield a return value */ case SRC_NULL: default: /* unknown source */ break; } return val; }
static int16_t get_channel(uint8_t i) { int16_t val = 0; uint8_t src = channel_source[i]; switch (SRC_SYS(src)) { case SRC_ADC: val = adc_get(SRC_NUM(src)); break; case SRC_SW: val = sw_get(SRC_NUM(src)); break; case SRC_DS: val = ds_get_next_pulse(); break; case SRC_PS2PAD: val = ps2_get(SRC_NUM(src)); break; default: /* unknown source */ break; } return val; }