What are the X axis voltages for H pattern shifter?
I'd like to make a button box that connects to the shifter port on my CSL Elite base. I've managed to get 2 buttons working by effectively spoofing a sequential shifter (buttons between pin 1 and pins 5/4). To allow more buttons, I'd like to make the base think an H pattern shifter is installed.
Following the information at this link (https://hackaday.io/project/171155-fanatec-clubsport-shifter-sq-v15-usb-adapter-diy) I've shorted pins 1 and 2 but the base now wants to calibrate my imaginary H shifter. My understanding of how the shifter works is that the Y axis has 3 states (Vcc, Vcc/2, 0) and the X axis is analogue. In order to calibrate the ghost shifter, I need to set the X and Y voltages to the approximate values that correlate to each gear. The Y is simple, but I need some help with the X. Does anyone know what voltages the base expects to see for each X axis position (i.e. R, 1/2, 3/4, 5/6, 7)?
Comments
Haven't tested so guessing here. But assuming the analogue x axis is linear between 0 and 5v it 'should' (might) calibrate if it sees 5 distinct voltages within these parameters. I'd try sending 0 (or 1), 2, 3, 4, and 5 for the spoofed positions and see if calibration succeeds .
I was thinking the same (the voltage coming in is 3v so it would be 0v, 0.75v, 1.5v, 2.25v, 3v) but was thrown a bit by this statement on the page I linked to previously:
"a magnetic encoder chip, outputs a differential voltage proportional to sin(2*theta) of a magnet rotating underneath it. This differential voltage is amplified by an instrumentation amplifier, MCP6N11-010, to its left. Reference voltage for the output is 1/2 VCC, generated with a resistor divider. "
I thought it might mean that it's expecting voltages between 0 and 1.5v and that the sin(2*theta) would mean it's expecting voltages of non-uniform spacing. I just wanted to check if anyone knew for sure before I started poking around and possibly frying something.
Still guessing but my interpretation of that is that the reference voltage would be 1.5v (as you calculated) and the signal voltage would be the differential voltage - which as you know (and I didn't) isn't linear, multiplied by the reference voltage.
I suspect that the ability to calibrate will help you, looks like it doesn't need to see specific voltages, it just needs to see distinct voltages to reference. I'd be tempted to move from theory to cautious testing, <5v is unlikely to fry anything. Good luck, it's an interesting project. :-)
I'll get the breadboard out tomorrow, stick a few volts in and see what pops out.
Just an update. I did get the button box to work by applying 0-3v in 0.75v increments but it wasn't 100% reliable. The button assigned to 5th would work 9 times out of 10 but select 3rd 1/10th of the time, for example. Maybe there's some internal logic at play tracking the shifter position over time. If the shifter suddenly jumps into gear without traversing the space between gears it can get confused. As I'd linked DPDT buttons to switch the X/Y axes simultaneously, maybe there was some inconsistency in which axis received a signal first.
In any case, it was an interesting idea but not reliable enough to actually use.
Thanks for the update. That actually sounds like it worked quite effectively. The issue with intermittent detection issues between gears on the same axis is actually common in the Fanatec shifter too - it also can be not reliable enough to actually use. :-) It can be mitigated by better isolating the control board from the metal housing with tape so I suspect that the issues might be static charge skewing the signal.