this is program how build nRF51822 to get ADXL345 data
Dependencies: BLE_API mbed nRF51822
Fork of ADXL345_I2C by
Diff: main.cpp
- Revision:
- 11:a60e398f9032
- Parent:
- 10:e5ee9515f4a2
- Child:
- 12:58823c0cdf99
--- a/main.cpp Sat Dec 09 02:06:19 2017 +0000 +++ b/main.cpp Sat Dec 09 03:13:24 2017 +0000 @@ -41,9 +41,6 @@ if ((uartServicePtr != NULL) && (params->handle == uartServicePtr->getTXCharacteristicHandle())) { uint16_t bytesRead = params->len; DEBUG("received %u bytes %s\n\r", bytesRead,params->data); - /*uint16_t bytesRead = params->len; - DEBUG("received %u bytes\n\r", bytesRead); - ble.updateCharacteristicValue(uartServicePtr->getRXCharacteristicHandle(), params->data, bytesRead);*/ } } @@ -53,9 +50,9 @@ } int threshold =80; -int xval[100]={0}; -int yval[100]={0}; -int zval[100]={0}; +int xval[10]={0}; +int yval[10]={0}; +int zval[10]={0}; int xavg; int yavg; int zavg; @@ -66,14 +63,14 @@ int readings[3] = {0, 0, 0}; led1=1; long int sum1 = 0; - for (int i=0; i<100; i++) + for (int i=0; i<10; i++) { accelerometer.getOutput(readings); xval[i]=(readings[0]); //nilai x adxl345 - sum1 = xval[i]+sum1; + sum1 = yval[i]+sum1; } - xavg=sum1/100.0; + xavg=sum1/10.0; led1=0; return xavg; @@ -83,13 +80,13 @@ int readings[3] = {0, 0, 0}; led1=1; long int sum2 = 0; - for (int i=0; i<100; i++) + for (int i=0; i<10; i++) { accelerometer.getOutput(readings); yval[i]=(readings[1]); //nilai y adxl345 sum2 = yval[i]+sum2; } - yavg=sum2/100.0; + yavg=sum2/10.0; led1=0; return yavg; } @@ -99,14 +96,14 @@ led1=1; long int sum3 = 0; - for (int i=0; i<100; i++) + for (int i=0; i<10; i++) { accelerometer.getOutput(readings); zval[i]=(readings[2]); //nilai z adxl345 sum3 = zval[i]+sum3; } - zavg=sum3/100.0; + zavg=sum3/10.0; led1=0; return zavg; } @@ -137,11 +134,21 @@ // Test Daata memset(&buffer, 0, sizeof(buffer)); +/* int16_t reading_1= 0; + int16_t reading_2= 0; + int16_t reading_3= 0; + int16_t avg_1= 0; + int16_t avg_2= 0; + int16_t avg_3= 0;*/ + + int16_t lang = 0; int16_t perc = 0; int16_t kec = 0; int16_t jar = 0; int16_t ting = 0; - snprintf(buffer, 20, "data: %d,%d,%d,%d\n",(int16_t)perc,(int16_t)kec,(int16_t)jar,(int16_t)ting); + snprintf(buffer, 20, "data: %d,%d,%d,%d,%d\n",(int16_t)lang,(int16_t)perc,(int16_t)kec,(int16_t)jar,(int16_t)ting); +/* snprintf(buffer, 20, "data: %d,%d,%d,%d,%d,%d\n",(int16_t)reading_1,(int16_t)reading_2,(int16_t)reading_3,(int16_t)avg_1,(int16_t)avg_2,(int16_t)avg_3);*/ + led1 = 1; uart1.baud(9600); @@ -197,7 +204,14 @@ wait(0.1); accelerometer.getOutput(readings); uart1.printf("%i, %i, %i\n", (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]); +/* memset(&buffer, 0, sizeof(buffer)); + snprintf(buffer, 20, "data: %d,%d,%d\n\n", (int16_t)readings[0],(int16_t)readings[1],(int16_t)readings[0]); + ble.updateCharacteristicValue(uartServicePtr->getRXCharacteristicHandle(), (uint8_t*)buffer, sizeof(buffer), false);*/ + uart1.printf("%i, %i, %i\n", (int16_t)avg1, (int16_t)avg2, (int16_t)avg3); +/* memset(&buffer, 0, sizeof(buffer)); + snprintf(buffer, 20, "data: %d,%d,%d\n\n", (int16_t)avg1,(int16_t)avg2,(int16_t)avg3); + ble.updateCharacteristicValue(uartServicePtr->getRXCharacteristicHandle(), (uint8_t*)buffer, sizeof(buffer), false);*/ wait(0.1); @@ -255,8 +269,9 @@ if (totave[i] < threshold && flag == 1) {flag=0;} uart1.printf("steps: %i\n", (int16_t)steps); - ble.updateCharacteristicValue(uartServicePtr->getRXCharacteristicHandle(), (uint8_t*)steps, sizeof(steps), false); - + memset(&buffer, 0, sizeof(buffer)); + snprintf(buffer, 20, "steps: %d\n", (int16_t)steps); + ble.updateCharacteristicValue(uartServicePtr->getRXCharacteristicHandle(), (uint8_t*)buffer, sizeof(buffer), false); } }