Library for functionality of Blackberry Trackerball Breakout

Dependents:   BlackberryTrackerballBreakout_HelloWorld

Committer:
jkerickson
Date:
Wed Oct 21 19:11:12 2015 +0000
Revision:
0:9d5ffffa45a1
Library addition

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jkerickson 0:9d5ffffa45a1 1 #include "mbed.h"
jkerickson 0:9d5ffffa45a1 2 #include "Trackball.h"
jkerickson 0:9d5ffffa45a1 3
jkerickson 0:9d5ffffa45a1 4
jkerickson 0:9d5ffffa45a1 5 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)
jkerickson 0:9d5ffffa45a1 6 : _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)
jkerickson 0:9d5ffffa45a1 7 {
jkerickson 0:9d5ffffa45a1 8 //initialize all LED pins to off.
jkerickson 0:9d5ffffa45a1 9
jkerickson 0:9d5ffffa45a1 10 _pin_wht = 0;
jkerickson 0:9d5ffffa45a1 11 _pin_grn = 0;
jkerickson 0:9d5ffffa45a1 12 _pin_red = 0;
jkerickson 0:9d5ffffa45a1 13 _pin_blu = 0;
jkerickson 0:9d5ffffa45a1 14
jkerickson 0:9d5ffffa45a1 15 }
jkerickson 0:9d5ffffa45a1 16
jkerickson 0:9d5ffffa45a1 17 void Trackball::write(unsigned int val, int color)
jkerickson 0:9d5ffffa45a1 18
jkerickson 0:9d5ffffa45a1 19 {
jkerickson 0:9d5ffffa45a1 20 if (color == color_WHITE){_pin_wht = val;}
jkerickson 0:9d5ffffa45a1 21 else if(color == color_BLUE){_pin_blu = val;}
jkerickson 0:9d5ffffa45a1 22 else if(color == color_GREEN){_pin_grn = val;}
jkerickson 0:9d5ffffa45a1 23 else if(color == color_RED){_pin_red = val;}
jkerickson 0:9d5ffffa45a1 24 else {printf("Invalid LED Color");}
jkerickson 0:9d5ffffa45a1 25 }
jkerickson 0:9d5ffffa45a1 26 unsigned int Trackball::read(int dir)
jkerickson 0:9d5ffffa45a1 27
jkerickson 0:9d5ffffa45a1 28 {
jkerickson 0:9d5ffffa45a1 29 unsigned int val;
jkerickson 0:9d5ffffa45a1 30 if(dir == dir_UP){val = _pin_up;}
jkerickson 0:9d5ffffa45a1 31 else if(dir == dir_DOWN){val = _pin_dwn;}
jkerickson 0:9d5ffffa45a1 32 else if(dir == dir_RIGHT){val = _pin_rht;}
jkerickson 0:9d5ffffa45a1 33 else if(dir == dir_LEFT){val = _pin_lft;}
jkerickson 0:9d5ffffa45a1 34 else if(dir == dir_BUTTON){val = _pin_btn;}
jkerickson 0:9d5ffffa45a1 35 return val;
jkerickson 0:9d5ffffa45a1 36
jkerickson 0:9d5ffffa45a1 37 }