-- TVBGone in eLua -- Adapted from LadyAda's TVBGone project -- Check codes file local codes = io.open( "/rom/codes.bin", "rb" ) if codes == nil then print "Unable to open TVBGone codes file" return end local pwmid, tmrid if pd.board() == 'EK-LM3S8962' or pd.board() == 'EK-LM3S6965' then pwmid, tmrid = 2, 1 pwm.setclock( pwmid, 25000000 ) led, startpin, exitpin = pio.PF_0, pio.PF_1, pio.PE_1 else print( pd.board() .. " not supported with this example" ) return end -- Setup PIO pio.pin.setdir( pio.OUTPUT, led ) pio.pin.setdir( pio.INPUT, startpin, exitpin ) pio.pin.setpull( pio.PULLUP, startpin, exitpin ) -- Local variables local _, fstr, freq, timesstr, ontime, offtime, runme -- Send all the codes in an infinite loop collectgarbage( "stop" ) runme = true while runme do while pio.pin.getval( startpin ) == 1 do if pio.pin.getval( exitpin ) == 0 then runme = false break end end if not runme then break end pio.pin.sethigh( led ) codes:seek( "set", 0 ) while true do fstr = codes:read( 4 ) if fstr == nil then break end _, freq = pack.unpack( fstr, "