Sensor reporting over USB CDC

Dependencies:   MAG3110 MMA8451Q SLCD- TSI USBDevice mbed

Committer:
wue
Date:
Wed Apr 16 12:20:12 2014 +0000
Revision:
0:7b58cdacf811
Sensor reporting over USB CDC

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wue 0:7b58cdacf811 1 #pragma once
wue 0:7b58cdacf811 2
wue 0:7b58cdacf811 3 #include "mbed.h"
wue 0:7b58cdacf811 4
wue 0:7b58cdacf811 5
wue 0:7b58cdacf811 6 /* ------ sample usage------
wue 0:7b58cdacf811 7
wue 0:7b58cdacf811 8 #include "mbed.h"
wue 0:7b58cdacf811 9 #include "SLCD.h"
wue 0:7b58cdacf811 10
wue 0:7b58cdacf811 11 SLCD slcd;
wue 0:7b58cdacf811 12
wue 0:7b58cdacf811 13 main()
wue 0:7b58cdacf811 14 {
wue 0:7b58cdacf811 15 slcd.printf("1.2.3.4"); // standard printf function, only charaters in ASCII_TO_WF_CODIFICATION_TABLE will display
wue 0:7b58cdacf811 16 // Dots printed using decimal points
wue 0:7b58cdacf811 17 slcd.putc('A'); // prints a single character
wue 0:7b58cdacf811 18 slcd.clear(); // All segments off
wue 0:7b58cdacf811 19 slcd.All_Segments(y); // y=1 for ALL segments on, 0 for ALL segments off
wue 0:7b58cdacf811 20 slcd.DP(x, true/false); // Set/Clear decimal point. x=0, 1 or 2.
wue 0:7b58cdacf811 21 // Does nothing if invalid decimal point
wue 0:7b58cdacf811 22 slcd.DPx(y); // x=DP1 to DP3, y=1 for on 0 for off (legacy)
wue 0:7b58cdacf811 23 slcd.Colon(y); // y=1 for on, 0 for off
wue 0:7b58cdacf811 24 slcd.CharPosition=x; // x=0 to 3, 0 is start position
wue 0:7b58cdacf811 25 slcd.Home(); // sets next charater to posistion 0 (start)
wue 0:7b58cdacf811 26 slcd.Contrast (x); // set contrast x=0 - 15, 0 lightest, 15 darkest
wue 0:7b58cdacf811 27 slcd.blink(x); // set display to blink, 0-7 is blink rate (default = 3), -1 disables blink
wue 0:7b58cdacf811 28 slcd.deepsleepEnable(x);// true (default) keeps the lcd enabled in deepsleep, false disables its 4MHz internal oscillator clock. Total power consumption ~= 40uA
wue 0:7b58cdacf811 29 }
wue 0:7b58cdacf811 30 */
wue 0:7b58cdacf811 31
wue 0:7b58cdacf811 32 class SLCD : public Stream
wue 0:7b58cdacf811 33 {
wue 0:7b58cdacf811 34 public:
wue 0:7b58cdacf811 35 SLCD();
wue 0:7b58cdacf811 36
wue 0:7b58cdacf811 37 void Home (void);
wue 0:7b58cdacf811 38 void Contrast (uint8_t lbContrast);
wue 0:7b58cdacf811 39 void All_Segments (int);
wue 0:7b58cdacf811 40 void clear();
wue 0:7b58cdacf811 41 void DP(int pos, bool on);
wue 0:7b58cdacf811 42 void DP1 (int);
wue 0:7b58cdacf811 43 void DP2 (int);
wue 0:7b58cdacf811 44 void DP3 (int);
wue 0:7b58cdacf811 45 void Colon (int);
wue 0:7b58cdacf811 46 uint8_t CharPosition;
wue 0:7b58cdacf811 47 void blink(int blink = 3);
wue 0:7b58cdacf811 48 void deepsleepEnable(bool enable);
wue 0:7b58cdacf811 49
wue 0:7b58cdacf811 50 private:
wue 0:7b58cdacf811 51 void Write_Char(char lbValue);
wue 0:7b58cdacf811 52 void init();
wue 0:7b58cdacf811 53 virtual int _putc(int c);
wue 0:7b58cdacf811 54 virtual int _getc() {
wue 0:7b58cdacf811 55 return 0;
wue 0:7b58cdacf811 56 }
wue 0:7b58cdacf811 57 };