func main() '4066 analog switch pins const SWA 1 const SWB 2 const SWC 3 output SWA,SWB,SWC dim scale dim reading dim voltage as float dim vref(4) as float 'Adjust for each scale vref(0)=.00486 vref(1)=.00969 vref(2)=.01507 vref(3)=.02658 'Default scale scale = 0 low SWA,SWB,SWC AtoDinit(14) 'Init 1 Analog port 0 loop: pause 400 loop2: reading=AtoD(0) voltage = reading * vref(scale) if reading < 500 and scale > 0 then scale = scale -1 goto setscale endif if reading > 1022 and scale < 3 then scale = scale + 1 goto setscale endif print scale," ",reading," "; printfloat(voltage,.2) goto loop setscale: branch scale,setscale0,setscale1,setscale2,setscale3 setscale0: low SWA,SWB,SWC goto loop2 setscale1: low SWA,SWB,SWC high SWA goto loop2 setscale2: low SWA,SWB,SWC high SWB goto loop2 setscale3: low SWA,SWB,SWC high SWC goto loop2 endfunc include \lib\DiosAtoD.lib include \lib\DiosDispFloat.lib