Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Window.cpp@0:85181831ea03, 2014-11-10 (annotated)
- Committer:
- douglasc
- Date:
- Mon Nov 10 17:30:55 2014 +0000
- Revision:
- 0:85181831ea03
initial commit
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| douglasc | 0:85181831ea03 | 1 | /* Window.cpp */ | 
| douglasc | 0:85181831ea03 | 2 | #include "Window.h" | 
| douglasc | 0:85181831ea03 | 3 | #include "Servo.h" | 
| douglasc | 0:85181831ea03 | 4 | #include "mbed.h" | 
| douglasc | 0:85181831ea03 | 5 | |
| douglasc | 0:85181831ea03 | 6 | Window::Window() {} | 
| douglasc | 0:85181831ea03 | 7 | |
| douglasc | 0:85181831ea03 | 8 | Window::Window(Servo* s, float timer) { | 
| douglasc | 0:85181831ea03 | 9 | servo = s; | 
| douglasc | 0:85181831ea03 | 10 | |
| douglasc | 0:85181831ea03 | 11 | windowOpen = true; | 
| douglasc | 0:85181831ea03 | 12 | |
| douglasc | 0:85181831ea03 | 13 | // Had to guess and check this value after | 
| douglasc | 0:85181831ea03 | 14 | // the servo was modified to move 360 degrees. | 
| douglasc | 0:85181831ea03 | 15 | servoStop = 0.48; | 
| douglasc | 0:85181831ea03 | 16 | |
| douglasc | 0:85181831ea03 | 17 | // How long it takes for the window to completely | 
| douglasc | 0:85181831ea03 | 18 | // raise or lower. | 
| douglasc | 0:85181831ea03 | 19 | windowMovementTimer = timer; | 
| douglasc | 0:85181831ea03 | 20 | |
| douglasc | 0:85181831ea03 | 21 | // closeWindow(); | 
| douglasc | 0:85181831ea03 | 22 | } | 
| douglasc | 0:85181831ea03 | 23 | |
| douglasc | 0:85181831ea03 | 24 | bool Window::isWindowOpen() { | 
| douglasc | 0:85181831ea03 | 25 | return windowOpen; | 
| douglasc | 0:85181831ea03 | 26 | } | 
| douglasc | 0:85181831ea03 | 27 | |
| douglasc | 0:85181831ea03 | 28 | bool Window::openWindow() { | 
| douglasc | 0:85181831ea03 | 29 | if (!isWindowOpen()) { | 
| douglasc | 0:85181831ea03 | 30 | servo->write(0.6); | 
| douglasc | 0:85181831ea03 | 31 | windowOpen = true; | 
| douglasc | 0:85181831ea03 | 32 | wait(windowMovementTimer); | 
| douglasc | 0:85181831ea03 | 33 | servo->write(servoStop); | 
| douglasc | 0:85181831ea03 | 34 | windowOpen = true; | 
| douglasc | 0:85181831ea03 | 35 | return true; | 
| douglasc | 0:85181831ea03 | 36 | } | 
| douglasc | 0:85181831ea03 | 37 | // window already open | 
| douglasc | 0:85181831ea03 | 38 | return false; | 
| douglasc | 0:85181831ea03 | 39 | } | 
| douglasc | 0:85181831ea03 | 40 | |
| douglasc | 0:85181831ea03 | 41 | bool Window::closeWindow() { | 
| douglasc | 0:85181831ea03 | 42 | if (isWindowOpen()) { | 
| douglasc | 0:85181831ea03 | 43 | servo->write(0.35); | 
| douglasc | 0:85181831ea03 | 44 | wait(windowMovementTimer); | 
| douglasc | 0:85181831ea03 | 45 | servo->write(servoStop); | 
| douglasc | 0:85181831ea03 | 46 | windowOpen = false; | 
| douglasc | 0:85181831ea03 | 47 | return true; | 
| douglasc | 0:85181831ea03 | 48 | } | 
| douglasc | 0:85181831ea03 | 49 | // window already closed | 
| douglasc | 0:85181831ea03 | 50 | return false; | 
| douglasc | 0:85181831ea03 | 51 | } |