Post by Frisbone on Mar 1, 2013 9:45:11 GMT -5
The XBOX has a security protocol in place that makes life difficult for anyone trying to simulate their own controller without the use of an actual controller. As a result it is easier to make your own controller from the guts of an existing controller.
Everyone is familiar with the controls so I won't get too much into that but what I will note is that certain controller inputs are PWM rather than acting as simple digital switches:
- Left Joystick (X & Y)
- Right Joystick (X & Y)
- Left Trigger
- Right Trigger
PWM stands for Pulse Width Modulation. The width of the digital pulse implies the value transmitted to the receiver. The smaller the width the smaller the number. So imagine then that the position of the joystick represents a coordinate square and that the value of the PWM represents the position of the joystick. At rest springs keep it in the center and the X/Y value will be mid-range in the allowable PWM widths (whatever those are - I don't know yet).
I'm not sure that very many games actually make use of the fact that the triggers are PWM - but for most there must be some PWM value that serves as the threshold to consider a "fire". I think its interesting that a game could easily program in a varying effect based on how far in you press one of the trigger buttons - I haven't seen it in the games I've played - but perhaps others have.
Some technical details:
Controller P1: Microsoft X801997003 2S0536RF
Controller P2: MS VM56RU 8019901
RF Crystal: CMT-GJAXN5
FCC ID: C3K-WKS368
2.4 Ghz wireless
So the idea of course is to rip it down to just the PCB and use transistors to wire in all the normal buttons (the base would be connected to a computer controlled output that would be serving as the new trigger). That part should be easy. The trickier part is that the PWM signals need to be generated externally.
Separate threads will deal with PWM specifically.
The right joystick is the important one as it is the "look" controller for most games. The left one usually handles left/right strafe and forward/backward movement.
So if you think about how a game like COD treats the joystick input you can intuitively realize that depending on how far you push the joystick over - the faster the view moves in the intended direction. Few people have the motor skills for very fine movement and then you couple that with in-game control of translated sensitivity and how much your POV changes with the joystick varies on both this setting and the joystick position.
What we need to do in this project is simulate a joystick PWM signal for the X and Y position based on the perceived movements of a gun in space.
The challenge of course would be that it would drift and eventually not represent the correct point in space and would need to be manually adjusted somehow.
There are two projects I have found that I am using as references for ideas:
- www.dsprobotics.com/support/viewtopic.php?f=61&t=350&p=952#p952
- www.hmsprojects.com/xboxbypc.html
The first is a very cool computer controlled robot from the guts of a wireless XBOX controller.
The second is someone who is fully manipulating all of the input controls of the Xbox from a PC.
Everyone is familiar with the controls so I won't get too much into that but what I will note is that certain controller inputs are PWM rather than acting as simple digital switches:
- Left Joystick (X & Y)
- Right Joystick (X & Y)
- Left Trigger
- Right Trigger
PWM stands for Pulse Width Modulation. The width of the digital pulse implies the value transmitted to the receiver. The smaller the width the smaller the number. So imagine then that the position of the joystick represents a coordinate square and that the value of the PWM represents the position of the joystick. At rest springs keep it in the center and the X/Y value will be mid-range in the allowable PWM widths (whatever those are - I don't know yet).
I'm not sure that very many games actually make use of the fact that the triggers are PWM - but for most there must be some PWM value that serves as the threshold to consider a "fire". I think its interesting that a game could easily program in a varying effect based on how far in you press one of the trigger buttons - I haven't seen it in the games I've played - but perhaps others have.
Some technical details:
Controller P1: Microsoft X801997003 2S0536RF
Controller P2: MS VM56RU 8019901
RF Crystal: CMT-GJAXN5
FCC ID: C3K-WKS368
2.4 Ghz wireless
So the idea of course is to rip it down to just the PCB and use transistors to wire in all the normal buttons (the base would be connected to a computer controlled output that would be serving as the new trigger). That part should be easy. The trickier part is that the PWM signals need to be generated externally.
Separate threads will deal with PWM specifically.
The right joystick is the important one as it is the "look" controller for most games. The left one usually handles left/right strafe and forward/backward movement.
So if you think about how a game like COD treats the joystick input you can intuitively realize that depending on how far you push the joystick over - the faster the view moves in the intended direction. Few people have the motor skills for very fine movement and then you couple that with in-game control of translated sensitivity and how much your POV changes with the joystick varies on both this setting and the joystick position.
What we need to do in this project is simulate a joystick PWM signal for the X and Y position based on the perceived movements of a gun in space.
The challenge of course would be that it would drift and eventually not represent the correct point in space and would need to be manually adjusted somehow.
There are two projects I have found that I am using as references for ideas:
- www.dsprobotics.com/support/viewtopic.php?f=61&t=350&p=952#p952
- www.hmsprojects.com/xboxbypc.html
The first is a very cool computer controlled robot from the guts of a wireless XBOX controller.
The second is someone who is fully manipulating all of the input controls of the Xbox from a PC.