git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda/cospi/host@9338 bc5caf13-1734-44f8-af43-603852e9ee25
74 lines
1.4 KiB
Awk
Executable file
74 lines
1.4 KiB
Awk
Executable file
#! /usr/bin/gawk -i
|
|
|
|
BEGIN {
|
|
file_epoch = 0
|
|
}
|
|
|
|
/^H/ { Time= $2 - 3 + file_epoch }
|
|
|
|
function magc(d) {
|
|
if (d >= 0x8000)
|
|
d -= 0x10000
|
|
return d / 0x2000
|
|
}
|
|
|
|
function accc(d) {
|
|
if (d >= 0x8000)
|
|
d -= 0x10000
|
|
return d / 0x4000
|
|
}
|
|
|
|
function tempc(d) {
|
|
if (d >= 0x8000)
|
|
d -= 0x10000
|
|
return d / 0x100
|
|
}
|
|
|
|
function adcc(d) {
|
|
if (d >= 0x8000)
|
|
d -= 0x10000
|
|
return d * 0.4/0x8000
|
|
}
|
|
|
|
function isI() {
|
|
return Time && /^ID/
|
|
}
|
|
|
|
isI() {
|
|
Time += 2
|
|
mag_status = $4
|
|
mag[0][0] = magc($5)
|
|
mag[0][1] = magc($6)
|
|
mag[0][2] = magc($7)
|
|
mag_temp = tempc($8)
|
|
acc_status_aux = $9
|
|
acc_adc[0] = adcc($10)
|
|
acc_adc[1] = adcc($11)
|
|
acc_temp = tempc($12)
|
|
for (i=1; i<=18; i++) {
|
|
mag[i][0] = magc($(10 + 3*i))
|
|
mag[i][1] = magc($(11 + 3*i))
|
|
mag[i][2] = magc($(12 + 3*i))
|
|
}
|
|
acc_status_fifo = $67
|
|
acc_status = $68
|
|
for (i=0; i<=20; i++) {
|
|
acc[i][0] = accc($(69 + 3*i))
|
|
acc[i][1] = accc($(70 + 3*i))
|
|
acc[i][2] = accc($(71 + 3*i))
|
|
}
|
|
mag[19][0] = magc($132)
|
|
mag[19][1] = magc($133)
|
|
mag[19][2] = magc($134)
|
|
}
|
|
|
|
function pr() {
|
|
printf "IS %d 0x%04x 0x%04x 0x%04x 0x%04x %.2f %.2f %.4f %.4f\n", Time, \
|
|
mag_status, acc_status, acc_status_aux, acc_status_fifo, \
|
|
mag_temp, acc_temp, acc_adc[0], acc_adc[1]
|
|
for (i=0; i<20; i++) {
|
|
printf "IV %.1f %7.4f %7.4f %7.4f %7.4f %7.4f %7.4f\n", Time+i/10, \
|
|
mag[i][0], mag[i][1], mag[i][2], \
|
|
acc[i][0], acc[i][1], acc[i][2]
|
|
}
|
|
}
|