services library
Defines handler classes for out-of-app resources.
These resources include plugins that are designed to be general, not specific to the rover project.
By providing rover-centric APIs for these services, the app's logic becomes simpler and easier
to follow without having to study the specific service. Each service declared is to extend
the abstract Service
class.
The Services class acts as a bundle service for all services defined in this library. Its responsibilities include initializing and disposing of the services, and it also acts as a sort of dependency injection service by ensuring simple access. Use the services singleton.
This library sits right above the data library, and may import it, but not any other library in this project, only 3rd party plugins. That way, all other code can import any service.
Classes
- DashboardSocket
-
A service to send and receive Protobuf messages over a UDP socket, using
BurtSocket
. - FilesService
- A service to read and write to the file system.
- Gamepad
- A physical gamepad that can be connected and used to control the rover.
- GamepadService
- A service to match operators to gamepads.
- GamepadState
- The complete state of a gamepad.
- Services
- A dependency injection service that manages the lifecycle of other services.
Enums
- GamepadBatteryLevel
- The battery level of a gamepad.