Example of defining a custom class
Dependencies: mbed
Revision 0:cdc3209dbb53, committed 2015-09-23
- Comitter:
- bjo3rn
- Date:
- Wed Sep 23 20:24:41 2015 +0000
- Child:
- 1:aabc627fb0d1
- Commit message:
- initial commit;
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Sep 23 20:24:41 2015 +0000 @@ -0,0 +1,40 @@ +#include "mbed.h" + +/******************** + * Interactive Device Design Custom Class Demonstration + * bjoern@eecs.berkeley.edu, 9/23/2015 + ********************/ + + +class RGBLed { +public: + + // constructor - same name as class, does nothing + RGBLed () { + } + + //set red, green, blue of on-board LED + // r,g,b range from 0.0(off) to 1.0(full on) + void setColor(float r, float b, float g){ + PwmOut redPin(LED_RED); + PwmOut greenPin(LED_GREEN); + PwmOut bluePin(LED_BLUE); + redPin = 1.0-r; //invert: PWM 0=on, 1.0=off + bluePin = 1.0-b; + greenPin = 1.0-g; + } +private: + //no private methods or fields +}; + + +RGBLed myLed; //declare a variable of our new class type + +int main() { + while(1) { + myLed.setColor(1.0, 0.0, 0.0); //call the member function setColor() - this is red + wait(0.2); + myLed.setColor(0.0, 0.0, 1.0); //this is green + wait(0.2); + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Sep 23 20:24:41 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/4f6c30876dfa \ No newline at end of file