Timer::Get now compensates for the FPGA time rolling over after 71 minutes
UltraSonic::Ping doesn't bother disabling automatic mode, since it asserts
that it's not in automatic mode on the line before.
Change-Id: I6b0f45327c453abd8a846ec8da0f9676e210d909
Analog interrupts now work in C++.
The interrupts Resource was moved from a global in DigitalInput
to a static member of SensorBase.
An analog interrupt IT was added, and the digital interrupt one modified
to prevent a linker error.
Change-Id: I9a300daafed15e9666a4ccb405a509615e3dbb06
Modules aren't used anymore in wpilibc and wpilibj, so the hal functions
that references them and and JNI bindings for these functions have been
pulled out.
Both Counter classes were also modified because they still referenced
modules.
Change-Id: Ic01feb145a4ed5f08cd55f140867c721f5ee7b10
Analog triggers now work in Java.
Integration tests for analog triggers are included.
A message in the C++ analog trigger IT was fixed.
Change-Id: I50007c6901b8391d32c0e81becdbe18e48a7840f
Analog accumulators now wait for the amount of time a full sample
(including oversampling and averaging) lasts after
AnalogInput::ResetAccumulator() is called, so they don't return
old values after being reset.
This delay should be microseconds long and will only happen
when an accumulator is reset.
A new test is is the C++ TiltPanCameraTest that tests this behavior
with the Gyro class.
Change-Id: I1b3ffdeec187959f95c5e637a6d428c9a4bc2cf4
If the gyro was initialized with an analog input the gyro class would not be calibrated properly.
Removes unnecessary type casting.
Change-Id: I6baa72919019a33cce7d3074f8477104cbe65396
This allows the robot base setup to be used for the robot base as well as the setup for the test system.
Change-Id: I2f8e37d42c84001f4b4eff2afd7c3e1d73785d7c
Constructing a new HardwareTimer before HALInitialize is called
causes segfaults sometimes in user programs, since getFPGATime assumes
that the tGlobal objected was constructed. This problem did not appear
in integration tests, where the calls were in the correct order.
Change-Id: I95471e9e8ad7bc5d48a65893856089e35c0b091a
Switches the PDP test to use the MotorEncoderFixture.
Also adds helpful output information when running MotorEncoderTests by displaying the current MotorEncoder under test
Change-Id: I1d14986a6ff0ebfffa87d2fd8077d7dd1eef50e3
The LiveWindow singleton instance shouldn't be a global static
variable, since the order that global statics are constructed is
undefined, and it's required by other constructors.
Change-Id: I2edccc1f723f0ea41b1347379b3e3778a50afcdc
Some tests are more explicitly named now, and negative values are
tested with both voltage and current control.
Change-Id: I316ccfb7670a341e2f13f4ed3a514f283625409e
Previously, negative output voltages were unpacked incorrectly.
Now, they're requested as percentages, unpacked, and then scaled
in software based on the bus voltage. The output voltage and
bus voltage shouldn't ever be out of sync, since they're in
the same message.
Change-Id: I745fffd0faa6cbaab967240271e6cfa8653212e2
You can get the state of the USER button with GetUserButton() in
C++ or Utility.getUserButton() in java.
Change-Id: I923e62cab5e621ef43fed503acab5c0d751264fb