Peter Johnson
227084e92e
[hal] Implement stub mockdata on RoboRIO ( #2575 )
...
This makes it much more user-friendly to use simulation classes without needing
to ifdef for C++ to avoid linker errors or be very careful about construction
to avoid runtime errors in Java.
2020-07-07 21:49:05 -07:00
Thad House
21aafea098
[hal] Use std::thread for Notifier thread on Rio ( #2152 )
...
This gives us more control over the thread than using the NI manager.
2020-04-03 08:38:00 -07:00
Thad House
7b7f44d937
Use netcomm function to get target class rather then hardcoded ( #2391 )
...
It reports the correct value now, and helps for future proofing
2020-03-14 22:04:12 -07:00
Thad House
6cf89aa0f3
Fix interrupt cancellation ( #2406 )
2020-03-14 22:03:04 -07:00
Thad House
554bda3332
HAL: Expose NetComm SendConsoleLine ( #2337 )
...
This can be use to synchronize writes between threads, assuming writes all go through this and not stdout.
2020-02-18 20:44:40 -08:00
Thad House
2a968df779
Add method for releasing a waiting interrupt ( #2347 )
...
Useful for a new high level interrupt implementation.
2020-02-18 20:41:42 -08:00
Thad House
dbe1e6f466
Fix missing SetDutyCycleSimDevice on Rio ( #2274 )
2020-01-15 21:33:35 -08:00
Thad House
bdc1cab013
Add support for configuring SPI Auto Stall Config ( #2193 )
2019-12-24 12:52:58 -06:00
Thad House
0b80d566ad
Use ChipObject HMB function for LED ( #2173 )
...
It's fixed in v9 and up.
2019-12-14 21:15:32 -08:00
Thad House
24c031d692
Increase SPI auto byte count to allow 32 bytes to be sent ( #2163 )
...
The FPGA now supports 32 bytes.
2019-12-07 17:18:25 -08:00
Thad House
6b4eecf5fe
Add hidden functions to get the SPI system and SPI DMA ( #2162 )
...
With the addition of stall configuration, its not very clear how it works, and seems like it would be different
per use. So adding ways to manually get them, so the functionality can be figured out how to be used.
2019-12-07 17:16:14 -08:00
Tyler Veness
5c6b8a0f45
Replace std::is_pod_v with std::is_standard_layout_v ( #2159 )
...
The former is deprecated in C++20.
2019-12-07 13:34:52 -08:00
Thad House
d8f11eb149
Hardcode channels for LSB weight ( #2153 )
...
Avoids a mutex and a lookup.
2019-12-06 20:56:40 -08:00
Thad House
d003ec2dc9
Update to 2020v9 image ( #2154 )
...
- Fix VISA include and FPGA header
- Fix missing VISA lib from executables
2019-12-04 20:38:43 -08:00
sciencewhiz
b67d049ac2
Check status of PDP CAN reads ( #2126 )
...
Fixes #2124
2019-11-25 21:47:35 -08:00
Thad House
3fcfc8ea72
Fix double disable segfaulting interrupts ( #2132 )
...
Also fixes DigitalOutput not closing correctly.
2019-11-25 21:43:58 -08:00
Tyler Veness
ffa4b907c0
Fix C++ floating point literal formatting ( #2114 )
...
Found formatting errors with this regex
"([^a-z0-9\.]\.[0-9]|[^a-z0-9\.][0-9]\.[^a-z0-9\.])" and ignored false
positives.
Fixes #2112 .
2019-11-20 21:48:15 -08:00
Thad House
6f6c6da9f5
Updates to addressable LED ( #2098 )
...
Only PWM Headers are supported, so enforce that.
Also fixes some init checks and init order checks.
2019-11-18 15:25:04 -08:00
Peter Johnson
a4c9e4ec28
Add AddressableLED simulation support
2019-11-18 00:51:59 -08:00
Thad House
8ed2059074
Add AddressableLED ( #2092 )
2019-11-17 16:39:38 -08:00
Thad House
db2c3dddd7
Use DMA Global Number for DMA Index ( #2085 )
2019-11-15 17:32:29 -08:00
Thad House
82b2170feb
Add DMA support to HAL and WPILibC ( #2080 )
2019-11-14 22:52:34 -08:00
Thad House
5510960068
Use kNumSystems for DutyCycle count in Ports ( #2083 )
2019-11-14 12:15:47 -08:00
Thad House
b7bc1ea745
Update to 2020v6 image ( #2078 )
2019-11-13 21:35:52 -08:00
Peter Johnson
3e049e02f0
Add name to HAL Notifier
2019-11-11 22:03:29 -08:00
Thad House
326aecc9a0
Add error message for CAN Write Overrun ( #2062 )
2019-11-08 22:51:11 -08:00
Thad House
384d00f9e6
Fix various duty cycle bugs ( #2047 )
2019-11-06 14:05:25 -08:00
Thad House
39f46ceab6
Don't allow rising and falling values to be read from AnalogTrigger ( #2039 )
...
They can't be caught from user code
2019-11-05 20:42:01 -08:00
Thad House
d93aa2b6b2
Add missing lock in FRCDriverStation ( #2034 )
...
Switch newDataCounter to atomic
2019-11-05 20:41:16 -08:00
Thad House
1d695a1660
Add FPGA Duty Cycle support ( #1987 )
2019-11-01 23:41:30 -07:00
Thad House
2ad15cae19
Add multi PDP getter and sim PCM/PDP multi arg functions ( #2014 )
2019-11-01 21:55:35 -07:00
Thad House
6f159d1426
Add way to atomically check for new data, and wait otherwise ( #2015 )
2019-11-01 17:09:28 -07:00
Thad House
f6b844ea30
Move HAL Interrupt struct to anonymous namespace ( #2003 )
2019-10-28 22:32:28 -07:00
Thad House
a3820bbdfa
Remove HAL_BaseInitialize ( #1981 )
2019-10-24 20:26:11 -07:00
Thad House
a83fb47933
Update to 2020v5 image ( #1983 )
...
* Update to 2020v5 image
2019-10-24 12:14:22 -07:00
Thad House
103c1b121c
Remove DS caching from the HAL level ( #1971 )
...
With updates to netcomm, this is no longer required.
2019-10-23 20:25:07 -07:00
Peter Johnson
aa90645865
Add ability to associate other devices with a SimDevice
...
Implemented only for AnalogInput, DIO, and Encoder.
2019-10-05 22:39:00 -07:00
Peter Johnson
81c2c8a7de
Add simulation generic device/value support
...
This allows high-level library classes to implement enhanced simulation
support even if no low-level corresponding simulation library exists, and
avoids the need for bit-banging complex interfaces like SPI or CAN.
2019-10-05 22:39:00 -07:00
Thad House
cb54602d49
Add support for writing RTR CAN Frames to the CAN API ( #1900 )
2019-09-28 16:49:34 -07:00
Thad House
9f740e5905
Use OS for serial port instead of NI VISA ( #1875 )
2019-09-28 16:49:11 -07:00
Peter Johnson
b23baf611a
Add ability to run robot main loop in a separate thread ( #1895 )
...
Default behavior is still to run the robot main loop in the main thread.
The ability to run the robot main loop in a separate thread and add a hook
for running a different function in the main thread is needed for simulation
GUI support on some platforms.
2019-09-28 15:43:24 -07:00
Thad House
8858ec55c7
Remove periodic can read call ( #1868 )
...
It is not necessary anymore, and is a complicated and confusing API to keep around.
2019-09-28 15:38:58 -07:00
Thad House
f49859ebfd
Remove NI VISA headers, as they are now included in NI Libraries ( #1879 )
2019-09-07 23:01:27 -05:00
Tyler Veness
1fb3011235
Add MathUtils.clamp() for Java ( #1861 )
...
Also use std::clamp() and MathUtils.clamp() in as many places as
possible in place of custom clamp functions or if statements.
2019-08-28 23:24:30 -07:00
Thad House
6411bd79c6
InterruptableSensorBase: Fix callback function deletion ( #1807 )
...
Save the callback function into a unique_ptr member instead.
2019-08-04 20:25:25 -07:00
Tyler Veness
62be0392b6
Replace std::lock_guard and std::lock with std::scoped_lock ( #1758 )
...
std::scoped_lock was introduced in C++17 and is strictly better than
std::lock_guard as it supports locking any number of mutexes safely.
It's also easier to use than std::lock for locking multiple mutexes at
once.
2019-07-08 22:58:39 -07:00
Tyler Veness
841ef5d739
Remove template types from lock RAII wrapper usages ( #1756 )
...
C++17 has template type autodeduction. These wrappers include
std::lock_guard and std::unique_lock.
2019-07-07 19:17:14 -07:00
Thad House
221011494d
Update for C++17 and fix MSVC warnings ( #1694 )
...
* Update MSVC arguments
* Fix json allocator
* Fix simulation diamond
* Bump gtest
* Remove empty varargs in unit tests
* Replace test case with test suite
* Remove deprecation warning in optional
* Remove need for NOMIXMAX to be defined in wpilib headers
2019-05-31 15:43:32 -05:00
Tyler Veness
f432f65bef
Update copyright year in license to 2019 ( #1524 )
...
Also update clang-format to 6.0.
2019-05-17 17:35:09 -07:00
Tyler Veness
d3affb16bc
Make failure of HAL_GetFPGATime() more descriptive ( #1633 )
2019-04-27 20:34:14 -07:00