Jane Erickson / Trackball

Dependents:   BlackberryTrackerballBreakout_HelloWorld

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Trackball.cpp Source File

Trackball.cpp

00001 #include "mbed.h"
00002 #include "Trackball.h"
00003 
00004 
00005 Trackball::Trackball(PinName pin_btn, PinName pin_lft, PinName pin_rht, PinName pin_up, PinName pin_dwn, PinName pin_wht, PinName pin_grn, PinName pin_red, PinName pin_blu)
00006     : _pin_btn(pin_btn), _pin_lft(pin_lft), _pin_rht(pin_rht), _pin_up(pin_up), _pin_dwn(pin_dwn), _pin_wht(pin_wht), _pin_grn(pin_grn), _pin_red(pin_red), _pin_blu(pin_blu)
00007 {
00008        //initialize all LED pins to off.
00009 
00010     _pin_wht = 0;
00011     _pin_grn = 0;
00012     _pin_red = 0;
00013     _pin_blu = 0;
00014 
00015 }
00016 
00017 void Trackball::write(unsigned int val, int color)
00018 
00019     {
00020         if (color == color_WHITE){_pin_wht = val;}
00021         else if(color == color_BLUE){_pin_blu = val;}
00022         else if(color == color_GREEN){_pin_grn = val;}
00023         else if(color == color_RED){_pin_red = val;}
00024         else {printf("Invalid LED Color");}
00025     }
00026 unsigned int Trackball::read(int dir)
00027 
00028     {
00029         unsigned int val;
00030         if(dir == dir_UP){val = _pin_up;}
00031         else if(dir == dir_DOWN){val = _pin_dwn;}
00032         else if(dir == dir_RIGHT){val = _pin_rht;}
00033         else if(dir == dir_LEFT){val = _pin_lft;}
00034         else if(dir == dir_BUTTON){val = _pin_btn;}
00035         return val;
00036         
00037     }