winteriscoming
Champion
Ok, so with a combination of what I see in OR2SP and F-ZERO logs, I've put together an init sequence that ends up stopping at the center of the wheel and allows me to issue the centering command for it to self-center without external monitoring. I can even put it into a state where communication can be severed and self-centering still happens. All of this is done without wheel pot monitoring. A variable or two would have to be adjusted according to the unique configuration of a given wheel.
I confirmed that the initialization commands are needed to be able use the center command. In my previous attempts with only a partial init, the center command wasn't doing anything. I would have to do a lot more work to establish which commands affect it, but not sure if I want to mess with that at this point now that I'm on track to meeting my goals. Whether or not I know what all of the init commands do, as long as I have a working sequence that lets me translate Namco commands to MIDI commands, I'll be happy.
I'm kind of optimistic that I can get away without monitoring the wheel pot even for Namco FFB games as I believe my early testing in WMMT indicated that the game would still send a command based on its reading of the wheel pot, not the positional data sent back as an ACK from the FFB board. That means the FFB board can potentially send anything back as a position and the game doesn't use that data, but rather its own reading of the analog value of the wheel position. It remains to be seen whether or not the Mario Karts are ok with this method. I will also need to make sure that movement commands aren't affecting the established center point.
It seems like it would just be necessary to have a specific initialization sequence in place that ends up at the center of the wheel.
My tests with the 83 command make me think this is what establishes the power. I can set it higher and get a high holding force with the center command, and lower values result in less force. I also think it affects the movement force because it is one of the commands in my init sequence and lowering it affected my ability to get back to the center in my previously established hard-coded number of steps.
I believe the 80 0 1 1 command is what establishes the center or holding point to the FFB board. It may be some of the other init commands instead, though, as I have incorporated most of the commands seen at the end of F-ZERO initialization.
I confirmed that the initialization commands are needed to be able use the center command. In my previous attempts with only a partial init, the center command wasn't doing anything. I would have to do a lot more work to establish which commands affect it, but not sure if I want to mess with that at this point now that I'm on track to meeting my goals. Whether or not I know what all of the init commands do, as long as I have a working sequence that lets me translate Namco commands to MIDI commands, I'll be happy.
I'm kind of optimistic that I can get away without monitoring the wheel pot even for Namco FFB games as I believe my early testing in WMMT indicated that the game would still send a command based on its reading of the wheel pot, not the positional data sent back as an ACK from the FFB board. That means the FFB board can potentially send anything back as a position and the game doesn't use that data, but rather its own reading of the analog value of the wheel position. It remains to be seen whether or not the Mario Karts are ok with this method. I will also need to make sure that movement commands aren't affecting the established center point.
It seems like it would just be necessary to have a specific initialization sequence in place that ends up at the center of the wheel.
My tests with the 83 command make me think this is what establishes the power. I can set it higher and get a high holding force with the center command, and lower values result in less force. I also think it affects the movement force because it is one of the commands in my init sequence and lowering it affected my ability to get back to the center in my previously established hard-coded number of steps.
I believe the 80 0 1 1 command is what establishes the center or holding point to the FFB board. It may be some of the other init commands instead, though, as I have incorporated most of the commands seen at the end of F-ZERO initialization.