Object oriented devices: Some devices such as motors have their device settings stored in an object (such as gearing, measurement units, reversed state) rather than being hardware/port based.
v5, rtos, and adi namespaces to help with API organization, with v5 and adi being inline for user sanity.
ADI(device) has a deprecation warning to encourage users to switch to the adi namespace.
Motors now inherit from Motor Groups to allow library writers to create API to pass both into any functions.
Base device class that all v5 smart devices inherit from (except motor groups) allow for dynamic device instantiation. (pros::v5::Device).
adi::pneumatics class added for ease of use.
LVGL decoupled directly from kernel and instead a default template similar to Okapi.
Added port#_device constructors to most devices such as instantiating a rotation censor by doing pros::v5::Rotation sensor = 5_rot; to instantiate a rotation sensor on port 5.
Added a stream operator overrides to most devices for debugging. For example, doing std::cout << mtr_object << std::endl; will print information about the state of the motor.
I am sure I am missing stuff from this list so let me know and I will add it.
Motivation:
it is time
References (optional):
it has been too long
Test Plan:
[ ] has been hardware tested throughout development, including this late night of work with some motors, tasks, and other features.
Summary:
Release candidate for PROS 4.0.0.
v5
,rtos
, andadi
namespaces to help with API organization, withv5
andadi
being inline for user sanity.ADI(device)
has a deprecation warning to encourage users to switch to theadi
namespace.pros::v5::Device
).adi::pneumatics
class added for ease of use.port#_device
constructors to most devices such as instantiating a rotation censor by doingpros::v5::Rotation sensor = 5_rot;
to instantiate a rotation sensor on port 5.std::cout << mtr_object << std::endl;
will print information about the state of the motor.I am sure I am missing stuff from this list so let me know and I will add it.
Motivation:
it is time
References (optional):
it has been too long
Test Plan: