Skip to content

Releases: adafruit/circuitpython

0.9.5 - Bug Bash

14 Apr 17:38
Compare
Choose a tag to compare
0.9.5 - Bug Bash Pre-release
Pre-release

After the big nativeio split it was time for some bug bashing. The biggest feature is the ability to use the NeoPixel on the Feather M0 Express.

This release is based on MicroPython 1.8.7.

Change highlights since 0.9.4:

  • Support NeoPixel sharing on Express boards. Simply use it as normal and the underlying system should share it.
  • Fix serial receive on Huzzah Breakout, Feather Huzzah was OK.
  • Fix PulseIn timing issues for DHTxx and IR support.
  • Fix PulseIn reset issues that could hard fault the board.

To install, download a .bin file and follow the guide here for M0 and here for ESP8266.

Have a Feather M0 Express? Download a .uf2 and follow these instructions.

0.9.4 - The Great Rename

10 Apr 21:53
Compare
Choose a tag to compare
Pre-release

This will likely break your code! Please read carefully and make sure you are using up-to-date libraries.

Well, I'm home from my great European adventure and things will pick back up quickly. I'm kicking it off by splitting nativeio into smaller modules so boards and ports can pick and choose which to provide. This will allow for built-in functionality to better match the board. For example, ESP8266 no longer needs to provide nativeio.TouchIn because touch is split into touchio which it can omit.

This release is based on MicroPython 1.8.7.

Change highlights since 0.9.3:

To install, download a .bin file and follow the guide here for M0 and here for ESP8266.

Have a Feather M0 Express? Download a .uf2 and follow these instructions.

0.9.3 - Maxim One Wire

27 Mar 22:02
Compare
Choose a tag to compare
Pre-release

Just a quick update (from Dublin!) featuring the Maxim (formerly Dallas Semi) one wire protocol.

This release is based on MicroPython 1.8.7.

Change highlights since 0.9.2:

  • Add nativeio.OneWire for low-level timing sensitive one wire support. Higher level protocol bits will be in Python. This is most commonly used in inexpensive temperature sensors.
  • Tweak auto-reset messaging to account for case where user code turns it off.
  • Polish up Feather M0 Express board definitions.

To install, download a .bin file and follow the guide here for M0 and here for ESP8266.

0.9.2 - Infrared

24 Mar 11:04
Compare
Choose a tag to compare
0.9.2 - Infrared Pre-release
Pre-release

This release contains two new additions to nativeio in preparation for new hardware and a few tweaks. Things continue to be a bit slower than normal as I wrap up the last two weeks of travel.

This release is based on MicroPython 1.8.7.

Change highlights since 0.9.1:

  • Change keyword argument to PWMOut constructor for duty cycle from duty to duty_cycle to match the attribute.
  • esp8266: Turn off framebuf to save flash space. Use the Python implementation when needed.
  • Turn on stack checking so that infinite recursion fails gracefully.
  • atmel-samd: Add PulseIn and PulseOut support for infrared transmit and receive.

To install, download a .bin file and follow the guide here for M0 and here for ESP8266.

0.9.1 - More than expected

28 Feb 11:57
Compare
Choose a tag to compare
Pre-release

Welp, I thought we were approaching a state of more bug fixes and fewer features but then I decided to improve the Python slice object and ran out of flash space on the "local" boards. So, I went looking for some bytes and managed to free up ~5000 bytes using link time optimization (LTO)! Everything has worked well for me so far but it'd be good to get some soak time on LTO.

This release is based on MicroPython 1.8.7.

Change highlights since 0.9.0:

  • Switch on link time optimization for "local" boards. "Express" boards will get it once GCC is fixed.
  • Add experimental USB HID mouse and keyboard support and a helper driver to go with it.
  • Add indices() support to slices and turn on named attributes on slices.
  • Lots of bug fixes too!

To install, download a .bin file and follow the guide here for M0 and here for ESP8266.

0.9.0 - Barcelona

22 Feb 15:44
Compare
Choose a tag to compare
0.9.0 - Barcelona Pre-release
Pre-release

I've been traveling over a week now and I'm in Barcelona! Over that time I've done a bunch of polish work, especially on the ESP8266 port, and gotten the 1.0 issues list down to 2. We're getting closer and closer. Almost everything between now and 1.0 will be polish instead of large features. Please file issues for any problems you find.

This release is based on MicroPython 1.8.7.

There are a couple breaking changes since 0.8.4 to be aware of:

  • Enum like values in DigitalInOut and UART are now all CAPS instead of lowercase. They also now print their value instead of just their class.
  • Only 800khz NeoPixels are now supported. 400khz are rare and we needed the flash space.

Other non-breaking changes since 0.8.4:

  • Tweaked nativeio.SPI to better support SD cards.
  • atmel-samd: Fix I2C init when it errors. Thanks @deshipu for finding the bug
  • Changed sys.implementation to 'circuitpython' and corrected version output at @deshipu's suggestion
  • ESP8266: Fixed a number of bugs and unified the run process with the atmel-samd port.
  • Pin objects are now printed as their board or microcontroller.pin name rather than <Pin>.
  • Added note on webrepl_setup at @fede2cr's suggestion.

To install, download a .bin file and follow the guide here for M0 and here for ESP8266.

0.8.4 - European Vacation

07 Feb 22:18
Compare
Choose a tag to compare
Pre-release

Hi all, thought I'd release a new beta before my European vacation. I will be checking in periodically but things may be a bit sporadic for a little while.

This release is based on MicroPython 1.8.7.

Changes since 0.8.3:

  • all: PWMOut supports different frequencies.
  • all: Renamed duty PWMOut constructor argument to duty_cycle to match property.
  • all: Published new design guide for contributions.
  • SAMD21: Newly created filesystems are now called CIRCUITPY.
  • SAMD21: Correct USB sleep time. (A sleep of 2 seconds was actually 2.7. Whoops!)
  • SAMD21: Cleanly reset the ADC and DAC.
  • SAMD21: Various pinout fixes.
  • SAMD21: Dim the status LEDs so they are less blinding.

To install, download a .bin file and follow the guide here for M0 and here for ESP8266.

0.8.3 - More fixes

18 Jan 18:40
Compare
Choose a tag to compare
0.8.3 - More fixes Pre-release
Pre-release

Another week, another beta. Thanks to everyone who has tried it so far! Shout out to jerryn from the Adafruit forum and @tdicola for finding bugs. Thanks to them, this release includes a number of useful fixes:

  • all: Correct the pull kwarg to nativeio.DigitalInout.switch_to_input.
  • all: Correct setting the pull property on nativeio.DigitalInOut.
  • samd: Correct getting the pull property on nativeio.DigitalInOut.
  • samd: Support reading multiple analogIn channels.
  • samd: Correct neopixel timing by switching the flash cache to take the same amount of time regardless of hit or miss.

To install, download a .bin file and follow the guide here.

0.8.2 - Standalone Bugfix

14 Jan 00:15
Compare
Choose a tag to compare
Pre-release

Fix a bug that is only critical when USB data is not connected.

To install, download a .bin file and follow the guide here.

Full explanation

reset_samd21() ensures peripheral and pin state but was only done after the first main run. Without this reset, pin state is unknown and risks generating a ValueError exception due to pin in use. With USB data, the autoreset causes a reset and everything works. Without it, CircuitPython stays in the pre-repl error state.

0.8.1 - Newer Foundation

13 Jan 01:33
Compare
Choose a tag to compare
Pre-release

Thanks for the great response to the beta everyone! Here is a new release to test. Its got much of the same CircuitPython code as before but has been upgraded to MicroPython 1.8.7 code and GCC 6.2. So, please test it out and let us know what you think.

To install, download a .bin file and follow the guide here.

The Vagrantfile has also been updated to use the new GCC. To update it, save all the code you care about out of the vm, destroy it, pull and re-up the vm.

Changes:

  • Merge in MicroPython 1.8.7
  • Switch to GCC 6.2 (arm 2016q4 release)
  • Change 0RX style pin names to two names, D0 and RX on some boards.
  • Remove the framebuf. It made the binaries too large with all of the extra functionality added in 1.8.7. (jerryn from the forum pointed out that you can compile on your own with terse error messages and framebuf on.)