Adds a BaseSystemNotInitalizedException to be thrown in the event that HLUsageRepoting, RobotState or Timer does not have its static implementation set.
Change-Id: I66fde262baa1a9d32d1df9fafa08ba3173bcbb72
SmartDashboard does usage reporting now (or will when it's implemented
in the HAL).
Global errors are raised in C++ when problems happen, since there is
no SmartDashboard instance. Previously, no error reporting was done
at all.
GetData was uncommented.
Change-Id: I3331eb9f09924d1d0028e3fa041f0cf68caa5cf5
wpilibJavaDevices now contains RoboRIO specific code and wpilibJava has
shared high level information. The restructuring was mostly just copy
and paste. The three big exceptions are Timer, RobotState and
HLUsageReporting. Those require some dependencies injection since that
appears to be the cleanest way to share the code.
Change-Id: Ie7011e32bc95953a87801a9905b3bfec7f8de285
ADXL345_I2C, ADXL345_SPI, and BuiltInAccelerometer implement this interface.
The analog accelerometer class Accelerometer was renamed to
AnalogAccelerometer.
Change-Id: Iaae79d582a24c36c372f5fd4ea6df37be289b9c1
Removed #if 0...#endif from PCM.cpp
Change-Id: I2d117c87a3fa10bddebf83706f79c2e767d22a0d
Update the HAL to the PCM/PDP changes
Change-Id: If554b650e263f174e90864f1e9ffba91daf20f7e
Update C++ to the PCM/PDP changes
Change-Id: Ia3114d4526be1dc5cc2f74fd8f7ab44f204d15f2
Updated PCM/PDP in Java
Change-Id: I8fe03afbcb1739d555e86abc0eaae1e12313d490
Previously, the voltage was requested as a percentage and decoded as
a number of volts, which resulted in values being scaled wrong. The
correct message is requested now.
Change-Id: I5e81c7a4a2e2698f2e8a84ba747217e0e14f7676
All status data is now in 3 messages automatically sent periodically
by the Jaguar, removing the need to send several hundred requests
every second.
The C++ integration test was also updated to be more robust against
timing problems.
Change-Id: I13bacc6c8173ea1a2291a96ad3bd80ff5b18d16f
The C++ and Java CANJaguar constructors now wait up to 50 ms for the status
data to arrive at least one time. They break early if it arrives sooner.
This allows status getters to always work immediately after the object is
constructed.
Change-Id: I4a1f1538837c11b24d45e87251743b6c106ddefb
Change-Id: If6082f6b92b4be5e328278ba536d5a7681082c9f (+4 squashed commit)
Squashed commit:
[86b4ae7] * Port I2C to roboRIO in JNI and Java. Left read method as a transaction and added readOnly. Left write as a single byte and added writeBulk. Need to go back to C++ and update to match.
Change-Id: I290d84211a4b7bb942d785730c0e6929449cf69f
[7d37419] * Remove HiTechnic sensors from Java. May be added back later as examples
Change-Id: Ie93e23a70fd953c99c03d50d9529220f86d32e03
[e62bfbf] * I2C ported to roboRIO i2clib in HAL and C++
Change-Id: Idb0e8cee5a1e8c1a0b0733ca94b528f659352915
[1059a48] * Remove HiTechnic sensors (Lego connector) may be added back as examples later
Change-Id: I84b8e1e022db2c69d487ed9ad5b3ec0e7ea57282 (+2 squashed commit)
Squashed commit:
[e62bfbf] * I2C ported to roboRIO i2clib in HAL and C++
Change-Id: Idb0e8cee5a1e8c1a0b0733ca94b528f659352915
[1059a48] * Remove HiTechnic sensors (Lego connector) may be added back as examples later
Change-Id: I84b8e1e022db2c69d487ed9ad5b3ec0e7ea57282
New constructor for the AnalogPotentiometer to allow users to pass it an AnalogInput into the constructor
New FakePotentiometerSource to emulate a AnalogPotentiometer
Change-Id: I0f85b3d38e99d7ccbc7676bdf17fc3ec7e041e84
Updates the CAN send message to use CANSessionMuxSendMessage in the C++ JNI
Updates the CANJNI to use the new C++ JNI parameters
Change-Id: Ib7da7d5929c7c5656bf388246aa72aed23590173
AnalogModule and DigitalModule classes still exist, at least until they are
refactored into the classes that use them.
Change-Id: I5544d5418822f19d54ba0a5d651e64fad8b7b10d
Documentation update on the Depreciated method.
Removes the PID.setTolerance(Tolerance tolerance) method because it was private and never used
Change-Id: I5cddbcc96ed40b5bb0d9f33e2a3586dce91dc532
Fixes to deal with the switch to .hpp files in the HAL and other misc problems due to rebasing.
Added Omar's changes to the compressor interface
Fixes to make C++ plugin compile on linux.
Added import of the WPILibSim code from the graduate class. It shows up as wpilibJavaSim to follow the convention set by wpilibJava, wpilibJavaJNI and wpilibJavaFinal.
Fixed wpilibJavaSim artifactId to mirror the new convention.
Modified the build of the java plugin to pull in the simulation dependencies.
Added stacktrace printing.
Fixed support for creating projects.
Added support for the isReal() and isSimulation() methods along with the AnalogPotentiometer object to support simulating GearsBot.
Added support for a "WPILib Simulate" button.
Added GearsBot to the built in examples.
Added support for specifying the world file during project creation and switched the default from BluntObjectBot to GearsBot.
Removed unused import.
Added file browser for world files.
Added support for debugging in simulation.
Change simulate icon to be a Gazebo icon.
Switched over to the gazebo messaging system.
Updated location of default world file.
Reverted cmake change.
Fixed bug in WPILibJSim, added better logging and cleaned up code.
Made the frc_gazebo_plugin build using raw cmake instead of catkin, breaking the final ROS dependencies.
Added installation to frc_gazebo_plugin Makefile.
Fixed running of simulation to actually use frcsim.
Initial commit of simulation library for C++. Has the minimal subset of features necessary for having a Simple Robot run in teleoperated mode.
Added notes for generating protobuf messages.
Import of the debuild process into the main repository.
Moved frc_gazebo_plugin under simulation and removed the gazebo folder.
Updated the gazebo plugin to remove excessive printing and limit motor signal to [-1,1].
Updated WPILibJSim to support latching messages and to sleep for 20ms in iterative robot.
Reduced delay between starting frcsim and the users program to 1 second.
Updated GearsBot example.
Fixed a few minor issues for demoable state.
Added simulator support for Victors, Jaguars and Talons.
Added NetworkTables, SmartDashboard and LiveWindow to the simulator.
Added AnalogPotentiometer for simulation.
Added support for simulating encoders.
Added simulation support for Gyro.
Added IterativeRobot, Fixed Timers, Notifiers, PIDControllers and other minor fixes + cleanup.
Added RobotDrive support to simulation.
Separated out JavaGazebo so that SimDS will be able to reuse it.
Separated out SimDS into its own application..
Fixes so that the SimDS is distributed and runs properly for Java with the eclipse plugins.
Added DriverStation support to WPILibCSim
Cleanup of DriverStation, WaitUntilCommand and AnalogPotentiometer for WPILibCSim.
Cleanup of includes for WPILibCSim
Added AnalogPotentiometer to the real WPILibC.
Added AnalogPotentiometer to the real WPILibC.
Added GearsBot example to C++ eclipse plugin.
WPILibCSim fixes to work with launching from the plugin.
Package libwpilibsim in a deb file.
Added includes to plugin distribution.
Added support for external-limit-switches to Gazebo, Java and C++.
Added support for Gazebo Rangefinders and Analog channels to read their values in C++ and Java.
Added support for internal limit switches.
Updated GearsBot programs to use limit switches + range finders.
Added disabling of motors when robot is disabled to more closely mimic the real robot.
Fixes to deal with the switch to .hpp files in the HAL and other misc problems due to rebasing.
Change-Id: I624c5f4d0f28282616a7c92083575bf68adcdce2
Refactors the MotorEncoderTest to make use of the parameterized testing framework
Adds a test for the Preferences Class
Updates the TiltPanCameraTest to work
Makes the TimerTest use math for long values
Adds a Button Test to Test the internal Button
Speeds up the FakeCounterSource/FakeEncoderSource to decrease test time
Moves the AbstractComsSetup Block to a static method so that it only runs once
Updates the logging.properties class so that tests are quieter
Change-Id: I70b39f34122e6398f406a63e6ef04cde9fbe95ef