The file name was never updated from the old path, a deadlock occured
sometimes. A "resource not found" message was also set when fopen()
returns an error, which should be an errno message because it's a C
library error.
Change-Id: Ic913a08f6f5d73219cb6625198f5a4519c039956
The CANJaguar class now stores a controlEnabled flag. When disabled, it
won't verify the control mode, which involves sending enable messages.
Change-Id: I8baa48eec31de6b4d3fee2b5a074320542a1bbef
This previous caused a bug where the Jaguar would sometimes
behave as if it were in the wrong mode, even when everything was
verfied.
Change-Id: Id5b96e0f7e64066eaaa0e5be4ba53fca76ba0703
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
For example, it's no longer possible to compile a program that uses position
control without specifying a position reference, or one that uses an encoder
as a position reference without specifying a CPR. This eliminates a lot of
common CANJaguar mistakes.
Change-Id: I2b5fe1e2884cf3a0f9d5ccd233da4c2c9c1cff4c
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
All configuration messages are now verified.
All status messages are requested as periodic messages and retrieved on-demand.
All relevant configuration data is re-sent after a power cycle.
Change-Id: I3322d8b41d6fe058ad404b781f54e9c6153981bf
Added a PCM java test and a Counter C++ test
Add RelayTest for C++, fixed spelling error in Relay.cpp
Change-Id: I436ac34449d00e8dcd1b988758cc24e80534a2c7
AnalogModule and DigitalModule classes still exist, at least until they are
refactored into the classes that use them.
Change-Id: I5544d5418822f19d54ba0a5d651e64fad8b7b10d