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.
main.cpp
00001 /* 00002 * ENGR E 210 - CYBER PHYSICAL SYSTEMS (DIGITAL SYSTEMS) 00003 * LAB 6 - VIBRATION DETECTOR 00004 * CODE BY KRISH HEMANT MHATRE AND ETHAN ZHANG 00005 */ 00006 00007 #include "mbed.h" 00008 #include "ADXL362.h" 00009 00010 // Interface pulled from ADXL362.cpp 00011 // ADXL362::ADXL362(PinName CS, PinName MOSI, PinName MISO, PinName SCK) : 00012 ADXL362 adxl362(PA_0,PA_7,PA_6,PA_1); 00013 DigitalOut led1(LED1); 00014 int adxl362_reg_print(int start, int length); 00015 00016 int main() { 00017 adxl362.reset(); 00018 wait_ms(600); // we need to wait at least 500ms after ADXL362 reset 00019 adxl362.set_mode(ADXL362::MEASUREMENT); 00020 int i = adxl362_reg_print(0, 50); 00021 00022 /* int8_t x,y,z; 00023 int knock = -2; 00024 led1 = 0; 00025 while(1) 00026 { 00027 if(!led1) 00028 { 00029 int a = x+y+z; 00030 x=adxl362.scanx_u8(); 00031 y=adxl362.scany_u8(); 00032 z=adxl362.scanz_u8(); 00033 int b = x+y+z; 00034 printf("x = %d y = %d z = %d\r\n",x,y,z); 00035 if(a-b > 2 || b-a > 2) 00036 { 00037 knock++; 00038 led1 = 1; 00039 } 00040 printf("knocks = %d\r\n", knock); 00041 wait_ms(400); 00042 } 00043 else 00044 { 00045 wait(2); 00046 led1 = 0; 00047 } 00048 }*/ 00049 00050 } 00051 00052 00053 00054 int adxl362_reg_print(int start, int length) 00055 { 00056 int return_value = 0; 00057 char *text; 00058 int value, address; 00059 if(start < 0x00 || start > 0x2E) 00060 { 00061 return_value = -1; 00062 exit(0); 00063 } 00064 else 00065 { 00066 int i = start; 00067 for(i = start; i < length; i++) 00068 { 00069 address = ADXL362::ADXL362_register_t(i); 00070 if(i == 0) 00071 { 00072 text = "DEVID_AD"; 00073 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00074 } 00075 else if(i == 1) 00076 { 00077 text = "DEVID_MST"; 00078 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00079 } 00080 else if(i == 2) 00081 { 00082 text = "PARTID"; 00083 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00084 } 00085 else if(i == 3) 00086 { 00087 text = "REVID"; 00088 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00089 } 00090 else if(i == 8) 00091 { 00092 text = "XDATA"; 00093 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00094 } 00095 else if(i == 9) 00096 { 00097 text = "YDATA"; 00098 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00099 } 00100 else if(i == 10) 00101 { 00102 text = "ZDATA"; 00103 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00104 } 00105 else if(i == 11) 00106 { 00107 text = "STATUS"; 00108 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00109 } 00110 else if(i == 12) 00111 { 00112 text = "FIFO_ENTRIES_L"; 00113 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00114 } 00115 else if(i == 13) 00116 { 00117 text = "FIFO_ENTRIES_H"; 00118 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00119 } 00120 else if(i == 14) 00121 { 00122 text = "XDATA_L"; 00123 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00124 } 00125 else if(i == 15) 00126 { 00127 text = "XDATA_H"; 00128 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00129 } 00130 else if(i == 16) 00131 { 00132 text = "YDATA_L"; 00133 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00134 } 00135 else if(i == 17) 00136 { 00137 text = "YDATA_H"; 00138 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00139 } 00140 else if(i == 18) 00141 { 00142 text = "ZDATA_L"; 00143 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00144 } 00145 else if(i == 19) 00146 { 00147 text = "ZDATA_H"; 00148 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00149 } 00150 else if(i == 20) 00151 { 00152 text = "TEMP_L"; 00153 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00154 } 00155 else if(i == 21) 00156 { 00157 text = "TEMP_H"; 00158 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00159 } 00160 else if(i == 31) 00161 { 00162 text = "SOFT_RESET"; 00163 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00164 } 00165 else if(i == 32) 00166 { 00167 text = "THRESH_ACT_L"; 00168 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00169 } 00170 else if(i == 33) 00171 { 00172 text = "THRESH_ACT_H"; 00173 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00174 } 00175 else if(i == 34) 00176 { 00177 text = "TIME_ACT"; 00178 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00179 } 00180 else if(i == 35) 00181 { 00182 text = "THREST_INACT_L"; 00183 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00184 } 00185 else if(i == 36) 00186 { 00187 text = "THRESH_INACT_H"; 00188 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00189 } 00190 else if(i == 37) 00191 { 00192 text = "TIME_INACT_L"; 00193 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00194 } 00195 else if(i == 38) 00196 { 00197 text = "TIME_INACT_H"; 00198 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00199 } 00200 else if(i == 39) 00201 { 00202 text = "ACT_INACT_CTL"; 00203 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00204 } 00205 else if(i == 40) 00206 { 00207 text = "FIFO_CONTROL"; 00208 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00209 } 00210 else if(i == 41) 00211 { 00212 text = "FIFO_SAMPLES"; 00213 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00214 } 00215 else if(i == 42) 00216 { 00217 text = "INTMAP1"; 00218 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00219 } 00220 else if(i == 43) 00221 { 00222 text = "INTMAP2"; 00223 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00224 } 00225 else if(i == 44) 00226 { 00227 text = "FILTER_CTL"; 00228 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00229 } 00230 else if(i == 45) 00231 { 00232 text = "POWER_CTL"; 00233 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00234 } 00235 else if(i == 46) 00236 { 00237 text = "SELF_TEXT"; 00238 value = (adxl362.read_reg((ADXL362::ADXL362_register_t(i)))); 00239 } 00240 else 00241 { 00242 text = "NULL"; 00243 value = NULL; 00244 } 00245 if(i <= 46 && text != "NULL") 00246 { 00247 printf("0x%2.2hhX: %s=0x%2.2hhX \n\r", address, text, value); 00248 } 00249 } 00250 } 00251 00252 return return_value; 00253 }
Generated on Wed Jul 20 2022 18:41:09 by
1.7.2