PSP Peripheral Help - Interface to something...else?
PSP Peripheral Help - Interface to something...else?
I've been looking for a way to interface the PSP to some other customer hardware of mine. I've noticed that there is a block device (irda) for the IR port (I havent fooled with it yet). Has anyone messed with it yet?
Like, possibly bust out a web cam and aim it at the IR port while messing with it?
Or, more helpfully... has anyone tinkered with the USB or the port near the headphone jack?
I can make hardware to interface with any of these... but I need a way to make the PSP end work, software-wise.
Any help appreciated.
-Klim
Like, possibly bust out a web cam and aim it at the IR port while messing with it?
Or, more helpfully... has anyone tinkered with the USB or the port near the headphone jack?
I can make hardware to interface with any of these... but I need a way to make the PSP end work, software-wise.
Any help appreciated.
-Klim
There's been a considerable amount of analysis done on the remote port (the one next to the headphone jack) in this thread. I think a couple of the functions relating to IR have been found, but I don't know whether anyone has tried to put them to use yet (also, rather than a webcam I think it'd be better to use something like a pyroelectric infrared detector or a phototransistor). I have seen what is allegedly a video of someone from the Mobilehackerz group (the people who make 3GPP Converter) using an IR keyboard with a PSP, but their site doesn't give any details on how it was accomplished.
Dan Jackson
Thanks for the info. I've read that thread, but, I havent really found any way to use that port or the IR from within custom PSP software.
What would be perfect for me would be something where I could just toggle an I/O line or the IR LED. But, I suppose that may be asking for too much. lol.
I really only need to output data for the project I'm considering, but input would be nice as well. I'll be completely happy with just output, though.
Thanks again
-Klim
What would be perfect for me would be something where I could just toggle an I/O line or the IR LED. But, I suppose that may be asking for too much. lol.
I really only need to output data for the project I'm considering, but input would be nice as well. I'll be completely happy with just output, though.
Thanks again
-Klim
There's a (small) list of IR related functions in this post by Vampire, don't know if that's of any help to you?
Dan Jackson
the PSP supports two diffrent IR modes: IrDA and SIRCS
IrDA (Infrared Data Association) is used for two way communication between two devices to transfer data over a short distance (a few centimeters). IrDA operates at a wavelength of about 875 nm.
SIRCS (Sony Integrated Remote Control System) is used for one way communication over a longer distance (a few meters). it's like a IR remote control. SIRCS operates at a wavelength of about 950 nm.
to use IrDA you can open the irda-block-devie with sceIoOpen("irda0:", O_RDWR, 0) and then you can read and write to it with sceIoRead and sceIoWrite. By default it uses 9600bps, 8 data-bits, no parity-bit, and 1 stop-bit. These parameter can probably be changed with sceIoDevctl. sceIoRead return 0 when there is no data to read.
SIRCS can be used for one way communication. you can send data (SIRCS commands) with sceSircsSend.
IrDA (Infrared Data Association) is used for two way communication between two devices to transfer data over a short distance (a few centimeters). IrDA operates at a wavelength of about 875 nm.
SIRCS (Sony Integrated Remote Control System) is used for one way communication over a longer distance (a few meters). it's like a IR remote control. SIRCS operates at a wavelength of about 950 nm.
to use IrDA you can open the irda-block-devie with sceIoOpen("irda0:", O_RDWR, 0) and then you can read and write to it with sceIoRead and sceIoWrite. By default it uses 9600bps, 8 data-bits, no parity-bit, and 1 stop-bit. These parameter can probably be changed with sceIoDevctl. sceIoRead return 0 when there is no data to read.
SIRCS can be used for one way communication. you can send data (SIRCS commands) with sceSircsSend.
I got myself a cheap irda/usb dongle for my pc.
Writing garbage to the psp irda0: and then reading the pc response gives results like these:
So, could someone point me in the direction of a psp implemented irda protocol stack? Perhaps there is a commercial title that can communicate via irda?
... and i found the irda works up to 1m
Writing garbage to the psp irda0: and then reading the pc response gives results like these:
This would appear to be an irlap frame, as the first 11 bytes are BOF and last byte is EOF. Irlap is similar to the data link layer of the osi network model. It, and several other layers of abstraction are required before any comms takes place (fake serial port, networking etc).0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0
0xff 0x3f 0x01 0x27 0x08 0x00 0x00 0xff 0xff 0xff 0xff
0x01 0x04 0x00 0xa7 0x8a 0xc1
So, could someone point me in the direction of a psp implemented irda protocol stack? Perhaps there is a commercial title that can communicate via irda?
... and i found the irda works up to 1m
A load more than you realize if you've never done dev with IR before. I'm not saying you haven't mind you.
Speaking from personal experience with doing development work on IR and wireless communication a scope allows us to see what the machine is outputting and not just printf statements which are what the program is outputting.
Yeah, you can probably get 90% of the same stuff but it's not always the case. Anyway, my scope should arrive in a few days and my offer is out there.
Scope is coming for some robotics projects I'm working on by the way.
Speaking from personal experience with doing development work on IR and wireless communication a scope allows us to see what the machine is outputting and not just printf statements which are what the program is outputting.
Yeah, you can probably get 90% of the same stuff but it's not always the case. Anyway, my scope should arrive in a few days and my offer is out there.
Scope is coming for some robotics projects I'm working on by the way.
See this topic for an IrDA communication between two PSPs.