instead of one giant read func, use magnitude-specific ones ref. datasheet, adc read failure should have a different constant, and does not warrant re-init