|
|
|
![]() |
|
|||||||
|
||||||||
|
|
Thread Tools | Rate Thread | Display Modes |
|
#1
|
||||
|
||||
|
Dual Ultrasonic error
Our robot has two VEX ultrasonic rangefinders, each connected to separate DIO ports on the digital sidecar. We're using the command-based template.
In a subsystem they're declared as: Code:
private Ultrasonic wallSonar, ballSonar; Code:
ballSonar = new Ultrasonic(Map.ARM_SONAR_INPUT, Map.ARM_SONAR_OUTPUT); ballSonar.setEnabled(true); ballSonar.setAutomaticMode(true); wallSonar = new Ultrasonic(Map.LAUNCHER_SONAR_INPUT, Map.LAUNCHER_SONAR_OUTPUT); wallSonar.setEnabled(true); wallSonar.setAutomaticMode(true); Things we tried so far: - Changing the order of assignment (wallSonar before ballSonar, ballSonar before wallSonar); still throws IllegalThreadStateException - Moving one of the Ultrasonic sensors to a different subsystem; still throws IllegalThreadStateException. - Declaring only one of the Ultrasonic sensors; having only one Ultrasonic sensor throws no errors, and the sensor works as expected. - Unit testing with SimpleRobot, like this. Both sensors worked as expected, with no errors thrown. Any idea why we can't declare/use two Ultrasonic sensors? Thanks to Jeanne Boyarsky from team 694 at NYC today for helping us try to fix this. Last edited by NWChen : 04-04-2014 at 21:48. |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|