JP1 Remotes Forum Index JP1 Remotes


FAQFAQ SearchSearch 7 days of topics7 Days MemberlistMemberlist UsergroupsUsergroups RegisterRegister
ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in

Custom protocol w/ Wii remote
Goto page Previous  1, 2, 3, 4  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Beginners
View previous topic :: View next topic  
Author Message
Tuer



Joined: 17 Mar 2010
Posts: 18

                    
PostPosted: Sun Apr 04, 2010 8:30 pm    Post subject: Reply with quote

The Robman wrote:
Do you think you have what you need to move forward now? I don't think you're going to be able to create a single protocol that creates the variety of signals that you need without using some assembler, and as your remote is a JP1.2 remote, that means you'll need to use HCS08 assembler, plus you'll need some understanding of how the IR engine works.

All of that is probably too much for you to learn quickly, so you'll probably need Vicky's help with that. But for her to be able to help you, you'll need to clearly state what you want the signals to look like.

She'll need to know...
a) the carrier frequency
b) the ON and OFF times for the main pair
c) how many different pairs you need


I think I'm starting to gain an understanding here. Let me recap what I think I understand so that you can point out any inaccuracies in my line of thinking. I also have a few more questions at the end.

http://people.virginia.edu/~cmd8n/IROut.png

This is my end goal; the infrared signal that I want to be able to see with the Wiimote. The real trick here is that the TV remote doesn't generate its signals in terms of IR "OFF" and IR "ON. Instead, it uses protocols in terms of lead-in and out pairs, and logical one and zero pairs. Because of this, getting the explicit IR output I'm looking for isn't very straightforward.

As for constructing a protocol that the remote could understand, I'm pretty sure it's still possible. I don't need to worry about lead-in and lead-out pairs since based on the Protocol-Builder document, the lead-in can be turned off (or set to appear only on the first repetition, which would be fine too). Theoretically, the lead-out would never be seen as I'd want the signal to repeat as long as possible.

One way I think I could make this work is to have different timings for the logical one and logical zero. Referring to my example image above, I could make the "ON" time for the logical one be 400000 uSec and the "OFF" time for the logical one be 50000 uSec. For the logical zero, I could use a "ON" time of 300000 uSec and an "OFF" time of 50000 uSec. Then, I could set button "X" to transmit data of "1111111" and button "Y" to transmit data of "00000000". I think that might get me the signal I'm looking for.

Other questions: how do I go about choosing a carrier frequency? I'm not really sure what the implications of my choice would be. From the above post, it looks like it will affect battery life, but is that all?
Back to top
View user's profile Send private message
cauer29



Joined: 03 Feb 2010
Posts: 236

                    
PostPosted: Sun Apr 04, 2010 11:38 pm    Post subject: Reply with quote

Tuer wrote:

Other questions: how do I go about choosing a carrier frequency? I'm not really sure what the implications of my choice would be. From the above post, it looks like it will affect battery life, but is that all?


I don't think it's going to matter what frequency you use. Typical IR remote protocols use frequencies between 36-40KHz. The wii IR array is not going to see the flickering at that frequency. It will just see the overall integrated on time during one sample frame of the array. It'll probably work, but it's way ugly from an engineering esthetic standpoint.

As for the battery life you mentioned, it probably will run the batteries down in 5 minutes of continuous transmission. To make this work long term, you probably should install resistors in series with the IR leds to knock the current down to something more conducive.

A.A.
Back to top
View user's profile Send private message
Tuer



Joined: 17 Mar 2010
Posts: 18

                    
PostPosted: Mon Apr 05, 2010 12:48 am    Post subject: Reply with quote

cauer29 wrote:
Tuer wrote:

Other questions: how do I go about choosing a carrier frequency? I'm not really sure what the implications of my choice would be. From the above post, it looks like it will affect battery life, but is that all?


I don't think it's going to matter what frequency you use. Typical IR remote protocols use frequencies between 36-40KHz. The wii IR array is not going to see the flickering at that frequency. It will just see the overall integrated on time during one sample frame of the array. It'll probably work, but it's way ugly from an engineering esthetic standpoint.

As for the battery life you mentioned, it probably will run the batteries down in 5 minutes of continuous transmission. To make this work long term, you probably should install resistors in series with the IR leds to knock the current down to something more conducive.

A.A.


For me, there is no long term, just as long as it lasts long enough for me to write a paper and film a demo. Very Happy

I'm a little confused by what you are saying regarding the flickering at that carrier frequency. Are you saying that the protocol will transmit too fast for the Wiimote to pick up meaningfully? If not, why would it be ugly from an engineering aesthetic? Not trying to rag on you at all, just curious what you mean.
Back to top
View user's profile Send private message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Mon Apr 05, 2010 6:08 am    Post subject: Reply with quote

Tuer if you really want a "simple" sequence to run your test on, I'd suggest an 8 bit binary code.

This would be easy to build in PB and easy for you to manipulate to find something you could see.
Typically you have an off time before you repeat the message,
For this you'd just need a

zero value
time on, time off

one value
time on, time off

a lead-out time

11111111_______11111111______........
11011011_______11011011______........

A leadout time between the repeated message just allows you to know where the message begins. So if you are interested in more than 2 numbers, I'd recommend including a lead-out time in your protocol..

This would be easy to create and you could do it yourself. Your original version of a "simple protocol" would be difficult to create requiring quite a bit of assembly language and a thorough understanding of the IR engine, however with binary you simply plug in the values in IR.

Edit, Since this won't be going anywhere other than to a JP1.2 remote, I should add that on these remotes a Quad protocol with 1 on time and 4 different off times requires only a small amount of assembly code. But from the first post where you were using numbers like 7 and 8, I didn't go there, I jumped imediately to the complexity of the XMP signal, which is very difficult to generate, and then added to that complexity because you said you wanted different On times, or am I mistaken there?
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
cauer29



Joined: 03 Feb 2010
Posts: 236

                    
PostPosted: Mon Apr 05, 2010 10:03 am    Post subject: Reply with quote

Tuer wrote:


For me, there is no long term, just as long as it lasts long enough for me to write a paper and film a demo. Very Happy

I'm a little confused by what you are saying regarding the flickering at that carrier frequency. Are you saying that the protocol will transmit too fast for the Wiimote to pick up meaningfully? If not, why would it be ugly from an engineering aesthetic? Not trying to rag on you at all, just curious what you mean.


What I meant by the wiimote won't see the flickering, is that the individual elements of the IR sensor array will not respond fast enough to see that the IR is turning on and off, but rather it will simply respond to the sum total of the "on" time during one frame sample. It'll work fine in that regard. It won't notice the "off" time between the carrier pulses.

Since I don't know actually what the overall goal is here, it's hard to comment on why this scheme is aesthetically limited to me as an engineer of 30 years. I suppose if the goal is to get a signal from an IR source into a computer is required, I see many much simpler methods to that end. There are numerous IR receivers that connect to computers via USB that would completely bypass any need for Wiimotes or other Bluetooth devices. Assuming that there is a hard requirement for Bluetooth, even if it's just a fashion requirement, then I think I'd have explored any of the PS3 IR to Bluetooth convertors out there, as they're designed to receive IR button presses and translate those to Bluetooth, sending them to the PS3, effictively mimicking the PS3's Bluetooth remote. Using the Wiimote to receive a custom IR protocol and relaying to PC via Bluetooth and then decoding that by custom video frame analysis software......is aesthetically displeasing. It's not in the "fingernails on the chalkboard" class, but still....


A.A.
Back to top
View user's profile Send private message
Tuer



Joined: 17 Mar 2010
Posts: 18

                    
PostPosted: Mon Apr 05, 2010 1:14 pm    Post subject: Reply with quote

vickyg2003 wrote:
Tuer if you really want a "simple" sequence to run your test on, I'd suggest an 8 bit binary code.

This would be easy to build in PB and easy for you to manipulate to find something you could see.
Typically you have an off time before you repeat the message,
For this you'd just need a

zero value
time on, time off

one value
time on, time off

a lead-out time

11111111_______11111111______........
11011011_______11011011______........

A leadout time between the repeated message just allows you to know where the message begins. So if you are interested in more than 2 numbers, I'd recommend including a lead-out time in your protocol..

This would be easy to create and you could do it yourself. Your original version of a "simple protocol" would be difficult to create requiring quite a bit of assembly language and a thorough understanding of the IR engine, however with binary you simply plug in the values in IR.

Edit, Since this won't be going anywhere other than to a JP1.2 remote, I should add that on these remotes a Quad protocol with 1 on time and 4 different off times requires only a small amount of assembly code. But from the first post where you were using numbers like 7 and 8, I didn't go there, I jumped imediately to the complexity of the XMP signal, which is very difficult to generate, and then added to that complexity because you said you wanted different On times, or am I mistaken there?


I think I understand what you're saying here. How do I get started putting this together?
Back to top
View user's profile Send private message
Tuer



Joined: 17 Mar 2010
Posts: 18

                    
PostPosted: Mon Apr 05, 2010 1:42 pm    Post subject: Reply with quote

cauer29 wrote:
I suppose if the goal is to get a signal from an IR source into a computer is required, I see many much simpler methods to that end.


So here's where our misunderstanding lies. The whole reason I'd like to do something like this is to create distinctly identifiable Wii sensor bars. For example, the normal Wii sensor bar gives a permanent "ON" signal. The problem here is that since every sensor bar emits the exact same signal, it's impossible to distinguish between multiple bars. While no games for the Wii use multiple sensor bars as far as I know, if I wanted to use the Wiimote technology in some more customized application with multiple sensor bars, it might be nice to be able to identify which sensor bar a Wiimote was looking at.
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21237
Location: Chicago, IL

                    
PostPosted: Mon Apr 05, 2010 2:22 pm    Post subject: Reply with quote

How many different "buttons" do you want to be able to support? If two is all you need (ie, the 400ms time and the 300ms time), then this will be easy. If you need a lot more than that, it can be done but it would require assembler.

Also, it sounds like you'd be better of not using a carrier frequency at all, which you're allowed to do.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
mr_d_p_gumby
Expert


Joined: 03 Aug 2003
Posts: 1370
Location: Newbury Park, CA

                    
PostPosted: Mon Apr 05, 2010 2:43 pm    Post subject: Reply with quote

The Robman wrote:
Also, it sounds like you'd be better of not using a carrier frequency at all, which you're allowed to do.
I'd still suggest using a carrier. If you have the IR LED turned on that much, it's likely to burn out before the batteries die. In this application, the carrier will serve as more of a "brightness" control (i.e., PWM modulation) and limit the average current in the LED to something it can handle. You can always set the carrier up higher (100 kHz?), so I think the sensor hardware in the wiimote will not "see" it. This way, the duty cycle of the carrier would set the brightness.
_________________
Mike England
Back to top
View user's profile Send private message
Tuer



Joined: 17 Mar 2010
Posts: 18

                    
PostPosted: Mon Apr 05, 2010 3:03 pm    Post subject: Reply with quote

The Robman wrote:
How many different "buttons" do you want to be able to support? If two is all you need (ie, the 400ms time and the 300ms time), then this will be easy. If you need a lot more than that, it can be done but it would require assembler.

Also, it sounds like you'd be better of not using a carrier frequency at all, which you're allowed to do.


Two would be enough for my purposes.
Back to top
View user's profile Send private message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Mon Apr 05, 2010 5:31 pm    Post subject: Reply with quote

So these two signals would be enough?


You can adjust the timings and frequency with PB. These two signals are assigned to CH+ and Ch-.

Here is a zip file with the
Protocol Builder and KM files

Good Luck
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
Tuer



Joined: 17 Mar 2010
Posts: 18

                    
PostPosted: Mon Apr 05, 2010 6:05 pm    Post subject: Reply with quote

Thanks a lot! I'll give it a shot and see how it goes. Again, thanks for all your help through this entire process, I wouldn't have been able to make this much progress without you all.
Back to top
View user's profile Send private message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Mon Apr 05, 2010 7:19 pm    Post subject: Reply with quote

Tuer, we're happy to help.

mr_d_p_gumby wrote:
The Robman wrote:
Also, it sounds like you'd be better of not using a carrier frequency at all, which you're allowed to do.
I'd still suggest using a carrier. If you have the IR LED turned on that much, it's likely to burn out before the batteries die.


That's the truth. When I started exploring the IR Engine, I burned out my 10820's IR emitter in a matter of minutes. Crying or Very sad

I've set Tuer's frequency quite high, and I hope that will be okay for his tests.
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
cauer29



Joined: 03 Feb 2010
Posts: 236

                    
PostPosted: Mon Apr 05, 2010 9:07 pm    Post subject: Reply with quote

Tuer wrote:
cauer29 wrote:
I suppose if the goal is to get a signal from an IR source into a computer is required, I see many much simpler methods to that end.


So here's where our misunderstanding lies. The whole reason I'd like to do something like this is to create distinctly identifiable Wii sensor bars. For example, the normal Wii sensor bar gives a permanent "ON" signal. The problem here is that since every sensor bar emits the exact same signal, it's impossible to distinguish between multiple bars. While no games for the Wii use multiple sensor bars as far as I know, if I wanted to use the Wiimote technology in some more customized application with multiple sensor bars, it might be nice to be able to identify which sensor bar a Wiimote was looking at.


Ok, I understand now. I think I would've approached it by building custom sensor bars. I'm thinking something simple like modulating an existing sensor bar at 10hz or 20hz. That'd be fairly trivial to add to the existing sensor bar. Then your video analysis software could easily pick out the difference between 10 hz pulsing and 20 hz pulsing. Using a JP1 remote to create 2 unique patterns, is the pure software method and has the disadvantage of using way more power than needed, even if it does avoid the dirty deed of building/modding hardware.

A.A.
Back to top
View user's profile Send private message
Tuer



Joined: 17 Mar 2010
Posts: 18

                    
PostPosted: Mon Apr 05, 2010 9:18 pm    Post subject: Reply with quote

cauer29 wrote:
Tuer wrote:
cauer29 wrote:
I suppose if the goal is to get a signal from an IR source into a computer is required, I see many much simpler methods to that end.


So here's where our misunderstanding lies. The whole reason I'd like to do something like this is to create distinctly identifiable Wii sensor bars. For example, the normal Wii sensor bar gives a permanent "ON" signal. The problem here is that since every sensor bar emits the exact same signal, it's impossible to distinguish between multiple bars. While no games for the Wii use multiple sensor bars as far as I know, if I wanted to use the Wiimote technology in some more customized application with multiple sensor bars, it might be nice to be able to identify which sensor bar a Wiimote was looking at.


Ok, I understand now. I think I would've approached it by building custom sensor bars. I'm thinking something simple like modulating an existing sensor bar at 10hz or 20hz. That'd be fairly trivial to add to the existing sensor bar. Then your video analysis software could easily pick out the difference between 10 hz pulsing and 20 hz pulsing. Using a JP1 remote to create 2 unique patterns, is the pure software method and has the disadvantage of using way more power than needed, even if it does avoid the dirty deed of building/modding hardware.

A.A.


Yeah it's the pure software version, but only because I'm a pure software person Smile
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - Beginners All times are GMT - 5 Hours
Goto page Previous  1, 2, 3, 4  Next
Page 3 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


 

Powered by phpBB © 2001, 2005 phpBB Group
Top 7 Advantages of Playing Online Slots The Evolution of Remote Control