Overview
WPIUtil is a foundational library that provides:- Data logging and serialization
- Concurrent data structures
- Network tables integration
- File system utilities
- JSON and MessagePack support
- Protocol Buffers helpers
Package Structure
Java
edu.wpi.first.util- Core utilitiesedu.wpi.first.util.datalog- Data loggingedu.wpi.first.util.sendable- Sendable interfaceedu.wpi.first.util.struct- Struct serializationedu.wpi.first.util.proto- Protocol Buffers
C++
wpinamespace for all classes- Headers in
wpi/directory
Core Modules
Data Logging
Efficient binary data logging
Concurrent Collections
Thread-safe data structures
Serialization
Struct and protobuf serialization
System Utilities
File system, timing, and platform APIs
Data Logging
DataLog
Efficient binary data logging system for robot telemetry.DataLogReader
Read and process data log files.Background Writer
Concurrent Collections
EventVector
Thread-safe vector with event notification.UidVector
Vector with unique ID tracking for elements.Serialization
Struct Serialization
Type-safe binary serialization.Protocol Buffers
System Utilities
File System
Memory-Mapped Files
JSON Support
MessagePack
Threading Utilities
SafeThread
RAII thread wrapper with safe shutdown.Synchronization
Data Structures
Circular Buffer
Interpolating Map
SmallVector
StringMap
Other Utilities
Base64 Encoding
Stack Trace
Symbol Demangling
Format Library
WPIUtil includes the library.Network Utilities
Hostname Resolution
Raw Sockets
Source Code
View the full source code on GitHub:Related Documentation
NetworkTables
Network communication protocol
WPIMath
Mathematics and control libraries
WPILibJ
Java robot API
WPILibC
C++ robot API