Simple version for outreach using https://os.mbed.com/users/wsteenberg/code/

Dependencies:   mbed LCD_DISCO_F469NI TS_DISCO_F469NI BSP_DISCO_F469NI

Committer:
dcspencer
Date:
Fri Jul 12 12:04:18 2019 +0000
Revision:
1:8574e7a8fcde
Parent:
0:ebf3f36f3a64
Test

Who changed what in which revision?

UserRevisionLine numberNew 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