Mysensors Gateway on OrangePi (Zero) (opi)
-
probably related: https://github.com/mysensors/MySensors/issues/719
-
@jirm said:
sure would help mostly if only is needed include the changes on code but we can offer he all the workaround about issues we found and tested all the code that can avoid the problems.
About SPI.h , of course we need provide tested the proper all OPI librarys that differ from Raspi.
Regard this I´m figure that the SPI library is included in the driver for NRF24 (Tmr20h) that @aand some days ago feedback is working fine on OPI.
If so then only will be need changed this library to de mysgw installation process when a OPI board is detected.Agreed! The way I see it too is that we just need to swap RPi SPI library with the OPi implementation (SPIDEV by the looks) or write a wrapper that looks the same to mysensors. I'm raging too because I won't get my board before a few weeks...Tmr20h's git code should be good to see if the NRF24 board actually works at all. Programmingwise I'd create a new compiler flag, identifying the host computer as an OPi and then from there...I am new to community projects, could a fork easily be merged back into the master branch? What's the procedure for mysensors?
Hi @pansen, yes no seems so much tricky and will need so much effort to make the proper changes to Mysensors code for install on OPI (and Banana) , but that is only matter that main code developers here that are maintaining this code like do that but in this moment I don't know what is in the developer's "brain" about include support for other boards than RPI....so like I said before we only can ask they and purpose include their support for OPI board and see what will happen.
I'm too not a software coder, so can reply properly about coding and her methods and best practices but anyone can always "purpose" the changes to the responsible developers directly on through the github repository of the concrete software (similar to report issues, purpose improvements, etc...) and then if approved by developers they make the changes to the code.
Of course always anyone can fork the github (if is licence allowed) and make another branch/project to fits its own purposes.
Regards.
-
probably related: https://github.com/mysensors/MySensors/issues/719
@pansen Yes...This is a pull purpose to support Banana.
If you see yesterday messages on support post for Mysensors RPI Gateway, you can see some test for that guy @eyesoft and I like see this ended in that purpose on github. That's I would mean about all that before.We can do the same about OPI boards because we are in exactly same situation and have the same test than Banana completed.
Generally speaking all this is I refer in my last post here.
Regards
-
@jirm ah yes, sorry, I oversaw that. Digging more into what you wrote, git and the forum it looks liek there is some progress. See also @marceloaqno fork: https://github.com/marceloaqno/MySensors/commit/8ae05ac79b5b603754350fe0ac8b96b0ad2ab9b7?diff=split
-
@jirm ah yes, sorry, I oversaw that. Digging more into what you wrote, git and the forum it looks liek there is some progress. See also @marceloaqno fork: https://github.com/marceloaqno/MySensors/commit/8ae05ac79b5b603754350fe0ac8b96b0ad2ab9b7?diff=split
@pansen
Yes...the test that @eyessoft did were indicated by @marceloaqno that is a developer on mysensors...so I suppose he are over it to solve.
I hope @marceloaqno (that knows about OPI issue and yesterday he too try help us with OPI) don't forget us and help to make work OPI too.
But we need some guy with OPI board ( @Tag ?? ) that in short time can follow the developer indications and run the test he purpose for debug and test when he are modifying the code .So that's where we are for now...
Regards
-
@pansen
Yes...the test that @eyessoft did were indicated by @marceloaqno that is a developer on mysensors...so I suppose he are over it to solve.
I hope @marceloaqno (that knows about OPI issue and yesterday he too try help us with OPI) don't forget us and help to make work OPI too.
But we need some guy with OPI board ( @Tag ?? ) that in short time can follow the developer indications and run the test he purpose for debug and test when he are modifying the code .So that's where we are for now...
Regards
@Tag, @pansen
I insist that I think that it would be very good if whatever ( @Tag ?? ) that has an OPI in place tried to run the mysgw install again and see what errors appear just after compile NRF24 driver, now that we know the TRM20h driver is working.
With this test we could try to transfer the result to @marceloqano (or any developer available here) to try to also modify the mysensors code for OPI.Regards
-
Hi Guys,
Sure, just let me know what to test.... The OPI is up and running :)Sofar this is what i did:
Install the NRF24 driver:
oot@orangepizero:~# git clone https://github.com/TMRh20/RF24.git
Cloning into 'RF24'...
remote: Counting objects: 3041, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 3041 (delta 2), reused 0 (delta 0), pack-reused 3033
Receiving objects: 100% (3041/3041), 1.32 MiB | 835.00 KiB/s, done.
Resolving deltas: 100% (1795/1795), done.
Checking connectivity... done.
root@orangepizero:~# cd RF24/
root@orangepizero:~/RF24# ./configure
[SECTION] Detecting arm compilation environment.
[OK] arm-linux-gnueabihf-gcc detected.
[OK] arm-linux-gnueabihf-g++ detected.
[SECTION] Detecting target machine.
[OK] machine detected: SoC=H3, Type=unknown, CPU=armv7l.
[SECTION] Detecting DRIVER
[OK] DRIVER detected:SPIDEV.
[SECTION] Detecting OS.
[INFO] OS detected:LINUX.
[SECTION] Preparing configuration.
[SECTION] Saving configuration.
[SECTION] Cleaning previous builds.
[OK] Finished.
root@orangepizero:~/RF24# make
arm-linux-gnueabihf-g++ -fPIC -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -Ofast -Wall -pthread -c RF24.cpp
/tmp/ccMd5F0g.s: Assembler messages:
/tmp/ccMd5F0g.s:3924: Warning: IT blocks containing 32-bit Thumb instructions are deprecated in ARMv8
arm-linux-gnueabihf-g++ -fPIC -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -Ofast -Wall -pthread -c utility/SPIDEV/spi.cpp
arm-linux-gnueabihf-g++ -fPIC -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -Ofast -Wall -pthread -c utility/SPIDEV/gpio.cpp
arm-linux-gnueabihf-gcc -fPIC -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -Ofast -Wall -pthread -c utility/SPIDEV/compatibility.c
arm-linux-gnueabihf-g++ -fPIC -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -Ofast -Wall -pthread -c utility/SPIDEV/interrupt.c
[Linking]
arm-linux-gnueabihf-gcc -pthread -shared -Wl,-soname,librf24.so.1 -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -Ofast -Wall -pthread -o librf24.so.1.2.0 RF24.o spi.o gpio.o compatibility.o interrupt.oroot@orangepizero:~/RF24# make install
[Installing Libs to /usr/local/lib]
[Installing Headers to /usr/local/include/RF24]MySensors:
root@orangepizero:~# git clone https://github.com/mysensors/MySensors.git
Cloning into 'MySensors'...
remote: Counting objects: 13768, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 13768 (delta 1), reused 0 (delta 0), pack-reused 13754
Receiving objects: 100% (13768/13768), 9.61 MiB | 3.08 MiB/s, done.
Resolving deltas: 100% (8248/8248), done.
Checking connectivity... done.root@orangepizero:~# cd MySensors/
root@orangepizero:~/MySensors# ./configure
[SECTION] Detecting target machine.
[OK] machine detected: SoC=H3, Type=unknown, CPU=armv7l.
[OK] init system detected: systemd
[SECTION] Saving configuration.
[SECTION] Cleaning previous builds.
[OK] Finished.root@orangepizero:~/MySensors# make
gcc -MT build/drivers/Linux/log.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c drivers/Linux/log.c -o build/drivers/Linux/log.o
g++ -MT build/drivers/Linux/noniso.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c drivers/Linux/noniso.cpp -o build/drivers/Linux/noniso.o
g++ -MT build/drivers/Linux/Print.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c drivers/Linux/Print.cpp -o build/drivers/Linux/Print.o
g++ -MT build/drivers/Linux/EthernetClient.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c drivers/Linux/EthernetClient.cpp -o build/drivers/Linux/EthernetClient.o
g++ -MT build/drivers/Linux/SerialPort.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c drivers/Linux/SerialPort.cpp -o build/drivers/Linux/SerialPort.o
g++ -MT build/drivers/Linux/Stream.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c drivers/Linux/Stream.cpp -o build/drivers/Linux/Stream.o
g++ -MT build/drivers/Linux/IPAddress.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c drivers/Linux/IPAddress.cpp -o build/drivers/Linux/IPAddress.o
g++ -MT build/drivers/Linux/compatibility.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c drivers/Linux/compatibility.cpp -o build/drivers/Linux/compatibility.o
g++ -MT build/drivers/Linux/SoftEeprom.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c drivers/Linux/SoftEeprom.cpp -o build/drivers/Linux/SoftEeprom.o
g++ -MT build/drivers/Linux/EthernetServer.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c drivers/Linux/EthernetServer.cpp -o build/drivers/Linux/EthernetServer.o
g++ -MT build/examples_linux/mysgw.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -c examples_linux/mysgw.cpp -o build/examples_linux/mysgw.o
In file included from examples_linux/mysgw.cpp:74:0:
./MySensors.h:258:2: error: #error No support for nRF24 radio on this platform
#error No support for nRF24 radio on this platform
^
In file included from ./drivers/RF24/RF24.cpp:23:0,
from ./MySensors.h:294,
from examples_linux/mysgw.cpp:74:
./drivers/RF24/RF24.h:52:17: fatal error: SPI.h: No such file or directory
#include <SPI.h>
^
compilation terminated.
Makefile:98: recipe for target 'build/examples_linux/mysgw.o' failed
make: *** [build/examples_linux/mysgw.o] Error 1
root@orangepizero:~/MySensors#Followed the manual you pointed out to install for RPI
Seems i use the beta software:
root@orangepizero:~/MySensors# more README.md
MySensors Library v2.2.0-betaArmbian:
root@orangepizero:~# uname -a
Linux orangepizero 3.4.113-sun8i #50 SMP PREEMPT Mon Nov 14 08:41:55 CET 2016 armv7l GNU/LinuxARMBIAN Debian GNU/Linux 8 (jessie) 3.4.113-sun8i
Hope it helps!
-
Not sure if this is useful but, checked this one:https://github.com/mysensors/MySensors/issues/719
root@orangepizero:~/test# git clone https://github.com/marceloaqno/MySensors.git marceloaqno-spidev
Cloning into 'marceloaqno-spidev'...
remote: Counting objects: 13825, done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 13825 (delta 4), reused 0 (delta 0), pack-reused 13799
Receiving objects: 100% (13825/13825), 9.65 MiB | 3.27 MiB/s, done.
Resolving deltas: 100% (8284/8284), done.
Checking connectivity... done.root@orangepizero:~/test# cd marceloaqno-spidev/
root@orangepizero:~/test/marceloaqno-spidev# git checkout spidev
Branch spidev set up to track remote branch spidev from origin.
Switched to a new branch 'spidev'
root@orangepizero:~/test/marceloaqno-spidev# ;s
-bash: syntax error near unexpected token `;'
root@orangepizero:~/test/marceloaqno-spidev# ls
configure Doxyfile initscripts Makefile README.md
CONTRIBUTING.md drivers keywords.txt MyConfig.h tests
core examples library.json MySensors.h
Documentation examples_linux library.properties projectsroot@orangepizero:~/test/marceloaqno-spidev# ./configure
[SECTION] Detecting target machine.
[OK] machine detected: SoC=H3, Type=unknown, CPU=armv7l.
[SECTION] Detecting GPIO driver.
[OK] GPIO driver detected:SPIDEV.
[SECTION] Detecting init system.
[OK] init system detected: systemd.
[SECTION] Saving configuration.
[SECTION] Cleaning previous builds.
[OK] Finished.root@orangepizero:~/test/marceloaqno-spidev# make
gcc -MT build/drivers/Linux/log.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/log.c -o build/drivers/Linux/log.o
g++ -MT build/drivers/Linux/noniso.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/noniso.cpp -o build/drivers/Linux/noniso.o
g++ -MT build/drivers/Linux/Print.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/Print.cpp -o build/drivers/Linux/Print.o
g++ -MT build/drivers/Linux/EthernetClient.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/EthernetClient.cpp -o build/drivers/Linux/EthernetClient.o
g++ -MT build/drivers/Linux/SerialPort.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/SerialPort.cpp -o build/drivers/Linux/SerialPort.o
g++ -MT build/drivers/Linux/Stream.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/Stream.cpp -o build/drivers/Linux/Stream.o
In file included from drivers/Linux/Stream.cpp:24:0:
./drivers/Linux/Arduino.h:17:18: fatal error: GPIO.h: No such file or directory
#include "GPIO.h"
^
compilation terminated.
Makefile:114: recipe for target 'build/drivers/Linux/Stream.o' failed
make: *** [build/drivers/Linux/Stream.o] Error 1
root@orangepizero:~/test/marceloaqno-spidev# -
Not sure if this is useful but, checked this one:https://github.com/mysensors/MySensors/issues/719
root@orangepizero:~/test# git clone https://github.com/marceloaqno/MySensors.git marceloaqno-spidev
Cloning into 'marceloaqno-spidev'...
remote: Counting objects: 13825, done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 13825 (delta 4), reused 0 (delta 0), pack-reused 13799
Receiving objects: 100% (13825/13825), 9.65 MiB | 3.27 MiB/s, done.
Resolving deltas: 100% (8284/8284), done.
Checking connectivity... done.root@orangepizero:~/test# cd marceloaqno-spidev/
root@orangepizero:~/test/marceloaqno-spidev# git checkout spidev
Branch spidev set up to track remote branch spidev from origin.
Switched to a new branch 'spidev'
root@orangepizero:~/test/marceloaqno-spidev# ;s
-bash: syntax error near unexpected token `;'
root@orangepizero:~/test/marceloaqno-spidev# ls
configure Doxyfile initscripts Makefile README.md
CONTRIBUTING.md drivers keywords.txt MyConfig.h tests
core examples library.json MySensors.h
Documentation examples_linux library.properties projectsroot@orangepizero:~/test/marceloaqno-spidev# ./configure
[SECTION] Detecting target machine.
[OK] machine detected: SoC=H3, Type=unknown, CPU=armv7l.
[SECTION] Detecting GPIO driver.
[OK] GPIO driver detected:SPIDEV.
[SECTION] Detecting init system.
[OK] init system detected: systemd.
[SECTION] Saving configuration.
[SECTION] Cleaning previous builds.
[OK] Finished.root@orangepizero:~/test/marceloaqno-spidev# make
gcc -MT build/drivers/Linux/log.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/log.c -o build/drivers/Linux/log.o
g++ -MT build/drivers/Linux/noniso.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/noniso.cpp -o build/drivers/Linux/noniso.o
g++ -MT build/drivers/Linux/Print.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/Print.cpp -o build/drivers/Linux/Print.o
g++ -MT build/drivers/Linux/EthernetClient.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/EthernetClient.cpp -o build/drivers/Linux/EthernetClient.o
g++ -MT build/drivers/Linux/SerialPort.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/SerialPort.cpp -o build/drivers/Linux/SerialPort.o
g++ -MT build/drivers/Linux/Stream.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/Stream.cpp -o build/drivers/Linux/Stream.o
In file included from drivers/Linux/Stream.cpp:24:0:
./drivers/Linux/Arduino.h:17:18: fatal error: GPIO.h: No such file or directory
#include "GPIO.h"
^
compilation terminated.
Makefile:114: recipe for target 'build/drivers/Linux/Stream.o' failed
make: *** [build/drivers/Linux/Stream.o] Error 1
root@orangepizero:~/test/marceloaqno-spidev#Hi @Tag
We ( I and @pansen ) talked about that fork over mysensors github that @marceloaqno are doing to support Bananapi.
Banana have same soc than OPI, so the issues are the same on both boards for compile mysensors at least at that point. Maybe own OPI GPIO library (If I remeber Wiringpi or similar name or so) will be needed added to the mysensors software, but hope this can be easily do it like one last point.
Can you give a try on your OPI board and post results doing same commands than @eyesoft are doing for Banana on the forked github?
Then we can see if the same solution than @marceloaqno are building for Banana can be directly applied to our OPI.I mean do this steps:
git clone https://github.com/marceloaqno/MySensors.git marceloaqno-spidev
git checkout spidev...
then..../configure --my-gateway=ethernet --my-transport=nrf24 --my-rf24-irq-pin=15 --my-rf24-channel=119
....
and lastmake
-
Hi @Tag
We ( I and @pansen ) talked about that fork over mysensors github that @marceloaqno are doing to support Bananapi.
Banana have same soc than OPI, so the issues are the same on both boards for compile mysensors at least at that point. Maybe own OPI GPIO library (If I remeber Wiringpi or similar name or so) will be needed added to the mysensors software, but hope this can be easily do it like one last point.
Can you give a try on your OPI board and post results doing same commands than @eyesoft are doing for Banana on the forked github?
Then we can see if the same solution than @marceloaqno are building for Banana can be directly applied to our OPI.I mean do this steps:
git clone https://github.com/marceloaqno/MySensors.git marceloaqno-spidev
git checkout spidev...
then..../configure --my-gateway=ethernet --my-transport=nrf24 --my-rf24-irq-pin=15 --my-rf24-channel=119
....
and lastmake
Sure!, here you go:
root@orangepizero:~# rm -r MySensors/
root@orangepizero:~# git clone https://github.com/marceloaqno/MySensors.git marceloaqno-spidev
Cloning into 'marceloaqno-spidev'...
remote: Counting objects: 13825, done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 13825 (delta 4), reused 0 (delta 0), pack-reused 13799
Receiving objects: 100% (13825/13825), 9.65 MiB | 3.01 MiB/s, done.
Resolving deltas: 100% (8284/8284), done.
Checking connectivity... done.root@orangepizero:~# cd marceloaqno-spidev/
root@orangepizero:~/marceloaqno-spidev# git checkout spidev
Branch spidev set up to track remote branch spidev from origin.
Switched to a new branch 'spidev'root@orangepizero:~/marceloaqno-spidev# ./configure --my-gateway=ethernet --my-transport=nrf24 --my-rf24-irq-pin=15 --my-rf24-channel=119
[SECTION] Detecting target machine.
[OK] machine detected: SoC=H3, Type=unknown, CPU=armv7l.
[SECTION] Detecting GPIO driver.
[OK] GPIO driver detected:SPIDEV.
[SECTION] Detecting init system.
[OK] init system detected: systemd.
[SECTION] Saving configuration.
[SECTION] Cleaning previous builds.
[OK] Finished.root@orangepizero:~/marceloaqno-spidev# make
gcc -MT build/drivers/Linux/log.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/log.c -o build/drivers/Linux/log.o
g++ -MT build/drivers/Linux/noniso.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/noniso.cpp -o build/drivers/Linux/noniso.o
g++ -MT build/drivers/Linux/Print.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/Print.cpp -o build/drivers/Linux/Print.o
g++ -MT build/drivers/Linux/EthernetClient.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/EthernetClient.cpp -o build/drivers/Linux/EthernetClient.o
g++ -MT build/drivers/Linux/SerialPort.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/SerialPort.cpp -o build/drivers/Linux/SerialPort.o
g++ -MT build/drivers/Linux/Stream.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/Stream.cpp -o build/drivers/Linux/Stream.o
g++ -MT build/drivers/Linux/IPAddress.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/IPAddress.cpp -o build/drivers/Linux/IPAddress.o
g++ -MT build/drivers/Linux/compatibility.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/compatibility.cpp -o build/drivers/Linux/compatibility.o
g++ -MT build/drivers/Linux/SoftEeprom.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/SoftEeprom.cpp -o build/drivers/Linux/SoftEeprom.o
g++ -MT build/drivers/Linux/EthernetServer.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/EthernetServer.cpp -o build/drivers/Linux/EthernetServer.o
g++ -MT build/examples_linux/mysgw.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c examples_linux/mysgw.cpp -o build/examples_linux/mysgw.o
In file included from examples_linux/mysgw.cpp:74:0:
./MySensors.h:258:2: error: #error No support for nRF24 radio on this platform
#error No support for nRF24 radio on this platform
^
In file included from ./drivers/RF24/RF24.cpp:23:0,
from ./MySensors.h:294,
from examples_linux/mysgw.cpp:74:
./drivers/RF24/RF24.h:76:2: error: #error RF24 IRQ usage requires transactional SPI support
#error RF24 IRQ usage requires transactional SPI support
^
In file included from ./MySensors.h:294:0,
from examples_linux/mysgw.cpp:74:
./drivers/RF24/RF24.cpp:39:11: error: Not supported on linux-generic
hwDigitalWrite(MY_RF24_CS_PIN, level);
^
./drivers/RF24/RF24.cpp:44:11: error: Not supported on linux-generic
hwDigitalWrite(MY_RF24_CE_PIN, level);
^
./drivers/RF24/RF24.cpp:388:11: error: Not supported on linux-generic
hwPinMode(MY_RF24_CE_PIN,OUTPUT);
^
./drivers/RF24/RF24.cpp:389:11: error: Not supported on linux-generic
hwPinMode(MY_RF24_CS_PIN,OUTPUT);
^
./drivers/RF24/RF24.cpp:391:11: error: Not supported on linux-generic
hwPinMode(MY_RF24_IRQ_PIN,INPUT);
^
./drivers/RF24/RF24.cpp:37:32: warning: unused parameter ‘level’ [-Wunused-parameter]
LOCAL void RF24_csn(const bool level)
^
./drivers/RF24/RF24.cpp:42:31: warning: unused parameter ‘level’ [-Wunused-parameter]
LOCAL void RF24_ce(const bool level)
^
./drivers/RF24/RF24.cpp: In function ‘bool RF24_initialize()’:
./drivers/RF24/RF24.cpp:403:75: error: ‘FALLING’ was not declared in this scope
attachInterrupt(digitalPinToInterrupt(MY_RF24_IRQ_PIN), RF24_irqHandler, FALLING);
^
./drivers/RF24/RF24.cpp:403:82: error: ‘attachInterrupt’ was not declared in this scope
attachInterrupt(digitalPinToInterrupt(MY_RF24_IRQ_PIN), RF24_irqHandler, FALLING);
^
In file included from ./MySensors.h:346:0,
from examples_linux/mysgw.cpp:74:
./core/MyMainLinux.cpp: In function ‘void handle_sigint(int)’:
./core/MyMainLinux.cpp:44:33: error: ‘detachInterrupt’ was not declared in this scope
detachInterrupt(MY_RF24_IRQ_PIN);
^
Makefile:114: recipe for target 'build/examples_linux/mysgw.o' failed
make: *** [build/examples_linux/mysgw.o] Error 1
root@orangepizero:~/marceloaqno-spidev#Thanks for all the time you guys put into this!! really appreciate it!!
-
Sure!, here you go:
root@orangepizero:~# rm -r MySensors/
root@orangepizero:~# git clone https://github.com/marceloaqno/MySensors.git marceloaqno-spidev
Cloning into 'marceloaqno-spidev'...
remote: Counting objects: 13825, done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 13825 (delta 4), reused 0 (delta 0), pack-reused 13799
Receiving objects: 100% (13825/13825), 9.65 MiB | 3.01 MiB/s, done.
Resolving deltas: 100% (8284/8284), done.
Checking connectivity... done.root@orangepizero:~# cd marceloaqno-spidev/
root@orangepizero:~/marceloaqno-spidev# git checkout spidev
Branch spidev set up to track remote branch spidev from origin.
Switched to a new branch 'spidev'root@orangepizero:~/marceloaqno-spidev# ./configure --my-gateway=ethernet --my-transport=nrf24 --my-rf24-irq-pin=15 --my-rf24-channel=119
[SECTION] Detecting target machine.
[OK] machine detected: SoC=H3, Type=unknown, CPU=armv7l.
[SECTION] Detecting GPIO driver.
[OK] GPIO driver detected:SPIDEV.
[SECTION] Detecting init system.
[OK] init system detected: systemd.
[SECTION] Saving configuration.
[SECTION] Cleaning previous builds.
[OK] Finished.root@orangepizero:~/marceloaqno-spidev# make
gcc -MT build/drivers/Linux/log.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/log.c -o build/drivers/Linux/log.o
g++ -MT build/drivers/Linux/noniso.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/noniso.cpp -o build/drivers/Linux/noniso.o
g++ -MT build/drivers/Linux/Print.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/Print.cpp -o build/drivers/Linux/Print.o
g++ -MT build/drivers/Linux/EthernetClient.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/EthernetClient.cpp -o build/drivers/Linux/EthernetClient.o
g++ -MT build/drivers/Linux/SerialPort.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/SerialPort.cpp -o build/drivers/Linux/SerialPort.o
g++ -MT build/drivers/Linux/Stream.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/Stream.cpp -o build/drivers/Linux/Stream.o
g++ -MT build/drivers/Linux/IPAddress.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/IPAddress.cpp -o build/drivers/Linux/IPAddress.o
g++ -MT build/drivers/Linux/compatibility.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/compatibility.cpp -o build/drivers/Linux/compatibility.o
g++ -MT build/drivers/Linux/SoftEeprom.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/SoftEeprom.cpp -o build/drivers/Linux/SoftEeprom.o
g++ -MT build/drivers/Linux/EthernetServer.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c drivers/Linux/EthernetServer.cpp -o build/drivers/Linux/EthernetServer.o
g++ -MT build/examples_linux/mysgw.o -MMD -MP -march=armv8-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard -DMY_RADIO_NRF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_DRIVER_SPIDEV -DMY_RF24_CHANNEL=119 -DMY_RX_MESSAGE_BUFFER_FEATURE -DMY_RF24_IRQ_PIN=15 -Ofast -g -Wall -Wextra -I. -I./core -I./drivers/Linux -I./drivers/SPIDEV -c examples_linux/mysgw.cpp -o build/examples_linux/mysgw.o
In file included from examples_linux/mysgw.cpp:74:0:
./MySensors.h:258:2: error: #error No support for nRF24 radio on this platform
#error No support for nRF24 radio on this platform
^
In file included from ./drivers/RF24/RF24.cpp:23:0,
from ./MySensors.h:294,
from examples_linux/mysgw.cpp:74:
./drivers/RF24/RF24.h:76:2: error: #error RF24 IRQ usage requires transactional SPI support
#error RF24 IRQ usage requires transactional SPI support
^
In file included from ./MySensors.h:294:0,
from examples_linux/mysgw.cpp:74:
./drivers/RF24/RF24.cpp:39:11: error: Not supported on linux-generic
hwDigitalWrite(MY_RF24_CS_PIN, level);
^
./drivers/RF24/RF24.cpp:44:11: error: Not supported on linux-generic
hwDigitalWrite(MY_RF24_CE_PIN, level);
^
./drivers/RF24/RF24.cpp:388:11: error: Not supported on linux-generic
hwPinMode(MY_RF24_CE_PIN,OUTPUT);
^
./drivers/RF24/RF24.cpp:389:11: error: Not supported on linux-generic
hwPinMode(MY_RF24_CS_PIN,OUTPUT);
^
./drivers/RF24/RF24.cpp:391:11: error: Not supported on linux-generic
hwPinMode(MY_RF24_IRQ_PIN,INPUT);
^
./drivers/RF24/RF24.cpp:37:32: warning: unused parameter ‘level’ [-Wunused-parameter]
LOCAL void RF24_csn(const bool level)
^
./drivers/RF24/RF24.cpp:42:31: warning: unused parameter ‘level’ [-Wunused-parameter]
LOCAL void RF24_ce(const bool level)
^
./drivers/RF24/RF24.cpp: In function ‘bool RF24_initialize()’:
./drivers/RF24/RF24.cpp:403:75: error: ‘FALLING’ was not declared in this scope
attachInterrupt(digitalPinToInterrupt(MY_RF24_IRQ_PIN), RF24_irqHandler, FALLING);
^
./drivers/RF24/RF24.cpp:403:82: error: ‘attachInterrupt’ was not declared in this scope
attachInterrupt(digitalPinToInterrupt(MY_RF24_IRQ_PIN), RF24_irqHandler, FALLING);
^
In file included from ./MySensors.h:346:0,
from examples_linux/mysgw.cpp:74:
./core/MyMainLinux.cpp: In function ‘void handle_sigint(int)’:
./core/MyMainLinux.cpp:44:33: error: ‘detachInterrupt’ was not declared in this scope
detachInterrupt(MY_RF24_IRQ_PIN);
^
Makefile:114: recipe for target 'build/examples_linux/mysgw.o' failed
make: *** [build/examples_linux/mysgw.o] Error 1
root@orangepizero:~/marceloaqno-spidev#Thanks for all the time you guys put into this!! really appreciate it!!
Thanks to you to make the effort to try our "suppositions" ...
Mmmm...I see some interesting things on your results.
First all your results on OPI really differ from @eyesoft posted on the github. That can mean that Banana are much different (on drivers aspect) than OPI and then same solution cannot be applied to both...bad thing for us.
Then I see on make that the soc (and cpu) are bad seleected (I said this issue yesterday to @marceloaqno on general support post for mysensors gateway) because seems in the configure file have a bad selection about that specs when soc are a H3, and select a bad A53 type of cpu when is Armv7.
Then I don't know if all subsequent errors raised are significant or simply derived from that initially bad cpu selection.
Last I see that have issues on GPIO pins, but this is something we hoped would happen.
Anyway, I'm not coder so maybe are totally grong on all my observations and we need some coder (preferible @marceloaqno ) help us to deal with all that.
Regards and thanks to you !
-
Thanks to you to make the effort to try our "suppositions" ...
Mmmm...I see some interesting things on your results.
First all your results on OPI really differ from @eyesoft posted on the github. That can mean that Banana are much different (on drivers aspect) than OPI and then same solution cannot be applied to both...bad thing for us.
Then I see on make that the soc (and cpu) are bad seleected (I said this issue yesterday to @marceloaqno on general support post for mysensors gateway) because seems in the configure file have a bad selection about that specs when soc are a H3, and select a bad A53 type of cpu when is Armv7.
Then I don't know if all subsequent errors raised are significant or simply derived from that initially bad cpu selection.
Last I see that have issues on GPIO pins, but this is something we hoped would happen.
Anyway, I'm not coder so maybe are totally grong on all my observations and we need some coder (preferible @marceloaqno ) help us to deal with all that.
Regards and thanks to you !
I just see than on your previous compilation for NRF24 build from Tmr24h that you confirm is working OK, the compilation have same "bad" cpu type A53 that I figure that is a bad selection for H3 and seems that is not any problem...so now I'dont understand nothing..
Well mean only understand that we need a mysensor coder for help an guidance and if available make to it all the changes needed for OPI on mysenros.So we need help for all.
Regards
-
I just see than on your previous compilation for NRF24 build from Tmr24h that you confirm is working OK, the compilation have same "bad" cpu type A53 that I figure that is a bad selection for H3 and seems that is not any problem...so now I'dont understand nothing..
Well mean only understand that we need a mysensor coder for help an guidance and if available make to it all the changes needed for OPI on mysenros.So we need help for all.
Regards
-
@Tag The RF24 won't work on the OPi out of the box. Since the GPIO numbering is different it will work but only after some tweaks. I'm not sure if you're familiar with:
http://linux-sunxi.org/GPIO
Once you get the pin numbering figured out you can use the TMRh20 library. I confirm that it works on my OPi PC. Didn't unboxed my OPi Zero yet :yum:
However it's not very clear what sort of gateway you're trying to build. My project will have an OPi Zero running MyController, hooked up to an ATmega328 running the GatewaySerial sketch. The radio will be be connected to the ATmega328 chip. This way I wouldn't have to worry about GPIO pin numbering. -
I'm using a orangepi one and with your help I can compile it.
I tried it with a serial gateway. I connected a arduino nano with the gateway serial scath on it through USB to my orangepi one. DMESG say to me, that it is attached to ttyUSB0
So i tried to build the gateway with:
./configure --my-gateway=serial --my-serial-port=/dev/ttyUSB0 --my-serial-baudrate=115200make has no errors
after that, i tried to start it with:
sudo ./bin/mysgw -dIs started but i get this problem:
(
Do you know whats wrong with it?
-
@hausinger: try to change
./configure --my-gateway=serial --my-serial-port=/dev/USB0 --my-serial-baudrate=115200
to
./configure --my-gateway=serial --my-serial-port=/dev/ttyUSB0 --my-serial-baudrate=115200Be aware that USB devices are enumerated in the order they have been plugged in, so you cannot rely 100% on the arduino being "0".
@mihai-aldea: haha I didn't even consider this. are there any disadvantages except for the increased power consumption? (and slightly higher cost)
-
I'm using a orangepi one and with your help I can compile it.
I tried it with a serial gateway. I connected a arduino nano with the gateway serial scath on it through USB to my orangepi one. DMESG say to me, that it is attached to ttyUSB0
So i tried to build the gateway with:
./configure --my-gateway=serial --my-serial-port=/dev/ttyUSB0 --my-serial-baudrate=115200make has no errors
after that, i tried to start it with:
sudo ./bin/mysgw -dIs started but i get this problem:
(
Do you know whats wrong with it?
Hi again to all OPI users.
I like see that are great movements here.
I think main goal here is achieve that OPI board can run mysensors for herself connected radio boards.
Of course that can work OPI (or any board) if we attach over some port the radio board, because use of any "conventional" port (means usb, serial, eth) is the same for any hardware from the software view.Said this, I would simplificate (and reduce all hardware to minimum) all things I can and with a powerful board I can concentrate much of the roles needed.
Attach directly (means through GPIO) all hardware the board can manage without issues is my goal, and I think other much people.I think the error posted @hausinger for run mysgw seems derived from de main problem we see when try compile mysensors on OPI, and is that the need (maybe although not always necessary) that SPIDEV driver are up and working properly and mysensors software can not detect SPI bus (then fail SPIDEV) on OPI while is not being adapted all software stuff from some mysensor coder.
I hope some mysensors coder hear our call and soon can help here.
Regards
-
@hausinger: try to change
./configure --my-gateway=serial --my-serial-port=/dev/USB0 --my-serial-baudrate=115200
to
./configure --my-gateway=serial --my-serial-port=/dev/ttyUSB0 --my-serial-baudrate=115200Be aware that USB devices are enumerated in the order they have been plugged in, so you cannot rely 100% on the arduino being "0".
@mihai-aldea: haha I didn't even consider this. are there any disadvantages except for the increased power consumption? (and slightly higher cost)
@pansen said:
@hausinger: try to change
./configure --my-gateway=serial --my-serial-port=/dev/USB0 --my-serial-baudrate=115200
to
./configure --my-gateway=serial --my-serial-port=/dev/ttyUSB0 --my-serial-baudrate=115200Be aware that USB devices are enumerated in the order they have been plugged in, so you cannot rely 100% on the arduino being "0".
@mihai-aldea: haha I didn't even consider this. are there any disadvantages except for the increased power consumption? (and slightly higher cost)
ooh sorry. Sure, i wrote "ttyUSB0". It was a typing mistake here on the forum. In my configuration I already typed ttyUSB0
I edited my last post.But the issue is still the same.
-
@Tag The RF24 won't work on the OPi out of the box. Since the GPIO numbering is different it will work but only after some tweaks. I'm not sure if you're familiar with:
http://linux-sunxi.org/GPIO
Once you get the pin numbering figured out you can use the TMRh20 library. I confirm that it works on my OPi PC. Didn't unboxed my OPi Zero yet :yum:
However it's not very clear what sort of gateway you're trying to build. My project will have an OPi Zero running MyController, hooked up to an ATmega328 running the GatewaySerial sketch. The radio will be be connected to the ATmega328 chip. This way I wouldn't have to worry about GPIO pin numbering.Indeed good info about GPIO port.
I will be aware about your progress...seems your approach is a sure win.
Thanks