I also use a 2803 for relay control but use a PGA2320 for volume control. This is very much a work in progress but here is a snippett of code I use to change inputs and outputs. My switches however are a webpage done with a Siteplayer.
Done somewhat like yours. Hope this helps..Code:switches: INTCON.7 = 0 SerOut2 PORTC.6,SPbaud, [$00, $C7, $1E] SerIn2 PORTC.7,SPbaud, 100, mainloop, [power,ipod,computer,mute,bookshelf,subwoofer,volup,voldown]' INTCON.7 = 1 checkswitches = 0 if power = 1 then high relay6 high relay5 INTCON.7 = 0 write 1, power INTCON.7 = 1 gosub dostuff else low relay6 low relay5 INTCON.7 = 0 write 1, power INTCON.7 = 1 endif return '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'subroutine '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' dostuff: mydata.0 = 0 mydata.1 = ipod mydata.2 = computer mydata.3 = mute mydata.4 = bookshelf mydata.5 = subwoofer mydata.6 = volup mydata.7 = voldown select case mydata case 18 low relay1 'relays for speaker output low relay2 'relays for speaker output low relay7 'relays for Audio In low relay8 'relays for Audio In case 20 low relay1 'relays for speaker output low relay2 'relays for speaker output high relay7 'relays for Audio In high relay8 'relays for Audio In case 34 high relay1 'relays for speaker output high relay2 'relays for speaker output low relay7 'relays for Audio In low relay8 'relays for Audio In case 36 high relay1 'relays for speaker output high relay2 'relays for speaker output high relay7 'relays for Audio In high relay8 'relays for Audio In case 82,84,98,100 volup = 0 INTCON.7 = 0 SerOut2 PORTC.6, 84, [$00,$81,$24,volup] INTCON.7 = 1 gosub Increasegain gosub Post_Gain case 146,148,162,164 voldown = 0 INTCON.7 = 0 SerOut2 PORTC.6, 84, [$00,$81,$25,voldown] INTCON.7 = 1 gosub Decreasegain gosub Post_Gain end select INTCON.7 = 0 write 2, ipod write 3, computer write 4, mute write 5, bookshelf write 6, subwoofer INTCON.7 = 1 return




Bookmarks