Basic fading in and out of leds with light sensor.

Dependencies:   mbed

Committer:
mturner5
Date:
Mon Sep 19 03:24:58 2016 +0000
Revision:
0:cf7af2656659
Basic v1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mturner5 0:cf7af2656659 1 #pragma once
mturner5 0:cf7af2656659 2 #include "mbed.h"
mturner5 0:cf7af2656659 3
mturner5 0:cf7af2656659 4 /* ------ sample usage------
mturner5 0:cf7af2656659 5
mturner5 0:cf7af2656659 6 #include "mbed.h"
mturner5 0:cf7af2656659 7 #include "SLCD.h"
mturner5 0:cf7af2656659 8
mturner5 0:cf7af2656659 9 SLCD slcd;
mturner5 0:cf7af2656659 10
mturner5 0:cf7af2656659 11 main()
mturner5 0:cf7af2656659 12 {
mturner5 0:cf7af2656659 13 slcd.printf("1.2.3.4"); // standard printf function, only charaters in ASCII_TO_WF_CODIFICATION_TABLE will display
mturner5 0:cf7af2656659 14 // Dots printed using decimal points
mturner5 0:cf7af2656659 15 slcd.putc('A'); // prints a single character
mturner5 0:cf7af2656659 16 slcd.clear(); // All segments off
mturner5 0:cf7af2656659 17 slcd.All_Segments(y); // y=1 for ALL segments on, 0 for ALL segments off
mturner5 0:cf7af2656659 18 slcd.DP(x, true/false); // Set/Clear decimal point. x=0, 1 or 2.
mturner5 0:cf7af2656659 19 // Does nothing if invalid decimal point
mturner5 0:cf7af2656659 20 slcd.DPx(y); // x=DP1 to DP3, y=1 for on 0 for off (legacy)
mturner5 0:cf7af2656659 21 slcd.Colon(y); // y=1 for on, 0 for off
mturner5 0:cf7af2656659 22 slcd.CharPosition=x; // x=0 to 3, 0 is start position
mturner5 0:cf7af2656659 23 slcd.Home(); // sets next charater to posistion 0 (start)
mturner5 0:cf7af2656659 24 slcd.Contrast (x); // set contrast x=0 - 15, 0 lightest, 15 darkest
mturner5 0:cf7af2656659 25 slcd.blink(x); // set display to blink, 0-7 is blink rate (default = 3), -1 disables blink
mturner5 0:cf7af2656659 26 slcd.deepsleepEnable(x);// true (default) keeps the lcd enabled in deepsleep, false disables its 4MHz internal oscillator clock. Total power consumption ~= 40uA
mturner5 0:cf7af2656659 27 }
mturner5 0:cf7af2656659 28 */
mturner5 0:cf7af2656659 29
mturner5 0:cf7af2656659 30 /**
mturner5 0:cf7af2656659 31 * SLCD peripheral of the FRDM-KL46Z\n
mturner5 0:cf7af2656659 32 Inherits mbed::Stream and supports the majority of Stream functions.
mturner5 0:cf7af2656659 33
mturner5 0:cf7af2656659 34 @code
mturner5 0:cf7af2656659 35 #include "mbed.h"
mturner5 0:cf7af2656659 36 #include "SLCD.h"
mturner5 0:cf7af2656659 37
mturner5 0:cf7af2656659 38 SLCD slcd;
mturner5 0:cf7af2656659 39
mturner5 0:cf7af2656659 40 main()
mturner5 0:cf7af2656659 41 {
mturner5 0:cf7af2656659 42 slcd.Home(); // Moves cursor to position 0 (start)
mturner5 0:cf7af2656659 43 slcd.printf("1.2.3.4"); // Standard printf function, only characters in ASCII_TO_WF_CODIFICATION_TABLE will display
mturner5 0:cf7af2656659 44 // Dots printed using decimal points
mturner5 0:cf7af2656659 45 slcd.putc('A'); // Prints a single character
mturner5 0:cf7af2656659 46
mturner5 0:cf7af2656659 47 while(1); // Wait forever
mturner5 0:cf7af2656659 48 }
mturner5 0:cf7af2656659 49 @endcode
mturner5 0:cf7af2656659 50 */
mturner5 0:cf7af2656659 51 class SLCD : public Stream
mturner5 0:cf7af2656659 52 {
mturner5 0:cf7af2656659 53 public:
mturner5 0:cf7af2656659 54 //! Construct an SLCD object
mturner5 0:cf7af2656659 55 SLCD();
mturner5 0:cf7af2656659 56
mturner5 0:cf7af2656659 57 //! Move the SLCD cursor to the first character
mturner5 0:cf7af2656659 58 void Home();
mturner5 0:cf7af2656659 59 /**
mturner5 0:cf7af2656659 60 * Set contrast
mturner5 0:cf7af2656659 61 * @param lbContrast 0 - 15, 0 lightest, 15 darkest
mturner5 0:cf7af2656659 62 */
mturner5 0:cf7af2656659 63 void Contrast (uint8_t lbContrast);
mturner5 0:cf7af2656659 64 void All_Segments (int);
mturner5 0:cf7af2656659 65 //! Turn off all segments
mturner5 0:cf7af2656659 66 void clear();
mturner5 0:cf7af2656659 67 /**
mturner5 0:cf7af2656659 68 * Turn a decimal point on or off
mturner5 0:cf7af2656659 69 * @param pos decimal point position: 0-2
mturner5 0:cf7af2656659 70 * @param on True or False
mturner5 0:cf7af2656659 71 */
mturner5 0:cf7af2656659 72 void DP(int pos, bool on);
mturner5 0:cf7af2656659 73 void DP1 (int);
mturner5 0:cf7af2656659 74 void DP2 (int);
mturner5 0:cf7af2656659 75 void DP3 (int);
mturner5 0:cf7af2656659 76 //! Turn the colon symbol on or off
mturner5 0:cf7af2656659 77 void Colon (bool on);
mturner5 0:cf7af2656659 78 //! Current cursor position
mturner5 0:cf7af2656659 79 uint8_t CharPosition;
mturner5 0:cf7af2656659 80 void blink(int blink = 3);
mturner5 0:cf7af2656659 81 void deepsleepEnable(bool enable);
mturner5 0:cf7af2656659 82
mturner5 0:cf7af2656659 83 private:
mturner5 0:cf7af2656659 84 void Write_Char(char lbValue);
mturner5 0:cf7af2656659 85 void init();
mturner5 0:cf7af2656659 86 virtual int _putc(int c);
mturner5 0:cf7af2656659 87 virtual int _getc() {
mturner5 0:cf7af2656659 88 return 0;
mturner5 0:cf7af2656659 89 }
mturner5 0:cf7af2656659 90 };