Commit Graph

8237 Commits

Author SHA1 Message Date
Thad House
237685d4a5 Fixes static initialization of HAL handles (#565) 2017-07-08 22:04:01 -07:00
Thad House
abbe630274 Gets WPILib building on windows and C++11 vs C++1y (#561) 2017-07-08 14:17:21 -07:00
Tyler Veness
89d3b08e77 Added TimedRobot (#520) 2017-07-08 07:50:56 -07:00
Thad House
f826216a28 Gets JNI compiling on all platforms (#563) 2017-07-08 07:48:27 -07:00
Austin Shalit
aa0a874ad0 Add periodic method to subsystems (#528)
Fixes #526.
2017-07-02 23:02:41 -07:00
Thad House
2da26c0579 Make HAL_Initialize timeout configurable, makes result a bool, and makes Java an exception rather than assert. (#557) 2017-07-01 00:43:06 -07:00
Tyler Veness
d34c844900 Fixed function ordering in robot base classes (#553) 2017-06-30 22:12:28 -07:00
Tyler Veness
68b63632c4 Removed functions that have been deprecated for at least one year (#551) 2017-06-30 22:05:33 -07:00
Chris Gregory
d2de94778e Remove memory leak in ConditionalCommand (#537)
This also properly handles nullptrs passed into ConditionalCommand
instead of having Undefined Behavior or NullPointerExceptions.
2017-06-30 22:01:21 -07:00
Austin Shalit
4fd4a50d41 Update Preferences to not use deprecated APIs (#555) 2017-06-30 19:38:32 -07:00
Tyler Veness
9d93820717 Replaced STL streams with LLVM's raw_ostream (#344)
std::cout and std::printf were replaced with llvm::outs() and std::cerr was replaced with llvm::errs().
2017-06-30 19:33:43 -07:00
Thad House
c57a7f0a41 Switches all notifiers created with the external API to be threaded (#546)
Testing showed this wasn't an issue with timing, and allows for more
safety in user code making mistakes. Places where the extra thread
wouldn't help have been kept non threaded, using a new internal API.
2017-06-30 18:58:58 -07:00
Thad House
1d15fcd072 Prints error when HAL_GetFPGATime call fails in fpga_clock. (#558) 2017-06-30 18:46:50 -07:00
Thad House
e824b1129e Adds way to reset and version all HAL handles (#545)
Useful in the sim to force a full reset. On roboRIO, the information is
still created and added, but is not checked because of speed
considerations.
2017-06-30 16:28:28 -07:00
Tyler Veness
0cd03c66e3 Remove deprecated Task class (#550) 2017-06-30 16:12:19 -07:00
Thad House
462b231dac Adds function to HAL to free malloc'd joystick name (#543)
No safe way to do this with interop, so a function is needed.
2017-06-30 16:11:16 -07:00
Tyler Veness
e4a918850f Fixed return value of SendableChooser<T>::GetSelected() for non-pointer T's (#512)
Fixed undefined behavior when returning nullptr for T = std::string. Also added
support for smart pointers. T = std::unique_ptr<U> returns U* and T =
std::shared_ptr<U> returns std::weak_ptr<U>.
2017-06-30 15:37:22 -07:00
Thad House
d472af3517 Removes CAN.h from the HAL (#556)
I can't find where the actual code is implemented, and I get errors if I
try to link or compile to any of its functions. Even CANJaguar doesn't
use them, nor did the old impl of CANTalon. Plus looking at the API it
makes no sense anyway, since it doesn't do any buffers , so I think its
worth it to remove it.

Removes CAN.h from the JNI header
2017-06-30 15:13:51 -07:00
Tyler Veness
98a587a347 Removed unused includes and added missing stdint.h includes (#549) 2017-06-25 09:05:49 -07:00
Aaron Pinto
5fd996876b Fixed a typo (#547) 2017-06-04 00:34:11 -04:00
Sam Carlberg
f43675e2bd Add functionality for getting the current network mode (#202)
Use bit flags to indicate a combination of network mode and status.
2017-06-02 17:25:20 -07:00
Sam Carlberg
417cf33f90 Expose ITable paths (#200)
Closes #196
2017-05-26 21:02:45 -07:00
Tyler Veness
b433d98c02 Replace std::stringstream with llvm::raw_svector_ostream (#345)
A few locations were changed to use std::ostringstream.
2017-05-15 23:10:40 -07:00
Thad House
7006672b06 Fixes hal shim from alias to using item (#538)
Fixes #536
2017-05-12 17:02:54 -07:00
Thad House
efec0c5cc3 Moves the HAL priority_ custom types to the hal namespace (#532)
There is a shim for backwards compatibility, just like the frc namespace.
As with the frc namespace, the library compiles without the shim.
2017-05-11 21:25:22 -07:00
Thad House
16e71eac43 Fixes assertions to not crash StringRef (#534)
We can't read [0] on an empty StringRef or the StringRef itself asserts
(this may crash in non-debug mode as an empty StringRef is not guaranteed to have a valid pointer).
Instead, we can just check if the StringRef is not empty.

Closes #502
2017-05-10 20:14:14 -07:00
Thad House
067b1f3ee0 Adds a way to get the native handle from SafeThread (#198)
Useful to wpilib to enable easier changing of RT priorities.
2017-05-09 22:04:57 -07:00
Thad House
3d2f41d081 Adds a way to get the native handle from SafeThread (#198)
Useful to wpilib to enable easier changing of RT priorities.
2017-05-09 22:04:57 -07:00
Thad House
68b62abb52 Adds chrono wrapper around fpga time (#527)
Useful for some of the scenarios in C++ where using the chrono wrappers
might be very helpful.
2017-05-09 20:29:29 -07:00
Thad House
b2f3479692 Switches SPI and I2C to use enums in the HAL for ports (#531)
Closes #397
2017-05-09 12:12:46 -07:00
Tyler Veness
67d62ba164 Travis now passes the current year to wpiformat (#438)
See also styleguide#41.
2017-05-08 21:56:35 -07:00
Thad House
e1fc60b8dd SolenoidBase functions are now static (#530)
Instance methods were kept around for backwards compat in Java. In C++,
the instance methods were changed to match Java. Also some cleanup to
the JNI layer to match updated variable types we missed.

Closes #416
2017-05-08 21:55:11 -07:00
sciencewhiz
f32e696fef Fix exception when getting a relay in kReverse Direction. Fixes #458 (#525)
Add additional tests that would have caught this previously.
2017-05-08 21:54:03 -07:00
Thad House
fc81298fac Switches DS to use Occur callback rather than internal netcomm semaphore (#510)
Allows us to control multithreaded access and spurious wakeups easier.
closes #509

Switches DS to use new waitForData functionality

Adds a few new functions
2017-05-08 20:21:47 -07:00
Thad House
5987cfeaaf Fix SPIs to not set CS DIO pins into DIO mode (#504)
HAL_GetPort both allocates the DIO and sets the DIO into DIO mode.  The DIO setting was overriding the SPI setting on the port, so SPI chip selects were broken if you had more than one.  Instead use CreatePortHandleForSPI, which is a special function that only allocates the DIO handle, but doesn't actually set the DIO into DIO mode.
2017-05-08 20:04:41 -07:00
Thad House
cd0ece4511 Removes the semaphore class (#529)
Its been deprecated, and its going to interfere with fixing #459
2017-05-08 19:42:28 -07:00
sciencewhiz
dc9f85ebb9 Fix comment refering to old _val enum values (#524) 2017-05-07 17:10:52 -07:00
sciencewhiz
35a2055cda Improve documentation for WaitCommand and TimedCommand. (#494) 2017-05-07 13:29:11 -07:00
Austin Shalit
a1066776a5 Make SmartDashboard methods static (#523) 2017-05-07 10:32:40 -07:00
Austin Shalit
4dae747343 Refactor RobotDrive squaring (#390) 2017-05-07 09:40:48 -07:00
Thad House
d348a5b947 Fixes WaitForInterrupt to return values matching enum (#503) 2017-05-07 09:07:14 -07:00
Austin Shalit
f0c413f40d Relay stores nt value in enum (#460) 2017-05-07 09:05:15 -07:00
Austin Shalit
846eee2f6c HashMap -> LinkedHashMap (#492) 2017-05-06 23:38:10 -07:00
Austin Shalit
0b9ff68da1 StartLiveWindowMode ITables use lambdas (#461) 2017-05-06 23:26:18 -07:00
Austin Shalit
7187e005d4 Add Checkstyle WhitespaceAfter check (#466) 2017-05-06 23:22:16 -07:00
Chris Gregory
a5cd24e7ea Reduce scope of for loop variables to for loop initializer (#517) 2017-05-06 23:15:34 -07:00
Jonathan Leitschuh
dbe821baee Change the wrapper to use the all distribution with the sources (#498) 2017-05-06 21:34:15 -07:00
Peter Johnson
04486c6472 CameraServer: Always update addresses when updating stream values. (#496)
This should prevent (as currently happens) occassionally getting just the
mDNS address in the stream value.
2017-05-06 21:31:45 -07:00
Austin Shalit
2ee8ba9361 SafePWM: Rename Feed to feed (#463)
Add a deprecated shim to avoid breaking any user code using Feed.
2017-05-06 21:31:02 -07:00
Thad House
b07782cd89 Removes StatusIsFatal checks from PDP (#493)
The exceptions were removed from Java because these fail more often then
not. Teams are noticing this in C++ as well. In addition for some reason
ClearErrors() is causing about 0.5 seconds of lag. That's another issue,
but this will match Java and solve that issue for users.
2017-05-06 21:29:32 -07:00