lcd lib
Dependencies: mbed LCD_DISCO_F469NI TS_DISCO_F469NI BSP_DISCO_F469NI EasyCAT_lib
main.cpp@1:8574e7a8fcde, 2019-07-12 (annotated)
- Committer:
- dcspencer
- Date:
- Fri Jul 12 12:04:18 2019 +0000
- Revision:
- 1:8574e7a8fcde
- Parent:
- 0:ebf3f36f3a64
- Child:
- 2:4a0d3be00487
Test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wsteenberg | 0:ebf3f36f3a64 | 1 | //--------------------------------------------------------------- |
wsteenberg | 0:ebf3f36f3a64 | 2 | // |
wsteenberg | 0:ebf3f36f3a64 | 3 | // Demo program for |
wsteenberg | 0:ebf3f36f3a64 | 4 | // F469_Button and Slider library |
wsteenberg | 0:ebf3f36f3a64 | 5 | // |
wsteenberg | 0:ebf3f36f3a64 | 6 | //--------------------------------------------------------------- |
wsteenberg | 0:ebf3f36f3a64 | 7 | #include "mbed.h" |
wsteenberg | 0:ebf3f36f3a64 | 8 | #include "F469_BUTTON.hpp" |
wsteenberg | 0:ebf3f36f3a64 | 9 | #include "F469_SLIDER.hpp" |
wsteenberg | 0:ebf3f36f3a64 | 10 | |
wsteenberg | 0:ebf3f36f3a64 | 11 | DigitalOut led_green(LED1); |
wsteenberg | 0:ebf3f36f3a64 | 12 | DigitalOut led_orange(LED2); |
wsteenberg | 0:ebf3f36f3a64 | 13 | DigitalOut led_red(LED3); |
wsteenberg | 0:ebf3f36f3a64 | 14 | DigitalOut led_blue(LED4); |
wsteenberg | 0:ebf3f36f3a64 | 15 | |
wsteenberg | 0:ebf3f36f3a64 | 16 | TS_DISCO_F469NI ts_; |
wsteenberg | 0:ebf3f36f3a64 | 17 | LCD_DISCO_F469NI lcd_; |
wsteenberg | 0:ebf3f36f3a64 | 18 | |
wsteenberg | 0:ebf3f36f3a64 | 19 | |
wsteenberg | 0:ebf3f36f3a64 | 20 | char char_SliderDisplayValue[4]; // String Value to display for the Slider Control value |
wsteenberg | 0:ebf3f36f3a64 | 21 | uint16_t SliderDisplayValue_; // Variable used to access Slider Control Value in F469SLIDER.cpp |
wsteenberg | 0:ebf3f36f3a64 | 22 | |
wsteenberg | 0:ebf3f36f3a64 | 23 | int main() |
wsteenberg | 0:ebf3f36f3a64 | 24 | { |
wsteenberg | 0:ebf3f36f3a64 | 25 | led_green = 1; // Switch off all LEDs |
wsteenberg | 0:ebf3f36f3a64 | 26 | led_orange = 1; |
wsteenberg | 0:ebf3f36f3a64 | 27 | led_red = 1; |
wsteenberg | 0:ebf3f36f3a64 | 28 | led_blue = 1; |
wsteenberg | 0:ebf3f36f3a64 | 29 | |
wsteenberg | 0:ebf3f36f3a64 | 30 | lcd_.Clear(LCD_COLOR_WHITE); // Set LCD Background colour |
wsteenberg | 0:ebf3f36f3a64 | 31 | |
dcspencer | 1:8574e7a8fcde | 32 | // Slider sld1(lcd_, ts_, 20, 350, 220, 40, 5, 1, 20, |
dcspencer | 1:8574e7a8fcde | 33 | // LCD_COLOR_BLUE, LCD_COLOR_YELLOW, 1, "Slider1", Font20); // Define sld1 slider |
dcspencer | 1:8574e7a8fcde | 34 | // sld1.Render(); // Draw sld1 Slider |
wsteenberg | 0:ebf3f36f3a64 | 35 | |
dcspencer | 1:8574e7a8fcde | 36 | // Slider Slider2(lcd_, ts_, 300, 350, 300, 40, 50, 1, 100, |
dcspencer | 1:8574e7a8fcde | 37 | // LCD_COLOR_BLUE, LCD_COLOR_YELLOW, 2, "Slider2", Font20); // Define Slider2 slider |
dcspencer | 1:8574e7a8fcde | 38 | // Slider2.Render(); // Draw Slider2 Slider |
wsteenberg | 0:ebf3f36f3a64 | 39 | |
dcspencer | 1:8574e7a8fcde | 40 | Button btn1(lcd_, ts_, 20, 100, 120, 60, |
dcspencer | 1:8574e7a8fcde | 41 | LCD_COLOR_BLUE, LCD_COLOR_YELLOW, 1, "BUTTON1", Font20); // Define btn1 button |
dcspencer | 1:8574e7a8fcde | 42 | btn1.Render(); // Draw btn1 button |
wsteenberg | 0:ebf3f36f3a64 | 43 | |
dcspencer | 1:8574e7a8fcde | 44 | Button btn2(lcd_, ts_, 160, 100, 120, 60, |
dcspencer | 1:8574e7a8fcde | 45 | LCD_COLOR_DARKBLUE, LCD_COLOR_GREEN, 1, "BUTTON2", Font20); // Define test button |
dcspencer | 1:8574e7a8fcde | 46 | btn2.Render(); // Draw test button |
wsteenberg | 0:ebf3f36f3a64 | 47 | |
dcspencer | 1:8574e7a8fcde | 48 | // Button show(lcd_, ts_, 300, 100, 120, 60, |
dcspencer | 1:8574e7a8fcde | 49 | // LCD_COLOR_BROWN, LCD_COLOR_GRAY, 1, "SHOW", Font20); // Define hide button |
dcspencer | 1:8574e7a8fcde | 50 | // show.Hide(); |
wsteenberg | 0:ebf3f36f3a64 | 51 | |
dcspencer | 1:8574e7a8fcde | 52 | // Button hide(lcd_, ts_, 300, 100, 120, 60, |
dcspencer | 1:8574e7a8fcde | 53 | // LCD_COLOR_BROWN, LCD_COLOR_GRAY, 1, "HIDE", Font20); // Define hide button |
dcspencer | 1:8574e7a8fcde | 54 | // hide.Render(); // Draw hide button |
wsteenberg | 0:ebf3f36f3a64 | 55 | |
dcspencer | 1:8574e7a8fcde | 56 | // Button button3D(lcd_, ts_, 580, 100, 160, 60, |
dcspencer | 1:8574e7a8fcde | 57 | // LCD_COLOR_BLUE, LCD_COLOR_YELLOW, 2, "3D BUTTON", Font20); // Define button3D button |
dcspencer | 1:8574e7a8fcde | 58 | // button3D.Render(); // Draw 3Dbutton button |
wsteenberg | 0:ebf3f36f3a64 | 59 | |
wsteenberg | 0:ebf3f36f3a64 | 60 | |
wsteenberg | 0:ebf3f36f3a64 | 61 | |
wsteenberg | 0:ebf3f36f3a64 | 62 | lcd_.SetTextColor(LCD_COLOR_BLACK); // Set Text colour to Black |
wsteenberg | 0:ebf3f36f3a64 | 63 | lcd_.SetFont(&Font20); // Font size 20 |
dcspencer | 1:8574e7a8fcde | 64 | lcd_.DisplayStringAt(5, 5, (uint8_t *)"Button example for DISCO_F469", LEFT_MODE); // Display main header text |
wsteenberg | 0:ebf3f36f3a64 | 65 | |
wsteenberg | 0:ebf3f36f3a64 | 66 | lcd_.SetFont(&Font16); // Font size 16 |
dcspencer | 1:8574e7a8fcde | 67 | lcd_.DisplayStringAt(5, 45, (uint8_t *)"More text", LEFT_MODE); // Display secondary header text |
wsteenberg | 0:ebf3f36f3a64 | 68 | |
wsteenberg | 0:ebf3f36f3a64 | 69 | |
wsteenberg | 0:ebf3f36f3a64 | 70 | while (true) // Main program loop |
wsteenberg | 0:ebf3f36f3a64 | 71 | { |
wsteenberg | 0:ebf3f36f3a64 | 72 | led_green = 1; // Switch off all LEDs |
wsteenberg | 0:ebf3f36f3a64 | 73 | led_orange = 1; |
wsteenberg | 0:ebf3f36f3a64 | 74 | led_red = 1; |
wsteenberg | 0:ebf3f36f3a64 | 75 | led_blue = 1; |
wsteenberg | 0:ebf3f36f3a64 | 76 | |
wsteenberg | 0:ebf3f36f3a64 | 77 | |
wsteenberg | 0:ebf3f36f3a64 | 78 | |
dcspencer | 1:8574e7a8fcde | 79 | |
wsteenberg | 0:ebf3f36f3a64 | 80 | |
dcspencer | 1:8574e7a8fcde | 81 | |
wsteenberg | 0:ebf3f36f3a64 | 82 | |
wsteenberg | 0:ebf3f36f3a64 | 83 | |
wsteenberg | 0:ebf3f36f3a64 | 84 | if (btn1.Press()) // Check if btn1 button was touched and run instructions if true |
wsteenberg | 0:ebf3f36f3a64 | 85 | { |
wsteenberg | 0:ebf3f36f3a64 | 86 | lcd_.SetFont(&Font16); |
wsteenberg | 0:ebf3f36f3a64 | 87 | lcd_.SetTextColor(LCD_COLOR_BLACK); |
wsteenberg | 0:ebf3f36f3a64 | 88 | lcd_.DisplayStringAt(5, 200, (uint8_t *)"Button1 pressed - switch on orange LED", LEFT_MODE); |
wsteenberg | 0:ebf3f36f3a64 | 89 | led_orange = 0; |
wsteenberg | 0:ebf3f36f3a64 | 90 | wait(0.5); |
wsteenberg | 0:ebf3f36f3a64 | 91 | lcd_.DisplayStringAt(5, 200, (uint8_t *)" ", LEFT_MODE); |
wsteenberg | 0:ebf3f36f3a64 | 92 | } // End btn1 button instructions |
wsteenberg | 0:ebf3f36f3a64 | 93 | |
dcspencer | 1:8574e7a8fcde | 94 | if (btn2.Press()) // Check if test button was touched and run instructions if true |
wsteenberg | 0:ebf3f36f3a64 | 95 | { |
wsteenberg | 0:ebf3f36f3a64 | 96 | lcd_.SetFont(&Font16); |
wsteenberg | 0:ebf3f36f3a64 | 97 | lcd_.SetTextColor(LCD_COLOR_BLACK); |
wsteenberg | 0:ebf3f36f3a64 | 98 | lcd_.DisplayStringAt(5, 200, (uint8_t *)"TEST pressed - switch on red LED", LEFT_MODE); |
wsteenberg | 0:ebf3f36f3a64 | 99 | led_red = 0; |
wsteenberg | 0:ebf3f36f3a64 | 100 | wait(0.5); |
wsteenberg | 0:ebf3f36f3a64 | 101 | lcd_.DisplayStringAt(5, 200, (uint8_t *)" ", LEFT_MODE); |
wsteenberg | 0:ebf3f36f3a64 | 102 | |
wsteenberg | 0:ebf3f36f3a64 | 103 | } // End test button instructions |
wsteenberg | 0:ebf3f36f3a64 | 104 | |
dcspencer | 1:8574e7a8fcde | 105 | /* if (hide.Press()) // Check if hide button was touched and run instructions if true |
wsteenberg | 0:ebf3f36f3a64 | 106 | { |
wsteenberg | 0:ebf3f36f3a64 | 107 | lcd_.SetFont(&Font16); |
wsteenberg | 0:ebf3f36f3a64 | 108 | lcd_.SetTextColor(LCD_COLOR_BLACK); |
wsteenberg | 0:ebf3f36f3a64 | 109 | lcd_.DisplayStringAt(5, 200, (uint8_t *)"Hide pressed - Hide other buttons", LEFT_MODE); |
wsteenberg | 0:ebf3f36f3a64 | 110 | led_green = 0; |
wsteenberg | 0:ebf3f36f3a64 | 111 | btn1.Hide(); // Hide btn1 button |
wsteenberg | 0:ebf3f36f3a64 | 112 | test.Hide(); // Hide test button |
wsteenberg | 0:ebf3f36f3a64 | 113 | hide.Hide(); |
wsteenberg | 0:ebf3f36f3a64 | 114 | show.Render(); |
wsteenberg | 0:ebf3f36f3a64 | 115 | wait(0.5); |
wsteenberg | 0:ebf3f36f3a64 | 116 | lcd_.DisplayStringAt(5, 200, (uint8_t *)" ", LEFT_MODE); |
wsteenberg | 0:ebf3f36f3a64 | 117 | } // End hide button instructions |
dcspencer | 1:8574e7a8fcde | 118 | |
wsteenberg | 0:ebf3f36f3a64 | 119 | |
wsteenberg | 0:ebf3f36f3a64 | 120 | if (show.Press()) // Check if hide button was touched and run instructions if true |
wsteenberg | 0:ebf3f36f3a64 | 121 | { |
wsteenberg | 0:ebf3f36f3a64 | 122 | lcd_.SetFont(&Font16); |
wsteenberg | 0:ebf3f36f3a64 | 123 | lcd_.SetTextColor(LCD_COLOR_BLACK); |
wsteenberg | 0:ebf3f36f3a64 | 124 | lcd_.DisplayStringAt(5, 200, (uint8_t *)"UNHIDE pressed - Restore other buttons", LEFT_MODE); |
wsteenberg | 0:ebf3f36f3a64 | 125 | led_blue = 0; |
wsteenberg | 0:ebf3f36f3a64 | 126 | wait(0.5); |
wsteenberg | 0:ebf3f36f3a64 | 127 | lcd_.DisplayStringAt(5, 200, (uint8_t *)" ", LEFT_MODE); |
wsteenberg | 0:ebf3f36f3a64 | 128 | show.Hide(); // Hide show button before drawing new button in same place |
wsteenberg | 0:ebf3f36f3a64 | 129 | hide.Render(); // Draw hide button after hiding button in same position |
wsteenberg | 0:ebf3f36f3a64 | 130 | btn1.Render(); // Draw btn1 button |
wsteenberg | 0:ebf3f36f3a64 | 131 | test.Render(); // Draw test button |
wsteenberg | 0:ebf3f36f3a64 | 132 | |
wsteenberg | 0:ebf3f36f3a64 | 133 | } |
wsteenberg | 0:ebf3f36f3a64 | 134 | |
wsteenberg | 0:ebf3f36f3a64 | 135 | if (button3D.Press()) // Check if 3Dbutton button was touched and run instructions if true |
wsteenberg | 0:ebf3f36f3a64 | 136 | { |
wsteenberg | 0:ebf3f36f3a64 | 137 | lcd_.SetFont(&Font16); |
wsteenberg | 0:ebf3f36f3a64 | 138 | lcd_.SetTextColor(LCD_COLOR_BLACK); |
wsteenberg | 0:ebf3f36f3a64 | 139 | lcd_.DisplayStringAt(5, 200, (uint8_t *)"3D Button pressed - switch on blue LED", LEFT_MODE); |
wsteenberg | 0:ebf3f36f3a64 | 140 | led_blue = 0; |
wsteenberg | 0:ebf3f36f3a64 | 141 | wait(0.5); |
wsteenberg | 0:ebf3f36f3a64 | 142 | lcd_.DisplayStringAt(5, 200, (uint8_t *)" ", LEFT_MODE); |
wsteenberg | 0:ebf3f36f3a64 | 143 | } // End 3D button instructions |
dcspencer | 1:8574e7a8fcde | 144 | */ |
wsteenberg | 0:ebf3f36f3a64 | 145 | wait(0.02f); |
wsteenberg | 0:ebf3f36f3a64 | 146 | } // End Main program loop |
wsteenberg | 0:ebf3f36f3a64 | 147 | } // End Main program |