' CUDIO1Test.bpx ' Lets toggle a few pins to see if it all works ' {$STAMP BS2px} ' {$PBASIC 2.5} SDAT PIN 7 SCLK PIN 8 EXT1 PIN 9 EXT2 PIN 10 EXT3 PIN 11 ILOOP_TX PIN 12 ILOOP_RX PIN 13 ILOOP_SHDN PIN 14 ALERT PIN 15 adc_bits VAR Byte vlm_cal VAR Word vlc_cal VAR Word vrm_cal VAR Word vrc_cal VAR Word ilm_cal VAR Word ilc_cal VAR Word irm_cal VAR Word irc_cal VAR Word temp VAR Word temp2 VAR Word temp3 VAR Word temp4 VAR Word Setup: CONFIGPIN DIRECTION, %0101000110000000 '1 = OUTPUT, 0 = INPUT' CONFIGPIN PULLUP, %0000000000000000 CONFIGPIN THRESHOLD, %1111111111111111 LOW ILOOP_SHDN 'Switch iLoop Power ON' DEBUG CLS, CRSRXY,0,0, " **** APPLICATION BOARD VER.03 ****",CR, "------------------------------------",CR PAUSE 2000 Main: DO SEROUT ILOOP_TX, 188, ["NFEYA00F"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 adc_bits] ' DEBUG CR, DEC adc_bits adc_bits = 16 - adc_bits ' DEBUG CR, DEC adc_bits SEROUT ILOOP_TX, 188, ["NFEYA030"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 vlm_cal.LOWBYTE] SEROUT ILOOP_TX, 188, ["NFEYA031"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 vlm_cal.HIGHBYTE] ' DEBUG CR, DEC vlm_cal SEROUT ILOOP_TX, 188, ["NFEYA032"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 vlc_cal.LOWBYTE] SEROUT ILOOP_TX, 188, ["NFEYA033"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 vlc_cal.HIGHBYTE] ' DEBUG CR, DEC vlc_cal vlc_cal = vlc_cal >> adc_bits ' DEBUG CR, DEC vlc_cal SEROUT ILOOP_TX, 188, ["NFEYA034"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 vrm_cal.LOWBYTE] SEROUT ILOOP_TX, 188, ["NFEYA035"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 vrm_cal.HIGHBYTE] ' DEBUG CR, DEC vrm_cal SEROUT ILOOP_TX, 188, ["NFEYA036"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 vrc_cal.LOWBYTE] SEROUT ILOOP_TX, 188, ["NFEYA037"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 vrc_cal.HIGHBYTE] ' DEBUG CR, DEC vrc_cal vrc_cal = vrc_cal >> adc_bits ' DEBUG CR, DEC vrc_cal SEROUT ILOOP_TX, 188, ["NFEYA040"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 ilm_cal.LOWBYTE] SEROUT ILOOP_TX, 188, ["NFEYA041"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 ilm_cal.HIGHBYTE] ' DEBUG CR, DEC ilm_cal SEROUT ILOOP_TX, 188, ["NFEYA042"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 ilc_cal.LOWBYTE] SEROUT ILOOP_TX, 188, ["NFEYA043"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 ilc_cal.HIGHBYTE] ' DEBUG CR, DEC ilc_cal ilc_cal = ilc_cal >> adc_bits ' DEBUG CR, DEC ilc_cal SEROUT ILOOP_TX, 188, ["NFEYA044"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 irm_cal.LOWBYTE] SEROUT ILOOP_TX, 188, ["NFEYA045"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 irm_cal.HIGHBYTE] ' DEBUG CR, DEC irm_cal SEROUT ILOOP_TX, 188, ["NFEYA046"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 irc_cal.LOWBYTE] SEROUT ILOOP_TX, 188, ["NFEYA047"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX2 irc_cal.HIGHBYTE] ' DEBUG CR, DEC irc_cal irc_cal = irc_cal >> adc_bits ' DEBUG CR, DEC irc_cal SEROUT ILOOP_TX, 188, ["NFEI00"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX4 temp] ' DEBUG CR, DEC temp temp = temp - vlc_cal ' DEBUG CR, DEC temp temp = temp */ vlm_cal DEBUG CRSRXY,0,5, DEC temp, "mV Left" SEROUT ILOOP_TX, 188, ["NFEI04"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX4 temp] ' DEBUG CR, DEC temp temp = temp - ilc_cal temp2 = ABS temp ' DEBUG CR, SDEC temp temp2 = temp2 */ ilm_cal IF(temp < 0) THEN temp2 = temp2 * -1 ENDIF DEBUG CRSRXY,0,6, SDEC temp2, "mA Left" SEROUT ILOOP_TX, 188, ["NFEI01"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX4 temp] ' DEBUG CR, DEC temp temp = temp - vrc_cal ' DEBUG CR, DEC temp temp = temp */ vrm_cal DEBUG CRSRXY,16,5, DEC temp, "mV Right " SEROUT ILOOP_TX, 188, ["NFEI05"] SERIN ILOOP_RX, 188, 2000, NoData, [HEX4 temp] ' DEBUG CR, DEC temp temp = temp - irc_cal temp2 = ABS temp ' DEBUG CR, SDEC temp temp2 = temp2 */ irm_cal IF(temp < 0) THEN temp2 = temp2 * -1 ENDIF DEBUG CRSRXY,16,6, SDEC temp2, "mA Right " LOOP END NoData: DEBUG "NO DATA" GOTO Main