Comments (2)
To ensure this, there needs to be a separate recursive mutex that's used only for PIDWrite and Disable. You do not want to hold the main pidcontroller mutex over the PIDWrite call. Disable grabs the main pidcontroller mutex and the PIDWrite mutex, then clears the enabled flag. Calculate grabs in the same order, checks the enable flag, but releases only the pidcontroller mutex before calling PIDWrite, releasing the PIDWrite mutex only after that function has returned.
from allwpilib.
In addition to this, we could stop the Notifier when Disable() is called. Calculate() doesn't do anything unless the controller is enabled anyway.
from allwpilib.
Related Issues (20)
- Add Upload Support for Persistent Tables HOT 1
- Generated command HID classes not included in C++ build, despite being included in the build.gradle HOT 1
- Change native builds from Gradle to cmake (tracking issue) HOT 7
- Replace MathUtil.clamp() with Java 21 Math.clamp() HOT 2
- [wpilibc] Check for invalid handles in destructors HOT 6
- PS4ControllerSim::SetTouchpad is in the header but didn't end up in a C++ file. HOT 2
- Prefer usage of QuickBuffers over Jackson for deserializing JSON HOT 1
- Simulation "Reset" removes all items under NetworkTables HOT 1
- Add Zone2d utility classes for defining field-based triggers and other use-cases HOT 1
- Sysid Limits HOT 1
- JDTLS errors when project is opened in non-VSCode editor HOT 1
- XRPGyro is missing getRotation2d
- Make wpi::MemoryBuffer::GetFile() use wpi::expected HOT 3
- [epilogue] Log internal debug data to the configured logger instead of networktables
- Add WITH_PROTOBUF CMake flag for disabling protobuf serialization HOT 1
- Import thirdparty concurrentqueue into wpiutil
- Import argparse into the project with upstream utils
- Driverstation logging doesn't work with sim DS
- [ntcore] Add headless NT server executable
- [ntcore] Add wss connection support (2027+) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from allwpilib.