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.
Revision 0:7c6ad753eedb, committed 2018-03-10
- Comitter:
- kmhatre
- Date:
- Sat Mar 10 01:54:03 2018 +0000
- Commit message:
- Vibration Detector
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ADXL362.lib Sat Mar 10 01:54:03 2018 +0000 @@ -0,0 +1,1 @@ +http://os.mbed.com/teams/AnalogDevices/code/ADXL362/#ae171c032dc0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lab_documentation.txt Sat Mar 10 01:54:03 2018 +0000 @@ -0,0 +1,9 @@ +LAB 6 - DOCUMENTATION +Krish Hemant Mhatre +Ethan Zhang + +It is a very simple program which gives you a sum of x, y and z values and compares them to the sum of previous x, y and z values. +Then it calculates the difference between the two sums. +If the difference is more than or equal to 2, it is considered as a knock. + +Eagle schematic file submitted in canvas. \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Sat Mar 10 01:54:03 2018 +0000
@@ -0,0 +1,253 @@
+/*
+ * ENGR E 210 - CYBER PHYSICAL SYSTEMS (DIGITAL SYSTEMS)
+ * LAB 6 - VIBRATION DETECTOR
+ * CODE BY KRISH HEMANT MHATRE AND ETHAN ZHANG
+ */
+
+#include "mbed.h"
+#include "ADXL362.h"
+
+// Interface pulled from ADXL362.cpp
+// ADXL362::ADXL362(PinName CS, PinName MOSI, PinName MISO, PinName SCK) :
+ADXL362 adxl362(PA_0,PA_7,PA_6,PA_1);
+DigitalOut led1(LED1);
+int adxl362_reg_print(int start, int length);
+
+int main() {
+ adxl362.reset();
+ wait_ms(600); // we need to wait at least 500ms after ADXL362 reset
+ adxl362.set_mode(ADXL362::MEASUREMENT);
+ int i = adxl362_reg_print(0, 50);
+
+ /* int8_t x,y,z;
+ int knock = -2;
+ led1 = 0;
+ while(1)
+ {
+ if(!led1)
+ {
+ int a = x+y+z;
+ x=adxl362.scanx_u8();
+ y=adxl362.scany_u8();
+ z=adxl362.scanz_u8();
+ int b = x+y+z;
+ printf("x = %d y = %d z = %d\r\n",x,y,z);
+ if(a-b > 2 || b-a > 2)
+ {
+ knock++;
+ led1 = 1;
+ }
+ printf("knocks = %d\r\n", knock);
+ wait_ms(400);
+ }
+ else
+ {
+ wait(2);
+ led1 = 0;
+ }
+ }*/
+
+}
+
+
+
+int adxl362_reg_print(int start, int length)
+{
+ int return_value = 0;
+ char *text;
+ int value, address;
+ if(start < 0x00 || start > 0x2E)
+ {
+ return_value = -1;
+ exit(0);
+ }
+ else
+ {
+ int i = start;
+ for(i = start; i < length; i++)
+ {
+ address = ADXL362::ADXL362_register_t(i);
+ if(i == 0)
+ {
+ text = "DEVID_AD";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 1)
+ {
+ text = "DEVID_MST";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 2)
+ {
+ text = "PARTID";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 3)
+ {
+ text = "REVID";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 8)
+ {
+ text = "XDATA";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 9)
+ {
+ text = "YDATA";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 10)
+ {
+ text = "ZDATA";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 11)
+ {
+ text = "STATUS";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 12)
+ {
+ text = "FIFO_ENTRIES_L";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 13)
+ {
+ text = "FIFO_ENTRIES_H";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 14)
+ {
+ text = "XDATA_L";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 15)
+ {
+ text = "XDATA_H";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 16)
+ {
+ text = "YDATA_L";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 17)
+ {
+ text = "YDATA_H";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 18)
+ {
+ text = "ZDATA_L";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 19)
+ {
+ text = "ZDATA_H";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 20)
+ {
+ text = "TEMP_L";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 21)
+ {
+ text = "TEMP_H";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 31)
+ {
+ text = "SOFT_RESET";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 32)
+ {
+ text = "THRESH_ACT_L";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 33)
+ {
+ text = "THRESH_ACT_H";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 34)
+ {
+ text = "TIME_ACT";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 35)
+ {
+ text = "THREST_INACT_L";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 36)
+ {
+ text = "THRESH_INACT_H";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 37)
+ {
+ text = "TIME_INACT_L";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 38)
+ {
+ text = "TIME_INACT_H";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 39)
+ {
+ text = "ACT_INACT_CTL";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 40)
+ {
+ text = "FIFO_CONTROL";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 41)
+ {
+ text = "FIFO_SAMPLES";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 42)
+ {
+ text = "INTMAP1";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 43)
+ {
+ text = "INTMAP2";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 44)
+ {
+ text = "FILTER_CTL";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 45)
+ {
+ text = "POWER_CTL";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else if(i == 46)
+ {
+ text = "SELF_TEXT";
+ value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i))));
+ }
+ else
+ {
+ text = "NULL";
+ value = NULL;
+ }
+ if(i <= 46 && text != "NULL")
+ {
+ printf("0x%2.2hhX: %s=0x%2.2hhX \n\r", address, text, value);
+ }
+ }
+ }
+
+ return return_value;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sat Mar 10 01:54:03 2018 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/5571c4ff569f \ No newline at end of file