View Full Version: TV turning on by itself

dex >>General Discussion >>TV turning on by itself


jas2o- 12-17-2005
TV turning on by itself
Has this ever happened to someone else? It happens when my laptop is on an angle to my tv, but it has IRDA. I thought IRDA can't do normal IR? For some reason it always goes to channel '2'. Is there a program I can use to send signals to verify this? Any ideas? Jas2o

tonyMac- 12-17-2005

wow, I've never had that happen before! Look up the make and model of the TV online, and see if anyone else has had this happen... The IRDA is still IR, my PocketPC has a program to allow it to be a universal remote. I know Windows is on constant patrol for nearby IRDA devices, perhaps it's "Are you there?" message is the right one to trigger the tv.

jas2o- 12-17-2005

I don't know the model and can't find out (I can't turn the TV around). Why would it be 'Are you there?', if the TV doesn't turn on evey time the little light flashes? Is there a universial remote for windows that supports IRDA? Just so I can experiment. Jas2o

Dex- 12-18-2005

I made some code for IR to run in Dex4u, but it does not work, as you need the port and irq numbers and i can not get in to my bios on the laptops. It just sit there waiting for input form IR, but as it probably not the right number it does not go anyfather :cry:. I will work on it, some more, when i have more time.

tonyMac- 12-19-2005

Shouldn't the IR just sit on a COM port, or is that the problem you're having, that you can't access you're BIOS settings? That's wierd, I've never had that problem with any PC I've owned, except that IBM PS/2... Well, I have 2 computers with IRDA ports, if you'd like me to test it, I'd be glad to.

Dex- 12-19-2005

Thanks tonyMac. Yes that right, but i wanted to check the address in BIOS, i also think windows only emulates them on a com port ?, On some compaq BIOS theres apart that goes on the harddrive, this gets cleared off when you format, to fix it you need to flash you BIOS, I do not want to do that. I could get round it, but have no time right now. Here is the code for you to see what you can come up with, it some old code i had on a disk for dos, that i converted to run on Dex4u. use32 ORG 0x200000 ; where our program is loaded to jmp start ; jump to the start of program. db 'DEX1' ; We check for this, to make shore it a valid Dex4u file. WaitMessage: DB 'Waiting for IR input',13,0 IRMessage: DB 'Got IR input',13,0 OFMessage: DB 'Overflow....',13,0 OneMessage: DB '1',0 ZeroMessage: DB '0',0 CRMessage: DB ' ',13,0 KeyMessage: DB 'Press a key',13,0 NrmMessage: DB 'Normal exit',13,0 PCount: DB ' pulses ',13,0 ;----------------------------------------------------; ; Start of program. ; ;----------------------------------------------------; start: mov ax,18h ; set ax to nonlinear base mov ds,ax ; add them to ds mov es,ax ; and es. ;----------------------------------------------------; ; Get calltable address. ; ;----------------------------------------------------; mov edi,Functions ; this is the interrupt mov al,0 ; we use to load the DexFunction.inc mov ah,0x0a ; with the address to dex4u functions. int 40h ;----------------------------------------------------; ; print string. ; ;----------------------------------------------------; mov esi,WaitMessage call [PrintString] ; this call the print function. ;----------------------------------------------------; ; start the IR stuff. ; ;----------------------------------------------------; mov ebx,Buffer ; for integer counts to go in mov dx,0e301h ; system control reg address in al,dx ; get contents of control reg or al,04h ; turn on I/O (UART & IR) out dx,al ; write it back ; wait for first input inp1: mov dx,0e30bh ; IR xmit/rcv reg wait1: in al,dx test al,80h ; high-order bit is raw IR data in jz wait1 ; nothing in yet cli ; replaced nop with cli ; wait for input to go off off1: xor cx,cx ; put zeros in cx wait2: in al,dx test al,80h loopnz wait2 ; still on jcxz toomuch ; somehow overflowed... neg cx mov word[ds:ebx],cx inc ebx inc ebx ; there were lots of nops here to even out time xor ecx,ecx wait3: in al,dx test al,80h loopz wait3 ; still off jcxz done neg cx mov word[ds:ebx],cx inc ebx inc ebx mov cx,0000h ; lots of nops were here too jmp wait2 toomuch: mov esi,OFMessage call [PrintString] ; this call the print function. jmp booboo done: sti ; now let's print out what it looks like ; bx points to first empty byte in Buffer mov ecx,Buffer mov esi,ecx mov edx,PBuffer mov edi,edx top: mov ax,word[ds:esi] ; get first hex char from Buffer mov cx,ax mov al,ah ; save copy for later shr al,1 shr al,1 shr al,1 shr al,1 and al,0fh or al,30h cmp al,3ah jl ok1 add al,07h ok1: mov byte[ds:edi],al inc di mov al,ah and al,0fh or al,30h cmp al,3ah jl ok2 add al,07h ok2: mov byte[ds:edi],al inc di mov ax,cx mov ah,al ; save copy for later shr al,1 shr al,1 shr al,1 shr al,1 and al,0fh or al,30h cmp al,3ah jl ok3 add al,07h ok3: mov byte[ds:edi],al inc di mov al,ah and al,0fh or al,30h cmp al,3ah jl ok4 add al,07h ok4: mov byte[ds:edi],al inc edi inc esi inc esi mov al,',' mov byte[ds:edi],al inc di cmp ebx,esi jg top mov ch,'?' mov byte[ds:edi],ch inc di mov cx,0d0ah mov word[ds:edi],cx inc di inc di mov ch,'0' mov byte[ds:edi],ch mov esi,PBuffer call [PrintString] ; this call the print function. mov esi,NrmMessage call [PrintString] ; this call the print function. mov esi,ebx ; save bx (Buffer ptr) for later mov edx,Buffer ; lets see how many pulses sub ebx,edx shr ebx,1 mov edx,PCount mov edi,edx mov al,bl ; get first hex char from Buffer mov ah,al ; save copy for later shr al,1 shr al,1 shr al,1 shr al,1 and al,0fh or al,30h cmp al,3ah jl ok5 add al,07h ok5: mov byte[ds:edi],al inc edi mov al,ah and al,0fh or al,30h cmp al,3ah jl ok6 add al,07h ok6: mov byte[ds:edi],al inc edi mov esi,PCount call [PrintString] ; this call the print function. cleanup: sti ; uncomment the following code if you want to bypass the IR playback ; turn off the I/O ; mov dx,0e301h ; system control reg ; in al,dx ; and al,11011111b ; turn off I/O ; out dx,al ; jmp byebye ; dont play back yet ; now time to play it back ; si now points to first empty byte in Buffer mov ebx,esi mov esi,KeyMessage call [PrintString] ; this call the print function. call [WaitForKeyPress] mov dx,0e301h ; system control reg in al,dx or al,04h out dx,al ; turn on I/O again just to be sure mov dx,03fbh mov al,80h out dx,al ; enable baud rate change mov dx,03f8h ; baud rate divisor low mov al,02eh ; 2500 baud out dx,al ; the IR LED is modulated at 16x the baud mov dx,03f9h ; rate, so 2500 baud gives 40KHz mov al,00h ; 2500 baud out dx,al ; set up IR format to use 16x baud rate to modulate output LED mov dx,0e30ah ; IRFMAT register address mov al,00001010b ; MDSEL=1 (UART), MDLTE=1 out dx,al ; enable mov edx,Buffer mov edi,edx mov cx,word[ds:edi] ; get first ones count and ch,01fh ; don't leave it on too long inc edi inc edi cli ; turn off interrupts mov dx,0e30bh mov al,04h ; gate modulated output out dx,al test al,04h jz booboo cli mov ax,0004h mod_one: out dx,al test al,04h loopnz mod_one ; still on new_zero: mov al,00h out dx,al mov cx,word[ds:edi] inc di inc di cmp ebx,edi ; bx, si jg top jl byebye mod_zero: out dx,al test al,80h loopz mod_zero ; still off next_one: mov al,04h out dx,al mov cx,word[ds:edi] inc edi inc edi cmp ebx,edi jge mod_one ; all done, go back to DOS byebye: sti mov al,00h mov dx,0e30bh out dx,al ; make doubly sure LED is off ; turn off the LEDs, leave I/O on mov dx,0e30ah ; IRFMAT in al,dx and al,00000000b ; turn off all IR formats out dx,al booboo: ; turn off thC I/O mov al,00h mov dx,0e30bh out dx,al ; make doubly sure LED is off sti ; mov dx,0e301h ; system control reg ; in al,dx ; xor al,20h ; turn off I/O ; out dx,al ; all done, go back to Dex4u ret ; END ;-------------------- Buffer rb 511 PBuffer rb 1028 include 'DexFunctions.inc' It just waits at the "Waiting for IR input', so you need to reboot to get back to Dex4u. If you come up with any thing or good info, let me know as it a intersting project for Dex4u 8). Good luck. <EDIT> I have run a test program that works on (com 4 ) in win98, but not in Dos, eg: you can hear it and another IR win98 laptop reports IR device near. But i have tryed com 1,2,3,4 in Dos and nothing, so this means window uses Virtual com 4, so i need to set it up in BIOS :cry: . I may make a simple IR device with electronics, so it will work with pc with out IR.

tonyMac- 12-20-2005

I knew I didn't like Compaq for a reason.... :lol: I'm pretty sure the IR port on my Dell is a standard part, i know I can control whether it's on or off in BIOS, and I believe I also have control of the port. If not, I have a 1997 Gateway that has an IR port, I'm certain it's a standard com port on there, you have to tell it if you want it to be com 3 or 4 in BIOS. I'll check it out.

Dex- 12-20-2005

Its a common problem with Compaq laptops, theres a small dos partion on the Hdd, that Bios users instead of rom, but people over write it when installing windows etc. You can fix it with a flash, but if it goes wrong its a door stop for the laptop. :cry: . If you get any think working i will try it, it will be best to have the port number change able from the program. eg: type 1 for com1, 2 for com2 and so on. Found this site good : http://www.veg.nildram.co.uk/furby.htm All i need know is a furby, to test it on :lol: .

jas2o- 12-20-2005

My compaq laptop can turn off the IRDA in the bios. I have to press F10 at a blinking cursor. I can also control my bios from windows with 'compaq security'. I don't want turn off the IRDA. I've tried the IRDA projects on that site (furby and tv) but they didn't work. Mybe becuase I did have the sampling thing for TV. Yes I have a furby. Infact I have 3. One is dead, one is normal and the last has no skin (bare electronics). I don't know if my IRDA is on a com port. I think it is on a 'virtual port', which changes between OS.? I'm just going to try that code. < nope it didn't work, my IRDA wasn't flashing either > Jas2o

Dex- 12-20-2005

If you are using win98 , go to start ,setting, control panel, system, device manager, then click on the com+, in there it should say something about IR virtual port "com 4", That mean you need to type in a dos box, furby c4. This is the one for my laptop, it may be differant for yours. But i switched the windows IR off before trying, you should be able to hear if you listen nearer the keyboard. PS: I used the dos ver.

Dex- 12-20-2005

Most of the info is in the above post, but the program that worked for me was the Dos furby program from the site i posted, using win98 in a CLI, but still in windows.

jas2o- 12-20-2005

Mine is Com3, I coun't find this virtual thing, does that mean mine ism real com? Still havn't found batteries. < found some, but they need to charge, I'll have to test the furby later > Jas2o PS: Any change of MSN? Or tool late? Or am I just nagging?

jas2o- 12-20-2005

The furby program works very well for Windows 98. "An easy way to make it SHUTUP!" I couldn't get the other remote program to turn the TV on but I can't 'sample' so maybe that is why. Jas2o

Dex- 12-20-2005

Try booting down to dos, not a dos box and see if it controls the furby (it only works in windows on mine) :roll: and i will try and get on msm later but i am trying to get as much done on the editer as i can

jas2o- 12-20-2005

Only windows, DOS didn't malke it blink on ANY port. It's virtual or DOS doesn't support my IR. Jas2o

Forumer™ is Voted #1 Free Forum Hosting provider
Build your own community today with the largest message board hosting company.