diff --git a/quad/Makefile b/quad/Makefile index ca04300af8cb6b1e97c8339b9e85fabd3a47b75e..d7e660d5292189ea4518b76079cdc2ac90893d33 100644 --- a/quad/Makefile +++ b/quad/Makefile @@ -18,16 +18,15 @@ libs: $(MAKE) -C src/commands $(MAKE) -C src/quad_app -bins: - $(MAKE) -C src/virt_quad +bins: libs + $(MAKE) -C src/virt_quad clean default + $(MAKE) -C src/gen_diagram clean default zybo: bash scripts/build_zybo.sh # For creating an image of the control network. -diagram: - $(MAKE) libs - $(MAKE) -C src/gen_diagram run +diagram: bins bash src/gen_diagram/create_png.sh boot: $(BOOT) diff --git a/quad/src/gen_diagram/Makefile b/quad/src/gen_diagram/Makefile index d0b152511bb15d8d9f4a10ba851b8c8152bb37a2..c9b2f683d2857f7435fdd615f8ba05334d49c9af 100644 --- a/quad/src/gen_diagram/Makefile +++ b/quad/src/gen_diagram/Makefile @@ -1,3 +1,5 @@ +# Running this make file directly will not re-link with quad_app, even if it has changed +# You should run `make diagram` from the top-level quad folder TOP=../.. NAME = gen_diagram diff --git a/quad/src/gen_diagram/create_png.sh b/quad/src/gen_diagram/create_png.sh index dae08313279d6dcc2c9f10d544f2308ace38d931..5c4a2939cf9eda23eb267bc95ca3e6818ce4e846 100755 --- a/quad/src/gen_diagram/create_png.sh +++ b/quad/src/gen_diagram/create_png.sh @@ -1,4 +1,6 @@ #/bin/bash -dot -Tpng "$(dirname $0)/network.dot" -o "$(dirname $0)/network.png" +cd $(dirname $0) +./../../bin/gen_diagram +dot -Tpng network.dot -o network.png diff --git a/quad/src/gen_diagram/network.dot b/quad/src/gen_diagram/network.dot index b61a1bbf57d09f7e7f9e9c0610766487446e9067..862aace068984b2f3bddf264eb8873d092ef1a27 100644 --- a/quad/src/gen_diagram/network.dot +++ b/quad/src/gen_diagram/network.dot @@ -7,7 +7,7 @@ label="<f0>Roll PID |<f1> --\>Cur point |<f2> --\>Setpoint |<f3> --\>dt |<f4> [ "Ts_IMU" -> "Roll PID":f3 [label="Constant"] "Pitch PID"[shape=record label="<f0>Pitch PID |<f1> --\>Cur point |<f2> --\>Setpoint |<f3> --\>dt |<f4> [Kp=15.000] |<f5> [Ki=0.000] |<f6> [Kd=0.200] |<f7> [alpha=0.000]"] -"Pitch" -> "Pitch PID":f1 [label="Constant"] +"Pitch trim add" -> "Pitch PID":f1 [label="Sum"] "RC Pitch" -> "Pitch PID":f2 [label="Constant"] "Ts_IMU" -> "Pitch PID":f3 [label="Constant"] "Yaw PID"[shape=record @@ -65,6 +65,12 @@ label="<f0>Pitch |<f1> [Constant=0.000]"] label="<f0>Roll |<f1> [Constant=0.000]"] "Yaw"[shape=record label="<f0>Yaw |<f1> [Constant=0.000]"] +"Pitch trim"[shape=record +label="<f0>Pitch trim |<f1> [Constant=0.000]"] +"Pitch trim add"[shape=record +label="<f0>Pitch trim add |<f1> --\>Summand 1 |<f2> --\>Summand 2"] +"Pitch trim" -> "Pitch trim add":f1 [label="Constant"] +"Pitch" -> "Pitch trim add":f2 [label="Constant"] "dTheta"[shape=record label="<f0>dTheta |<f1> [Constant=0.000]"] "dPhi"[shape=record @@ -72,13 +78,13 @@ label="<f0>dPhi |<f1> [Constant=0.000]"] "dPsi"[shape=record label="<f0>dPsi |<f1> [Constant=0.000]"] "P PWM Clamp"[shape=record -label="<f0>P PWM Clamp |<f1> --\>Bounds in |<f2> [Min=-20000.000] |<f3> [Max=20000.000]"] +label="<f0>P PWM Clamp |<f1> --\>Bounds in |<f2> [Min=-30000.000] |<f3> [Max=30000.000]"] "Pitch Rate PID" -> "P PWM Clamp":f1 [label="Correction"] "R PWM Clamp"[shape=record -label="<f0>R PWM Clamp |<f1> --\>Bounds in |<f2> [Min=-20000.000] |<f3> [Max=20000.000]"] +label="<f0>R PWM Clamp |<f1> --\>Bounds in |<f2> [Min=-30000.000] |<f3> [Max=30000.000]"] "Roll Rate PID" -> "R PWM Clamp":f1 [label="Correction"] "Y PWM Clamp"[shape=record -label="<f0>Y PWM Clamp |<f1> --\>Bounds in |<f2> [Min=-20000.000] |<f3> [Max=20000.000]"] +label="<f0>Y PWM Clamp |<f1> --\>Bounds in |<f2> [Min=-30000.000] |<f3> [Max=30000.000]"] "Yaw Rate PID" -> "Y PWM Clamp":f1 [label="Correction"] "VRPN X"[shape=record label="<f0>VRPN X |<f1> [Constant=0.000]"] diff --git a/quad/src/gen_diagram/network.png b/quad/src/gen_diagram/network.png index ffd286cda1878bd5e2b9b585f5883ac57173025d..65999177c759abd9b73da5ee19f7b4fea3b766e4 100644 Binary files a/quad/src/gen_diagram/network.png and b/quad/src/gen_diagram/network.png differ