Private
Public Access
2
0
Commit Graph

1855 Commits

Author SHA1 Message Date
Alex T
2b702a35c3 Add Dependabot config for updating Actions 2025-12-14 15:59:52 -08:00
Alex T
438db24159 unit tests: remove explicit c++11 requirement for mock/ioinit
GTest now requires at least c++14 and this line caused compilation
failures while working fine without it.

Signed-off-by: Alex T <alext.mkrs@gmail.com>
2025-12-14 15:59:52 -08:00
Alex T
5928e6182b build/test: add Github workflow for basic Arm/x86/MOCK build/test
Co-authored-by: Tom Ingleby <tom@ewsting.com>
Signed-off-by: Alex T <alext.mkrs@gmail.com>
2025-12-14 15:59:52 -08:00
Alex T
ac34642c49 swig/python: fix compilation with newer CMake
Signed-off-by: Alex T <alext.mkrs@gmail.com>
2025-12-14 15:59:07 -08:00
Alex T
f0f01c1bcc legal: address more EMO review comments
* Add copyright headers to XML and YAML files
    * Add (tm) to the first mention of Eclipse MRAA in the README
    * Rename COPYING to LICENSE.md per the standard Eclipse requirement

Signed-off-by: Alex T <alext.mkrs@gmail.com>
2025-12-08 08:31:03 -08:00
Alex T
f337e9d407 docs: align project name spelling in the README
Signed-off-by: Alex T <alext.mkrs@gmail.com>
2025-11-27 13:58:04 -08:00
Alex T
b751b3ad7a docs: add legal notices
Signed-off-by: Alex T <alext.mkrs@gmail.com>
2025-11-27 13:58:04 -08:00
Alex T
614860cfa7 docs: add project security policy
Signed-off-by: Alex T <alext.mkrs@gmail.com>
2025-11-27 13:58:04 -08:00
Alex T
92a1337e11 cmake: bump minimum version to address a deprecation warning
This fixes the following warning shown while configuring:

  [cmake] CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  [cmake] Compatibility with CMake < 3.10 will be removed from a future version of
  [cmake] CMake.

We don't have a clearly defined supported distro/versions list, so I
took Ubuntu 22.04 as arguably the oldest one we'd want to support for
the reference point. It has CMake 3.22, released in July 2022.

Signed-off-by: Alex T <alext.mkrs@gmail.com>
2025-11-02 20:57:56 -08:00
Alex T
ee6e65a5bf mock: use MRAA_PIN_NAME_SIZE for strncpy to avoid truncation
This fixes the following compilation warnings:

mraa/src/src/mock/mock_board.c: In function ‘mraa_mock_board’:
mraa/src/src/mock/mock_board.c:156:5: warning: ‘strncpy’ output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation]
  156 |     strncpy(b->pins[pos].name, "SPI0MOSI", 8);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mraa/src/src/mock/mock_board.c:162:5: warning: ‘strncpy’ output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation]
  162 |     strncpy(b->pins[pos].name, "SPI0MISO", 8);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mraa/src/src/mock/mock_board.c:168:5: warning: ‘strncpy’ output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation]
  168 |     strncpy(b->pins[pos].name, "SPI0SCLK", 8);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Alex T <alext.mkrs@gmail.com>
2025-10-13 09:00:18 -07:00
Alex T
9d4319d0f1 docs: refresh README
Signed-off-by: Alex T <alext.mkrs@gmail.com>
2025-10-13 08:59:43 -07:00
Alex T
d8a04f39c1 docs: refresh CONTRIBUTING.md
Signed-off-by: Alex T <alext.mkrs@gmail.com>
2025-10-13 08:59:43 -07:00
Chun Jiao Zhao
31a352a32d javascript: update C++ standard to C++17 for compatibility with newer Node.js versions
When compiling mraa on Debian 13, the following error occurs:

```
/usr/include/node/node.h:696:8: error: ‘optional’ in namespace ‘std’ does not name a template type
  696 |   std::optional<std::string> builder_script_path;
      |        ^~~~~~~~
/usr/include/node/node.h:696:3: note: ‘std::optional’ is only available from C++17 onwards
  696 |   std::optional<std::string> builder_script_path;
      |   ^~~
```

Root cause: Node.js version on Debian 13 is 20+, which requires C++17 feature support.

Signed-off-by: Chun Jiao Zhao <chunjiao.zhao@siemens.com>
2025-09-30 15:01:40 -07:00
Chun Jiao Zhao
28fa501b6c python-binding: Fix Python 3.13+ compatibility
PyEval_InitThreads and PyEval_CallObject were deprecated since
Python 3.9 and removed in Python 3.12+ and 3.13+ respectively.

These APIs are unavailable on Debian 13 which ships Python 3.13.

Refer to: https://github.com/eclipse/mraa/issues/1135

Signed-off-by: Chun Jiao Zhao <chunjiao.zhao@siemens.com>
2025-09-30 15:01:40 -07:00
Андрій Шовкошитний
81ecdb68ee chore: added a link to the wiki 2025-08-11 17:40:05 -07:00
Nascs
8a37e75f4a platform: add radxa zero3 support
Signed-off-by: Nascs <nascs@radxa.com>
2024-08-28 07:57:39 -07:00
Nascs
a62c0949e5 platform: fix pwm initialization of radxa boards
Signed-off-by: Nascs <nascs@radxa.com>
2024-07-11 12:43:00 -07:00
Nascs
4754c5ef29 radxa cm5 io: remove useless pwm pins
Signed-off-by: Nascs <nascs@radxa.com>
2024-07-11 12:43:00 -07:00
Nascs
9374cc49c6 platform: fix the pwm function of radxa boards
Signed-off-by: Nascs <nascs@radxa.com>
2024-07-11 12:43:00 -07:00
Nascs
4e11858355 platform: adjusting the order of pwm pins of radxa borads
Signed-off-by: Nascs <nascs@radxa.com>
2024-07-11 12:43:00 -07:00
Nascs
258bfcf3da radxa cm3: fix pin 26
Signed-off-by: Nascs <nascs@radxa.com>
2024-02-28 17:24:47 -08:00
Khem Raj
9e94fd1dcb cmake: Use a regular expression to match x86 architectures
in OE we use i686 for qemux86 and this results in

-- INFO - Target arch is i686
CMake Error at CMakeLists.txt:191 (message):
  Only x86, arm, mips, PERIPHERALMAN and mock platforms currently supported

So using a wildcard helps in using any x86 arch

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-01-23 08:46:37 -08:00
Khem Raj
3268f4a8ea gpio: Include limits.h for PATH_MAX
Musl exposes this problem where PATH_MAX is used but limits.h is not
included, it works with glibc perhaps due to limits.h being indirectly
included by another system header.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-01-23 08:46:37 -08:00
Khem Raj
47c3850cdd mraa: Use posix basename
Musl has removed the declaration from string.h [1] which exposes the
problem especially with clang-17+ compiler where implicit function
declaration is flagged as error. Use posix basename and make a copy of
string to operate on to emulate GNU basename behaviour.

[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-01-23 08:46:37 -08:00
Nascs
60d99f1a59 platform: add radxa e25 support
Signed-off-by: Nascs <nascs@radxa.com>
2024-01-23 08:42:50 -08:00
Chuckduey
302280363f Adding in RPI 5 support
Signed-off-by: Chuckduey <cduey@msn.com>
2024-01-23 08:41:11 -08:00
Nascs
3c288a0910 types.h: fix Radxa ROCK 3B and Radxa CM5 IO wiring
Signed-off-by: Nascs <nascs@radxa.com>
2023-12-05 15:04:30 -08:00
Nascs
ed793eb615 platform: add Radxa ROCK 3A platform support
Signed-off-by: Nascs <nascs@radxa.com>
2023-12-05 15:04:30 -08:00
nascs
d055b45b7e platform: add Radxa CM5 IO platform support
Signed-off-by: Nascs <nascs@radxa.com>
2023-11-08 14:40:24 -08:00
nascs
651131b475 platform: add Radxa CM3 platform support
Signed-off-by: Nascs <nascs@radxa.com>
Co-authored-by: ZHANG Yuntian <yt@radxa.com>
2023-10-26 21:03:36 -07:00
nascs
81ece69655 platform: add Radxa ROCK 3B platform support
Signed-off-by: Nascs <nascs@radxa.com>
2023-10-20 16:00:46 -07:00
Gunjan Gupta
f727c01d2e Add support for Orange Pi Prime 2023-10-19 17:44:03 -07:00
Nascs
db1f5207b9 platform: add Radxa ROCK 5B platform support
Signed-off-by: Nascs <nascs@radxa.com>
2023-10-12 14:33:58 -07:00
nascs
f7b87990ce readme: add Radxa ROCK 3C link
Signed-off-by: Nascs <nascs@radxa.com>
2023-10-11 08:48:07 -07:00
nascs
c1eb8f4ec3 readme: fix Radxa ROCK 5A link
Signed-off-by: Nascs <nascs@radxa.com>
2023-10-11 08:48:07 -07:00
nascs
7a45f17f79 platform: add Radxa ROCK 5A platform support
Signed-off-by: Nascs <nascs@radxa.com>
2023-09-26 19:41:37 -07:00
Hsuan-Ting Lu
200c0a0491 CMakeLists.txt: Fix option string error
Inferred desired behavior from conditional add_subdirectory code at 8b1c54934e/CMakeLists.txt (L224-L226)

Signed-off-by: Hsuan-Ting Lu <hsuan.ting.lu@nyu.edu>
2023-09-21 13:18:52 -07:00
Daniel Bovensiepen
0df2e0f417 platform: Add RISC-V architecture with VisionFive
Add RISC-V architecture and StarFive JH71x0-based boards
VisionFive and VisionFive 2.

Signed-off-by: Daniel Bovensiepen <oss@bovi.li>
Signed-off-by: Zhu Jia Xing <jiaxing.zhu@siemens.com>
2023-09-21 09:25:08 -07:00
Nascs
7c2ba41718 radxa rock 3c: add document
Signed-off-by: Nascs <nascs@radxa.com>
Co-authored-by: ZHANG Yuntian <yt@radxa.com>
2023-09-11 13:04:51 -07:00
nascs
09cea58214 platform: add Radxa ROCK 3C platform support
Signed-off-by: Nascs <nascs@radxa.com>
2023-09-11 13:04:51 -07:00
nascs
809c3d6a3c rockpi4: add java support
Signed-off-by: nascs <nascs@radxa.com>
2023-06-07 06:07:36 -07:00
nascs
fcf8b600eb rockpi4: fixed the issuse 'spi not work'
Signed-off-by: nascs <nascs@radxa.com>
2023-06-07 06:07:36 -07:00
nascs
749f958297 rockpi4: fixed the issuse 'No Pins'
Signed-off-by: nascs <nascs@radxa.com>
2023-06-07 06:07:36 -07:00
Jan Kiszka
8b1c54934e iot2050: Add USER button
A simple GPIO, no muxing needed, no pulling supported. Therefore, reject
any mode changes that request pull up/down, ignore the others.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2022-08-05 12:04:23 -07:00
Ivan Mikhaylov
a9f0ff22e8 platform: add iot2050 platform support
This patch introuduce iot2050 platform support, it is the port from
meta-iot2050 layer.

Based on original patch by Le Jin.

Signed-off-by: Le Jin <le.jin@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Ivan Mikhaylov <ivan.mikhaylov@siemens.com>
2022-08-05 12:04:23 -07:00
Jan Kiszka
0c44a7291b gpio: chardev: Add function to retrieve sysfs base for a gpiochip
This allows to full mux structures which still need the sysfs GPIO
numbers. In combination with mraa_find_gpio_line_by_name, this allows
for platform setup that is independent of the gpiochip probing order.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2022-08-05 12:04:23 -07:00
Jan Kiszka
56a11363de gpio: chardev: Add helper to retrieve gpiochip and line offset by line name
This makes the retrieval robust against chips being reordered during
boot. The results can be used to fill out mraa_pin_t while initializing
a board.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2022-08-05 12:04:23 -07:00
Ivan Mikhaylov
fdab66958e uart: add 4800 baud speed
Signed-off-by: Le Jin <le.jin@siemens.com>
Signed-off-by: Ivan Mikhaylov <fr0st61te@gmail.com>
2022-08-05 12:04:23 -07:00
Ivan Mikhaylov
4450073721 uart: disable timeout on read <= 0
Signed-off-by: Le Jin <le.jin@siemens.com>
Signed-off-by: Ivan Mikhaylov <ivan.mikhaylov@siemens.com>
2022-08-05 12:04:23 -07:00
Ivan Mikhaylov
307a6f3bdd mux: add mux interface
Add mux_init_reg interface with different mux modes for GPIO, UART, SPI,
I2C, PWM, AIO.

Signed-off-by: Le Jin <le.jin@siemens.com>
Signed-off-by: Ivan Mikhaylov <ivan.mikhaylov@siemens.com>
2022-08-05 12:04:23 -07:00