From 04805ce189034478f00d673bcfaec53233d1e994 Mon Sep 17 00:00:00 2001 From: Jim Martens Date: Fri, 29 May 2015 18:51:07 +0200 Subject: [PATCH] [ES] Finished 3.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-óff-by: Jim Martens --- es/blatt3/uebung3-5/uebung3-5.ino | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/es/blatt3/uebung3-5/uebung3-5.ino b/es/blatt3/uebung3-5/uebung3-5.ino index 54574bf..6eec18a 100644 --- a/es/blatt3/uebung3-5/uebung3-5.ino +++ b/es/blatt3/uebung3-5/uebung3-5.ino @@ -26,9 +26,9 @@ bool volatile read_ready = false; /** * Validates the new servo position. * - * @param int newServoPos + * @param long newServoPos */ -int validate_new_servo_pos(int newServoPos) { +int validate_new_servo_pos(long newServoPos) { if (newServoPos > 159) { newServoPos = 159; @@ -42,7 +42,9 @@ int validate_new_servo_pos(int newServoPos) { lightLED = true; } - return newServoPos; + int validatedServoPos = (int) newServoPos; + + return validatedServoPos; } /** @@ -50,11 +52,13 @@ int validate_new_servo_pos(int newServoPos) { * * @param char command */ -int parse_angle(char* command) { - // get position of ( and extract string until position of ) - char angle[5]; +long parse_angle(char* command) { + char* angle; - return (int) angle; + angle = strtok(command, "()"); + angle = strtok(NULL, "()"); + + return strtol(angle, NULL, 10); } /** @@ -91,7 +95,7 @@ void loop() { } command[i] = '\0'; - int servoPos = parse_angle(command); + long servoPos = parse_angle(command); int validatedServoPos = validate_new_servo_pos(servoPos); ourServo.write(validatedServoPos);