Hello!
Just got my YDWG-02 (nmea2000 to wifi converter) connected to Cerbo so if someone else is thinking about same, here is a brief howto :
1. git clone https://github.com/saxofon/NMEA2000-simple-c-lib
2. build via Venus OS SDK (I installed mine in a container so I have a easily reuseable build environment)
root@b610d0a314c9:/work# make
mkdir -p build
arm-ve-linux-gnueabi-gcc -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a8 --sysroot=/opt/venus/dunfell-arm-cortexa8hf-neon/sysroots/cortexa8hf-neon-ve-linux-gnueabi -fPIC -Iinclude -shared -o build/libnmea2000.so src/nmea2000.c src/ydwg-02.c
mkdir -p build
arm-ve-linux-gnueabi-gcc -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a8 --sysroot=/opt/venus/dunfell-arm-cortexa8hf-neon/sysroots/cortexa8hf-neon-ve-linux-gnueabi -O2 -pipe -g -feliminate-unused-debug-types -Iinclude -g -lm -lcurses -ltinfo -lpthread -Lbuild -lnmea2000 -o build/nmea2000-bus-dumper examples/nmea2000-bus-dumper.c
mkdir -p build
arm-ve-linux-gnueabi-gcc -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a8 --sysroot=/opt/venus/dunfell-arm-cortexa8hf-neon/sysroots/cortexa8hf-neon-ve-linux-gnueabi -O2 -pipe -g -feliminate-unused-debug-types -Iinclude -g -lm -lcurses -ltinfo -lpthread -Lbuild -lnmea2000 -o build/nmea2000-data-viewer examples/nmea2000-data-viewer.c
mkdir -p build
arm-ve-linux-gnueabi-gcc -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a8 --sysroot=/opt/venus/dunfell-arm-cortexa8hf-neon/sysroots/cortexa8hf-neon-ve-linux-gnueabi -O2 -pipe -g -feliminate-unused-debug-types -Iinclude -g -lm -lcurses -ltinfo -lpthread -Lbuild -lnmea2000 -o build/nmea2000-simple-msg examples/nmea2000-simple-msg.c
mkdir -p build
arm-ve-linux-gnueabi-gcc -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a8 --sysroot=/opt/venus/dunfell-arm-cortexa8hf-neon/sysroots/cortexa8hf-neon-ve-linux-gnueabi -O2 -pipe -g -feliminate-unused-debug-types -Iinclude -g -lm -lcurses -ltinfo -lpthread -Lbuild -lnmea2000 -o build/ydwg-02-to-socketcan examples/ydwg-02-to-socketcan.c
root@b610d0a314c9:/work# make
mkdir -p build
arm-ve-linux-gnueabi-gcc -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a8 --sysroot=/opt/venus/dunfell-arm-cortexa8hf-neon/sysroots/cortexa8hf-neon-ve-linux-gnueabi -O2 -pipe -g -feliminate-unused-debug-types -Iinclude -g -lm -lcurses -ltinfo -lpthread -Lbuild -lnmea2000 -o build/ydwg-02-to-socketcan examples/ydwg-02-to-socketcan.c
root@b610d0a314c9:/work#
3. Copy stuff over to Cerbo
[per@phlap2 NMEA2000-simple-c-lib]$ scp build/* root@<your Cerbo IP>:
libnmea2000.so 100% 13KB 739.1KB/s 00:00
nmea2000-bus-dumper 100% 32KB 552.3KB/s 00:00
nmea2000-data-viewer 100% 30KB 662.3KB/s 00:00
nmea2000-simple-msg 100% 21KB 562.7KB/s 00:00
ydwg-02-to-socketcan 100% 23KB 649.9KB/s 00:00
[per@phlap2 NMEA2000-simple-c-lib]$
4. setup a vcan device
root@einstein:~# modprobe vcan
root@einstein:~# ip link add dev vcan0 type vcan
root@einstein:~# ip link set dev vcan0 down
root@einstein:~# ip link set vcan0 mtu 16
root@einstein:~# ip link set dev vcan0 up
5. run the gw app
root@einstein:~# LD_LIBRARY_PATH=. ./ydwg-02-to-socketcan
Now it pops up a vcan0 entry in the Cerbo menu, we can enable to transmit nmea2000 packets etc.
Now I just need to find out what fun stuff can be done next...
BTW... Victron, please add kernel module "can-gw" to the standard build. It will be a very helpful when doing CAN bus integrations.