## ## ## # ## ####### ##### ## ##
##### ## ## ## ## ## ## ## ##
___ / _ \ / /_\ \ | _ | | | | | \_| |_/
## ## ## ## ## ## #### ##
_____ ( _ ) | (_) | | _ | | | | | (_) (_)
IMPORTANT: enter the case-INsensitive alphabetic (no numbers) code AND WRITE SOME SHORT summary of changes (below) if you are saving changes. (not required for previewing changes). Wiki-spamming is not tolerated, will be removed, so it does NOT even show up in history. Spammers go away now. Visit Preferences to set your user name Summary of change: Subpage of OrangePiPc/DataLogger : '''Power user / Developer notes:''' VEMS ECU has had internal SD (traditionally upto 4GB, SDHC support added ~2014 for 8..16GB or more) to store logfiles (upto around thousand hours runtime total), * VemsTune is most often used to capture logfiles interactively, * external logger can sometimes be useful (that can be used interactively or non-interactively). ---- Originally implemented on '''STM32F103 and FAT filesystem''' on SD, using device' built-in RTC (real-time-clock) and USB-device port for mass-storage device. '''ECU serial external datalogger (old, STM32 based) :''' * request runtime data via (bidirectional, full duplex) 1st serial port of VEMS ECU * log to SD card ** in .vemslog format ** with correct timestamps if RTC available * USB mass storage device to PC, so files from SD can be transferred to PC fast (normally without removing SD). ---- '''Battery powered RTC note:''' Although usually easy to find the .vemslog logfile of interest among the last dozen big files (based on file length: hours,minutes,seconds) * RTC timestamp can be useful if available * OrangePiPc/DataLogger can get time/date after boot from wireless (gsm /mobile-broadband or wifi), in which case continuous battery power is optional. ** even if network occasionally not available right after boot, time/date will be monotonous ---- '''2017-05 the STM32 code was ported to Orange PI PC''' (or compatible lite / one / zero / plus or other '''H3''' similar) * with optional header-connected I2C RTC (useful if no ntp/GSM/wifi internet or other time-source) * the immensely powerful device can be "double"-used for many apps simultaneously, even cloud apps: secure wallet, or file sharing, audio/video play/encode or communications / capture (/ motion detect) * perhaps recording audio/video before/during rally race could log more information about date, environment, vehicle than an RTC would provide, ** and perhaps even running vemstune (although a bit slower than most notebooks, the VT linux build hasn't been too agressively tested) the 512MB - 2048MB RAM versions are certainly capable (have the resources). ---- '''STM => Orange PI PC notes/differences''' * logging to (unix) file instead of self-handled FAT FS on SD block device ** the timestamp is handled automatically * using high level /dev/ttySx or /dev/ttyUSB0 or similar serial port, instead of stm32's raw UART. * mainloop: select() instead of busyloop (act nice in a non-cooperative multitasking environment) ---- '''Brainstorming, random old notes (special, not normally needed or handled differently)''' * optional: data relay (via network) ** if serial data is coming without request, sending (relaying) the same RAW data to the TX would make (perhaps) sense. ** This way ECU TX => ARM => VT => ECU RX could be implemented (when no VT, just plug in a dummy DSUB9 with 2-3 connected to close the loop ) ** alternatively ARM could be sniffing the ECU TX => VT line (and ARM => ECU commands only activated when commands from VT cease). No serial relay is needed in the ARM for this. ** However, '''ARM best have v3 ECU config (only needed for EGT cal, 75 works well though, as egt calibration is 75 usually) *** ECU config requested at startup, which might not be available if VT is started before ARM (not the normal usecase, but worths to consider) ---- '''OrangePiPc/DataLogger with virtual serial port''' * network socket not currently supported or tested (or even needed, perhaps) ** socat with pipe can be straightforward, just would need a command line option to disable the tcsetattr() ** or perhaps socat exec trick (so socat would be connected to stdin and stdout also) ---- '''Other architectures/platforms''' * Not currently built to [https://riscv.org/ Risc-V], MIPS, microblaze or soft-cores, but anything running unix/linux should be easy target if necessary, since dependencies are minimal * esp8266 / esp32 (with SPIFFS, this is the most lightweight lowest consumption easily available smart wifi chip) not currently supported ** usually <16MByte flash would limit logfile size to a few hours - would still help to buffer telemetry data between regular downloads while the bandwidth is low or vehicle is out of range, happens in drone apps and rally, ** using esp8266 / esp32 as a "ser2net" serial to wifi gateway is easy already ---- '''See also:''' BuildrootOrangePiPc (fast boot) Optional: Add document to category: Wiki formatting: * is Bullet list ** Bullet list subentry ... '''Bold''', ---- is horizontal ruler, <code> preformatted text... </code> See wiki editing HELP for tables and other formatting tips and tricks.