Thad House
056e68f2ae
Use new CAN API for PDP ( #1081 )
2018-06-07 22:31:26 -07:00
Thad House
f6e4df6a18
Remove OS Serial Port ( #1141 )
...
It was done as a shim fix around some VISA issues that don't seem to exist anymore. Was never really tested, and I don't think ever actually worked.
2018-06-07 20:51:26 -07:00
Thad House
1f9645afe9
Fix CAN API reads ( #1139 )
2018-06-07 20:49:03 -07:00
Tyler Veness
8c680a26f8
Moved C++ comments from source files to headers ( #1111 )
...
Also sorted functions in C++ sources to match order in related headers.
2018-05-31 20:47:15 -07:00
Thad House
c4728d291e
Makes CAN API initializer setup HAL ( #1084 )
2018-05-24 20:07:03 -04:00
Thad House
381c25c573
Fixes interrupts not getting closed properly. ( #1088 )
...
The threads being created were never getting cleaned up.
2018-05-24 20:02:13 -04:00
Thad House
680aabbe7c
Add new CAN API ( #1036 )
2018-05-21 16:09:38 -07:00
Thad House
e21a246a4d
Make the HAL self initialize when ever any initialization function is called ( #1012 )
2018-05-13 22:02:47 -07:00
Tyler Veness
6729a7d6b1
Run wpiformat on merged repo ( #1021 )
2018-05-13 17:09:56 -07:00
Thad House
f7bcf53059
HAL: wait for all objects to release handle before freeing ( #1011 )
...
This avoids a race on free.
2018-05-01 19:26:25 -07:00
Thad House
a098814ea0
Removes the make_unique shim for c++11 ( #1010 )
...
All of our compilers support c++14 now.
2018-04-30 10:28:34 -07:00
Peter Johnson
f84018af5f
Move entirety of llvm namespace to wpi namespace.
...
During shared library loading, a different libLLVM can be pulled in, causing
llvm symbols from dependent libraries to resolve to that library instead of
this one. This has been seen in the wild with the Mesa OpenGL implementation
in JavaFX applications (see wpilibsuite/shuffleboard#361 ).
This is clearly a very breaking change. For some level of backwards
compatibility, a namespace alias from llvm to wpi is performed in the "llvm"
headers. Unfortunately, forward declarations of llvm classes will still break,
but compilers seem to generate clear error messages in those cases
("namespace alias 'llvm' not allowed here, assuming 'wpi'").
This change also moves all the wpiutil headers to a single "wpi" subdirectory
from the previously split "llvm", "support", "tcpsockets", and "udpsockets".
Shim headers will be added for backwards compatibility in a later commit.
2018-04-30 10:22:54 -07:00
Peter Johnson
a8fd88840d
Revert "Uses ComputeDigitalMask function across HAL DIO ( #837 )" ( #1005 )
...
This reverts commit c84bd744c8 .
2018-04-29 21:48:53 -07:00
Thad House
c84bd744c8
Uses ComputeDigitalMask function across HAL DIO ( #837 )
...
less risk for errors in the future.
2018-04-29 21:12:15 -07:00
Thad House
7f88cf768d
New 2018 and later build setup ( #1001 )
2018-04-29 13:29:07 -07:00
Thad House
14228d82f3
Adds Direct port name Serial API ( #956 )
2018-03-05 19:41:09 -08:00
Thad House
82152e90fe
Adds defaults to PWM config ( #961 )
2018-03-03 01:56:49 -08:00
Dustin Spicuzza
1e7d439899
HAL Notifier: Don't disable the notifier manager when the last handle is cleaned up ( #960 )
...
- Addresses #959 , but not a good long term solution
2018-03-03 01:56:24 -08:00
Thad House
f720cbb121
Switches CtreCanNode to use locking and std::chrono for time ( #909 )
2018-02-01 21:39:06 -08:00
Tyler Veness
0ef9803363
Update copyright year to 2018 ( #864 )
...
Also fix a few files with incorrect line endings.
2018-01-02 11:20:21 -06:00
Thad House
7eab4371f4
Adds TriState DIO functionality to the HAL ( #835 )
...
Adds a function to raw set the DIO direction. Also adds a C++ unsafe
function to enable fast setting of DIO direction.
2017-12-14 00:17:29 -08:00
Peter Johnson
7f074563d0
Add support for automatic SPI transfer engine. ( #836 )
...
The SPI Accumulator functions have been moved from HAL to wpilib and rewritten
to use the automatic transfer engine.
2017-12-13 23:41:37 -08:00
Thad House
d3dd586362
Revert "Fixes SPI bad chip select ( #818 )" ( #822 )
...
This is no longer required for image 2018v16.
This reverts commit b42285fddd .
2017-12-12 11:31:20 -08:00
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