Code for driving 9x OLED displays and reding from an HX711 load cell aplifier.
Dependencies: Adafruit_GFX SPI_TFT_ILI9341 TFT_fonts hx711 mbed
main.cpp@7:1e95e431fb06, 2016-06-15 (annotated)
- 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?
User | Revision | Line number | New 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 | } |