How to use GPIO by mraa on rock PI S shajin EVB

I want to use python to configure GPIO on rock PI S shajin EVB. It seems libmraa of rock PI S can’t support shajin EVB. How to address it?

you may try this :https://wiki.radxa.com/Rockpi4/dev/libmraa

谢谢回复。9月份的时候,radxa的工程师Nasca说 “shajin EVB板子引脚不是接到rk3308上,不太好适配mraa”,需要重新提供一个适配shajin EVB的镜像。您现在让我试RockPi4的安装步骤,这个是兼容shajin EVB吗?

哦,这个就不知道了,我这边操作环境是ROCK 4 SE的主板,我测试的libmraa好像还不错,兼容性也还可以。
我参考的libmraa的库的例子是从这里看到的:https://iotdk.intel.com/docs/master/mraa/python/example.html#pwm
然后默认我使用的系统是:https://github.com/radxa/debos-radxa/releases/tag/20221020-1443下载的debian bullseye。https://github.com/radxa/debos-radxa/releases/download/20221020-1443/rockpi-4b-debian-bullseye-xfce4-arm64-20221020-1815-gpt.img.xz
您的板子我没尝试过,手头也没有,所以无法提供更好的解决方案了。

非常感谢!mraa的介绍里明确说了支持rock PI 4的板子,对于rock PI其他系列的板子,就不知道什么状况了。

别客气,互相学习吧,这个ROCK Pi 很快应该会成为替代树莓派最好的产品了,只是需要更多人来尝试和debug吧。哈哈

你好,mraa的适配,现在已经在做了

请问,对于支持shajin EVB的镜像,有预期的发布时间吗?

请问,对于支持shajin EVB的镜像,有预期的发布时间吗?

shajin-evb 在测试阶段了

https://github.com/nascs/mraa.git ,可以clone 到本地编译试试

我是个新手,把make的内容导出了,都看不懂,麻烦给指个大概方向。build.zip (2.7 KB)

编译步骤
`
root@rock-xx:/home/rock# git clone https://github.com/nascs/mraa.git
root@rock-xx:/home/rock# cd mraa

root@rock-xx:/home/rock# git checkout -b radxa_shajin_evb origin/radxa_shajin_evb
root@rock-xx:/home/rock# mkdir build
root@rock-xx:/home/rock# cd build/
root@rock-xx:/home/rock# cmake  ..
root@rock-xx:/home/rock#  make
root@rock-xx:/home/rock# make install
root@rock-xx:/home/rock#  ldconfig
root@rock-xx:/home/rock# mraa-gpio version
`

[ 35%] Linking C shared library libmraa.so
/usr/bin/ld: CMakeFiles/mraa.dir/version.c.o:(.data.rel.local+0x0): multiple definition of gVERSION'; CMakeFiles/mraa.dir/mraa.c.o:(.bss+0x0): first defined here /usr/bin/ld: CMakeFiles/mraa.dir/version.c.o:(.data.rel.local+0x8): multiple definition of gVERSION_SHORT’; CMakeFiles/mraa.dir/mraa.c.o:(.bss+0x8): first defined here
出现上述报错,请修改include/version.h ,在两个变量前加extern,如下
extern const char* gVERSION;
extern const char* gVERSION_SHORT;

是按照这个步骤来的,进行到make阶段时,报错如build.log文件所示,不知道该如何处理。make后面的3个步骤还没操作。

make make build-essential 这些工具有安装嘛,没有的话请先安装,安装命令如下,
sudo apt-get install cmake make build-essential -y

温馨提示: 代码还是放在 /home/rock/ 目录下,另外如果可以的话,请不要修改该project名称,在 /usr/local 目录下编译,可能有个权限问题

[ 39%] Building CXX object src/javascript/CMakeFiles/mraajs.dir/CMakeFiles/mraajs.dir/mraajsJAVASCRIPT_wrap.cxx.o
6 /usr/local/mygithub/mraa-radxa_shajin_evb/build/src/javascript/CMakeFiles/mraajs.dir/mraajsJAVASCRIPT_wrap.cxx:966:27: error: ‘We akCallbackData’ in namespace ‘v8’ does not name a template type
,
从你这报错来看,第一你在/usr/local 下clone 的代码, 第二,你把 mraa 这个项目名称改成了mraa-radxa_shajin_evb,我尝试改了一下项目名称,也会报奇奇怪怪的错

你这边可以将项目git clone到你的home目录(如/home/rock/),然后再尝试编译

我用downgit,从shajin_evb下clone了整个mraa的文件夹,默认保存的文件名称是mraa-radxa_shajin_evb,我没有修改任何名称。 难道我需要把clone下载的文件名称从mraa-radxa_shajin_evb改成mraa? 图片是我clone保存的文件夹样子,请参考。

能提供一下你的完整操作步骤嘛?