From 6de7d854f2b5246217e28f529dc86a22ecf530d4 Mon Sep 17 00:00:00 2001
From: Chris Spangler <chris.spangler@fau.de>
Date: Thu, 9 Aug 2018 21:40:21 +0200
Subject: [PATCH] this is the fucking worst

Former-commit-id: 898175bc6f8db191f8c08241440f08d335704f7a
---
 .../folien_vorstellung/slides/slides.tex         | 16 ++++++++++++++--
 ToyRep/firmware/axis.c                           |  5 +----
 ToyRep/firmware/axis.h                           |  1 -
 ToyRep/firmware/hello.c                          |  3 ---
 4 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/Praesentationen/folien_vorstellung/slides/slides.tex b/Praesentationen/folien_vorstellung/slides/slides.tex
index e4c639c..2355de4 100644
--- a/Praesentationen/folien_vorstellung/slides/slides.tex
+++ b/Praesentationen/folien_vorstellung/slides/slides.tex
@@ -208,6 +208,18 @@
 
 
 \section{Firmware}
+\begin{frame}\frametitle{Firmware}
+	\begin{itemize}
+		\item Eigene Firmware f\"ur den Drucker geschrieben
+		\begin{itemize}
+			\item Hinzuf\"ugen weiterer Funltionen einfacher
+			\item ...und der Programmierer hat auch Spa{\ss} :)
+		\end{itemize}
+		\item Viele Implementierungen aus den \"Ubungen wiederverwendet
+		\item G-Codes nach RepRapFirmware
+		\item Kompatibel mit 3D-Druck-Software wie Pronterface oder Octoprint
+	\end{itemize}
+\end{frame}
 \begin{frame}\frametitle{Firmware}
 	\center{\includegraphics[width=0.8\textwidth]{img/system_small.pdf}}
 \end{frame}
@@ -242,7 +254,7 @@
 \begin{frame}\frametitle{L\"osung}
 	\begin{itemize}
 		\item Diesem kann teilweise durch ein beheiztes Druckbett entgegengewirkt werden, kann jedoch trotzdem noch passieren!
-		\item IDEE: Implementierung einer \"Uberwachungseinheit, die bei Erkennung den Druckprozess anh\"alt (und ggf. jmd. darauf hinweist)
+		\item IDEE: Implementierung einer \"Uberwachung, die bei Erkennung den Druckprozess anh\"alt (und ggf. jmd. darauf hinweist)
 	\end{itemize}
 \end{frame}
 \begin{frame}\frametitle{Also welche M\"oglichkeiten gibt es?}	
@@ -273,7 +285,7 @@
 
 \section{Budget}
 \begin{frame}\frametitle{Budget}
-Ein detaillierterer Budgetplan findet sich auf unserem Wiki
+Ein kurzer Auszug aus unserem Budgetplan...	
 	\begin{itemize}
 		\item Einige Sachen wurden vom Lehrstuhl zur Verf\"ugung gestellt:
 			\begin{itemize}
diff --git a/ToyRep/firmware/axis.c b/ToyRep/firmware/axis.c
index 94aa5da..7ee14d7 100644
--- a/ToyRep/firmware/axis.c
+++ b/ToyRep/firmware/axis.c
@@ -20,7 +20,6 @@ void setAxisValues_extruderBolt(axis* axis, motor* motor) {
 	axis->motor = motor;
 	axis->lastPosMm = 0;
 	axis->stepsPerMm = (axis->motor->stepsPerRevo * axis->motor->gearRatio * gearRatio) / pitch;
-	axis->mmPerStep = 1.0 / axis->stepsPerMm;
 	axis->isReversed = false;
 	axis->homeReverse = false;
 	axis->isRelative = true;
@@ -32,7 +31,6 @@ void setAxisValues_M5(axis* axis, motor* motor) {
 	axis->motor = motor;
 	axis->lastPosMm = 0;
 	axis->stepsPerMm = (axis->motor->stepsPerRevo * axis->motor->gearRatio) / pitch;
-	axis->mmPerStep = 1.0 / axis->stepsPerMm;
 	axis->isReversed = false;
 	axis->homeReverse = false;
 	axis->isRelative = false;
@@ -45,7 +43,6 @@ void setAxisValues_T25(axis* axis, motor* motor, uint8_t teeth) {
 	axis->motor = motor;
 	axis->lastPosMm = 0;
 	axis->stepsPerMm = (axis->motor->stepsPerRevo * axis->motor->gearRatio) / (pitch * teeth);
-	axis->mmPerStep = 1.0 / axis->stepsPerMm;
 	axis->isReversed = false;
 	axis->homeReverse = false;
 	axis->isRelative = false;
@@ -83,7 +80,7 @@ void setAxisTarget(axis* axis, double targetPosMm, double speed) {
 	int32_t stepsToMove = roundSteps((targetPosMm - axis->lastPosMm) * axis->stepsPerMm);
 	axis->totalSteps += stepsToMove;
 	if (axis->isReversed) stepsToMove = -stepsToMove;
-	uint16_t stepsPerSec = (speed / 60) / axis->mmPerStep;
+	uint16_t stepsPerSec = (speed / 60) * axis->stepsPerMm;
 	setMotorMotion(axis->motor, stepsToMove, stepsPerSec);
 	if (!axis->isRelative) axis->lastPosMm = targetPosMm;
 	mutex_unlock(&(axis->lock));
diff --git a/ToyRep/firmware/axis.h b/ToyRep/firmware/axis.h
index a01be04..a4d1e94 100644
--- a/ToyRep/firmware/axis.h
+++ b/ToyRep/firmware/axis.h
@@ -16,7 +16,6 @@ typedef struct {
 	double homePos;
 	double volatile lastPosMm;
 	double stepsPerMm;
-	double mmPerStep;
 	double maxMmPerMin;
 	uint32_t endstopPort;
 	uint16_t endstopPin;
diff --git a/ToyRep/firmware/hello.c b/ToyRep/firmware/hello.c
index 31bea3f..da5deae 100644
--- a/ToyRep/firmware/hello.c
+++ b/ToyRep/firmware/hello.c
@@ -187,7 +187,6 @@ void thread_axis(cyg_addrword_t arg)
 	setup_input_gpio(X_ENDSTOP_PORT, X_ENDSTOP_PIN, false);
 	setMotorValues_28BYJ48(&mot_x, X_AXIS_PORT, X_AXIS_PIN1, X_AXIS_PIN2, X_AXIS_PIN3, X_AXIS_PIN4);
 	setAxisValues_T25(&axis_x, &mot_x, 20);
-	axis_x.mmPerStep *= 1.01875;
 	axis_x.stepsPerMm /= 1.01875;
 	axis_x.maxMmPerMin = 300.0;
 	axis_x.homePos = 100.0;
@@ -203,7 +202,6 @@ void thread_axis(cyg_addrword_t arg)
 	setup_input_gpio(Y_ENDSTOP_PORT, Y_ENDSTOP_PIN, false);
 	setMotorValues_28BYJ48(&mot_y, Y_AXIS_PORT, Y_AXIS_PIN1, Y_AXIS_PIN2, Y_AXIS_PIN3, Y_AXIS_PIN4);
 	setAxisValues_T25(&axis_y, &mot_y, 20);
-	axis_y.mmPerStep *= 1.0125;
 	axis_y.stepsPerMm /= 1.0125;
 	axis_y.maxMmPerMin = 300.0; // could actually be 340
 	axis_y.homePos = 100.0;
@@ -231,7 +229,6 @@ void thread_axis(cyg_addrword_t arg)
 	setMotorValues_28BYJ48(&mot_e, E_AXIS_PORT, E_AXIS_PIN1, E_AXIS_PIN2, E_AXIS_PIN3, E_AXIS_PIN4);
 	setAxisValues_extruderBolt(&axis_e, &mot_e);
 	axis_e.maxMmPerMin = 30.0;
-	axis_e.mmPerStep /= 1.064516129;
 	axis_e.stepsPerMm *= 1.064516129;
 	axis_e.isReversed = true;
 	
-- 
GitLab