Code for driving 9x OLED displays and reding from an HX711 load cell aplifier.

Dependencies:   Adafruit_GFX SPI_TFT_ILI9341 TFT_fonts hx711 mbed

Committer:
jimconner
Date:
Wed Jun 15 17:13:40 2016 +0000
Revision:
7:1e95e431fb06
Parent:
6:f0ee0b0bc480
First commit of code to drive 9x OLED displays

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jimconner 0:3745349c0c83 1 /*
jimconner 0:3745349c0c83 2 * Copyright (c) 2012 Neal Horman - http://www.wanlink.com
jimconner 0:3745349c0c83 3 *
jimconner 0:3745349c0c83 4 * License: MIT open source (http://opensource.org/licenses/MIT)
jimconner 0:3745349c0c83 5 * Summary;
jimconner 0:3745349c0c83 6 * Use / modify / distribute / publish it how you want and
jimconner 0:3745349c0c83 7 * if you use it, or don't, you can't hold me liable for how
jimconner 0:3745349c0c83 8 * it does or doesn't work.
jimconner 0:3745349c0c83 9 * If it doesn't work how you want, don't use it, or change
jimconner 0:3745349c0c83 10 * it so that it does work.
jimconner 0:3745349c0c83 11 */
jimconner 0:3745349c0c83 12
jimconner 0:3745349c0c83 13 #include "mbed.h"
jimconner 0:3745349c0c83 14 #include "Adafruit_SSD1306.h"
jimconner 0:3745349c0c83 15 #include "Adafruit_GFX.h"
jimconner 0:3745349c0c83 16 #include "PinNames.h"
jimconner 3:6dcf74b20bed 17 #include "SPI_TFT_ILI9341.h"
jimconner 3:6dcf74b20bed 18 #include "string"
jimconner 3:6dcf74b20bed 19 #include "Arial12x12.h"
jimconner 3:6dcf74b20bed 20 #include "Arial24x23.h"
jimconner 3:6dcf74b20bed 21 #include "Arial28x28.h"
jimconner 3:6dcf74b20bed 22 #include "font_big.h"
jimconner 6:f0ee0b0bc480 23 #include "hx711.h"
jimconner 6:f0ee0b0bc480 24
jimconner 6:f0ee0b0bc480 25 // Onboard LED
jimconner 2:c5f60c130f9a 26 DigitalOut led1(LED1);
jimconner 2:c5f60c130f9a 27 DigitalOut led2(LED2);
jimconner 0:3745349c0c83 28
jimconner 6:f0ee0b0bc480 29 // Control Buttons
jimconner 5:1f0fc1bc6850 30 DigitalIn sw_left(PTC8);
jimconner 5:1f0fc1bc6850 31 DigitalIn sw_right(PTC9);
jimconner 5:1f0fc1bc6850 32 DigitalIn sw_up(PTC0);
jimconner 5:1f0fc1bc6850 33 DigitalIn sw_down(PTC7);
jimconner 5:1f0fc1bc6850 34 DigitalIn sw_fire(PTC5);
jimconner 5:1f0fc1bc6850 35
jimconner 6:f0ee0b0bc480 36 // Mux Port for OLED Displays
jimconner 3:6dcf74b20bed 37 BusOut MuxPortOut(PTB11, PTB2, PTB10, PTB3);
jimconner 3:6dcf74b20bed 38
jimconner 6:f0ee0b0bc480 39 // Load Cell
jimconner 6:f0ee0b0bc480 40 HX711 load_cell(PTC2, PTA2); // clock, data_out
jimconner 6:f0ee0b0bc480 41
jimconner 3:6dcf74b20bed 42 DigitalOut LCD_LED(PTC3); // the TFT display has a backlight switch
jimconner 3:6dcf74b20bed 43
jimconner 3:6dcf74b20bed 44 extern unsigned char p1[]; // the mbed logo
jimconner 3:6dcf74b20bed 45 // the TFT is connected to SPI pin 5-7
jimconner 3:6dcf74b20bed 46 SPI_TFT_ILI9341 TFT(PTD2, PTD3, PTD1, PTD0, PTC4, PTE26,"TFT"); // mosi, miso, sck, cs, reset, dc
jimconner 3:6dcf74b20bed 47
jimconner 0:3745349c0c83 48
jimconner 0:3745349c0c83 49 // an SPI sub-class that provides a constructed default
jimconner 0:3745349c0c83 50 class SPIPreInit : public SPI
jimconner 0:3745349c0c83 51 {
jimconner 0:3745349c0c83 52 public:
jimconner 0:3745349c0c83 53 SPIPreInit(PinName mosi, PinName miso, PinName clk) : SPI(mosi,miso,clk)
jimconner 0:3745349c0c83 54 {
jimconner 0:3745349c0c83 55 format(8,3);
jimconner 0:3745349c0c83 56 frequency(2000000);
jimconner 0:3745349c0c83 57 };
jimconner 0:3745349c0c83 58 };
jimconner 0:3745349c0c83 59
jimconner 0:3745349c0c83 60 // an I2C sub-class that provides a constructed default
jimconner 0:3745349c0c83 61 class I2CPreInit : public I2C
jimconner 0:3745349c0c83 62 {
jimconner 0:3745349c0c83 63 public:
jimconner 3:6dcf74b20bed 64 I2CPreInit(PinName sda, PinName scl) : I2C(sda, scl)
jimconner 0:3745349c0c83 65 {
jimconner 0:3745349c0c83 66 frequency(800000);
jimconner 0:3745349c0c83 67 start();
jimconner 0:3745349c0c83 68 wait(0.1); // needed so that the displays initialise properly at power-on.
jimconner 0:3745349c0c83 69 };
jimconner 0:3745349c0c83 70 };
jimconner 0:3745349c0c83 71
jimconner 0:3745349c0c83 72 //SPIPreInit gSpi(p5,NC,p7);
jimconner 0:3745349c0c83 73 //Adafruit_SSD1306_Spi gOled1(gSpi,p26,p25,p24);
jimconner 0:3745349c0c83 74
jimconner 3:6dcf74b20bed 75 I2CPreInit gI2C(I2C_SDA,I2C_SCL);
jimconner 1:c09b25119427 76 //mux_SSD1306_I2c gOled1(gI2C,Reset_Pin,muxport, muxmask, 0, 0x78,64);
jimconner 1:c09b25119427 77
jimconner 3:6dcf74b20bed 78 mux_SSD1306_I2c gOled1(gI2C,PTC16,MuxPortOut, 0, 0x78,64);
jimconner 3:6dcf74b20bed 79 mux_SSD1306_I2c gOled2(gI2C,PTC16,MuxPortOut, 0, 0x7A,64);
jimconner 3:6dcf74b20bed 80 mux_SSD1306_I2c gOled3(gI2C,PTC16,MuxPortOut, 1, 0x78,64);
jimconner 3:6dcf74b20bed 81 mux_SSD1306_I2c gOled4(gI2C,PTC16,MuxPortOut, 1, 0x7A,64);
jimconner 3:6dcf74b20bed 82 mux_SSD1306_I2c gOled5(gI2C,PTC16,MuxPortOut, 2, 0x78,64);
jimconner 3:6dcf74b20bed 83 mux_SSD1306_I2c gOled6(gI2C,PTC16,MuxPortOut, 2, 0x7A,64);
jimconner 3:6dcf74b20bed 84 mux_SSD1306_I2c gOled7(gI2C,PTC16,MuxPortOut, 3, 0x78,64);
jimconner 3:6dcf74b20bed 85 mux_SSD1306_I2c gOled8(gI2C,PTC16,MuxPortOut, 3, 0x7A,64);
jimconner 3:6dcf74b20bed 86 mux_SSD1306_I2c gOled9(gI2C,PTC16,MuxPortOut, 4, 0x78,64);
jimconner 1:c09b25119427 87
jimconner 1:c09b25119427 88
jimconner 1:c09b25119427 89
jimconner 0:3745349c0c83 90
jimconner 0:3745349c0c83 91 void testdrawline() {
jimconner 0:3745349c0c83 92 for (int16_t i=0; i<gOled1.width(); i+=4) {
jimconner 0:3745349c0c83 93 gOled1.drawLine(0, 0, i, gOled1.height()-1, WHITE);
jimconner 0:3745349c0c83 94 gOled1.display();
jimconner 0:3745349c0c83 95 }
jimconner 0:3745349c0c83 96 for (int16_t i=0; i<gOled2.height(); i+=4) {
jimconner 0:3745349c0c83 97 gOled2.drawLine(0, 0, gOled2.width()-1, i, WHITE);
jimconner 0:3745349c0c83 98 gOled2.display();
jimconner 0:3745349c0c83 99 }
jimconner 0:3745349c0c83 100 for (int16_t i=0; i<gOled3.height(); i+=4) {
jimconner 0:3745349c0c83 101 gOled3.drawLine(0, 0, gOled3.width()-1, i, WHITE);
jimconner 0:3745349c0c83 102 gOled3.display();
jimconner 0:3745349c0c83 103 }
jimconner 3:6dcf74b20bed 104 for (int16_t i=0; i<gOled4.width(); i+=4) {
jimconner 3:6dcf74b20bed 105 gOled4.drawLine(0, 0, i, gOled4.height()-1, WHITE);
jimconner 3:6dcf74b20bed 106 gOled4.display();
jimconner 3:6dcf74b20bed 107 }
jimconner 1:c09b25119427 108 for (int16_t i=0; i<gOled5.width(); i+=4) {
jimconner 1:c09b25119427 109 gOled5.drawLine(0, 0, i, gOled5.height()-1, WHITE);
jimconner 1:c09b25119427 110 gOled5.display();
jimconner 1:c09b25119427 111 }
jimconner 1:c09b25119427 112 for (int16_t i=0; i<gOled6.width(); i+=4) {
jimconner 1:c09b25119427 113 gOled6.drawLine(0, 0, i, gOled6.height()-1, WHITE);
jimconner 1:c09b25119427 114 gOled6.display();
jimconner 1:c09b25119427 115 }
jimconner 2:c5f60c130f9a 116 for (int16_t i=0; i<gOled7.width(); i+=4) {
jimconner 2:c5f60c130f9a 117 gOled7.drawLine(0, 0, i, gOled7.height()-1, WHITE);
jimconner 2:c5f60c130f9a 118 gOled7.display();
jimconner 2:c5f60c130f9a 119 }
jimconner 1:c09b25119427 120 for (int16_t i=0; i<gOled8.width(); i+=4) {
jimconner 1:c09b25119427 121 gOled8.drawLine(0, 0, i, gOled8.height()-1, WHITE);
jimconner 1:c09b25119427 122 gOled8.display();
jimconner 1:c09b25119427 123 }
jimconner 3:6dcf74b20bed 124 for (int16_t i=0; i<gOled9.width(); i+=4) {
jimconner 3:6dcf74b20bed 125 gOled9.drawLine(0, 0, i, gOled9.height()-1, WHITE);
jimconner 3:6dcf74b20bed 126 gOled9.display();
jimconner 3:6dcf74b20bed 127 }
jimconner 0:3745349c0c83 128
jimconner 0:3745349c0c83 129 }
jimconner 0:3745349c0c83 130
jimconner 0:3745349c0c83 131
jimconner 0:3745349c0c83 132
jimconner 0:3745349c0c83 133 int main()
jimconner 3:6dcf74b20bed 134 {
jimconner 6:f0ee0b0bc480 135 // Set our input buttons to pull-up mode
jimconner 5:1f0fc1bc6850 136 sw_left.mode(PullUp);
jimconner 5:1f0fc1bc6850 137 sw_right.mode(PullUp);
jimconner 5:1f0fc1bc6850 138 sw_up.mode(PullUp);
jimconner 5:1f0fc1bc6850 139 sw_down.mode(PullUp);
jimconner 5:1f0fc1bc6850 140 sw_fire.mode(PullUp);
jimconner 5:1f0fc1bc6850 141
jimconner 3:6dcf74b20bed 142 // ILI9341 Test Routine
jimconner 3:6dcf74b20bed 143 int i;
jimconner 3:6dcf74b20bed 144 LCD_LED = 1; // backlight on
jimconner 3:6dcf74b20bed 145
jimconner 3:6dcf74b20bed 146 TFT.claim(stdout); // send stdout to the TFT display
jimconner 3:6dcf74b20bed 147 //TFT.claim(stderr); // send stderr to the TFT display
jimconner 3:6dcf74b20bed 148 TFT.set_orientation(1);
jimconner 3:6dcf74b20bed 149 TFT.background(Black); // set background to black
jimconner 3:6dcf74b20bed 150 TFT.foreground(White); // set chars to white
jimconner 3:6dcf74b20bed 151 TFT.cls(); // clear the screen
jimconner 3:6dcf74b20bed 152
jimconner 3:6dcf74b20bed 153 //first show the 4 directions
jimconner 3:6dcf74b20bed 154 TFT.set_orientation(0);
jimconner 3:6dcf74b20bed 155 TFT.background(Black);
jimconner 3:6dcf74b20bed 156 TFT.cls();
jimconner 3:6dcf74b20bed 157
jimconner 3:6dcf74b20bed 158 TFT.set_font((unsigned char*) Arial12x12);
jimconner 3:6dcf74b20bed 159 TFT.locate(0,0);
jimconner 3:6dcf74b20bed 160 TFT.printf(" Hello Mbed 0");
jimconner 3:6dcf74b20bed 161 TFT.set_orientation(1);
jimconner 3:6dcf74b20bed 162 TFT.locate(0,0);
jimconner 3:6dcf74b20bed 163 TFT.printf(" Hello Mbed 1");
jimconner 3:6dcf74b20bed 164 TFT.set_orientation(2);
jimconner 3:6dcf74b20bed 165 TFT.locate(0,0);
jimconner 3:6dcf74b20bed 166 TFT.printf(" Hello Mbed 2");
jimconner 3:6dcf74b20bed 167 TFT.set_orientation(3);
jimconner 3:6dcf74b20bed 168 TFT.locate(0,0);
jimconner 3:6dcf74b20bed 169 TFT.printf(" Hello Mbed 3");
jimconner 4:89541d91cef1 170 TFT.set_orientation(2);
jimconner 3:6dcf74b20bed 171 TFT.set_font((unsigned char*) Arial24x23);
jimconner 4:89541d91cef1 172 TFT.locate(5,100);
jimconner 4:89541d91cef1 173 TFT.printf("The Mixologist");
jimconner 3:6dcf74b20bed 174
jimconner 3:6dcf74b20bed 175 // draw some graphics
jimconner 3:6dcf74b20bed 176 TFT.cls();
jimconner 3:6dcf74b20bed 177 TFT.set_font((unsigned char*) Arial24x23);
jimconner 4:89541d91cef1 178 TFT.locate(5,100);
jimconner 4:89541d91cef1 179 TFT.printf("The Mixologist");
jimconner 3:6dcf74b20bed 180
jimconner 3:6dcf74b20bed 181 TFT.line(0,0,100,0,Green);
jimconner 3:6dcf74b20bed 182 TFT.line(0,0,0,200,Green);
jimconner 3:6dcf74b20bed 183 TFT.line(0,0,100,200,Green);
jimconner 3:6dcf74b20bed 184
jimconner 3:6dcf74b20bed 185 TFT.rect(100,50,150,100,Red);
jimconner 3:6dcf74b20bed 186 TFT.fillrect(180,25,220,70,Blue);
jimconner 3:6dcf74b20bed 187
jimconner 3:6dcf74b20bed 188 TFT.circle(80,150,33,White);
jimconner 3:6dcf74b20bed 189 TFT.fillcircle(160,190,20,Yellow);
jimconner 3:6dcf74b20bed 190
jimconner 3:6dcf74b20bed 191 double s;
jimconner 3:6dcf74b20bed 192
jimconner 3:6dcf74b20bed 193 for (i=0; i<320; i++) {
jimconner 3:6dcf74b20bed 194 s =20 * sin((long double) i / 10 );
jimconner 3:6dcf74b20bed 195 TFT.pixel(i,100 + (int)s ,Red);
jimconner 3:6dcf74b20bed 196 }
jimconner 3:6dcf74b20bed 197 TFT.set_orientation(2);
jimconner 3:6dcf74b20bed 198 TFT.set_font((unsigned char*) Arial24x23);
jimconner 3:6dcf74b20bed 199
jimconner 3:6dcf74b20bed 200 /* // bigger text
jimconner 3:6dcf74b20bed 201 TFT.foreground(White);
jimconner 3:6dcf74b20bed 202 TFT.background(Blue);
jimconner 3:6dcf74b20bed 203 TFT.cls();
jimconner 3:6dcf74b20bed 204 TFT.set_font((unsigned char*) Arial24x23);
jimconner 3:6dcf74b20bed 205 TFT.locate(0,0);
jimconner 3:6dcf74b20bed 206 TFT.printf("Different Fonts :");
jimconner 3:6dcf74b20bed 207
jimconner 3:6dcf74b20bed 208 TFT.set_font((unsigned char*) Neu42x35);
jimconner 3:6dcf74b20bed 209 TFT.locate(0,30);
jimconner 3:6dcf74b20bed 210 TFT.printf("Hello Mbed 1");
jimconner 3:6dcf74b20bed 211 TFT.set_font((unsigned char*) Arial24x23);
jimconner 3:6dcf74b20bed 212 TFT.locate(20,80);
jimconner 3:6dcf74b20bed 213 TFT.printf("Hello Mbed 2");
jimconner 3:6dcf74b20bed 214 TFT.set_font((unsigned char*) Arial12x12);
jimconner 3:6dcf74b20bed 215 TFT.locate(35,120);
jimconner 3:6dcf74b20bed 216 TFT.printf("Hello Mbed 3");
jimconner 3:6dcf74b20bed 217 */
jimconner 3:6dcf74b20bed 218
jimconner 3:6dcf74b20bed 219 // start of OLED Code
jimconner 3:6dcf74b20bed 220 uint16_t x=0;
jimconner 0:3745349c0c83 221 uint16_t y=65535;
jimconner 6:f0ee0b0bc480 222 long a=16348;
jimconner 0:3745349c0c83 223 uint16_t b=49152;
jimconner 0:3745349c0c83 224 led1=1;
jimconner 0:3745349c0c83 225 led2=1;
jimconner 0:3745349c0c83 226
jimconner 0:3745349c0c83 227 gOled1.clearDisplay();
jimconner 0:3745349c0c83 228 gOled2.clearDisplay();
jimconner 0:3745349c0c83 229 gOled3.clearDisplay();
jimconner 3:6dcf74b20bed 230 gOled4.clearDisplay();
jimconner 1:c09b25119427 231 gOled5.clearDisplay();
jimconner 1:c09b25119427 232 gOled6.clearDisplay();
jimconner 2:c5f60c130f9a 233 gOled7.clearDisplay();
jimconner 1:c09b25119427 234 gOled8.clearDisplay();
jimconner 3:6dcf74b20bed 235 gOled9.clearDisplay();
jimconner 0:3745349c0c83 236
jimconner 0:3745349c0c83 237 testdrawline();
jimconner 0:3745349c0c83 238
jimconner 0:3745349c0c83 239 gOled1.clearDisplay();
jimconner 0:3745349c0c83 240 gOled2.clearDisplay();
jimconner 0:3745349c0c83 241 gOled3.clearDisplay();
jimconner 3:6dcf74b20bed 242 gOled4.clearDisplay();
jimconner 1:c09b25119427 243 gOled5.clearDisplay();
jimconner 1:c09b25119427 244 gOled6.clearDisplay();
jimconner 2:c5f60c130f9a 245 gOled7.clearDisplay();
jimconner 1:c09b25119427 246 gOled8.clearDisplay();
jimconner 3:6dcf74b20bed 247 gOled9.clearDisplay();
jimconner 0:3745349c0c83 248
jimconner 1:c09b25119427 249 gOled1.printf(" Aqua Vega A \r\n\n\n\n", gOled1.width(), gOled1.height());
jimconner 1:c09b25119427 250 gOled2.printf(" Aqua Vega B \r\n\n\n\n", gOled2.width(), gOled2.height());
jimconner 1:c09b25119427 251 gOled3.printf(" Cannazyme \r\n\n\n\n", gOled3.width(), gOled3.height());
jimconner 3:6dcf74b20bed 252 gOled4.printf(" Rhizotonic \r\n\n\n\n", gOled4.width(), gOled4.height());
jimconner 1:c09b25119427 253 gOled5.printf(" Aqua Flores A \r\n\n\n\n", gOled5.width(), gOled5.height());
jimconner 1:c09b25119427 254 gOled6.printf(" Aqua Flores B \r\n\n\n\n", gOled6.width(), gOled6.height());
jimconner 2:c5f60c130f9a 255 gOled7.printf(" PK13/14 \r\n\n\n\n", gOled7.width(), gOled7.height());
jimconner 1:c09b25119427 256 gOled8.printf(" Cannaboost \r\n\n\n\n", gOled8.width(), gOled8.height());
jimconner 3:6dcf74b20bed 257 gOled9.printf(" pH-Down \r\n\n\n\n", gOled9.width(), gOled9.height());
jimconner 0:3745349c0c83 258 gOled1.setTextSize(2);
jimconner 0:3745349c0c83 259 gOled2.setTextSize(2);
jimconner 6:f0ee0b0bc480 260 gOled3.setTextSize(1);
jimconner 3:6dcf74b20bed 261 gOled4.setTextSize(2);
jimconner 1:c09b25119427 262 gOled5.setTextSize(2);
jimconner 1:c09b25119427 263 gOled6.setTextSize(2);
jimconner 2:c5f60c130f9a 264 gOled7.setTextSize(2);
jimconner 6:f0ee0b0bc480 265 gOled8.setTextSize(1);
jimconner 3:6dcf74b20bed 266 gOled9.setTextSize(2);
jimconner 0:3745349c0c83 267
jimconner 4:89541d91cef1 268 TFT.cls();
jimconner 0:3745349c0c83 269 while(1)
jimconner 0:3745349c0c83 270 {
jimconner 2:c5f60c130f9a 271 led1 = 0;
jimconner 0:3745349c0c83 272 gOled1.printf(" %uml\r",x);
jimconner 0:3745349c0c83 273 gOled1.display();
jimconner 1:c09b25119427 274 gOled6.printf(" %uml\r",x);
jimconner 1:c09b25119427 275 gOled6.display();
jimconner 0:3745349c0c83 276 led1 = 1;
jimconner 2:c5f60c130f9a 277 led2 = 0;
jimconner 0:3745349c0c83 278 gOled2.printf(" %uml\r",y);
jimconner 0:3745349c0c83 279 gOled2.display();
jimconner 3:6dcf74b20bed 280 gOled4.printf(" %uml\r",y);
jimconner 3:6dcf74b20bed 281 gOled4.display();
jimconner 2:c5f60c130f9a 282 gOled7.printf(" %uml\r",y);
jimconner 2:c5f60c130f9a 283 gOled7.display();
jimconner 1:c09b25119427 284 gOled3.printf(" %uml\r",a);
jimconner 0:3745349c0c83 285 gOled3.display();
jimconner 1:c09b25119427 286 gOled8.printf(" %uml\r",a);
jimconner 1:c09b25119427 287 gOled8.display();
jimconner 1:c09b25119427 288 gOled5.printf(" %uml\r",b);
jimconner 1:c09b25119427 289 gOled5.display();
jimconner 3:6dcf74b20bed 290 gOled9.printf(" %uml\r",b);
jimconner 3:6dcf74b20bed 291 gOled9.display();
jimconner 0:3745349c0c83 292 led2 = 1;
jimconner 0:3745349c0c83 293 x++;
jimconner 0:3745349c0c83 294 y--;
jimconner 5:1f0fc1bc6850 295 if ( sw_up == 0 ){
jimconner 5:1f0fc1bc6850 296 a++;
jimconner 5:1f0fc1bc6850 297 }
jimconner 5:1f0fc1bc6850 298 if ( sw_down == 0 ){
jimconner 5:1f0fc1bc6850 299 a--;
jimconner 5:1f0fc1bc6850 300 }
jimconner 6:f0ee0b0bc480 301 if ( sw_left == 0 ){
jimconner 6:f0ee0b0bc480 302 a = load_cell.readData();
jimconner 6:f0ee0b0bc480 303 }
jimconner 5:1f0fc1bc6850 304
jimconner 0:3745349c0c83 305 b--;
jimconner 4:89541d91cef1 306 TFT.locate(10,80);
jimconner 4:89541d91cef1 307 TFT.foreground(65535);
jimconner 3:6dcf74b20bed 308 TFT.printf("A Value:%d",a);
jimconner 4:89541d91cef1 309 TFT.locate(10,120);
jimconner 4:89541d91cef1 310 TFT.foreground(65504);
jimconner 3:6dcf74b20bed 311 TFT.printf("B Value:%d",b);
jimconner 4:89541d91cef1 312 TFT.locate(10,160);
jimconner 4:89541d91cef1 313 TFT.foreground(2016);
jimconner 3:6dcf74b20bed 314 TFT.printf("X Value:%d",x);
jimconner 4:89541d91cef1 315 TFT.locate(10,200);
jimconner 4:89541d91cef1 316 TFT.foreground(05535);
jimconner 3:6dcf74b20bed 317 TFT.printf("Y Value:%d",y);
jimconner 0:3745349c0c83 318 //wait(0.1);
jimconner 0:3745349c0c83 319 }
jimconner 0:3745349c0c83 320 }