run-in-simulavr.sh: also output position in micrometers.

This commit is contained in:
Markus Hitter 2013-12-04 23:19:49 +01:00
parent f1873b4360
commit 06d496e8ca
1 changed files with 12 additions and 4 deletions

View File

@ -157,8 +157,8 @@ EOF
BEGIN {
# These lines must match the ones after the sort.
intLen = 16;
xStepID = "0"; xPosID = "1"; xVelID = "2"; xMmmID = "3"
yStepID = "4"; yPosID = "5"; yVelID = "6"; yMmmID = "7"
xStepID = "0"; xPosID = "1"; xUmID = "2"; xVelID = "3"; xMmmID = "4"
yStepID = "5"; yPosID = "6"; yUmID = "7"; yVelID = "8"; yMmmID = "9"
xDir = yDir = 0;
xPos = yPos = 0;
@ -189,6 +189,9 @@ EOF
if (bit == 1) { # raising flange
xPos += xDir;
print time " b" print_binary(xPos, intLen) " " xPosID;
# TODO: it might be better to output mm as real value, but ...
# ... does the VCD file format support this? If yes, how?
print time " b" print_binary(xPos * 1000000 / '"${STEPS_PER_M_X}"', intLen) " " xUmID;
vel = 1000000000 / (time - lastxTime);
print lastxTime " b" print_binary(vel, intLen) " " xVelID;
vel = vel * 60000 / '"${STEPS_PER_M_X}"';
@ -203,6 +206,7 @@ EOF
if (bit == 1) { # raising flange
yPos += yDir;
print time " b" print_binary(yPos, intLen) " " yPosID;
print time " b" print_binary(yPos * 1000000 / '"${STEPS_PER_M_Y}"', intLen) " " yUmID;
vel = 1000000000 / (time - lastyTime);
print lastyTime " b" print_binary(vel, intLen) " " yVelID;
vel = vel * 60000 / '"${STEPS_PER_M_Y}"';
@ -220,8 +224,8 @@ EOF
BEGIN {
# These lines must match the ones before the sort.
intLen = 16;
xStepID = "0"; xPosID = "1"; xVelID = "2"; xMmmID = "3"
yStepID = "4"; yPosID = "5"; yVelID = "6"; yMmmID = "7"
xStepID = "0"; xPosID = "1"; xUmID = "2"; xVelID = "3"; xMmmID = "4"
yStepID = "5"; yPosID = "6"; yUmID = "7"; yVelID = "8"; yMmmID = "9"
lastTime = "";
@ -229,10 +233,12 @@ EOF
print "$scope module Steppers $end";
print "$var wire 1 " xStepID " X_step $end";
print "$var integer " intLen " " xPosID " X_pos_steps $end";
print "$var integer " intLen " " xUmID " X_pos_um $end";
print "$var integer " intLen " " xVelID " X_steps/s $end";
print "$var integer " intLen " " xMmmID " X_mm/min $end";
print "$var wire 1 " yStepID " Y_step $end";
print "$var integer " intLen " " yPosID " Y_pos_steps $end";
print "$var integer " intLen " " yUmID " Y_pos_um $end";
print "$var integer " intLen " " yVelID " Y_steps/s $end";
print "$var integer " intLen " " yMmmID " Y_mm/min $end";
print "$upscope $end";
@ -241,10 +247,12 @@ EOF
print "$dumpvars";
print "b0 " xStepID;
print "b0 " xPosID;
print "b0 " xUmID;
print "b0 " xVelID;
print "b0 " xMmmID;
print "b0 " yStepID;
print "b0 " yPosID;
print "b0 " yUmID;
print "b0 " yVelID;
print "b0 " yMmmID;
print "$end";