Commit 71742738 authored by Michel Roelofs's avatar Michel Roelofs
Browse files

Removed corso201?, not relevant for DT

parent 6eba5b60
include ../build.mk
CFLAGS= -Wall -O3 \
-I. -I..
LDFLAGS= -lpthread -lrt -ldl -lm
all: corso2011
corso2011_LDFLAGS:= `../controller/block_list.sh ../ec/ec.a ../controller/controller.a` -Wl,-E
corso2011: corso2011.o ../ec/ec.a ../controller/controller.a ../log/log.a
corso2011.pdf:
clean:
rm -rf *.o *.a corso2011 corso2011.pdf
/*
Copyright Jeroen Vreeken (pe1rxq@amsat.org), 2011
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <math.h>
#include <controller/controller_block.h>
#include <controller/controller_trace.h>
#include <controller/controller_sample.h>
#include <controller/controller_load.h>
#include <controller/controller_dumpdot.h>
#include <ec/ec.h>
#include <ec/block_ec.h>
#define ETHERCAT_IF "eth0"
int main(int argc, char **argv)
{
controller_block_param_init();
/* Create and link blocks */
if (controller_load("corso2011.ctrl")) {
printf("Could not create or link blocks\n");
goto err_dump_dot;
}
controller_trace_server_start(10000, 30);
controller_dumpdot("corso2011.dot");
/* Start 'sample' */
controller_block_sample_init();
printf("Starting sample thread\n");
controller_sample_start();
while (1) {
sleep(15 * 60);
}
return 0;
err_dump_dot:
controller_dumpdot("corso2011.dot");
return 1;
}
frequency 1000
blocks {
{ "ec", "ethercat", "eth0", 6, 1 }
{ "value_uint32", "select" }
{ "trajectplayer", "vleugel_lv_traject" }
{ "trajectplayer", "vleugel_lh_traject" }
{ "trajectplayer", "vleugel_rv_traject" }
{ "trajectplayer", "vleugel_rh_traject" }
{ "bridge_pwm", "vleugel_lv_pwm" }
{ "bridge_pwm", "vleugel_lh_pwm" }
{ "bridge_pwm", "vleugel_rv_pwm" }
{ "bridge_pwm", "vleugel_rh_pwm" }
{ "or3", "vleugel_start_or" }
{ "or3", "vleugel_stop_or" }
{ "multiplexer", "vleugel_lv_multiplexer", 4 }
{ "multiplexer", "vleugel_lh_multiplexer", 4 }
{ "multiplexer", "vleugel_rv_multiplexer", 4 }
{ "multiplexer", "vleugel_rh_multiplexer", 4 }
{ "counter", "vleugel_select" }
{ "beckhoff_el2xxx", "outputblock1", "EL2008", 1 }
{ "trajectplayer", "huisje_voor_traject" }
{ "trajectplayer", "huisje_midden_traject" }
{ "trajectplayer", "huisje_achter_traject" }
{ "bridge_pwm", "huisje_voor_pwm" }
{ "bridge_pwm", "huisje_midden_pwm" }
{ "bridge_pwm", "huisje_achter_pwm" }
{ "or2", "huisje_voor_start_or" }
{ "or2", "huisje_midden_start_or" }
{ "or2", "huisje_achter_start_or" }
{ "beckhoff_el2xxx", "outputblock2", "EL2008", 2 }
{ "joystick", "joystick", "/dev/input/js0" }
{ "beckhoff_el1xxx", "inputblock1", "EL1008", 4 }
{ "not", "emergency_not" }
{ "or2", "stop_or" }
{ "value_bool", "false" }
{ "value", "zero" }
{ "decoder_uint32_bool", "vleugel_select_dec", 4 }
{ "beckhoff_el2xxx", "outputblock3", "EL2008", 3 }
}
links {
{ "vleugel_lv_traject", "position", "vleugel_lv_multiplexer", "in0", true }
{ "vleugel_lh_traject", "position", "vleugel_lh_multiplexer", "in0", true }
{ "vleugel_rv_traject", "position", "vleugel_rv_multiplexer", "in0", true }
{ "vleugel_rh_traject", "position", "vleugel_rh_multiplexer", "in0", true }
{ "vleugel_lv_multiplexer", "out", "vleugel_lv_pwm", "in", true }
{ "vleugel_lh_multiplexer", "out", "vleugel_lh_pwm", "in", true }
{ "vleugel_rv_multiplexer", "out", "vleugel_rv_pwm", "in", true }
{ "vleugel_rh_multiplexer", "out", "vleugel_rh_pwm", "in", true }
{ "vleugel_lv_pwm", "a", "outputblock1", "output1", true }
{ "vleugel_lv_pwm", "b", "outputblock1", "output2", true }
{ "vleugel_lh_pwm", "a", "outputblock1", "output3", true }
{ "vleugel_lh_pwm", "b", "outputblock1", "output4", true }
{ "vleugel_rv_pwm", "a", "outputblock1", "output5", true }
{ "vleugel_rv_pwm", "b", "outputblock1", "output6", true }
{ "vleugel_rh_pwm", "a", "outputblock1", "output7", true }
{ "vleugel_rh_pwm", "b", "outputblock1", "output8", true }
{ "vleugel_start_or", "q", "vleugel_lv_traject", "start", true }
{ "vleugel_start_or", "q", "vleugel_rv_traject", "start", true }
{ "vleugel_start_or", "q", "vleugel_lh_traject", "start", true }
{ "vleugel_start_or", "q", "vleugel_rh_traject", "start", true }
{ "vleugel_stop_or", "q", "vleugel_lv_traject", "stop", true }
{ "vleugel_stop_or", "q", "vleugel_rv_traject", "stop", true }
{ "vleugel_stop_or", "q", "vleugel_lh_traject", "stop", true }
{ "vleugel_stop_or", "q", "vleugel_rh_traject", "stop", true }
{ "vleugel_lh_traject", "done", "vleugel_start_or", "c", false }
{ "stop_or", "q", "vleugel_stop_or", "a", true }
{ "vleugel_select", "counter", "vleugel_lv_multiplexer", "select", true }
{ "vleugel_select", "counter", "vleugel_lh_multiplexer", "select", true }
{ "vleugel_select", "counter", "vleugel_rv_multiplexer", "select", true }
{ "vleugel_select", "counter", "vleugel_rh_multiplexer", "select", true }
{ "joystick", "button2", "vleugel_select", "clk", true }
{ "joystick", "button2", "vleugel_stop_or", "b", true }
{ "joystick", "axis1", "vleugel_lv_multiplexer", "in1", true }
{ "joystick", "axis0", "vleugel_lh_multiplexer", "in1", true }
{ "joystick", "axis1", "vleugel_rv_multiplexer", "in1", true }
{ "joystick", "axis0", "vleugel_rh_multiplexer", "in1", true }
{ "joystick", "axis1", "vleugel_lv_multiplexer", "in2", true }
{ "joystick", "axis0", "vleugel_lh_multiplexer", "in2", true }
{ "zero", "value", "vleugel_rv_multiplexer", "in2", true }
{ "zero", "value", "vleugel_rh_multiplexer", "in2", true }
{ "zero", "value", "vleugel_lv_multiplexer", "in3", true }
{ "zero", "value", "vleugel_lh_multiplexer", "in3", true }
{ "joystick", "axis1", "vleugel_rv_multiplexer", "in3", true }
{ "joystick", "axis0", "vleugel_rh_multiplexer", "in3", true }
{ "huisje_voor_traject", "position", "huisje_voor_pwm", "in", true }
{ "huisje_midden_traject", "position", "huisje_midden_pwm", "in", true }
{ "huisje_achter_traject", "position", "huisje_achter_pwm", "in", true }
{ "huisje_voor_pwm", "a", "outputblock2", "output1", true }
{ "huisje_voor_pwm", "b", "outputblock2", "output2", true }
{ "huisje_midden_pwm", "a", "outputblock2", "output3", true }
{ "huisje_midden_pwm", "b", "outputblock2", "output4", true }
{ "huisje_achter_pwm", "a", "outputblock2", "output5", true }
{ "huisje_achter_pwm", "b", "outputblock2", "output6", true }
{ "huisje_voor_start_or", "q", "huisje_voor_traject", "start", true }
{ "huisje_midden_start_or", "q", "huisje_midden_traject", "start", true }
{ "huisje_achter_start_or", "q", "huisje_achter_traject", "start", true }
{ "stop_or", "q", "huisje_voor_traject", "stop", true }
{ "stop_or", "q", "huisje_midden_traject", "stop", true }
{ "stop_or", "q", "huisje_achter_traject", "stop", true }
{ "joystick", "button0", "vleugel_start_or", "a", true }
{ "joystick", "button1", "stop_or", "a", true }
{ "inputblock1", "input3", "emergency_not", "input", true }
{ "inputblock1", "input1", "vleugel_start_or", "b", true }
{ "inputblock1", "input2", "vleugel_stop_or", "c", true }
{ "emergency_not", "output", "stop_or", "b", true }
{ "joystick", "button3", "huisje_voor_start_or", "a", true }
{ "joystick", "button3", "huisje_midden_start_or", "a", true }
{ "joystick", "button3", "huisje_achter_start_or", "a", true }
{ "huisje_voor_traject", "done", "huisje_voor_start_or", "b", false }
{ "huisje_midden_traject", "done", "huisje_midden_start_or", "b", false }
{ "huisje_achter_traject", "done", "huisje_achter_start_or", "b", false }
{ "select", "value", "vleugel_lv_traject", "select", true }
{ "select", "value", "vleugel_rv_traject", "select", true }
{ "select", "value", "vleugel_lh_traject", "select", true }
{ "select", "value", "vleugel_rh_traject", "select", true }
{ "select", "value", "huisje_voor_traject", "select", true }
{ "select", "value", "huisje_midden_traject", "select", true }
{ "select", "value", "huisje_achter_traject", "select", true }
{ "joystick", "button2", "outputblock2", "output7", true }
{ "emergency_not", "output", "outputblock2", "output8", true }
{ "vleugel_select", "counter", "vleugel_select_dec", "in", true }
{ "vleugel_select_dec", "out0", "outputblock3", "output1", true }
{ "vleugel_select_dec", "out1", "outputblock3", "output2", true }
{ "vleugel_select_dec", "out2", "outputblock3", "output3", true }
{ "vleugel_select_dec", "out3", "outputblock3", "output4", true }
{ "false", "value", "outputblock3", "output5", true }
{ "false", "value", "outputblock3", "output6", true }
{ "false", "value", "outputblock3", "output7", true }
{ "inputblock1", "input3", "outputblock3", "output8", true }
}
params {
{ "select", "value", (int)0 }
{ "vleugel_lh_traject", "traject",
(int)0, (int)11,
(float) { 0.0, 1.0, 1.0, 0.0, 0.0, -1.0, -1.0, -0.5, -0.5, 0.0, 0.0 },
(float) { 0.0, 1.0, 34.0, 35.0, 60.0, 61.0, 100.0, 101.0, 110.0, 111.0, 131.0 }
}
{ "vleugel_rh_traject", "traject",
(int)0, (int)11,
(float) { 0.0, 1.0, 1.0, 0.0, 0.0, -1.0, -1.0, -0.5, -0.5, 0.0, 0.0 },
(float) { 0.0, 1.0, 34.0, 35.0, 60.0, 61.0, 100.0, 101.0, 110.0, 111.0, 131.0 }
}
{ "vleugel_lv_traject", "traject",
(int)0, (int)11,
(float) { 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, -1.0, -1.0, -0.5, -0.5, 0.0 },
(float) { 0.0, 1.0, 34.0, 35.0, 60.0, 60.5, 61.0, 90.0, 100.0, 119.0, 131.0 }
}
{ "vleugel_rv_traject", "traject",
(int)0, (int)11,
(float) { 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, -1.0, -1.0, -0.5, -0.5, 0.0 },
(float) { 0.0, 1.0, 34.0, 35.0, 60.0, 60.5, 61.0, 90.0, 100.0, 119.0, 131.0 }
}
{ "vleugel_lh_traject", "reset_on_stop", (int)1 }
{ "vleugel_rh_traject", "reset_on_stop", (int)1 }
{ "vleugel_lv_traject", "reset_on_stop", (int)1 }
{ "vleugel_rv_traject", "reset_on_stop", (int)1 }
{ "vleugel_lh_pwm", "divider", (int)10 }
{ "vleugel_lh_pwm", "continuous_on", (int)0 }
{ "vleugel_lv_pwm", "divider", (int)10 }
{ "vleugel_lv_pwm", "continuous_on", (int)0 }
{ "vleugel_rh_pwm", "divider", (int)10 }
{ "vleugel_rh_pwm", "continuous_on", (int)0 }
{ "vleugel_rv_pwm", "divider", (int)10 }
{ "vleugel_rv_pwm", "continuous_on", (int)0 }
{ "vleugel_select", "overflow", (int)4 }
{ "huisje_voor_traject", "traject",
(int)0, (int)9,
(float) { 0.0, 1.0, 1.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0 },
(float) { 0.0, 2.0, 16.0, 18.0, 20.0, 22.0, 36.0, 38.0, 40.0 }
/* 16 sec */
}
{ "huisje_midden_traject", "traject",
(int)0, (int)9,
(float) { 0.0, 1.0, 1.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0 },
(float) { 0.0, 2.0, 32.0, 34.0, 36.0, 38.0, 68.0, 70.0, 72.0 }
/* 32 sec */
}
{ "huisje_achter_traject", "traject",
(int)0, (int)9,
(float) { 0.0, -1.0, -1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0 },
(float) { 0.0, 4.0, 32.0, 36.0, 39.0, 43.0, 71.0, 75.0, 78.0 }
}
{ "huisje_voor_traject", "reset_on_stop", (int)1 }
{ "huisje_midden_traject", "reset_on_stop", (int)1 }
{ "huisje_achter_traject", "reset_on_stop", (int)1 }
{ "huisje_voor_pwm", "divider", (int)10 }
{ "huisje_voor_pwm", "continuous_on", (int)0 }
{ "huisje_midden_pwm", "divider", (int)10 }
{ "huisje_midden_pwm", "continuous_on", (int)0 }
{ "huisje_achter_pwm", "divider", (int)10 }
{ "huisje_achter_pwm", "continuous_on", (int)0 }
}
traces {
{ "vleugel_select", "uint32", "vleugel_select", "counter" }
{ "emergency", "bool", "stop_or", "q" }
{ "vleugel_lv", "float", "vleugel_lv_multiplexer", "out" }
{ "vleugel_lh", "float", "vleugel_lh_multiplexer", "out" }
{ "vleugel_rv", "float", "vleugel_rv_multiplexer", "out" }
{ "vleugel_rh", "float", "vleugel_rh_multiplexer", "out" }
}
frequency 1000
blocks {
{ "value_uint32", "select" }
{ "trajectplayer", "vleugel_lv_traject" }
{ "trajectplayer", "vleugel_lh_traject" }
{ "trajectplayer", "vleugel_rv_traject" }
{ "trajectplayer", "vleugel_rh_traject" }
{ "bridge_pwm", "vleugel_lv_pwm" }
{ "bridge_pwm", "vleugel_lh_pwm" }
{ "bridge_pwm", "vleugel_rv_pwm" }
{ "bridge_pwm", "vleugel_rh_pwm" }
{ "or3", "vleugel_start_or" }
{ "or3", "vleugel_stop_or" }
{ "multiplexer", "vleugel_lv_multiplexer", 4 }
{ "multiplexer", "vleugel_lh_multiplexer", 4 }
{ "multiplexer", "vleugel_rv_multiplexer", 4 }
{ "multiplexer", "vleugel_rh_multiplexer", 4 }
{ "counter", "vleugel_select" }
{ "beckhoff_el2xxx", "outputblock1", "EL2008", 1 }
{ "trajectplayer", "huisje_voor_traject" }
{ "trajectplayer", "huisje_midden_traject" }
{ "trajectplayer", "huisje_achter_traject" }
{ "bridge_pwm", "huisje_voor_pwm" }
{ "bridge_pwm", "huisje_midden_pwm" }
{ "bridge_pwm", "huisje_achter_pwm" }
{ "or2", "huisje_voor_start_or" }
{ "or2", "huisje_midden_start_or" }
{ "or2", "huisje_achter_start_or" }
{ "beckhoff_el2xxx", "outputblock2", "EL2008", 2 }
{ "joystick", "joystick", "/dev/input/js0" }
{ "beckhoff_el1xxx", "inputblock1", "EL1008", 4 }
{ "not", "emergency_not" }
{ "or2", "stop_or" }
{ "value_bool", "false" }
{ "value", "zero" }
{ "decoder_uint32_bool", "vleugel_select_dec", 4 }
{ "beckhoff_el2xxx", "outputblock3", "EL2008", 3 }
}
links {
{ "vleugel_lv_traject", "position", "vleugel_lv_multiplexer", "in0", true }
{ "vleugel_lh_traject", "position", "vleugel_lh_multiplexer", "in0", true }
{ "vleugel_rv_traject", "position", "vleugel_rv_multiplexer", "in0", true }
{ "vleugel_rh_traject", "position", "vleugel_rh_multiplexer", "in0", true }
{ "vleugel_lv_multiplexer", "out", "vleugel_lv_pwm", "in", true }
{ "vleugel_lh_multiplexer", "out", "vleugel_lh_pwm", "in", true }
{ "vleugel_rv_multiplexer", "out", "vleugel_rv_pwm", "in", true }
{ "vleugel_rh_multiplexer", "out", "vleugel_rh_pwm", "in", true }
{ "vleugel_lv_pwm", "a", "outputblock1", "output1", true }
{ "vleugel_lv_pwm", "b", "outputblock1", "output2", true }
{ "vleugel_lh_pwm", "a", "outputblock1", "output3", true }
{ "vleugel_lh_pwm", "b", "outputblock1", "output4", true }
{ "vleugel_rv_pwm", "a", "outputblock1", "output5", true }
{ "vleugel_rv_pwm", "b", "outputblock1", "output6", true }
{ "vleugel_rh_pwm", "a", "outputblock1", "output7", true }
{ "vleugel_rh_pwm", "b", "outputblock1", "output8", true }
{ "vleugel_start_or", "q", "vleugel_lv_traject", "start", true }
{ "vleugel_start_or", "q", "vleugel_rv_traject", "start", true }
{ "vleugel_start_or", "q", "vleugel_lh_traject", "start", true }
{ "vleugel_start_or", "q", "vleugel_rh_traject", "start", true }
{ "vleugel_stop_or", "q", "vleugel_lv_traject", "stop", true }
{ "vleugel_stop_or", "q", "vleugel_rv_traject", "stop", true }
{ "vleugel_stop_or", "q", "vleugel_lh_traject", "stop", true }
{ "vleugel_stop_or", "q", "vleugel_rh_traject", "stop", true }
{ "vleugel_lh_traject", "done", "vleugel_start_or", "c", false }
{ "stop_or", "q", "vleugel_stop_or", "a", true }
{ "vleugel_select", "counter", "vleugel_lv_multiplexer", "select", true }
{ "vleugel_select", "counter", "vleugel_lh_multiplexer", "select", true }
{ "vleugel_select", "counter", "vleugel_rv_multiplexer", "select", true }
{ "vleugel_select", "counter", "vleugel_rh_multiplexer", "select", true }
{ "joystick", "button2", "vleugel_select", "clk", true }
{ "joystick", "button2", "vleugel_stop_or", "b", true }
{ "joystick", "axis1", "vleugel_lv_multiplexer", "in1", true }
{ "joystick", "axis0", "vleugel_lh_multiplexer", "in1", true }
{ "joystick", "axis1", "vleugel_rv_multiplexer", "in1", true }
{ "joystick", "axis0", "vleugel_rh_multiplexer", "in1", true }
{ "joystick", "axis1", "vleugel_lv_multiplexer", "in2", true }
{ "joystick", "axis0", "vleugel_lh_multiplexer", "in2", true }
{ "zero", "value", "vleugel_rv_multiplexer", "in2", true }
{ "zero", "value", "vleugel_rh_multiplexer", "in2", true }
{ "zero", "value", "vleugel_lv_multiplexer", "in3", true }
{ "zero", "value", "vleugel_lh_multiplexer", "in3", true }
{ "joystick", "axis1", "vleugel_rv_multiplexer", "in3", true }
{ "joystick", "axis0", "vleugel_rh_multiplexer", "in3", true }
{ "joystick", "axis3", "huisje_voor_pwm", "in", true }
{ "joystick", "axis4", "huisje_midden_pwm", "in", true }
{ "joystick", "axis0", "huisje_achter_pwm", "in", true }
{ "huisje_voor_pwm", "a", "outputblock2", "output1", true }
{ "huisje_voor_pwm", "b", "outputblock2", "output2", true }
{ "huisje_midden_pwm", "a", "outputblock2", "output3", true }
{ "huisje_midden_pwm", "b", "outputblock2", "output4", true }
{ "huisje_achter_pwm", "a", "outputblock2", "output5", true }
{ "huisje_achter_pwm", "b", "outputblock2", "output6", true }
{ "huisje_voor_start_or", "q", "huisje_voor_traject", "start", true }
{ "huisje_midden_start_or", "q", "huisje_midden_traject", "start", true }
{ "huisje_achter_start_or", "q", "huisje_achter_traject", "start", true }
{ "stop_or", "q", "huisje_voor_traject", "stop", true }
{ "stop_or", "q", "huisje_midden_traject", "stop", true }
{ "stop_or", "q", "huisje_achter_traject", "stop", true }
{ "joystick", "button0", "vleugel_start_or", "a", true }
{ "joystick", "button1", "stop_or", "a", true }
{ "inputblock1", "input3", "emergency_not", "input", true }
{ "inputblock1", "input1", "vleugel_start_or", "b", true }
{ "inputblock1", "input2", "vleugel_stop_or", "c", true }
{ "emergency_not", "output", "stop_or", "b", true }
{ "joystick", "button3", "huisje_voor_start_or", "a", true }
{ "joystick", "button3", "huisje_midden_start_or", "a", true }
{ "joystick", "button3", "huisje_achter_start_or", "a", true }
{ "huisje_voor_traject", "done", "huisje_voor_start_or", "b", false }
{ "huisje_midden_traject", "done", "huisje_midden_start_or", "b", false }
{ "huisje_achter_traject", "done", "huisje_achter_start_or", "b", false }
{ "select", "value", "vleugel_lv_traject", "select", true }
{ "select", "value", "vleugel_rv_traject", "select", true }
{ "select", "value", "vleugel_lh_traject", "select", true }
{ "select", "value", "vleugel_rh_traject", "select", true }
{ "select", "value", "huisje_voor_traject", "select", true }
{ "select", "value", "huisje_midden_traject", "select", true }
{ "select", "value", "huisje_achter_traject", "select", true }
{ "joystick", "button2", "outputblock2", "output7", true }
{ "emergency_not", "output", "outputblock2", "output8", true }
{ "vleugel_select", "counter", "vleugel_select_dec", "in", true }
{ "vleugel_select_dec", "out0", "outputblock3", "output1", true }
{ "vleugel_select_dec", "out1", "outputblock3", "output2", true }
{ "vleugel_select_dec", "out2", "outputblock3", "output3", true }
{ "vleugel_select_dec", "out3", "outputblock3", "output4", true }
{ "false", "value", "outputblock3", "output5", true }
{ "false", "value", "outputblock3", "output6", true }
{ "false", "value", "outputblock3", "output7", true }
{ "inputblock1", "input3", "outputblock3", "output8", true }
}
params {
{ "select", "value", (int)0 }
{ "vleugel_lh_traject", "traject",
(int)0, (int)11,
(float) { 0.0, 1.0, 1.0, 0.0, 0.0, -1.0, -1.0, -0.5, -0.5, 0.0, 0.0 },
(float) { 0.0, 1.0, 30.0, 31.0, 35.0, 36.0, 65.0, 66.0, 89.0, 90.0, 131.0 }
}
{ "vleugel_rh_traject", "traject",
(int)0, (int)11,
(float) { 0.0, 1.0, 1.0, 0.0, 0.0, -1.0, -1.0, -0.5, -0.5, 0.0, 0.0 },
(float) { 0.0, 1.0, 30.0, 31.0, 35.0, 36.0, 65.0, 66.0, 89.0, 90.0, 131.0 }
}
{ "vleugel_lv_traject", "traject",
(int)0, (int)11,
(float) { 0.0, 1.0, 1.0, 0.5, 0.5, -1.0, -1.0, -0.5, -0.5, 0.0, 0.0 },
(float) { 0.0, 1.0, 30.0, 31.0, 35.0, 36.0, 65.0, 66.0, 89.0, 90.0, 131.0 }
}
{ "vleugel_rv_traject", "traject",
(int)0, (int)11,
(float) { 0.0, 1.0, 1.0, 0.5, 0.5, -1.0, -1.0, -0.5, -0.5, 0.0, 0.0 },
(float) { 0.0, 1.0, 30.0, 31.0, 35.0, 36.0, 65.0, 66.0, 89.0, 90.0, 131.0 }
}
{ "vleugel_lh_traject", "reset_on_stop", (int)1 }
{ "vleugel_rh_traject", "reset_on_stop", (int)1 }
{ "vleugel_lv_traject", "reset_on_stop", (int)1 }
{ "vleugel_rv_traject", "reset_on_stop", (int)1 }
{ "vleugel_lh_pwm", "divider", (int)10 }
{ "vleugel_lh_pwm", "continuous_on", (int)0 }
{ "vleugel_lv_pwm", "divider", (int)10 }
{ "vleugel_lv_pwm", "continuous_on", (int)0 }
{ "vleugel_rh_pwm", "divider", (int)10 }
{ "vleugel_rh_pwm", "continuous_on", (int)0 }
{ "vleugel_rv_pwm", "divider", (int)10 }
{ "vleugel_rv_pwm", "continuous_on", (int)0 }
{ "vleugel_select", "overflow", (int)4 }
{ "huisje_voor_traject", "traject",
(int)0, (int)9,
(float) { 0.0, 1.0, 1.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0 },
(float) { 0.0, 2.0, 16.0, 18.0, 20.0, 22.0, 36.0, 38.0, 40.0 }
/* 16 sec */
}
{ "huisje_midden_traject", "traject",
(int)0, (int)9,
(float) { 0.0, 1.0, 1.0, 0.0, 0.0, -1.0, -1.0, 0.0, 0.0 },
(float) { 0.0, 2.0, 32.0, 34.0, 36.0, 38.0, 68.0, 70.0, 72.0 }
/* 32 sec */
}
{ "huisje_achter_traject", "traject",
(int)0, (int)9,
(float) { 0.0, -1.0, -1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0 },
(float) { 0.0, 4.0, 32.0, 36.0, 39.0, 43.0, 71.0, 75.0, 78.0 }
}
{ "huisje_voor_traject", "reset_on_stop", (int)1 }
{ "huisje_midden_traject", "reset_on_stop", (int)1 }
{ "huisje_achter_traject", "reset_on_stop", (int)1 }
{ "huisje_voor_pwm", "divider", (int)10 }
{ "huisje_voor_pwm", "continuous_on", (int)0 }
{ "huisje_midden_pwm", "divider", (int)10 }
{ "huisje_midden_pwm", "continuous_on", (int)0 }
{ "huisje_achter_pwm", "divider", (int)10 }
{ "huisje_achter_pwm", "continuous_on", (int)0 }
}
traces {
{ "vleugel_select", "uint32", "vleugel_select", "counter" }
{ "emergency", "bool", "stop_or", "q" }
{ "vleugel_lv", "float", "vleugel_lv_multiplexer", "out" }
{ "vleugel_lh", "float", "vleugel_lh_multiplexer", "out" }
{ "vleugel_rv", "float", "vleugel_rv_multiplexer", "out" }
{ "vleugel_rh", "float", "vleugel_rh_multiplexer", "out" }
}
frequency 1000
blocks {
{ "value_uint32", "select" }
{ "trajectplayer", "vleugel_lv_traject" }
{ "trajectplayer", "vleugel_lh_traject" }
{ "trajectplayer", "vleugel_rv_traject" }
{ "trajectplayer", "vleugel_rh_traject" }
{ "bridge_pwm", "vleugel_lv_pwm" }
{ "bridge_pwm", "vleugel_lh_pwm" }
{ "bridge_pwm", "vleugel_rv_pwm" }
{ "bridge_pwm", "vleugel_rh_pwm" }
{ "or3", "vleugel_start_or" }
{ "or3", "vleugel_stop_or" }
{ "multiplexer", "vleugel_lv_multiplexer", 4 }
{ "multiplexer", "vleugel_lh_multiplexer", 4 }
{ "multiplexer", "vleugel_rv_multiplexer", 4 }
{ "multiplexer", "vleugel_rh_multiplexer", 4 }
{ "counter", "vleugel_select" }
{ "beckhoff_el2xxx", "outputblock1", "EL2008", 1 }
{ "trajectplayer", "huisje_voor_traject" }
{ "trajectplayer", "huisje_midden_traject" }
{ "trajectplayer", "huisje_achter_traject" }
{ "bridge_pwm", "huisje_voor_pwm" }
{ "bridge_pwm", "huisje_midden_pwm" }
{ "bridge_pwm", "huisje_achter_pwm" }
{ "or2", "huisje_voor_start_or" }
{ "or2", "huisje_midden_start_or" }
{ "or2", "huisje_achter_start_or" }
{ "beckhoff_el2xxx", "outputblock2", "EL2008", 2 }
{ "joystick", "joystick", "/dev/input/js0" }
{ "beckhoff_el1xxx", "inputblock1", "EL1008", 4 }
{ "not", "emergency_not" }
{ "or2", "stop_or" }
{ "value_bool", "false" }
{ "value", "zero" }
{ "decoder_uint32_bool", "vleugel_select_dec", 4 }
{ "beckhoff_el2xxx", "outputblock3", "EL2008", 3 }
}
links {
{ "vleugel_lv_traject", "position", "vleugel_lv_multiplexer", "in0", true }
{ "vleugel_lh_traject", "position", "vleugel_lh_multiplexer", "in0", true }
{ "vleugel_rv_traject", "position", "vleugel_rv_multiplexer", "in0", true }
{ "vleugel_rh_traject", "position", "vleugel_rh_multiplexer", "in0", true }
{ "vleugel_lv_multiplexer", "out", "vleugel_lv_pwm", "in", true }
{ "vleugel_lh_multiplexer", "out", "vleugel_lh_pwm", "in", true }
{ "vleugel_rv_multiplexer", "out", "vleugel_rv_pwm", "in", true }
{ "vleugel_rh_multiplexer", "out", "vleugel_rh_pwm", "in", true }
{ "vleugel_lv_pwm", "a", "outputblock1", "output1", true }
{ "vleugel_lv_pwm", "b", "outputblock1", "output2", true }
{ "vleugel_lh_pwm", "a", "outputblock1", "output3", true }
{ "vleugel_lh_pwm", "b", "outputblock1", "output4", true }
{ "vleugel_rv_pwm", "a", "outputblock1", "output5", true }
{ "vleugel_rv_pwm", "b", "outputblock1", "output6", true }
{ "vleugel_rh_pwm", "a", "outputblock1", "output7", true }
{ "vleugel_rh_pwm", "b", "outputblock1", "output8", true }
{ "vleugel_start_or", "q", "vleugel_lv_traject", "start", true }
{ "vleugel_start_or", "q", "vleugel_rv_traject", "start", true }
{ "vleugel_start_or", "q", "vleugel_lh_traject", "start", true }
{ "vleugel_start_or", "q", "vleugel_rh_traject", "start", true }
{ "vleugel_stop_or", "q", "vleugel_lv_traject", "stop", true }
{ "vleugel_stop_or", "q", "vleugel_rv_traject", "stop", true }
{ "vleugel_stop_or", "q", "vleugel_lh_traject", "stop", true }
{ "vleugel_stop_or", "q", "vleugel_rh_traject", "stop", true }
{ "vleugel_lh_traject", "done", "vleugel_start_or", "c", false }
{ "stop_or", "q", "vleugel_stop_or", "a", true }
{ "vleugel_select", "counter", "vleugel_lv_multiplexer", "select", true }
{ "vleugel_select", "counter", "vleugel_lh_multiplexer", "select", true }
{ "vleugel_select", "counter", "vleugel_rv_multiplexer", "select", true }
{ "vleugel_select", "counter", "vleugel_rh_multiplexer", "select", true }
{ "joystick", "button2", "vleugel_select", "clk", true }
{ "joystick", "button2", "vleugel_stop_or", "b", true }
{ "joystick", "axis1", "vleugel_lv_multiplexer", "in1", true }
{ "joystick", "axis0", "vleugel_lh_multiplexer", "in1", true }
{ "joystick", "axis1", "vleugel_rv_multiplexer", "in1", true }
{ "joystick", "axis0", "vleugel_rh_multiplexer", "in1", true }
{ "joystick", "axis1", "vleugel_lv_multiplexer", "in2", true }
{ "joystick", "axis0", "vleugel_lh_multiplexer", "in2", true }
{ "zero", "value", "vleugel_rv_multiplexer", "in2", true }
{ "zero", "value", "vleugel_rh_multiplexer", "in2", true }
{ "zero", "value", "vleugel_lv_multiplexer", "in3", true }
{ "zero", "value", "vleugel_lh_multiplexer", "in3", true }
{ "joystick", "axis1", "vleugel_rv_multiplexer", "in3", true }
{ "joystick", "axis0", "vleugel_rh_multiplexer", "in3", true }
{ "huisje_voor_traject", "position", "huisje_voor_pwm", "in", true }
{ "huisje_midden_traject", "position", "huisje_midden_pwm", "in", true }
{ "huisje_achter_traject", "position", "huisje_achter_pwm", "in", true }
{ "huisje_voor_pwm", "a", "outputblock2", "output1", true }
{ "huisje_voor_pwm", "b", "outputblock2", "output2", true }
{ "huisje_midden_pwm", "a", "outputblock2", "output3", true }
{ "huisje_midden_pwm", "b", "outputblock2", "output4", true }
{ "huisje_achter_pwm", "a", "outputblock2", "output5", true }