Merge branch 'master' of github.com:john30/ebusd

This commit is contained in:
john30
2015-11-21 14:49:20 +01:00
+20 -12
View File
@@ -1,8 +1,9 @@
#!/bin/sh
echo "grab result"|nc localhost 8888|awk '
ebusctl grab result|awk '
BEGIN{
len[""]=0
delete len[""]
found=0
}
/grab disabled/ {
print "enable grab first!"
@@ -10,9 +11,10 @@ BEGIN{
}
/.+/ {
len[substr($1,3)]=length($3)/2;
found=1
}
END {
if (length(len)>0)
if (found>0)
print "# type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates"
for (i in len) {
zz=substr(i,1,2)
@@ -20,22 +22,28 @@ END {
id=substr(i,9)
idlen=length(id)/2
if (pbsb=="b509" && substr(id,1,2)=="0d") {
//register read
reg=strtonum("0x" substr(id,3,2))
reg+=strtonum("0x" substr(id,5,2))*256
# register read
reg=index("123456789abcdef",tolower(substr(id,4,1)))
reg+=index("123456789abcdef",tolower(substr(id,3,1)))*16
reg+=index("123456789abcdef",tolower(substr(id,6,1)))*256
reg+=index("123456789abcdef",tolower(substr(id,5,1)))*4096
print "r,unknown" zz ",reg" reg ",,," zz "," pbsb "," substr(id,3,4) ",data,,HEX:" (len[i]-1)
} else if (pbsb=="b509" && substr(id,1,2)=="0e") {
//register write
reg=strtonum("0x" substr(id,3,2))
reg+=strtonum("0x" substr(id,5,2))*256
# register write
reg=index("123456789abcdef",tolower(substr(id,4,1)))
reg+=index("123456789abcdef",tolower(substr(id,3,1)))*16
reg+=index("123456789abcdef",tolower(substr(id,6,1)))*256
reg+=index("123456789abcdef",tolower(substr(id,5,1)))*4096
print "w,unknown" zz ",reg" reg ",,," zz "," pbsb "," substr(id,3,4) ",data,,HEX:" (idlen-3)
} else if (pbsb=="b509" && substr(id,1,2)=="29") {
//register update
reg=strtonum("0x" substr(id,3,2))
reg+=strtonum("0x" substr(id,5,2))*256
# register update
reg=index("123456789abcdef",tolower(substr(id,4,1)))
reg+=index("123456789abcdef",tolower(substr(id,3,1)))*16
reg+=index("123456789abcdef",tolower(substr(id,6,1)))*256
reg+=index("123456789abcdef",tolower(substr(id,5,1)))*4096
print "u,unknown" zz ",reg" reg ",,," zz "," pbsb "," substr(id,3,4) ",,,IGN:2,,,,data,,HEX:" (len[i]-3)
} else if (len[i]<=1 || idlen>3) {
//seems to be a write
# seems to be a write
if (idlen>3) idlen=3
else if (len[i]<=1) idlen--;
printf "w,unknown" zz ","