mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-29 02:21:44 +00:00
Unfortunately, due to the way NT synchronization is currently performed, this has unexpected and undesirable behavior: when a dashboard (or any other NT client) is left running between code restarts, when it reconnects, any code settings will be overwritten by the NT synchronization process. As fixing this will require a fairly major NT change (and likely a user-visible one), it's not desirable to do at this point in the year. Instead, disable NT driven settings entirely (e.g. make the NT interface publish only). To emphasize the read-only nature of the NT values, attempts to change the NT values will be immediately overridden by CameraServer. To better inform users about the actual property names (e.g. for use in their code), the "raw_" settings no longer have "raw_" removed from their names (they are still placed in the "RawProperty" subtable). This change also contains a couple of Java fixes: * Make getInstance() thread-safe * Properly synchronize access to m_tables between multiple threads. * Use Hashtable instead of HashMap.