I2C refactoring status

Dear community, The ongoing I2C refactoring effort has been on track for a whole week. I think it will take a little more time than I expect. You can have a look at [1] to see how this is evolving. All the changes are done on a dedicated branch (new_I2c_if) right now. Once everything will be done, we will merge the branch to master.

Such a big rework requires a lot of time but also a lot of hardware (boards, devices drivers…) If you want to participate to this huge and intense effort, do not hesitate to put your name on the list ! We’re looking for people to handle some CPU driver and also some devices drivers but we also need some help for testing all the current open PRs ! You can find all the PRs on github labelled I2C REWORK

The new I2C API will bring more flexibility, more features and also fix some bugs at the same time.

Keep RIOTing !

[1] https://github.com/RIOT-OS/RIOT/issues/6577

Hi maintainers,

Just a quick reminder about the status of the I2C rework. It is still moving forward: the API is finalized, yesterday the SAM0 cpu adaption was merged, STM32 unification and rework is nearly ready (just needs review/test), Kinetis is also mostly done and most of the device drivers have a PR opened.

But, there are still unadopted items in the related issue [1]:

  • rework of nRF51

  • some device drivers

If you have some time and the hardware for testing, we need some manpower to get this fully done.



[1] https://github.com/RIOT-OS/RIOT/issues/6577

Hi maintainers!

I’d like to point out that Kevin Weiss is working in a testing platform for this, based as far as I know on the “bluepill" board. The board features a stm32f103 CPU and it’s super cheap. Maybe we can extend the firmware for a more “common” platform and use it to set up a common test environment, or simply try to get one of these boards.

I’d like to know what’s the status and if we can use it for automated testing. I have the impression that we could all of the involved people have the firmware and run the tests on our desks, so we avoid the time consuming task to check the signals with a logic analyser.

So this is a call for Kevin, can you give a brief description of what your firmware is/will be able to do and if we can set up an automated testing environment based on your work? Is it open source?

Thanks in advance!



Hi Paco,

Kevin and others are working on a new generation of RIOT testing. We will release work to discussion as it matures.

Currently, Kevin has build a reference HIL-platform to test I2C and if he is happy with what he's done, he'll document this on the Web.

You'll see this then, no need to start premature calls.

Cheers,   Thomas

Dear community, The ongoing I2C refactoring effort has been on track for more than a month now. Most of the job has been done but it is now time for testing !

Currently, CC2538, SAM0, STM32 and NRF52 driver has been merged, Kinetis is waiting for tests and atmega/efm32 need some changes to be usable.

We have almost 30 opened PRs waiting for tests and reviewing. If you own one of the mentionned platform with an I2C sensor, do not hesitate to test the dedicated PR and share your results as we really really need your help.

You can find all the mentionned informations here [1] I hope we will be able to end this effort before the next release which is coming super fast.

Keep RIOTing !

[1] https://github.com/RIOT-OS/RIOT/issues/6577

I will be focusing my efforts on testing and merging the PRs. I have a bunch of hardware, time to put it to use.