Powered Up Versions Save

.NET implementation of the LEGO PoweredUp Protocol

v1.0.0

3 years ago

After a quick, bumpy and funny ride, here is the final full release of SharpBrick.PoweredUp. The current theme is mainly focused on Control+ (TechnicMediumHub, TechnicLargeMotor and TechnicXLargeMotor).

Features

  • CreateVirtualPort now returns the created port (awaits the completion of the port creation
  • Addition of TechnicMediumHubTiltSensor (Impact + Orientation)
  • And all the awesomeness of the 10+ releases before ;)

Roadmap ahead

  • Establish Unit Testing Infrastructure for the devices/hubs
  • Add PoweredUp Hub (88009) and related devices
  • Add DeploymentVerifier (verify that all utilized ports are connected to the right devices)
  • Add DynamicDevice as a generic fallback device (at least for sensors).

Notes

  • The existing API will be stable for all 1.x releases. If a breaking change occurs, a release 2.0 will be created.

v0.13.0

3 years ago

Features

  • All motor and RGB commands are now awaiting the port feedback (aka, the awaitable returns once the command is confirmed by the hub).
  • TachoMotor/AbsoluteMotor can now reset the position and goto physical position 0.
  • HubAlerts are now exposed

Notes

  • All API are subject to change. There is no API stable release before v1.0.0.

v0.12.0

3 years ago

Features

  • Add combined mode for notification streams
  • poweredup device list outputs now the port mode combinations options
  • CLI/Examples have now a --trace true option to print out raw Bluetooth data and human readable messages
  • Hub Actions (e.g. switch off) are now await the hub feedback if applicable (not yet the device commands)

Notes

  • Many cleanups leading to simpler code
  • Removed message-trace playground in favor of example project.
  • All API are subject to change. There is no API stable release before v1.0.0

v0.11.0

3 years ago

Features

  • Gyro, Accelerometer, Temperature and Voltage sensors are added
  • TechnicLargeLinearMotor is actually a AbsoluteMotor (bugfix)
  • Guarding and documentation of Motors and RgbLight function.

Notes

  • All API are subject to change. There is no API stable release before v1.0.0

v0.10.0

3 years ago

Observing data on the sensors (of e.g. an motor) is an interaction in millisecond range. This release adds callbacks instead of just properties to read. System.Reactive and its observer concept is added to allow proper streaming direct from the protocol data sets into user code base.

Features

  • Added SharpBrick.PoweredUp.Current device
  • Added System.Reactive for data update streaming
  • Exposed observables for motors and current sensor.
  • Added proper decoding for input values (adhere to protocol port (mode) information / knowledge)
  • Added Dual Motor commands on virtual ports
  • Added hub functions Activate/ResetBusyIndicator

Notes

  • All API are subject to change. There is no API stable release before v1.0.0
  • Still not final API surface

v0.9.0

4 years ago

Within this release the example code was cleaned up.

Features

  • Added VirtualPort capabilities

Notes

  • All API are subject to change. There is no API stable release before v1.0.0
  • We miss still dual motor controls, tilt controls commands ;) Stay tuned
  • Still not final API surface

v0.8.0

4 years ago

Within this release many code cleanup activities were performed. Watchout for breaking contracts. Functionality is not lost but put in difference places with cleaned up names.

Features

  • Fix enums names to conform to .NET Framework Guidelines
  • Fix type namespaces to create a good experience for consumers (using SharpBrick.PoweredUp)

Notes

  • All API are subject to change. There is no API stable release before v1.0.0
  • We miss still dual motor controls, tilt controls commands ;) Stay tuned
  • Still not final API surface

v0.7.0

4 years ago

This release marks the introduction of the Hub, Port and Device concept. It introduces the first draft of the vision for the hub model.

Features

  • Add PoweredUpHost to manage Hub Setup
  • Add support to initialize devices for usage with a Hub (ctr + factory)
  • Implemented Properties and Ports management for Hubs
  • Added typed TechnicMediumHub

Notes

  • All API are subject to change. There is no API stable release before v1.0.0
  • We miss still dual motor controls, tilt controls commands ;) Stay tuned
  • Still not final API surface

v0.6.0

4 years ago

Features

  • Split Motors into multiple levels
  • Add support for motor properties (Power, AbsolutePosition, Speed, etc)

Notes

  • All API are subject to change. There is no API stable release before v1.0.0
  • We miss still dual motor controls, tilt controls commands ;) Stay tuned
  • Still not final API surface
  • Introducting of System.Reactive for event streams within the API surface (protocol to device).

v0.5.0

4 years ago

Features

  • Add support for StartSpeedForDegrees, GotoAbsolutePosition
  • Add device functions for BasicMotor

Notes

  • All API are subject to change. There is no API stable release before v1.0.0
  • We miss still dual motor controls, tilt controls commands ;) Stay tuned
  • Still not final API surface