Brandon, Thankyou you led me to the answer and here’s what’s up,
I was gonna post the whole doggone settings file but after fooling around, once you pointed me to the Dual port mode, I was able to send the Compact Protocol Commands E1 7F command to send forward all the way and the E0 7F command to send reverse all the way. E1 00 only sent the device to half scale. That’s the low resolution plan.
I can’t get the device to move with the Pololu language commands like AA 11 00 00 all that does is send back a ‘received: 00’ weird. So the Pololu commands don’t work but the Compact protocol works.
So, the low resolution commands you send as I noted above (with the E0 and E1 commands) for {-2048 to +2048}. For the high resolution range of {0-4095} you send the commands beginning with C0.
Therefore if I follow the path in the manual that says this, then all is well:
"For example, if you want to set the target to 3229 (110010011101 in binary), you could send the following byte
sequence:
in binary: 11011101, 01100100
in hex: 0xDD, 0x64
in decimal: 221, 100
so here’s my C code and it works, it does what I need:
void MotorConrolRoutine (WORD target)
{
target={this particular dynamic variable in my code}; // here I can set the target between 0 and 4095
serialBytes[0] = 0xAA; // you'd send this first for the Pololu commands
serialBytes[1] = 11; // then this is the device numba, not needed for Compact code
serialBytes[2] = 0xC0 + (target & 0x1F); // Command byte holds the lower 5 bits of target (plus the 3 high bits of 110 <-thus the beginning of the C0, getit?
serialBytes[3] = (target >> 5) & 0x7F; // Data byte holds the upper 7 bits of target (plus the cleared MSB as per specs).
//ConsolePut(serialBytes[0]);
//ConsolePut(serialBytes[1]); These I commented out because the Pololu commands are useless.
ConsolePut(serialBytes[2]);// So the shifted and ANDED code is sent out in 2 bytes
ConsolePut(serialBytes[3]);
}
You set me on the right track, I knew I needed your help, and that was easy, huh?
Thanks, bro, I owe ya one.