kirkpthompson wrote:My understanding is if NTO is set, the controller should never turn off so that behavior to me seems weird.
zbuhman wrote:skoehler wrote:(Kirks wrote the Tetrix driver)
Thanks again Kirks.
zbuhman wrote:skoehler wrote:will not send forward() commands to the controller if the motor is already turning forward(). I'm afraid, you have to modify the Tetrix driver to properly test what I suggested.
I wonder if I can manage to disable that check on my own... All I'd need to do to test changes would be to make a new classes.jar, or would I need to rebuild the firmware too? I thought we already established several months ago that the Tetrix driver was supposed to automagically keep sending keep-alives; does that also involve re-sending the state that the controller is supposed to be in?
zbuhman wrote:skoehler wrote:What happens, if you do the backward() call after 30 seconds instead of 33 seconds?
Well the other thing is I think the controller firmware itself doesn't immediately respond to changes in forward/backward. e.g: if you say forward() and then backward() a second later, I've observed about another second delay after that before the controller actually reverses direction.
skoehler wrote:It's Kirk, not Kirks. (sorry for my bad typing).
skoehler wrote:The drivers are in Java. Just copy their sources to your project, and make sure to move them to another package, so that you don't accidentally use the ones from the classes.jar.
skoehler wrote:Something smells fishy. It sounds, like the motors cannot keep up with the speed that is specified. Can you try using a lower speed, and see whether that behavior goes away?
Maybe the 33 seconds problems is related.
zbuhman wrote:Again: I've not been able to reproduce any of this craziness when I do the I2C commands myself.
skoehler wrote:The one program does call setPower() - the other program merely contains the I2C commands for forward() and backward(). What do you expect?
skoehler wrote:Have you tried the TetrixRegulatedMotor and using setSpeed() instead of setPower()?
skoehler wrote:Have you tried reduced power as I suggested?
kirkpthompson wrote:The Problem: I used a class hierarchy: TextrixMotor => TetrixEncoderMotor => TetrixRegulatedMotor, and I return a TetrixRegulatedMotor instance from the TetrixMotorController.getBasicMotor() method which the return type is TextrixMotor. I did not turn off regulation before I returned the instance and if you have no encoder attached, it appears that the internal motor controller PID (or something) was overflowing some value every 33 seconds or so (or something like that as this is just a guess).
kirkpthompson wrote:zbuhman, just to help my sanity, were you using encoders with the motor(s) you were using? My guess is "No".
Users browsing this forum: Ver and 2 guests