Code for the kl25z component of our project - for group Alloy.

Dependencies:   Servo mbed

Committer:
douglasc
Date:
Mon Nov 10 17:30:55 2014 +0000
Revision:
0:85181831ea03
initial commit

Who changed what in which revision?

UserRevisionLine numberNew 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 }