|
|
RoboSkiff API History and Known Bugs
Current Status
Here are the bugs/issues in the latest version. See below for the
new features and bug fixes in the latest version.
- The IRBeacon class doesn't work and has been removed.
- DifferentialDrive still doesn't work too well. Don't rely on it.
- The start code has not been tested yet. Use it with caution. In
fact, you probably want to ignore it and use your own.
Version History
RoboSkiff Kernel/classes6270 1.01
Includes: botkit 1.01 and java6270 1.04
- As mentioned above IRBeacon has been removed.
- AutoShutDown used to have a bug where if your program quit before
the timer went off, it would never go off. This has now been fixed.
Note that if your program throws an exception, AutoShutDown still may
not run, so make sure your code doesn't throw any uncaught exceptions.
Also, if you use system.exit(), AutoShutDown will be killed as well, so
don't do that. So now if you use our code, then you have no excuse
for not shutting off all your motors and servos at the end of the
round.
- IRDetector should now work, sort of. TempIRDetector has been removed
from java6270. It does not differentiate frequencies. It also
does not work when there is a beacon plugged into your board, so
anyone who wants to detect IR will need to use a set of AA batteries
to power their beacon instead. We are working on a possible fix.
- There is now a getFrequency() method in IRDetector which will
allow you to get the rough frequency received. (isDetecting() reports
true whenever this frequency is above 65, which we believe to be
a good threshold.)
- Switch now has a setThreshold() method to set its threshold
after instantiation. TempSwitch has been removed.
- You can now create multiple Sensors and Switches that refer to the same
port. You won't get any more port conflict exceptions for that.
- Keypads are now supported! See the JavaDocs
for details.
- Due to a misunderstanding, Switch's isOn() method reports true
when sensor is high and false when sensor is low. We have now created
an isLow() method to replace it.NOTE: isLow() is the opposite
of isOn(). That is, isLow() == !isOn(). You should replace all
instances of switch.isOn() with !switch.isLow() and replace all
instances of !switch.isOn() with switch.isLow(). Be careful not to
forget a bang somewhere!
- LCD.writeln() should now be twice as fast as before.
- AutoShutDown now has a secondsRemaining() method which tells you
the time until lock-down. This allows you to base your actions on the
amount of time remaining in the round.
- There is now a getPortNumber() method on Motor, Servo, Sensor, Switch,
and ShaftEncoder.
- The setThreshold() methods never actually did anything since it wasn't
implemented in hardware. They have now been removed.
- Keypads are now also supported rdcsh. (Do not use adc poll.. it doesn't
work.)
java6270 1.03 patch
- We've updated TempIRDetector's threshold a bit. However,
due to hardware issues, the IR detector does not work properly when
an IR beacon is plugged into the same board. If you wish to receive IR,
you must power your beacon separately via a set of 4 AA batteries.
- We've created a TempSwitch class which has a setThreshold
method that lets you adjust a Switch's threshold after it is created.
java6270 1.02 patch
- We've released a temporary IRDetector fix called
TempIRDetector. Use this for now, and go back to
IRDetector when the new kernel comes out. It also does not
yet distinguish frequencies. It's still under development, so
please try it and report your success (or lack thereof) with it to
6.270-tech. Note that it may catch self-reflections, so don't stand
too close to it.
- We've added some untested Start/Stop code. Take a look at it and
tell us how well it works. It's also still under development.
- StalledException now returns the distance traveled before the
stall. More precisely, if you catch (StalledException e),
e.distanceTraveled() will return the sum of the absolute
values of the distance traveled on both gear trains. See the JavaDocs for details.
- DifferentialDrive may work a bit better. Then again, it may not.
Try it out and tell us how it does.
java6270 1.01 patch
- SmartMotor now works in reverse.
- Added StalledException.getDistanceTraveled() to allow you to know how far
you went before you stalled. (It's actually the sum of the absolute value of
the shaft encoder counts of both wheels.)
RoboSkiff Kernel/classes6270 1.00
Includes: botkit 1.00 and java6270 1.00
|
|