New version of quadcopter software written to OO principles
Dependencies: mbed MODSERIAL filter mbed-rtos ConfigFile PID PPM FreeIMU_external_magnetometer TinyGPS
StatusLights.cpp
00001 #include "StatusLights.h" 00002 00003 StatusLights::StatusLights() 00004 { 00005 _ledState = 0; 00006 _led1 = new DigitalOut(LED1); 00007 _led2 = new DigitalOut(LED2); 00008 _led3 = new DigitalOut(LED3); 00009 _led4 = new DigitalOut(LED4); 00010 00011 DEBUG("Status lights initialised\r\n"); 00012 } 00013 00014 StatusLights::~StatusLights(){} 00015 00016 void StatusLights::preFlight() 00017 { 00018 _led1 -> write(!_led1 -> read()); 00019 } 00020 00021 void StatusLights::standby() 00022 { 00023 _led2 -> write(!_led2 -> read()); 00024 } 00025 00026 void StatusLights::groundReady() 00027 { 00028 _led3 -> write(!_led3 -> read()); 00029 } 00030 00031 void StatusLights::flying() 00032 { 00033 _ledState++; 00034 if (_ledState > 5) { _ledState = 0; } 00035 00036 _led1 -> write(_ledState == 0); 00037 _led2 -> write(_ledState == 1 || _ledState == 5); 00038 _led3 -> write(_ledState == 2 || _ledState == 4); 00039 _led4 -> write(_ledState == 3); 00040 } 00041 00042 void StatusLights::error() 00043 { 00044 _led1 -> write(!_led1 -> read()); 00045 _led2 -> write(!_led2 -> read()); 00046 _led3 -> write(!_led3 -> read()); 00047 _led4 -> write(!_led4 -> read()); 00048 } 00049 00050 void StatusLights::clear() 00051 { 00052 _led1->write(0); 00053 _led2->write(0); 00054 _led3->write(0); 00055 _led4->write(0); 00056 _ledState = 0; 00057 }
Generated on Fri Jul 15 2022 00:21:58 by 1.7.2