Interactive Device Design
/
idd_hw5_group_alloy_kl25z
Code for the kl25z component of our project - for group Alloy.
Diff: Window.cpp
- Revision:
- 0:85181831ea03
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Window.cpp Mon Nov 10 17:30:55 2014 +0000 @@ -0,0 +1,51 @@ +/* Window.cpp */ +#include "Window.h" +#include "Servo.h" +#include "mbed.h" + +Window::Window() {} + +Window::Window(Servo* s, float timer) { + servo = s; + + windowOpen = true; + + // Had to guess and check this value after + // the servo was modified to move 360 degrees. + servoStop = 0.48; + + // How long it takes for the window to completely + // raise or lower. + windowMovementTimer = timer; + + // closeWindow(); +} + +bool Window::isWindowOpen() { + return windowOpen; +} + +bool Window::openWindow() { + if (!isWindowOpen()) { + servo->write(0.6); + windowOpen = true; + wait(windowMovementTimer); + servo->write(servoStop); + windowOpen = true; + return true; + } + // window already open + return false; +} + +bool Window::closeWindow() { + if (isWindowOpen()) { + servo->write(0.35); + wait(windowMovementTimer); + servo->write(servoStop); + windowOpen = false; + return true; + } + // window already closed + return false; +} \ No newline at end of file