Quote Originally Posted by lerameur View Post
you can look at the first post I have manchester encoding there and it works
It probably does work, but I threw this together....unless I made some silly mistakes, this should work with (and without) the wireless modules, in fact it should work just fine with the wire still attached. Maybe it wouldn't be a bad idea to test it out that way also...



'RECEIVE PIC

'same includes and defines as the other versions

temp var word : tempf var word : counter var byte
templo var byte : temphi var byte : input portb.2
converts var byte[15] : convtemp var byte
converts[0]=$55 : converts[1]=$56 : converts[2]=$59 : converts[3]=$5a
converts[4]=$65 : converts[5]=$66 : converts[6]=$69 : converts[7]=$6a
converts[8]=$95 : converts[9]=$96 : converts[10]=$99 : converts[11]=$9a
converts[12]=$a5 : converts[13]=$a6 : converts[14]=$a9 : converts[15]=$aa

pause 1000

loop:
counter = counter + 1 : lcdout $fe , $c0 , "Waiting......" , DEC3 counter

waitfor55:
serin portb.2 , t2400 , temp : if temp <> $55 then goto waitfor55

waitforaa:
serin portb.2 , t2400 , temp : if temp <> $aa then goto waitforaa

serin portb.2 , t2400 , templo : serin portb.2 , t2400 , temphi

for convtemp = 0 to 15
if templo = converts[temp] then temp1 = convtemp
if temphi = converts[temp] then temp2 = convtemp
next convtemp

temp = ( temp2 * 16 ) + temp1
tempf = temp * 9 : tempf = tempf / 5 : tempf = tempf + 32
lcdout $fe , $80 , "Tc=" , DEC3 temp , "C,Tf=" , DEC3 tempf , "F."
lcdout $fe , $c0 , "Received....." , DEC3 count
goto loop


'TRANSMIT PIC

'same includes and defines as the other versions
'can probably reduce the char_pacing value quite a bit now that it's working

counter var byte : temp var word : output portb.2 : high portb.2
input portb.3 : dq var portb.4 : templo var byte : temphi var byte
converts var byte[15] : convtemp var byte
converts[0]=$55 : converts[1]=$56 : converts[2]=$59 : converts[3]=$5a
converts[4]=$65 : converts[5]=$66 : converts[6]=$69 : converts[7]=$6a
converts[8]=$95 : converts[9]=$96 : converts[10]=$99 : converts[11]=$9a
converts[12]=$a5 : converts[13]=$a6 : converts[14]=$a9 : converts[15]=$aa
pause 1000

loop:
lcdout $fe , $c0 , "Getting......" , DEC3 count
owout DQ , 1 , [ $cc ] : owout DQ , 0 , [ $44 ] : Pause 500
owout DQ , 1 , [ $cc ] : owout DQ , 0 , [ $be ]
owin DQ , 0 , [ temp.LOWBYTE , temp.HIGHBYTE , skip 6 ]
lcdout $fe , $80 , "Tc=" , DEC3 temp
lcdout $fe , $c0 , "Sending......" , DEC3 count

templo = temp.lowbyte & $f : temphi = temp.lowbyte >> 4
templo = converts[templo] : temphi = converts[temphi]

serout portb.2 , t2400 , [ $55 , $55 , $55 , $55 , $aa ]
serout portb.2 , t2400 , [ templo ] : serout portb.2 , t2400 , [ temphi ]

counter = counter + 1
goto loop