From d8d0ba936e8a9b736d6c032244c2ef211f7c8373 Mon Sep 17 00:00:00 2001 From: e5l Date: Wed, 17 Aug 2016 20:06:40 +0300 Subject: [PATCH] translator: remote control firmware --- car_fmw/src/echo.kt | 14 -------------- car_fmw/src/rcControl.kt | 29 ++++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/car_fmw/src/echo.kt b/car_fmw/src/echo.kt index 7cea2dacc45..da8ba527f7e 100644 --- a/car_fmw/src/echo.kt +++ b/car_fmw/src/echo.kt @@ -40,17 +40,3 @@ fun writeRoute(route: RouteRequest) { sendByteArray(buffer) } -fun go(request: RouteRequest) { - val times = request.distances - var j = 0 - - while (j < times.size) { - val time = times[j] - - engine_forward() - wait(time) - engine_stop() - j++ - } - -} diff --git a/car_fmw/src/rcControl.kt b/car_fmw/src/rcControl.kt index 8e9cc326606..f6cc3669aa9 100644 --- a/car_fmw/src/rcControl.kt +++ b/car_fmw/src/rcControl.kt @@ -1,3 +1,30 @@ -fun rcControl() { +enum class RouteType(val id: Int) { + FORWARD(0), + BACKWARD(1), + LEFT(2), + RIGHT(3); +} + +fun go(request: RouteRequest) { + val times = request.distances + val actions = request.angles + var j = 0 + + while (j < times.size) { + val time = times[j] + val action = actions[j] + + when (action) { + RouteType.FORWARD.id -> engine_forward() + RouteType.BACKWARD.id -> engine_backward() + RouteType.LEFT.id -> engine_turn_left() + RouteType.RIGHT.id -> engine_turn_right() + } + + wait(time) + engine_stop() + j++ + } + } \ No newline at end of file