Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
projects:carmon [2015/03/18 14:29]
admin
projects:carmon [2019/09/06 07:56]
admin [Data processor]
Line 6: Line 6:
   * analyzing data on-the-fly   * analyzing data on-the-fly
   * detecting potential problems on-the-fly   * detecting potential problems on-the-fly
-  * informing driver about problems found+  * informing ​car driver about problems found
   * storing collected data in central database   * storing collected data in central database
   * off-line data analysis   * off-line data analysis
 ===== Architecture ===== ===== Architecture =====
 ==== On-board monitoring system ==== ==== On-board monitoring system ====
-==== Central expert system ==== +==== Central ​database and expert system ==== 
 +==== Data processor ==== 
 +== Display distance between DPF rejuvenations == 
 +<​code>​ 
 +$ grep DPFDIST * | cut -d ','​ -f 4 | 
 +  gawk '{aa = strtonum("​0x"​ $0); if ((aa < 200) && (aa > 5)) print aa; if ((aa > 180) && (aa < 300)) {print aa / 2; print aa / 2}}' > /​tmp/​dpfdist 
 +$ echo "set terminal x11; set grid; plot '/​tmp/​dpfdist'​ with lines" | gnuplot -p 
 +</​code>​ 
 +== Display Injector corrections == 
 +<​code>​ 
 +$ grep ECU01AD * | cut -d ','​ -f 3 | 
 +  gawk '​BEGIN{prev=""​} {curr=substr($0,​ 35, 8); if (curr != prev) \ 
 +  {i1=strtonum("​0x"​ substr(curr,​ 1, 2)); i2=strtonum("​0x"​ substr(curr,​ 3, 2)); \ 
 +  i3=strtonum("​0x"​ substr(curr,​ 5, 2)); i4=strtonum("​0x"​ substr(curr,​ 7, 2)); \ 
 +  print i1-64, i2-64, i3-64, i4-64, i1+i2+i3+i4-256;​ prev=curr} }' > /​tmp/​injraw 
 +$ cut -d ' ' -f 1 /tmp/injraw > /​tmp/​inj1raw 
 +$ cut -d ' ' -f 2 /tmp/injraw > /​tmp/​inj2raw 
 +$ cut -d ' ' -f 3 /tmp/injraw > /​tmp/​inj3raw 
 +$ cut -d ' ' -f 4 /tmp/injraw > /​tmp/​inj4raw 
 +$ grep -v "0 0 0 0 0" /tmp/injraw | cut -d ' ' -f 5 > /​tmp/​injsumraw 
 +$ echo "set terminal x11; set grid; plot '/​tmp/​inj1raw'​ with lines" | gnuplot -p 
 +$ echo "set terminal x11; set grid; plot '/​tmp/​inj2raw'​ with lines" | gnuplot -p 
 +$ echo "set terminal x11; set grid; plot '/​tmp/​inj3raw'​ with lines" | gnuplot -p 
 +$ echo "set terminal x11; set grid; plot '/​tmp/​inj4raw'​ with lines" | gnuplot -p 
 +$ echo "set terminal x11; set grid; plot '/​tmp/​injsumraw'​ with lines" | gnuplot -p 
 +</​code>​ 
 +== Display DPF differential pressure == 
 +<​code>​ 
 +$ grep ECU01EF * | cut -d ','​ -f 3 | gawk '{aa = strtonum("​0x"​ $0); print aa / 256.0 - 5.0}' > /​tmp/​dpfdp 
 +$ echo "set terminal x11; set grid; plot '/​tmp/​dpfdp'​ with lines" | gnuplot -p 
 +</​code>​ 
 +== Detect data loss == 
 +<​code>​ 
 +$ find ./ | sort | while read line ; do echo $line; grep ECU $line | cut -d ','​ -f 1 | 
 +  gawk '​BEGIN{pt = -1} {ct = substr($0, 13); if (pt != -1) \ 
 +  {difft = ct - pt; if (difft < 0) difft += 60000; if ((difft > 30) && (difft < 500)) \ 
 +  print pt,​ct,​difft,​pts,​$0,​$0-pts};​ pts = $0; pt = ct}' ; done > /​tmp/​result 
 +</​code>​
projects/carmon.txt · Last modified: 2019/09/06 07:58 by admin
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0