Thad House
8bd48d6c34
Switches HAL to manual instead of static initialization ( #824 )
...
Only athena.
Will fix a whole lot of init issues.
2017-12-10 18:02:07 -08:00
Thad House
b42285fddd
Fixes SPI bad chip select ( #818 )
...
Temporary workaround for 2018v13 image.
2017-12-08 21:42:30 -08:00
Thad House
4e3af0756d
Removes workarounds for issues in image 10 ( #816 )
2017-12-06 21:20:03 -08:00
Tyler Veness
e9e407a87d
Replace C identifier lists with (void) ( #809 )
...
These changes were generated by wpilibsuite/styleguide#106 .
2017-12-04 20:05:51 -08:00
Peter Johnson
e3a2abdf97
HAL_SetDigitalPWMRate(): Use same logic as LabView. ( #794 )
2017-12-01 10:26:40 -08:00
Peter Johnson
65a044f633
Fix HAL_CleanNotifier race. ( #793 )
...
This race was caused by holding a lock while calling into FRC_ChipObject,
which was waiting for the callback to exit before returning, and our
callback wanted to grab the same lock.
2017-11-30 20:45:40 -08:00
sciencewhiz
7a250a1b93
Implement PCM One Shot feature. Fixes artf4731 ( #539 )
2017-11-26 12:55:21 -08:00
Tyler Veness
ba879f4663
Cleaned up variable names for std::lock_guard and their associated mutexes ( #759 )
2017-11-22 17:10:21 -08:00
Peter Johnson
d214b36786
Change HAL notifier to polling. ( #627 )
...
This moves the thread code to the WPILib layer, fixing various potential
races and significantly simplifying the HAL implementation.
2017-11-19 17:58:40 -08:00
Peter Johnson
7f46b50b21
Unify WPI_Now and HAL_GetFPGATime. ( #743 )
...
Depends on wpilibsuite/wpiutil#56 .
2017-11-19 12:33:36 -08:00
Peter Johnson
9021b37fd2
I2C: Provide byte[] JNI interfaces.
...
This avoids a direct byte buffer allocation on every read/write/transaction
on the byte[] variants.
Changes HAL I2C interfaces to use const for dataToSend.
2017-11-17 09:36:57 -08:00
Peter Johnson
6307d41002
SPI: Provide byte[] JNI interfaces.
...
This avoids a direct byte buffer allocation on every read/write/transaction
for the byte[] variants.
Also change spiGetAccumulatorOutput() to directly set the AccumulatorResult
object, avoiding a ByteBuffer allocation.
Changes HAL SPI interfaces to use const for dataToSend.
Fixes #733 .
2017-11-17 09:36:57 -08:00
Peter Johnson
6accc31ee7
HAL: implement I2C and SPI directly instead of using i2clib and spilib.
...
This reduces library dependencies, improves error handling, and makes
future enhancements easier.
2017-11-16 23:01:28 -08:00
Thad House
f56ec10bcf
Only return lower 32 bits of FPGA time ( #741 )
...
Works around an NI bug in image 10.
2017-11-16 20:52:50 -08:00
Peter Johnson
020ee227d2
Move ctre headers to hal/src so they aren't user-visible. ( #728 )
...
Also removes ctre_frames.h entirely since it's not used.
Fixes #683 .
2017-11-13 22:23:18 -08:00
Peter Johnson
4d559f3856
Use wpi::mutex instead of std::mutex. ( #730 )
...
This uses a priority-aware mutex on Linux platforms.
Fixes #729 .
2017-11-13 09:51:48 -08:00
Peter Johnson
7007725d9f
SerialHelper: Check error_code to prevent infinite loop. ( #725 )
2017-11-11 22:13:59 -08:00
Tyler Veness
0c83cad70c
Upgraded clang-format to 5.0 ( #431 )
2017-11-11 22:09:51 -08:00
Tyler Veness
7efab4c43a
Replaced ternary operators with if statements ( #346 )
...
Instances of the ternary operator were replaced with if statements to make the code base more consistent.
2017-11-08 23:44:03 -08:00
Thad House
c8e44256ef
Uses NI provided function for SetOccurDataRef rather then importing the symbol ourselves. ( #714 )
2017-11-08 23:41:16 -08:00
Tyler Veness
1276489961
Removed uses of deprecated functions ( #709 )
2017-11-08 21:29:29 -08:00
Peter Johnson
6401aa1fde
SerialHelper: Use llvm path functions instead of popen. ( #702 )
...
This avoids a fork that causes an out-of-memory error in Java.
Depends on wpilibsuite/wpiutil#43
2017-11-03 12:30:56 -07:00
Thad House
6af4940c22
Adds HAL calls for match data from DS ( #691 )
2017-11-01 21:58:44 -07:00
Thad House
90f99dc571
Adds PWM to LoopTiming and CycleStart HAL calls ( #693 )
2017-10-27 19:44:40 -07:00
Thad House
f34332643a
Uses new FPGA calls to get 64 bit FPGA time and 64 bit PWM cycle start time. ( #687 )
2017-10-27 18:03:10 -07:00
Jeremy White
f02bb058bd
Set the llvm standard output stream to be unbuffered. ( #678 )
...
This is particularly useful for the simulation when invokved
inside Eclipse. Otherwise, you won't see the robot starting
message.
2017-10-27 00:46:56 -07:00
Tyler Veness
9945a5b3c6
Ran formatter ( #681 )
2017-10-26 19:28:59 -07:00
Tyler Veness
0521d85048
Moved comment after include line so include order is determined properly ( #680 )
2017-10-21 15:28:46 -07:00
Thad House
434d60592c
Adds HAL_Initialize to ErrorBase constructor, and makes HAL_Initialize properly reentrant ( #668 )
...
Partial fix to #663 , and most likely the best we are going to be able to
get.
2017-10-16 20:00:32 -07:00
Tyler Veness
f4779379c3
Added brace comments ( #670 )
...
Enforced by wpilibsuite/styleguide#80 .
2017-10-16 19:56:08 -07:00
Tyler Veness
dd66b23845
Remove priority mutex ( #644 )
...
* Removed hal::priority_condition_variable
* Replaced uses of priority mutexes with std::mutex and std::recursive_mutex
This allowed replacing a use of std::condition_variable_any with
std::condition_variable.
* Replaced all uses of std::recursive_mutex with std::mutex equivalents
2017-09-28 23:32:35 -07:00
Thad House
2249a8bac0
Adds a HAL wrapper around the CAN API's ( #623 )
...
Can someday be added to the simulator. Removes the last use case for the
ni headers directly.
2017-09-07 21:40:30 -07:00
Tyler Veness
6e4f66cc8b
Classify other libraries' headers properly and fix committed formatting issues ( #620 )
2017-08-27 00:11:52 -07:00
Tyler Veness
a4e781a231
Fixed spacing and comment annotations around namespace and extern declarations ( #587 )
2017-08-24 00:07:46 -05:00
Tyler Veness
f151892db5
Contents of copyright line now has more standard ordering ( #585 )
2017-08-24 00:06:13 -05:00
Thad House
e1195e8b9d
Update to 2018_v4 image and new build system. ( #598 )
...
* Revert "Force OpenCV to 3.1.0 (#602 )"
This reverts commit 50ed55e8e2 .
* Removes Simulation
* Removes old build system
* Removes old gtest
* Adds new gmock and gtest
* Updates to new ni-libraries
* removes MyRobot (to be replaced)
* moves files to new location
* Adds new sim backend and new test executables
* updates .styleguide and .gitignore
* Changes cpp WPILibVersion to a function
MSVC throws an AV with the old version.
* Disables USBCamera on all systems except for linux
* 2018 NI Libraries
* New build system
2017-08-18 21:35:53 -07:00