From 3a9de3545ed4216c328d028222ed0b99a44995e2 Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Tue, 11 Sep 2018 09:03:06 -0700 Subject: [PATCH] adding stop-watch project (#1207) --- docs/examples.md | 5 --- docs/examples/stop-watch.md | 20 --------- docs/projects/fashion.md | 5 +++ docs/projects/stop-watch.md | 54 +++++++++++++++++++++++++ docs/static/mb/projects/stop-watch.png | Bin 0 -> 25964 bytes 5 files changed, 59 insertions(+), 25 deletions(-) delete mode 100644 docs/examples/stop-watch.md create mode 100644 docs/projects/stop-watch.md create mode 100644 docs/static/mb/projects/stop-watch.png diff --git a/docs/examples.md b/docs/examples.md index c9a5a255..c19908c7 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -53,11 +53,6 @@ Here are some fun programs for your @boardname@! "description": "Chart analog input on the LED screen", "url": "/examples/plot-analog-pin", "cardType": "example" -}, { - "name": "Stop Watch", - "description": "Easily track time", - "url": "/examples/stop-watch", - "cardType": "example" }, { "name": "Radio Dashboard", "description": "A dashboard for radio clients", diff --git a/docs/examples/stop-watch.md b/docs/examples/stop-watch.md deleted file mode 100644 index 38fa74fe..00000000 --- a/docs/examples/stop-watch.md +++ /dev/null @@ -1,20 +0,0 @@ -# Stop watch - -Press ``A`` to start the counter. Press ``A`` again to stop and display the duration. - -```blocks -let sec = 0 -let start = 0 -input.onButtonPressed(Button.A, function () { - if (!(start)) { - start = input.runningTime() - basic.showIcon(IconNames.Butterfly) - } else { - sec = input.runningTime() - start / 1000 - start = 0 - basic.clearScreen() - basic.showNumber(sec) - } -}) -start = 0 -``` diff --git a/docs/projects/fashion.md b/docs/projects/fashion.md index 69687c2a..e36ca609 100644 --- a/docs/projects/fashion.md +++ b/docs/projects/fashion.md @@ -11,6 +11,11 @@ "name": "Watch", "url":"/projects/watch", "imageUrl":"/static/mb/projects/a10-watch.png" +}, { + "name": "Stop Watch", + "description": "Easily track time", + "url": "/projects/stop-watch", + "imageUrl":"/static/mb/projects/stop-watch.png" }] ``` diff --git a/docs/projects/stop-watch.md b/docs/projects/stop-watch.md new file mode 100644 index 00000000..239302d3 --- /dev/null +++ b/docs/projects/stop-watch.md @@ -0,0 +1,54 @@ +# Stop watch + +![A @boardname@ stop watch toon image](/static/mb/projects/stop-watch.png) + +This project turns the @boardname@ into a simple stop-watch. You can use it the [Watch project] +if you've build it already. Pressing **A** will start the timer +and pressing **A** again will display the resulting time. Let's get started. + +## Program state + +The stop watch has two states: it is either stopped or measuring time. +Let's create a new variable ``start_time`` to track the state: +* if ``start_time`` is equal to ``0``, the watch is stopped. +* if ``start_time`` is **not** equal to ``0``, the watch is running and the value of ``start_time`` is +the time it started. + +## Pseudo code + +The rough outline of the code is as follows: when a user presses **A**, we start by determining in which +state we are. If the watch is stopped (``start time`` is 0), we start the counter and store the current time. If the watch is running (``start time`` is not 0), we compute the duration and reset ``start time`` to 0. + +The ``||input:runningTime||`` block returns the number of **milli**-seconds elapsed since the @boardname@ was turned on. To compute the duration in seconds, we use the following formula: + + duration in seconds = (current time - start time) / 1000.0 + +In pseudo code, this could look like this: +``` +on button pressed + if start time is 0 + store current time into start time + else + show duration + reset start time +``` + +If you translate the pseudo-code line by line into blocks, it might end up like this. + +```blocks +let start_time = 0 +input.onButtonPressed(Button.A, function () { + // is the watch running? + if (start_time == 0) { + // store current time + start_time = input.runningTime() + basic.showIcon(IconNames.Butterfly) + } else { + // compute duration and display it + basic.showNumber(Math.idiv(input.runningTime() - start_time, 1000)) + // reset watch state + start_time = 0 + } +}) +start_time = 0 +``` diff --git a/docs/static/mb/projects/stop-watch.png b/docs/static/mb/projects/stop-watch.png new file mode 100644 index 0000000000000000000000000000000000000000..08f4dfd75a0609e5b15aa8d7ce74a4b9f3d43660 GIT binary patch literal 25964 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 OJkU_l0il(wBK`*;*f>i7 literal 0 HcmV?d00001