Skytraq S1315F-RAW-EVK Logger

Dependencies:   TextLCD mbed

Committer:
tosihisa
Date:
Sun Dec 19 09:11:48 2010 +0000
Revision:
2:7eb11afe02bd
Parent:
0:e0ec137da369
Add \"SYSTEM RESTART\" at boot time.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tosihisa 0:e0ec137da369 1
tosihisa 0:e0ec137da369 2
tosihisa 0:e0ec137da369 3 extern "C" {
tosihisa 0:e0ec137da369 4 static int libT_getAccTOmV(unsigned long Val,long *mV);
tosihisa 0:e0ec137da369 5 int libT_getAcc1dot5G(unsigned long ADval,long *g);
tosihisa 0:e0ec137da369 6 int libT_getAcc6G(unsigned long ADval,long *g);
tosihisa 0:e0ec137da369 7 }
tosihisa 0:e0ec137da369 8
tosihisa 0:e0ec137da369 9
tosihisa 0:e0ec137da369 10 static int libT_getAccTOmV(unsigned long Val,long *mV)
tosihisa 0:e0ec137da369 11 {
tosihisa 0:e0ec137da369 12 *mV = 0;
tosihisa 0:e0ec137da369 13
tosihisa 0:e0ec137da369 14 /* AnalogIn = 1mV = 19.85939393939394 */
tosihisa 0:e0ec137da369 15 if(Val >= 32767UL){
tosihisa 0:e0ec137da369 16 *mV = ((Val - 32767UL) * 100UL) / 1985UL;
tosihisa 0:e0ec137da369 17 *mV = 0 - *mV;
tosihisa 0:e0ec137da369 18 } else {
tosihisa 0:e0ec137da369 19 *mV = ((32767UL - Val) * 100UL) / 1985UL;
tosihisa 0:e0ec137da369 20 }
tosihisa 0:e0ec137da369 21 return 0;
tosihisa 0:e0ec137da369 22 }
tosihisa 0:e0ec137da369 23
tosihisa 0:e0ec137da369 24 int libT_getAcc1dot5G(unsigned long ADval,long *g)
tosihisa 0:e0ec137da369 25 {
tosihisa 0:e0ec137da369 26 long mV = 0;
tosihisa 0:e0ec137da369 27 libT_getAccTOmV(ADval,&mV); /* A/D value to mV */
tosihisa 0:e0ec137da369 28 *g = (long)(mV / 8); /* 0.01g units */
tosihisa 0:e0ec137da369 29 return 0;
tosihisa 0:e0ec137da369 30 }
tosihisa 0:e0ec137da369 31
tosihisa 0:e0ec137da369 32 int libT_getAcc6G(unsigned long ADval,long *g)
tosihisa 0:e0ec137da369 33 {
tosihisa 0:e0ec137da369 34 long mV = 0;
tosihisa 0:e0ec137da369 35 libT_getAccTOmV(ADval,&mV); /* A/D value to mV */
tosihisa 0:e0ec137da369 36 *g = (long)(mV / 2); /* 0.01g units */
tosihisa 0:e0ec137da369 37 return 0;
tosihisa 0:e0ec137da369 38 }
tosihisa 0:e0ec137da369 39
tosihisa 0:e0ec137da369 40 #if 0
tosihisa 0:e0ec137da369 41 int main(void)
tosihisa 0:e0ec137da369 42 {
tosihisa 0:e0ec137da369 43 long g;
tosihisa 0:e0ec137da369 44
tosihisa 0:e0ec137da369 45 libT_getAcc1dot5G(22767UL,&g);
tosihisa 0:e0ec137da369 46 if(g >= 0){
tosihisa 0:e0ec137da369 47 printf("1.5g g(DOWN)=%ld.%02ld\n",g/100,g%100);
tosihisa 0:e0ec137da369 48 } else {
tosihisa 0:e0ec137da369 49 g = g * -1;
tosihisa 0:e0ec137da369 50 printf("1.5g g(UP)=%ld.%02ld\n",g/100,g%100);
tosihisa 0:e0ec137da369 51 }
tosihisa 0:e0ec137da369 52 libT_getAcc6G(22767UL,&g);
tosihisa 0:e0ec137da369 53 if(g >= 0){
tosihisa 0:e0ec137da369 54 printf("6g g(DOWN)=%ld.%02ld\n",g/100,g%100);
tosihisa 0:e0ec137da369 55 } else {
tosihisa 0:e0ec137da369 56 g = g * -1;
tosihisa 0:e0ec137da369 57 printf("6g g(UP)=%ld.%02ld\n",g/100,g%100);
tosihisa 0:e0ec137da369 58 }
tosihisa 0:e0ec137da369 59 return 0;
tosihisa 0:e0ec137da369 60 }
tosihisa 0:e0ec137da369 61 #endif