MembersPage/Kamuto/Orange (2017-07-11 01:02:37)

target is to use orange pi board to read vems data for realtime data over ser2net or dataloging trigger frame stream to vemslog format saved to filesystem (SD, or /dev/shm tmpfs, or network filesystem, or SSD, or rust).

Experimental binaries (primary target: armhf or occasionally unsupported aarch64/x86/x86_64 or amd64)

http://vems.hu/download/arm/orangepi_main/


current board: Orange pi lite (H3, armhf)

OS Armbian Ubuntu Desktop : https://www.armbian.com/download/

to connect it to vems we need to have serial port on the board, it has some UARTS but they are ttl level, so we need some max232 interface.

using one like that : http://www.dx.com/p/rs232-to-ttl-serial-communications-module-w-indicator-blue-black-221240#.WVLg6GiGNdg

using UART3 to connect it: Orange_Pi_2_GPIO_Pinout.png

to get it working we need to change orange configuration in /boot, link how to do that : https://forum.armbian.com/index.php?/topic/1524-orange-pi-one-how-to-enable-uart/

best way to test it is to download minicom and try to capture some aim data from vems serial port, in my case i had to swap rx and tx wires on serial cable which connects between vems and raspberry. both ends of the cable are female gender.

at the moment I'm using orange to have wireless connection for the ecu on test bench using ser2net

config file is located in /etc/ser2net.conf and has line 4400:raw:1000:/dev/ttyS3:19200 8DATABITS NONE 1STOPBIT banner


/etc/fstab

http://vems.hu/download/arm/orangepi_main/


Test simple built binary, linking and serial port


made test, got data moving without erors, uploaded results file: https://www.sendspace.com/file/5h7oiy


./orangepi_main /dev/ttyUSB0 > /tmp/err 2>&1

zip the err file (and the NOSERIAL-2017.07.09-14.25.24.vemslog) before uploading for any report.


Checklist - useful initally for review / debug / inspection or for curious geeks. Not needed if/when all goes perfectly.

Sniff the serial stream: PC to v3 direction is used to query data with TF commands (HDLC-7D-7E escaped and 7E between frames)

TF command to query runtime data is A0, it appears regularly (as a0 bf 38, see below)

TF Commands used to query ECU config pages:

<PRE>

marcell@mini:/svn/stm32/orangepi_fat$ grep TF2 /tmp/err | sort

TF2: 00 f4

TF2: 01 f4

TF2: 02 f4

TF2: 03 f4

TF2: 04 f4

TF2: 06 f4

TF2: 07 f4

TF2: 08 f4

TF2: 0a f4

TF2: 0c f4

TF2: 0d f4

TF2: 0e f4

TF2: 0f f4

TF2: 11 f4

TF2: 02 f2

TF2: 03 f2

TF2: 04 f2

TF2: 05 f2

Or the complete hex stream:

000022f0: 17 7e ff 00 f4 40 77 7e ff 02 f4 41 17 7e ff 04

00002300: f4 42 b7 7e ff 0f f4 45 87 7e ff 03 f4 40 87 7e

00002310: ff 0c f4 45 77 7e ff 0d f4 44 e7 7e ff 11 f4 4c

00002320: 27 7e ff 06 f4 43 d7 7e ff 07 f4 42 47 7e a0 bf

00002330: 38 7e a0 bf 38 7e a0 bf 38 7e a0 bf 38 7e a0 bf

00002340: 38 7e a0 bf 38 7e a0 bf 38 7e a0 bf 38 7e a0 bf

00002350: 38 7e a0 bf 38 7e a0 bf 38 7e a0 bf 38 7e a0 bf

</PRE>

Inspecting the vemslog file saved to filesystem:

hexdump -C NOSERIAL-2017.07.09-16.30.49.vemslog |less


tried to get it working:

root@orangepilite:/mnt/logger# ldd orangepi_main test2.armhf

orangepi_main:

libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6eca000)

/lib/ld-linux-armhf.so.3 (0xb6fc7000)

test2.armhf:

libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6e39000)

/lib/ld-linux-armhf.so.3 (0xb6f36000)

executed program, tried with /dev/ttyS3 first, later plugged one usb serial converter and that's what I got in the log.

root@orangepilite:/mnt/logger# ./orangepi_main /dev/ttyUSB0 > /tmp/err 2>&1

root@orangepilite:/mnt/logger# cat /tmp/err

attempt open serial /dev/ttyUSB0

attempt open serial /dev/ttyS0

/dev/ttyS1: No such file or directory

seems like there is some hardcoded interfaces in the main file, in my case I'm using only /dev/ttyS3

update 1 it was tested with old orange_pi version. tried new one too,

root@orangepilite:/mnt/logger# ./orangepi_main /dev/ttyUSB0 > /tmp/err 2>&1

root@orangepilite:/mnt/logger# cat /tmp/err

-bash: ./orangepi_main: cannot execute binary file: Exec format error

somekind problem :)

test 3

root@orangepilite:/mnt/logger# ldd orangepi_main

not a dynamic executable