From a150bcdb8c63cefd58352bd36910800cb1ae1948 Mon Sep 17 00:00:00 2001
From: Felix Agner <felix.agner@control.lth.se>
Date: Wed, 9 Nov 2022 11:04:19 +0100
Subject: [PATCH] bug fixes and cleaning

---
 README.md        | 11 +++++++++++
 src/Omnibot.jl   |  2 ++
 src/setspeeds.jl | 45 ++++++++++++++++++++-------------------------
 3 files changed, 33 insertions(+), 25 deletions(-)

diff --git a/README.md b/README.md
index f1f1866..57b9cc5 100644
--- a/README.md
+++ b/README.md
@@ -28,6 +28,17 @@ for i = 1:100
     sleep(0.1)
 end
 
+close(bot)
+```
+### Example: Read the maximum set-point for servo speed
+```
+using Omnibot
+
+ip = ...
+bot = connectomnibot(ip)
+
+println(getmaxspeed(bot))
+
 close(bot)
 ```
 
diff --git a/src/Omnibot.jl b/src/Omnibot.jl
index 7c45a50..08493ec 100644
--- a/src/Omnibot.jl
+++ b/src/Omnibot.jl
@@ -5,6 +5,8 @@ export getx
 export gety
 export getz
 export gettheta
+export getmaxspeed
+export setspeed
 
 using Sockets
 include("connectomnibot.jl")
diff --git a/src/setspeeds.jl b/src/setspeeds.jl
index 0ca1053..6ebb1c0 100644
--- a/src/setspeeds.jl
+++ b/src/setspeeds.jl
@@ -1,39 +1,34 @@
 """
     setspeed(bot::TCPSocket,i::Int,v::Int)
 
-sets the speed of servo `i` to `v`.
-
-# Arguments
-- `bot::TCPSocket`: the socket-connection to the robot.
-- `i::Int`: index of the servo, takes values 1-3.
-- `v::Int`: integer servo speed set-point.
+sets the speed of servo `i::Int` to `v::Int`, where `i` takes values 1,2,3.
 """
 function setspeed(bot::TCPSocket,i::Int,v::Int)
-msg = 'w'*string(i)*string(v)
-print(bot,msg)
-ret = readline(bot)
-if msg[1] == 'e'
-    error(ret)
-end
+    msg = 'w'*string(i)*string(v)
+    print(bot,msg)
+    ret = readline(bot)
+    if msg[1] == 'e'
+        error(ret)
+    end
 
-return ret
+    return ret
 end
 
 """
-    setspeeds(bot::TCPSocket,v::Vector{Int})
+    setspeed(bot::TCPSocket,v::Vector{Int})
 
-Set the speed-setpoint of servos to the values in vector v.
+Also callable with a vector `v`. Then the set-points are set such that servo 1 gets set-point `v[1]` etc.
 """
 function setspeed(bot::TCPSocket,v::Int)
-fullret = ""
-for (i,s) in enumerate(v)
-    msg = 'w'*string(i)*string(s)
-    print(bot,msg)
-    ret = readline(bot)
-    if msg[1] == 'e'
-        error(ret)
+    fullret = ""
+    for (i,s) in enumerate(v)
+        msg = 'w'*string(i)*string(s)
+        print(bot,msg)
+        ret = readline(bot)
+        if msg[1] == 'e'
+            error(ret)
+        end
+        fullret = fullret*ret*"\n"
     end
-    fullret = fullret*ret*"\n"
-end
-return fullret
+    return fullret
 end
\ No newline at end of file
-- 
GitLab