Thad House
1071686d81
Replaces C++ IsNewControlData semaphore with atomic bool, and Java code with AtomicBool ( #187 )
2016-10-24 20:32:43 -07:00
Kevin-OConnor
567ea1d58d
Remove CAN TalonSRX from WPILib (moving to external library) ( #268 )
2016-10-13 18:50:20 -07:00
Austin Shalit
27bf94fd06
Remove kDefaultPeriod from IterativeRobot ( #232 )
...
* Remove kDefaultPeriod from IterativeRobot
* Remove period
* Remove NextPeriodReady
2016-10-09 13:58:30 -07:00
Thad House
4896a77c86
Fixes guarantees for waitForData ( #252 )
...
As discussed in #234 , we now check for the timeout case and handle a
timeout correctly.
2016-10-09 11:46:01 -07:00
Tyler Veness
5dfae8d6bd
Fixed include order ( #245 )
...
See wpilibsuite/styleguide (#11 ).
2016-09-25 16:50:13 -07:00
Austin Shalit
1416fb8f67
Update Periodic JavaDoc ( #231 )
2016-09-13 21:21:25 -07:00
Thad House
f271185cbc
Adds a RobotPeriodic method to IterativeRobot ( #226 )
...
Called globally during each IterativeRobot loop
2016-09-13 20:25:18 -07:00
Tyler Veness
0cd05d1a42
Cleaned up integer type usage in wpilibc ( #92 )
...
Replaced all unsigned types to signed and int32_t with int in wpilibc
2016-09-06 00:01:45 -07:00
Tyler Veness
05626cfafe
Fixed cpplint.py warnings ( #215 )
...
* Fixed cpplint.py [build/include_order] and [build/include_what_you_use] warnings
* Fixed cpplint.py [readability/casting] warnings
* Updated .styleguide format
* Fixed cpplint.py [build/header_guard] warnings
2016-09-05 13:55:31 -07:00
Thad House
59ec54887d
Switches notifier to use a typedef for the callback, and prepends HAL_ to InterruptHandlerFunction ( #216 )
2016-09-05 07:31:51 -07:00
Thad House
40365faeda
Adds a static mutex to notifiers to stop destructor race condition ( #204 )
2016-08-15 19:56:32 -07:00
Tyler Veness
6ef4745d86
Added Joystick::GetAxisType() ( #98 )
2016-08-07 10:19:19 -05:00
Thad House
a831978cce
Uses the fixed SensorBase functionality in the WPILib ( #185 )
2016-07-21 23:24:06 -07:00
Thad House
512ecf6490
Makes SensorBase checks use HAL check methods ( #182 )
2016-07-20 22:47:29 -07:00
Thad House
2c911b0f7a
Adds a maximum time based cache to HALControlWord data ( #158 )
...
This is one of the calls with the delayed IPC. In the past, teams have
called an IsMode function so much that their code would start lagging.
This adds a cache, so the data is updated either when new data arrives
and we are notified of it, or after 50ms has passes since the last time
the cache was checked and updated.
2016-07-15 13:39:26 -07:00
Tyler Veness
1bf2d58db1
Reordered DriverStation functions in wpilibc and wpilibj to match wpilibc header ( #166 )
2016-07-14 20:50:38 -07:00
Thad House
ea1a1e6bc3
Makes the CANJaguar error status messages more useful ( #165 )
...
The previous version would just return the class name for the
DigitalOutput port. Now it actually gets the dio port value for better
readability.
2016-07-12 21:53:51 -07:00
Thad House
edf5ecd4a0
Changes HAL Headers to be C compliant. ( #171 )
2016-07-12 21:53:06 -07:00
Tyler Veness
1b1ee7f9f3
Renamed spiGetSemaphore() to spiGetMutex() ( #170 )
2016-07-12 15:11:41 -07:00
Tyler Veness
3fade171f9
Fixed inconsistencies in documentation ( #168 )
2016-07-12 10:50:21 -07:00
Thad House
b51e85ae26
Switches HAL to fixed length signed integers, and adds our own HAL_Bool Type ( #155 )
...
* Switches HAL to fixed length signed integers, and adds our own HAL_Bool type
* Replaces HAL Floats with Doubles
Doubles are just as fast as floats with optimizations turned on, so
switches to all doubles. All made doubles for consistency.
* Prepends HAL/ to HAL include files. Also fixes some range errors
2016-07-12 10:45:14 -07:00
Thad House
4a98e68815
Moves the DS new data wait calls down to the HAL. ( #156 )
2016-07-10 23:10:05 -07:00
Tyler Veness
0cb288ffba
Fixes warnings thrown by cpplint.py ( #154 )
...
* Fixed cpplint.py [runtime/int] warnings
* Fixed cpplint.py [readability/casting] warnings
* Fixed cpplint.py [readability/namespace] warnings
* Fixed cpplint.py [readability/braces] warnings
* Fixed cpplint.py [whitespace/braces] warnings
* Fixed cpplint.py [runtime/explicit] warnings
* Fixed cpplint.py [runtime/printf] warnings
* Fixed cpplint.py [readability/inheritance] warnings
* Fixed cpplint.py [whitespace/tab] warnings
* Fixed cpplint.py [build/storage_class] warnings
* Fixed cpplint.py [readability/multiline_comment] warnings
* Fixed cpplint.py [whitespace/semicolon] warnings
* Fixed cpplint.py [readability/check] warnings
* Fixed cpplint.py [runtime/arrays] warnings
* Ran format.py
2016-07-10 17:47:44 -07:00
Thad House
43a2eccdc9
Finishes Prefix Renames ( #152 )
2016-07-09 01:12:37 -07:00
Thad House
b637b9ee4c
Prepends all HAL functions with HAL_ ( #146 )
2016-07-09 00:24:26 -07:00
Thad House
5ad28d58ec
Switches PWMs to do scaling at the HAL level. ( #143 )
2016-07-08 21:29:29 -07:00
Thad House
4a3e3a6324
Changes DigitalSource API for HAL ease of use ( #144 )
2016-07-07 21:43:55 -07:00
Thad House
0a983eeeb8
Moves Gyros to the HAL ( #131 )
2016-07-07 21:31:45 -07:00
Austin Shalit
b036bf2e34
Add method to get the port number of a Joystick ( #137 )
2016-07-04 09:18:28 -07:00
Tyler Veness
73602e6cb4
Added missing include for robot startup macro ( #135 )
2016-07-03 23:24:56 -07:00
Thad House
72455280a9
Removes unneeded resource includes from WPILibC files ( #134 )
2016-07-03 23:18:45 -07:00
Thad House
36ac37db8c
Moves Encoders to Handles and Moves WPILib Encoders to HAL ( #124 )
2016-07-03 15:22:22 -07:00
Thad House
8c4ad62422
Switches Solenoids to Handles ( #126 )
2016-07-02 09:24:54 -07:00
Thad House
62c217cd01
Switches compressor to handles ( #125 )
2016-07-02 08:22:44 -07:00
Thad House
0f105a26f7
Switches Counters to Handles ( #123 )
2016-07-01 00:29:08 -07:00
Thad House
47694ef810
Switches DigitalPWM to Handles ( #121 )
2016-06-30 23:43:00 -07:00
Thad House
3593ecb17e
Switches PWM and DIO to Handles ( #120 )
2016-06-30 21:39:09 -07:00
Thad House
9b2af0d090
Switches relays to handles ( #119 )
2016-06-29 19:58:14 -06:00
Thad House
e8e052712e
Switches AnalogInputs and AnalogTriggers to Handles ( #117 )
...
Results in a breaking change to AnalogTrigger int constructor. If a user wants
multiple AnalogTriggers, they must use the AnalogInput constructor.
2016-06-27 21:32:30 -07:00
Thad House
e1d4845ccd
Move Analog Outputs to Handles ( #112 )
2016-06-27 11:32:40 -07:00
Thad House
046e043c4e
Moves Interrupts over to Handles instead of pointers ( #99 )
2016-06-20 23:22:48 -07:00
Tyler Veness
d66c61a36e
Cleaned up robot startup and cleanup/shutdown code ( #77 )
...
Cleaned up RobotBase, removed singleton list from SensorBase, and removed unused typedefs and NULL_TASK macro from HAL's Task.hpp. Making the robot class instance static fixed non-POD statics used by the instance during destruction from being destroyed first.
2016-06-19 00:13:18 -07:00
Tyler Veness
ecc210f99a
Rename Notifier::m_handlerMutex to Notifier::m_notifyMutex ( #105 )
...
A month ago, we discussed renaming this mutex to better reflect its current use, and this commit does that. The inline comment was also updated.
2016-06-18 02:20:29 -07:00
Tyler Veness
5a82f73d9b
Replaced .h C headers with c-prefixed version and added std:: prefix to C standard library usage ( #90 )
...
This was not done to stdint.h for brevity in type names. Also removed "using namespace std;".
2016-06-05 07:33:37 -07:00
Thad House
776a991d61
Moves Notifier over to handles ( #97 )
...
Internally, the linked list now uses shared_ptrs instead of raw
pointers. In addition, in the WPILib the notifier handle is now made
atomic. Then before the class is destructed, the handle is now set to 0.
This should help solve one of the existing race conditions. A 0 handle
is correctly handled down at the HAL level.
2016-06-05 07:29:47 -07:00
Tyler Veness
2f7eff7091
Removed @author from comments ( #88 )
...
Keeping @author lines in the comments serves no functional purpose.
2016-05-29 09:24:04 -07:00
Tyler Veness
7a402b4170
Replaced "RoboRIO" with "roboRIO" in comments ( #87 )
2016-05-29 09:19:43 -07:00
Thad House
c622c03eff
Places while loop around DS wait condition. ( #83 )
...
In case of Spontaneous wake ups, we should be checking a condition
variable as well.
Note that we can not use the existing m_newControlData, as that has a
possible race condition with existing user code that it does not look
like we could work around.
2016-05-26 23:05:08 -07:00
Tyler Veness
51ff9e9f69
Classes which use I2C or SPI now do so via composition rather than inheritance ( #72 )
2016-05-26 21:37:23 -07:00
Tyler Veness
9f2f301fa4
Deduplicated FRC network communication headers ( #71 )
...
The network communication headers were moved to the include directory of the HAL and their copies were removed from wpilibc. Also, symModuleLink.h was removed because the function which it prototypes hasn't been used in WPILib since the roboRIO switch.
2016-05-26 20:20:58 -07:00