News

News about periph.io

Towards v3

Polishing the APIs 2017-12-21

Have you found incoherences in the APIs? Does an interface-specific registry needs refactoring or is hard to use? Is a device driver missing options? We are now planning v3 to polish the APIs. This is a major release which will permit small breaking changes, as defined by the compatibility guarantee.

Now is the time to report these issues and voice your opinion! Please file a bug or reach out on #periph on the Gophers slack. You can find the slack invite on the top right of this page.

It is slated for around Q1 of 2018. It is not an hard date, we will release once we feel we reached the desired polish level. You can view the currently slated changes via the API breaking label.

🚄 Reaching 80MHz

How we cranked up GPIO performance in v2.1.0 2017-12-15

One of the key design goal of periph.io is to be as fast as possible while exposing a simple API. For GPIO pins, this means having reliable low latency in the happy path.

In this article, we’ll describe how we:

  • wrote a reproducible benchmark for GPIO that can be used across platforms, which measures output performance by toggling the output low and high continuously as fast as possible ⎍⎍⎍⎍ and for input performance by, unsurprisingly, reading continuously
  • optimized outputs and inputs against the benchmarks
  • determined incorrect optimizations and benchmarking issues
  • determined performance anti-patterns

Are we fast yet?

Announcing v2.1.0

25x speed bump just in time for 🎄 holidays! 2017-12-15

Version 2.1.0 is released!

This is a polish, features and performance update. It includes a 25x (!) GPIO performance improvements, a nice slew of new features and no breaking change.

Announcing v2.0.0

v1.0.0, we barely knew ya! 2017-08-28

Version 2.0.0 is released! It is a major version bump because it contains breaking changes that may require user code changes.

One Year!

One year already, what a ride. 2017-08-27

The idea of the project came up in early 2016 as I (Marc-Antoine) was working on a work-in-progress (WIP) project named dlibox but only in the summer of 2016 I saw that there was real value into making the Hardware Abstraction Layer (HAL) a real project. The working name of the project was pio but everyone agreed it was a bad name. :)