Ev3dev Lang Python Versions Save

Pure python bindings for ev3dev

2.0.0beta1

5 years ago

This is the first release for the v2.x series of ev3dev-lang-python, designed specifically for the upcoming ev3dev version ev3dev-stretch. To learn more about new features and find out how to upgrade, see our upgrading guide: https://python-ev3dev.readthedocs.io/en/ev3dev-stretch/upgrading-to-stretch.html

1.0.0

6 years ago

This isn't a huge release, but it marks the official "v1" of the library to correspond with ev3dev-jessie. In this release, the headline updates are proper handling of floating-point numbers with some sensors and methods for interacting with motor state. You can see the full list below.

  • Add constants for color values to color sensor class
  • Update documentation on motors
  • Add getters to check state of motors
  • Implement BeaconSeeker class
  • Fix scaling of floating-point values from sensors
  • Add Sound.play_song method
  • Make sound commands cancelable
  • Add tuples for sensor modes
  • Add wait_until_not_moving for motors

0.8.1

7 years ago

A minor release that mostly catches up to the changes in the latest kernel (18-ev3dev):

  • Fix inverted button logic for the latest kernel.
  • Check for non-existing device attributes. This patch adds __slots__ attribute to all API classes that use setattr magic and kwargs for function parameters. Besides reducing memory and speeding up access, the main point of this change is that a typo when calling a function will result in an error, rather than silently setting non-existing properties.
  • Provide Sound.set_volume(pct) and implement Sound.get_volume().
  • Add a function to list all the connected sensors.
  • Use speed instead of duty cycle in EXPLOR3R/auto-drive.py.
  • Update utils to python3.
  • Clean up MINDCUB3R demo.
  • Documentation updates.

0.8.0

7 years ago

This is a fairly minor release in terms of feature additions, but it includes a large breaking change (and one small one).

  • Add option to not set mode before reading sensor value on "special" sensors
  • Return a tuple for multiple values from a sensor property
    • Add ColorSensor.raw() method to get all color channels at once
  • Merge NXTMotor functionality into LargeMotor class and remove NXTMotor (breaking change)
  • Distribute fonts from xfonts-75dpi in PIL format and expose them in code
  • Replace special sensor methods with properties for the sake of consistency (breaking change)
  • Provide waiting functions for motors
  • Make implementation of Led timer-based trigger more robust

Starting with this release, you will now access sensor values on sensor classes such as TouchSensor as Python properties instead of as methods. This means that you would replace sensor.is_pressed() with sensor.is_pressed (note the lack of parenthesis).

0.7.0

7 years ago

This release brings with it a bunch of bug fixes as well as major interface changes to the motor API to become compatible with the newest ev3dev versions.

The release highlights include:

  • Support for -13-ev3dev and newer kernels
  • New base classes for common types of robots
  • Fixes for BrickPi support
  • Performance improvements

You can see a list of all the changes that have been made in the changelog. Note that this release includes changes from both the v0.7.0~rc1 release and the current 0.7.0 release as listed in the changelog.

0.6.0

8 years ago

There are a few changes worth noting in this release:

  • The port_name attribute is now called address
  • LEDs on the BrickPi are renamed from brickpi{1,2}:blue:ev3dev to brickpi:led{1,2}:blue:ev3dev

This release of the pure Python binding requires the latest ev3dev kernel - see the announcement for Kernel Release Cycle 9 here

0.5.0

8 years ago

There are a few changes worth noting in this release:

  • Sound API now accepts single tones as well as lists of tones for backwards compatibility.
  • LED API now supports new LED names from the new kernel
  • Button API now has any() as a function, not a property.

This release of the pure Python binding requires the latest ev3dev kernel - see the announcement for Kernel Release Cycle 8 here

v0.4.0

8 years ago

Initial release of a stable API for accessing ev3 peripherals such as motors, sensors, buttons, LEDs, the speaker and the screen.