![]() |
Re: Problem With Talon SRX Enabling
Quote:
|
Re: Problem With Talon SRX Enabling
Oh! I just remembered what we figured out yesterday! The only Talons that enable during the Teleop over WiFi were the ones used in a command that is set as a default command. We have verified this by changing the default commands and the Talons do switch around. But for us this is not feasible as then the only command for an elevator moves it up and we can't have it constantly moving up.
|
Re: Problem With Talon SRX Enabling
Quote:
|
Re: Problem With Talon SRX Enabling
This seems like a programming problem then.
Just like PWM, you need to tell every speed controller what speed it should be running at all the time. Even if the speed is zero, you are responsible for continuously updating every speed controller. |
Re: Problem With Talon SRX Enabling
Quote:
|
Re: Problem With Talon SRX Enabling
Quote:
|
Re: Problem With Talon SRX Enabling
Quote:
The short story: 2 of our SRXs wouldn't enable with the rest of them. One was in follower mode, the other in closed loop (but wasn't the master of the follower). This only happened when the robot was power-cycled. If we, like OP says, restarted the robot code, all SRXs enabled as expected. It was repeatable for the code we had at the time. We had to make some changes and the issue disappeared. (Un?)fortunately it went away before I could fully debug it and didn't get a commit at that point. I know it kind of stinks, but our workaround was just to restart the code whenever we power cycled. That reliably fixed the issue. |
Re: Problem With Talon SRX Enabling
Hey Jefferson, I think I have it figured out. Seems like calling joystick routines in the disabled loop has the undesired effect of causing the RIO's backend to crash/restart on power boot. It only happens once and doesn't affect much since the robot is booting up anyway. But there is a moment where when the CANTalon's object constructor's set up their messages, there is no one listening at the other end.
If you're grabbing joystick values in disabled() and using CAN Actuators I recommend calling one of the setXXX() routines on each CAN Actuator in the disabled loop. That way if this problem occurs, the code will periodically signal to the back end that those CAN objects exist and should be enabled. I reproduced your problem and tested the workaround. So for your two CANTalons (or just do all of them), try calling set(0) in the disabled loop so that on-power-boot they get reregistered ok. |
Re: Problem With Talon SRX Enabling
Quote:
Thanks! Just to make sure: calling a Get() function should be enough, right? I'd rather not disturb some of the position control with a Set() function. |
Re: Problem With Talon SRX Enabling
Gotta be a set. It will not disturb anything because it's in the disabled loop. It updates the control frame bytes, which aren't sent until after you enable.
|
Re: Problem With Talon SRX Enabling
Quote:
|
Re: Problem With Talon SRX Enabling
Try it to at least rule it out.
|
Re: Problem With Talon SRX Enabling
More info at Talon SRX Software reference Manual section 21.18
|
| All times are GMT -5. The time now is 02:41. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi