Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: MMA8451Q SLCD mbed
Fork of LCD_ACC_46_v4-2g by
Revision 5:98f02fe1d957, committed 2017-02-22
- Comitter:
- kennylujan42
- Date:
- Wed Feb 22 09:50:25 2017 +0000
- Parent:
- 4:41920817d234
- Commit message:
- HW;
Changed in this revision
| MMA8451Q.lib | Show annotated file Show diff for this revision Revisions of this file |
| lcd_acc_46_v-2g.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/MMA8451Q.lib Fri Feb 10 19:28:50 2017 +0000 +++ b/MMA8451Q.lib Wed Feb 22 09:50:25 2017 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/emilmont/code/MMA8451Q/#c4d879a39775 +https://developer.mbed.org/users/kennylujan42/code/MMA8451Q/#df36b750371a
--- a/lcd_acc_46_v-2g.cpp Fri Feb 10 19:28:50 2017 +0000
+++ b/lcd_acc_46_v-2g.cpp Wed Feb 22 09:50:25 2017 +0000
@@ -5,7 +5,16 @@
Test of the accelerometer, digital I/O, on-board LCD screen, and 16-bit ADC.
*/
-
+
+
+ #define REG_WHO_AM_I 0x0D
+ #define REG_CTRL_REG_1 0x2A
+ #define REG_OUT_X_MSB 0x01
+ #define REG_OUT_Y_MSB 0x03
+ #define REG_OUT_Y_MSB 0x05
+ #define XYZ_DATA_CFG 0x0E
+
+
#define BLINKTIME 0.7
#define DATATIME 0.1
#define DATADISPDWELL 0.2
@@ -18,14 +27,16 @@
#define XCOMP "XCMP"
#define YCOMP "YCMP"
#define ZCOMP "ZCMP"
+#define XRAWP "XRAW"
#define ANALTOVOLTS 3.3
#define LEDDELAY 0.400
//define states
-#define NUMSTATES 4
+#define NUMSTATES 5
#define XCOMPD 0
#define YCOMPD 1
#define ZCOMPD 2
#define VMAXD 3
+#define XRAWD 4
#define PROGNAME "LCD_ACC_LCDv3 46\r/n"
@@ -52,6 +63,7 @@
DigitalOut LEDs[NUMLEDS]={LED_RED, LED_GREEN}; //Indicator LEDs
Serial pc(USBTX, USBRX);
+int16_t xAccBits;/// creates local warning
void LCDMess(char *lMess, float dWait){
slcd.Home();
@@ -93,6 +105,7 @@
char lcdData[10]; //buffer needs places for decimal pt and colon
+
#ifdef PRINTDBUG
pc.printf(PROGNAME);
#endif
@@ -131,20 +144,29 @@
case ZCOMPD: {
LCDMess(ZCOMP,BLINKTIME);
break;
- }
+ }
case VMAXD:{
LCDMess(MAXVECT,BLINKTIME);
break;
}
+ case XRAWD:{
+ LCDMes(XWRAP,BLINKTIME);
+ break;
+ }
+
}// switch
}
// --------------------------------------------
while (dataTimer.read() > DATATIME){
// No offset
+
xAcc = abs(acc.getAccX());
yAcc = abs(acc.getAccY());
zAcc = abs(acc.getAccZ());
+
+ xAccBits = acc.getAccAxis(REG_OUT_X_MSB);
+
// Calulate vector sum of x,y and z reading.
// vector = sqrt(pow(xAcc,2) + pow(zAcc,2));
vector = zAcc;
@@ -173,6 +195,10 @@
sprintf (lcdData,"%4.3f",vMax);
break;
}
+ case XRAWD:{
+ sprintf(lcdData,"%4d",xAccBits);
+ break;
+ }
}
LCDMessNoDwell(lcdData);
displayTimer.reset();
