Skip to content

Releases: Open-STEM/XRP_MicroPython

XRPLib Release v2.0.1

27 Feb 04:20
Compare
Choose a tag to compare

This version of the library was made for a custom build of MicroPython for the XRP Control Board and XRP Beta Control Board. Please ensure you have the correct firmware loaded on your bot before use. (Beta firmware can be downloaded below)

Changelog:

  • Fixed a few bugs present in v2.0.0 (and before), including:
    • Speed control PID history being reset when new target speed was set, which caused issues when speed was set in a loop
    • Timeout.py only processing timeouts of an integer number of seconds (now has ms accuracy)
  • Added error with description when the library is used without the correct MicroPython version built for the XRP Control Board

XRPLib Release v2.0.0

19 Feb 19:42
Compare
Choose a tag to compare

Official Release of the XRP (XRPLib v2.0.0)

Requires UF2 Files built for the XRP Control Board or the XRP Beta Control Board. The UF2 for the XRP Beta Control Board is attached to this release for immediate use.

Changelog:

  • Split Motor into SinglePWMMotor and DualPWMMotor to reflect the change in motor drivers present on the boards.
  • Added functionality for the Neopixel LED present on the new board (Throws a NotImplementedError on the XRP Beta)
  • Added brake and coast ZeroEffortBehavior for motors on both boards.
  • Added support for the extra Servo pins available on the new board.
  • Enabled string names for all main XRP GPIO pins, added through custom UF2 files compiled per board.

Beta Release 1.0.0

20 Aug 02:39
d536c9a
Compare
Choose a tag to compare
Beta Release 1.0.0 Pre-release
Pre-release

The First Official Public Beta Release of XRP_MicroPython!

Changelog:

  • Fixed issues associated with DifferentialDrive.arcade() not setting to the right effort
  • Fixed issues associated with EncodedMotor.get_speed() only working while speed control was running
  • Fixed issues associated with Board.led_blink() and frequencies of zero
  • Fixed issues associated with resetbot.py trying to reset the Webserver before it was started
  • Removed Board.set_button_callback() due to unintuitive behavior and it being out of scope for the primary use case of this library
  • Fixed multiple issues associated with the MotorGroup class
  • Fixed issue with the PID class where the timestep would sometimes be too large after a call to PID.clear_history()
  • Re-tuned DifferentialDrive.straight() and DifferentialDrive.turn() so that they would function in a wider range of environments

Release 0.9.7

30 Jul 18:53
6e5855d
Compare
Choose a tag to compare
Release 0.9.7 Pre-release
Pre-release
  • Fixed issue where update() in Controller.py was still called tick()
  • Updated the installation verification program to be easier to use
  • Removed version.py, XRPCode now uses package.json for version testing
  • Arcade drive method added to DifferentialDrive for skewing the drive left or right with a easy to call function
  • Added a secrets.json file, where users can store their wifi information so that they don't have to type it every time

Release 0.9.6

20 Jul 18:29
Compare
Choose a tag to compare
Release 0.9.6 Pre-release
Pre-release

New functions exposed from within IMU.py:

  • is_connected()
  • reset() to reset register values during a soft reset
  • get_gyro_rates() functions
  • acc_rate() and gyro_rate() functions to change output data rates
  • improved calibration code

Webserver Bridge Mode Functionality:

  • Call either webserver.start_network(robot_id) or webserver.connect_to_network(ssid, password, robot_id) to choose between access point mode or bridge mode
  • Then call webserver.start_server() to begin running the server in your chosen mode
  • Navigate to the printed ip address to begin interacting with your robot

Release 0.9.5

17 Jul 17:16
Compare
Choose a tag to compare
Release 0.9.5 Pre-release
Pre-release
  • All references to encoder ticks renamed to encoder counts
  • encoder.ticks_per_rev renamed to Encoder.resolution
  • PID.tick renamed to PID.update
  • Fixed servo range issue, now from 0-200

Release 0.9.4

13 Jul 09:20
Compare
Choose a tag to compare
Release 0.9.4 Pre-release
Pre-release
  • Fixed drive straight behavior issues
  • Fixed turn without imu issues
  • Fixed speed control issues
    All 3 of these should behave properly now.

Release 0.9.3

12 Jul 17:30
Compare
Choose a tag to compare
Release 0.9.3 Pre-release
Pre-release
  • Made the webserver auto refresh every second
  • Fixed encoded motor indexing issues
  • Added documentation to encoder constructor for clarity on what those indexes were
  • fixed some various comments

Release 0.9.2

11 Jul 19:10
Compare
Choose a tag to compare
Release 0.9.2 Pre-release
Pre-release

Fixed missing monotonic time issue associated with the Timeout class.

Fixed some documentation errors associated with some methods in DifferentialDrive

Fixed some of the default values in DifferentialDrive to be more accurate

Release 0.9.1

09 Jul 21:39
Compare
Choose a tag to compare
Release 0.9.1 Pre-release
Pre-release

Includes some small but relevant API changes:

  • Added Board.wait_for_button()
  • Changed DifferentialDrive.get_left_encoder_position() and DifferentialDrive.get_left_encoder_position() to return distance traveled in centimeters instead of revolutions of the motor.