eclipse / mraa

Linux Library for low speed IO Communication in C with bindings for C++, Python, Node.js & Java. Supports generic io platforms, as well as Intel Edison, Intel Joule, Raspberry Pi and many more.
http://mraa.io
MIT License
1.36k stars 613 forks source link

Add support for the new IOT2050-SM variant and some improvements #1124

Open huaqianli opened 7 months ago

huaqianli commented 7 months ago

Followed up on https://github.com/eclipse/mraa/pull/1102.

  1. iot2050: Add support for the new IOT2050-SM variant

    IOT2050-SM board was added into IOT2050 series, in contrast to existing variants, the IOT2050-SM board comes without a Arduino interfaces.

  1. iot2050: add debugfs pinmux support

    This patch adds support for multiplexing pins via debugfs rather than access memory mapped pad-configuration registers. The debugfs pinmux offers the possbility to run mraa on iot2050 platforms as regular user instead of root by adjusting privileges on debugfs files.

    Bias settings are currently also configured by accessing pinmux. Unfortunatelly a proper upstream-like pinconf usage is currently not possible.

    Note: In case debugfs mux fails MRAA falls back to mmap mux.

  2. common: increase pin name size

    Some pin names are longer than 12 characters. 32 characters should be enough while consuming not too much space.

benbrenson commented 2 months ago

@huaqianli: Some fixes where pushed meanwhile here regarding debugfs due to device tree changes of the iot2050. There are still issues related to non-root access though, since these changes are still relying on some sysfs functionalities.

... so there is still some work todo...