APS Lab
/
mbed-os-example-adxl362
adxl362 csv output format
main.cpp@0:813b34a76f24, 2019-05-16 (annotated)
- Committer:
- APS_Lab
- Date:
- Thu May 16 07:02:24 2019 +0000
- Revision:
- 0:813b34a76f24
adxl362
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
APS_Lab | 0:813b34a76f24 | 1 | /* mbed Microcontroller Library |
APS_Lab | 0:813b34a76f24 | 2 | * Copyright (c) 2018 ARM Limited |
APS_Lab | 0:813b34a76f24 | 3 | * SPDX-License-Identifier: Apache-2.0 |
APS_Lab | 0:813b34a76f24 | 4 | */ |
APS_Lab | 0:813b34a76f24 | 5 | |
APS_Lab | 0:813b34a76f24 | 6 | #include "mbed.h" |
APS_Lab | 0:813b34a76f24 | 7 | #include "stats_report.h" |
APS_Lab | 0:813b34a76f24 | 8 | #include "ADXL362.h" |
APS_Lab | 0:813b34a76f24 | 9 | #include "math.h" |
APS_Lab | 0:813b34a76f24 | 10 | |
APS_Lab | 0:813b34a76f24 | 11 | #define G_2 1.0 |
APS_Lab | 0:813b34a76f24 | 12 | #define G_4 2.0 |
APS_Lab | 0:813b34a76f24 | 13 | #define G_8 4.0 |
APS_Lab | 0:813b34a76f24 | 14 | |
APS_Lab | 0:813b34a76f24 | 15 | |
APS_Lab | 0:813b34a76f24 | 16 | |
APS_Lab | 0:813b34a76f24 | 17 | #define MODE_NORMAL 0 |
APS_Lab | 0:813b34a76f24 | 18 | #define MODE_LOW_POWER 1 |
APS_Lab | 0:813b34a76f24 | 19 | #define MODE_ULTRA_LOW_POWER 2 |
APS_Lab | 0:813b34a76f24 | 20 | |
APS_Lab | 0:813b34a76f24 | 21 | DigitalOut led1(LED1); |
APS_Lab | 0:813b34a76f24 | 22 | Serial PC(USBTX, USBRX); |
APS_Lab | 0:813b34a76f24 | 23 | |
APS_Lab | 0:813b34a76f24 | 24 | char Buf[128]; |
APS_Lab | 0:813b34a76f24 | 25 | char command[8]; |
APS_Lab | 0:813b34a76f24 | 26 | char mode[8]; |
APS_Lab | 0:813b34a76f24 | 27 | char val[8]; |
APS_Lab | 0:813b34a76f24 | 28 | int f_val; |
APS_Lab | 0:813b34a76f24 | 29 | |
APS_Lab | 0:813b34a76f24 | 30 | int set_mode(int m); |
APS_Lab | 0:813b34a76f24 | 31 | int set_freq(int v); |
APS_Lab | 0:813b34a76f24 | 32 | int set_grav(int v); |
APS_Lab | 0:813b34a76f24 | 33 | void set_start(void); |
APS_Lab | 0:813b34a76f24 | 34 | void set_stop(void); |
APS_Lab | 0:813b34a76f24 | 35 | static void clearDisplay(void); |
APS_Lab | 0:813b34a76f24 | 36 | static void drawCLI(ADXL362 *adxlCtrl, AccelTemp *getData); |
APS_Lab | 0:813b34a76f24 | 37 | static void draw_Raw(ADXL362 *adxlCtrl, AccelTemp *getData); |
APS_Lab | 0:813b34a76f24 | 38 | |
APS_Lab | 0:813b34a76f24 | 39 | volatile int f_run = 0; |
APS_Lab | 0:813b34a76f24 | 40 | volatile int f_wake = 0; |
APS_Lab | 0:813b34a76f24 | 41 | SPI *spi1; |
APS_Lab | 0:813b34a76f24 | 42 | ADXL362 *adxlCtrl; |
APS_Lab | 0:813b34a76f24 | 43 | AccelTemp GetData; |
APS_Lab | 0:813b34a76f24 | 44 | DigitalIn ADXL_WAKE(WAKE2); |
APS_Lab | 0:813b34a76f24 | 45 | |
APS_Lab | 0:813b34a76f24 | 46 | void help(void); |
APS_Lab | 0:813b34a76f24 | 47 | |
APS_Lab | 0:813b34a76f24 | 48 | // main() runs in its own thread in the OS |
APS_Lab | 0:813b34a76f24 | 49 | int main() |
APS_Lab | 0:813b34a76f24 | 50 | { |
APS_Lab | 0:813b34a76f24 | 51 | PC.baud(115200); |
APS_Lab | 0:813b34a76f24 | 52 | PC.printf("EV-COG-AD4050LZ Demo\n"); |
APS_Lab | 0:813b34a76f24 | 53 | |
APS_Lab | 0:813b34a76f24 | 54 | spi1 = new SPI(SPI1_MOSI, SPI1_MISO, SPI1_SCLK); |
APS_Lab | 0:813b34a76f24 | 55 | adxlCtrl = new ADXL362(&PC, spi1); |
APS_Lab | 0:813b34a76f24 | 56 | |
APS_Lab | 0:813b34a76f24 | 57 | clearDisplay(); |
APS_Lab | 0:813b34a76f24 | 58 | |
APS_Lab | 0:813b34a76f24 | 59 | help(); |
APS_Lab | 0:813b34a76f24 | 60 | |
APS_Lab | 0:813b34a76f24 | 61 | while (true) { |
APS_Lab | 0:813b34a76f24 | 62 | // Blink LED and wait 0.5 seconds |
APS_Lab | 0:813b34a76f24 | 63 | led1 = !led1; |
APS_Lab | 0:813b34a76f24 | 64 | wait_ms(500); |
APS_Lab | 0:813b34a76f24 | 65 | |
APS_Lab | 0:813b34a76f24 | 66 | PC.scanf("%s", command); |
APS_Lab | 0:813b34a76f24 | 67 | |
APS_Lab | 0:813b34a76f24 | 68 | if(strncmp(command, "set", 3) == 0) |
APS_Lab | 0:813b34a76f24 | 69 | { |
APS_Lab | 0:813b34a76f24 | 70 | PC.scanf("%s",mode); |
APS_Lab | 0:813b34a76f24 | 71 | |
APS_Lab | 0:813b34a76f24 | 72 | if(strncmp(mode, "freq", 4) == 0) |
APS_Lab | 0:813b34a76f24 | 73 | { |
APS_Lab | 0:813b34a76f24 | 74 | PC.scanf("%s", val); |
APS_Lab | 0:813b34a76f24 | 75 | f_val = atoi(val); |
APS_Lab | 0:813b34a76f24 | 76 | set_freq(f_val); |
APS_Lab | 0:813b34a76f24 | 77 | } |
APS_Lab | 0:813b34a76f24 | 78 | else if(strncmp(mode, "mode", 4) == 0) |
APS_Lab | 0:813b34a76f24 | 79 | { |
APS_Lab | 0:813b34a76f24 | 80 | PC.scanf("%s", val); |
APS_Lab | 0:813b34a76f24 | 81 | f_val = atoi(val); |
APS_Lab | 0:813b34a76f24 | 82 | set_mode(f_val); |
APS_Lab | 0:813b34a76f24 | 83 | } |
APS_Lab | 0:813b34a76f24 | 84 | else if(strncmp(mode, "grav", 4) == 0) |
APS_Lab | 0:813b34a76f24 | 85 | { |
APS_Lab | 0:813b34a76f24 | 86 | PC.scanf("%s", val); |
APS_Lab | 0:813b34a76f24 | 87 | f_val = atoi(val); |
APS_Lab | 0:813b34a76f24 | 88 | set_grav(f_val); |
APS_Lab | 0:813b34a76f24 | 89 | } |
APS_Lab | 0:813b34a76f24 | 90 | else if(strncmp(mode, "wakeup", 6) == 0) |
APS_Lab | 0:813b34a76f24 | 91 | { |
APS_Lab | 0:813b34a76f24 | 92 | PC.printf("ADXL362 wakeup mode\n"); |
APS_Lab | 0:813b34a76f24 | 93 | adxlCtrl->set_wakeupmode(); |
APS_Lab | 0:813b34a76f24 | 94 | f_wake = 1; |
APS_Lab | 0:813b34a76f24 | 95 | PC.printf("ADXL362 wakeup waiting......\n"); |
APS_Lab | 0:813b34a76f24 | 96 | while(f_wake) |
APS_Lab | 0:813b34a76f24 | 97 | { |
APS_Lab | 0:813b34a76f24 | 98 | if(ADXL_WAKE.read() == 1) |
APS_Lab | 0:813b34a76f24 | 99 | { |
APS_Lab | 0:813b34a76f24 | 100 | f_wake = 0; |
APS_Lab | 0:813b34a76f24 | 101 | PC.printf("ADXL362 Wake-up\n"); |
APS_Lab | 0:813b34a76f24 | 102 | led1 = 1; |
APS_Lab | 0:813b34a76f24 | 103 | PC.printf("ADXL362 Condition %d\n", ADXL_WAKE.read()); |
APS_Lab | 0:813b34a76f24 | 104 | adxlCtrl->GetStatus(); |
APS_Lab | 0:813b34a76f24 | 105 | } |
APS_Lab | 0:813b34a76f24 | 106 | else |
APS_Lab | 0:813b34a76f24 | 107 | { |
APS_Lab | 0:813b34a76f24 | 108 | PC.printf("."); |
APS_Lab | 0:813b34a76f24 | 109 | } |
APS_Lab | 0:813b34a76f24 | 110 | wait_ms(100); |
APS_Lab | 0:813b34a76f24 | 111 | } |
APS_Lab | 0:813b34a76f24 | 112 | |
APS_Lab | 0:813b34a76f24 | 113 | |
APS_Lab | 0:813b34a76f24 | 114 | }else |
APS_Lab | 0:813b34a76f24 | 115 | { |
APS_Lab | 0:813b34a76f24 | 116 | PC.printf("Command Invalid\n"); |
APS_Lab | 0:813b34a76f24 | 117 | } |
APS_Lab | 0:813b34a76f24 | 118 | } |
APS_Lab | 0:813b34a76f24 | 119 | else if(strncmp(command, "start", 5) == 0) |
APS_Lab | 0:813b34a76f24 | 120 | { |
APS_Lab | 0:813b34a76f24 | 121 | set_start(); |
APS_Lab | 0:813b34a76f24 | 122 | while(f_run) |
APS_Lab | 0:813b34a76f24 | 123 | { |
APS_Lab | 0:813b34a76f24 | 124 | adxlCtrl->SensorRead(&GetData); |
APS_Lab | 0:813b34a76f24 | 125 | draw_Raw(adxlCtrl, &GetData); |
APS_Lab | 0:813b34a76f24 | 126 | wait(0.2); |
APS_Lab | 0:813b34a76f24 | 127 | } |
APS_Lab | 0:813b34a76f24 | 128 | } |
APS_Lab | 0:813b34a76f24 | 129 | //else if(strncmp(command, "stop", 4) == 0) |
APS_Lab | 0:813b34a76f24 | 130 | //{ |
APS_Lab | 0:813b34a76f24 | 131 | // set_stop(); |
APS_Lab | 0:813b34a76f24 | 132 | //} |
APS_Lab | 0:813b34a76f24 | 133 | else |
APS_Lab | 0:813b34a76f24 | 134 | { |
APS_Lab | 0:813b34a76f24 | 135 | help(); |
APS_Lab | 0:813b34a76f24 | 136 | } |
APS_Lab | 0:813b34a76f24 | 137 | // Following the main thread wait, report on the current system status |
APS_Lab | 0:813b34a76f24 | 138 | //sys_state.report_state(); |
APS_Lab | 0:813b34a76f24 | 139 | } |
APS_Lab | 0:813b34a76f24 | 140 | } |
APS_Lab | 0:813b34a76f24 | 141 | |
APS_Lab | 0:813b34a76f24 | 142 | void help(void) |
APS_Lab | 0:813b34a76f24 | 143 | { |
APS_Lab | 0:813b34a76f24 | 144 | PC.printf("Command Usage\n"); |
APS_Lab | 0:813b34a76f24 | 145 | PC.printf("Command : only 'set'\n"); |
APS_Lab | 0:813b34a76f24 | 146 | PC.printf("Mode : 'freq' is ODR configuration\n"); |
APS_Lab | 0:813b34a76f24 | 147 | PC.printf(" : ODR frequency from 12, 25, 50, 100, 200, 400Hz\n"); |
APS_Lab | 0:813b34a76f24 | 148 | PC.printf("Mode : 'grav' is select gravity\n"); |
APS_Lab | 0:813b34a76f24 | 149 | PC.printf(" : 0:2g 1:4g 2:8g\n"); |
APS_Lab | 0:813b34a76f24 | 150 | PC.printf("Mode : 'mode' is power mode\n"); |
APS_Lab | 0:813b34a76f24 | 151 | PC.printf(" : 0:Normal 1:Low Power 2:Ultra Low Power(freq is fixed at 100Hz)\n"); |
APS_Lab | 0:813b34a76f24 | 152 | PC.printf("i.e. 'set mode 0'\n"); |
APS_Lab | 0:813b34a76f24 | 153 | PC.printf("i.e. 'set freq 1000'\n"); |
APS_Lab | 0:813b34a76f24 | 154 | PC.printf("i.e. 'start'\n"); |
APS_Lab | 0:813b34a76f24 | 155 | } |
APS_Lab | 0:813b34a76f24 | 156 | |
APS_Lab | 0:813b34a76f24 | 157 | int set_freq(int v) |
APS_Lab | 0:813b34a76f24 | 158 | { |
APS_Lab | 0:813b34a76f24 | 159 | if((v < 12) || (v > 400)) |
APS_Lab | 0:813b34a76f24 | 160 | { |
APS_Lab | 0:813b34a76f24 | 161 | PC.printf("ODR Freqency Range is over/under. Please configure for 12-400 Hz.\n"); |
APS_Lab | 0:813b34a76f24 | 162 | return 1; |
APS_Lab | 0:813b34a76f24 | 163 | } |
APS_Lab | 0:813b34a76f24 | 164 | else |
APS_Lab | 0:813b34a76f24 | 165 | { |
APS_Lab | 0:813b34a76f24 | 166 | PC.printf("Set Frequency %d Hz\n", v); |
APS_Lab | 0:813b34a76f24 | 167 | return 0; |
APS_Lab | 0:813b34a76f24 | 168 | } |
APS_Lab | 0:813b34a76f24 | 169 | } |
APS_Lab | 0:813b34a76f24 | 170 | |
APS_Lab | 0:813b34a76f24 | 171 | int set_grav(int v) |
APS_Lab | 0:813b34a76f24 | 172 | { |
APS_Lab | 0:813b34a76f24 | 173 | switch(v) |
APS_Lab | 0:813b34a76f24 | 174 | { |
APS_Lab | 0:813b34a76f24 | 175 | case 0: |
APS_Lab | 0:813b34a76f24 | 176 | PC.printf("Set gravity 2g\n"); |
APS_Lab | 0:813b34a76f24 | 177 | adxlCtrl->set_gravity(GRAVITY_2G); |
APS_Lab | 0:813b34a76f24 | 178 | break; |
APS_Lab | 0:813b34a76f24 | 179 | case 1: |
APS_Lab | 0:813b34a76f24 | 180 | PC.printf("Set gravity 4g\n"); |
APS_Lab | 0:813b34a76f24 | 181 | adxlCtrl->set_gravity(GRAVITY_4G); |
APS_Lab | 0:813b34a76f24 | 182 | break; |
APS_Lab | 0:813b34a76f24 | 183 | case 2: |
APS_Lab | 0:813b34a76f24 | 184 | PC.printf("Set gravity 8g\n"); |
APS_Lab | 0:813b34a76f24 | 185 | adxlCtrl->set_gravity(GRAVITY_8G); |
APS_Lab | 0:813b34a76f24 | 186 | break; |
APS_Lab | 0:813b34a76f24 | 187 | default: |
APS_Lab | 0:813b34a76f24 | 188 | PC.printf("Unknown Command\n"); |
APS_Lab | 0:813b34a76f24 | 189 | break; |
APS_Lab | 0:813b34a76f24 | 190 | }; |
APS_Lab | 0:813b34a76f24 | 191 | |
APS_Lab | 0:813b34a76f24 | 192 | return 0; |
APS_Lab | 0:813b34a76f24 | 193 | } |
APS_Lab | 0:813b34a76f24 | 194 | int set_mode(int m) |
APS_Lab | 0:813b34a76f24 | 195 | { |
APS_Lab | 0:813b34a76f24 | 196 | switch(m) |
APS_Lab | 0:813b34a76f24 | 197 | { |
APS_Lab | 0:813b34a76f24 | 198 | case MODE_NORMAL: |
APS_Lab | 0:813b34a76f24 | 199 | PC.printf("Set Normal Mode\n"); |
APS_Lab | 0:813b34a76f24 | 200 | adxlCtrl->set_powermode(POWER_CTL_PARAM_LOWNOISE_NORM); |
APS_Lab | 0:813b34a76f24 | 201 | break; |
APS_Lab | 0:813b34a76f24 | 202 | case MODE_LOW_POWER: |
APS_Lab | 0:813b34a76f24 | 203 | PC.printf("Set Low Power Mode\n"); |
APS_Lab | 0:813b34a76f24 | 204 | adxlCtrl->set_powermode(POWER_CTL_PARAM_LOWNOISE_LOW); |
APS_Lab | 0:813b34a76f24 | 205 | break; |
APS_Lab | 0:813b34a76f24 | 206 | case MODE_ULTRA_LOW_POWER: |
APS_Lab | 0:813b34a76f24 | 207 | PC.printf("Set Ultra Low Power Mode\n"); |
APS_Lab | 0:813b34a76f24 | 208 | adxlCtrl->set_powermode(POWER_CTL_PARAM_LOWNOISE_ULTRA); |
APS_Lab | 0:813b34a76f24 | 209 | break; |
APS_Lab | 0:813b34a76f24 | 210 | default: |
APS_Lab | 0:813b34a76f24 | 211 | PC.printf("Unknown Command\n"); |
APS_Lab | 0:813b34a76f24 | 212 | break; |
APS_Lab | 0:813b34a76f24 | 213 | }; |
APS_Lab | 0:813b34a76f24 | 214 | |
APS_Lab | 0:813b34a76f24 | 215 | return 0; |
APS_Lab | 0:813b34a76f24 | 216 | } |
APS_Lab | 0:813b34a76f24 | 217 | |
APS_Lab | 0:813b34a76f24 | 218 | void set_start(void) |
APS_Lab | 0:813b34a76f24 | 219 | { |
APS_Lab | 0:813b34a76f24 | 220 | f_run = 1; |
APS_Lab | 0:813b34a76f24 | 221 | adxlCtrl->start(); |
APS_Lab | 0:813b34a76f24 | 222 | PC.printf("Start Accel\n"); |
APS_Lab | 0:813b34a76f24 | 223 | } |
APS_Lab | 0:813b34a76f24 | 224 | |
APS_Lab | 0:813b34a76f24 | 225 | void set_stop(void) |
APS_Lab | 0:813b34a76f24 | 226 | { |
APS_Lab | 0:813b34a76f24 | 227 | f_run = 0; |
APS_Lab | 0:813b34a76f24 | 228 | adxlCtrl->stop(); |
APS_Lab | 0:813b34a76f24 | 229 | PC.printf("Stop Accel\n"); |
APS_Lab | 0:813b34a76f24 | 230 | } |
APS_Lab | 0:813b34a76f24 | 231 | |
APS_Lab | 0:813b34a76f24 | 232 | static void clearDisplay(void) |
APS_Lab | 0:813b34a76f24 | 233 | { |
APS_Lab | 0:813b34a76f24 | 234 | PC.printf("\033[2J"); |
APS_Lab | 0:813b34a76f24 | 235 | PC.printf("\033[0;0H"); |
APS_Lab | 0:813b34a76f24 | 236 | PC.printf("\033[0m\033[37m"); |
APS_Lab | 0:813b34a76f24 | 237 | } |
APS_Lab | 0:813b34a76f24 | 238 | |
APS_Lab | 0:813b34a76f24 | 239 | static void drawCLI(ADXL362 *adxlCtrl, AccelTemp *getData) |
APS_Lab | 0:813b34a76f24 | 240 | { |
APS_Lab | 0:813b34a76f24 | 241 | AccelTemp *min = adxlCtrl->GetMinInfo(); |
APS_Lab | 0:813b34a76f24 | 242 | AccelTemp *max = adxlCtrl->GetMaxInfo(); |
APS_Lab | 0:813b34a76f24 | 243 | AccelTemp *p; |
APS_Lab | 0:813b34a76f24 | 244 | float x, y, z, t; |
APS_Lab | 0:813b34a76f24 | 245 | |
APS_Lab | 0:813b34a76f24 | 246 | PC.printf("\033[2J"); |
APS_Lab | 0:813b34a76f24 | 247 | |
APS_Lab | 0:813b34a76f24 | 248 | /* BLANK LINE */ |
APS_Lab | 0:813b34a76f24 | 249 | |
APS_Lab | 0:813b34a76f24 | 250 | PC.printf("\033[0m\033[33m\033[1m"); |
APS_Lab | 0:813b34a76f24 | 251 | PC.printf("\033[2;1H"); |
APS_Lab | 0:813b34a76f24 | 252 | PC.printf("\033[K"); |
APS_Lab | 0:813b34a76f24 | 253 | PC.printf("ACCELEROMETERs"); |
APS_Lab | 0:813b34a76f24 | 254 | |
APS_Lab | 0:813b34a76f24 | 255 | PC.printf("\033[0m\033[37m"); |
APS_Lab | 0:813b34a76f24 | 256 | PC.printf("\033[3;3H"); |
APS_Lab | 0:813b34a76f24 | 257 | PC.printf("\033[K"); |
APS_Lab | 0:813b34a76f24 | 258 | PC.printf("\033[3;10H-X---\033[3;20H-Y---\033[3;30H-Z---"); |
APS_Lab | 0:813b34a76f24 | 259 | |
APS_Lab | 0:813b34a76f24 | 260 | PC.printf("\033[0m\033[35m"); |
APS_Lab | 0:813b34a76f24 | 261 | PC.printf("\033[4;3H"); |
APS_Lab | 0:813b34a76f24 | 262 | PC.printf("\033[K"); |
APS_Lab | 0:813b34a76f24 | 263 | p = min; |
APS_Lab | 0:813b34a76f24 | 264 | x = sin(adxlCtrl->ConvAccel(p->ax)); |
APS_Lab | 0:813b34a76f24 | 265 | y = adxlCtrl->ConvAccel(p->ay); |
APS_Lab | 0:813b34a76f24 | 266 | z = adxlCtrl->ConvAccel(p->az); |
APS_Lab | 0:813b34a76f24 | 267 | PC.printf("min\033[4;10H%04.2f\033[4;20H%04.2f\033[4;30H%04.2f", x, y, z); |
APS_Lab | 0:813b34a76f24 | 268 | |
APS_Lab | 0:813b34a76f24 | 269 | PC.printf("\033[0m\033[37m\033[1m"); |
APS_Lab | 0:813b34a76f24 | 270 | PC.printf("\033[5;3H"); |
APS_Lab | 0:813b34a76f24 | 271 | PC.printf("\033[K"); |
APS_Lab | 0:813b34a76f24 | 272 | p = getData; |
APS_Lab | 0:813b34a76f24 | 273 | x = adxlCtrl->ConvAccel(p->ax); |
APS_Lab | 0:813b34a76f24 | 274 | y = adxlCtrl->ConvAccel(p->ay); |
APS_Lab | 0:813b34a76f24 | 275 | z = adxlCtrl->ConvAccel(p->az); |
APS_Lab | 0:813b34a76f24 | 276 | PC.printf("-->\033[5;10H%04.2f\033[5;20H%04.2f\033[5;30H%04.2f", x, y, z); |
APS_Lab | 0:813b34a76f24 | 277 | |
APS_Lab | 0:813b34a76f24 | 278 | PC.printf("\033[0m\033[36m"); |
APS_Lab | 0:813b34a76f24 | 279 | PC.printf("\033[6;3H"); |
APS_Lab | 0:813b34a76f24 | 280 | PC.printf("\033[K"); |
APS_Lab | 0:813b34a76f24 | 281 | p = max; |
APS_Lab | 0:813b34a76f24 | 282 | x = adxlCtrl->ConvAccel(p->ax); |
APS_Lab | 0:813b34a76f24 | 283 | y = adxlCtrl->ConvAccel(p->ay); |
APS_Lab | 0:813b34a76f24 | 284 | z = adxlCtrl->ConvAccel(p->az); |
APS_Lab | 0:813b34a76f24 | 285 | PC.printf("max\033[6;10H%04.2f\033[6;20H%04.2f\033[6;30H%04.2f", x, y, z); |
APS_Lab | 0:813b34a76f24 | 286 | |
APS_Lab | 0:813b34a76f24 | 287 | /* BLANK LINE */ |
APS_Lab | 0:813b34a76f24 | 288 | |
APS_Lab | 0:813b34a76f24 | 289 | PC.printf("\033[0m\033[31m\033[1m"); |
APS_Lab | 0:813b34a76f24 | 290 | PC.printf("\033[8;1H"); |
APS_Lab | 0:813b34a76f24 | 291 | PC.printf("\033[K"); |
APS_Lab | 0:813b34a76f24 | 292 | PC.printf("Temperature"); |
APS_Lab | 0:813b34a76f24 | 293 | |
APS_Lab | 0:813b34a76f24 | 294 | /* BLANK LINE */ |
APS_Lab | 0:813b34a76f24 | 295 | |
APS_Lab | 0:813b34a76f24 | 296 | PC.printf("\033[0m\033[35m"); |
APS_Lab | 0:813b34a76f24 | 297 | PC.printf("\033[10;3H"); |
APS_Lab | 0:813b34a76f24 | 298 | PC.printf("\033[K"); |
APS_Lab | 0:813b34a76f24 | 299 | p = min; |
APS_Lab | 0:813b34a76f24 | 300 | t = adxlCtrl->ConvThermal(p->tm); |
APS_Lab | 0:813b34a76f24 | 301 | PC.printf("min\033[10;10H%04.2f", t); |
APS_Lab | 0:813b34a76f24 | 302 | |
APS_Lab | 0:813b34a76f24 | 303 | PC.printf("\033[0m\033[37m\033[1m"); |
APS_Lab | 0:813b34a76f24 | 304 | PC.printf("\033[11;3H"); |
APS_Lab | 0:813b34a76f24 | 305 | PC.printf("\033[K"); |
APS_Lab | 0:813b34a76f24 | 306 | p = getData; |
APS_Lab | 0:813b34a76f24 | 307 | t = adxlCtrl->ConvThermal(p->tm); |
APS_Lab | 0:813b34a76f24 | 308 | PC.printf("-->\033[11;10H%04.2f", t); |
APS_Lab | 0:813b34a76f24 | 309 | |
APS_Lab | 0:813b34a76f24 | 310 | PC.printf("\033[0m\033[36m"); |
APS_Lab | 0:813b34a76f24 | 311 | PC.printf("\033[12;3H"); |
APS_Lab | 0:813b34a76f24 | 312 | PC.printf("\033[K"); |
APS_Lab | 0:813b34a76f24 | 313 | p = max; |
APS_Lab | 0:813b34a76f24 | 314 | t = adxlCtrl->ConvThermal(p->tm); |
APS_Lab | 0:813b34a76f24 | 315 | PC.printf("max\033[12;10H%04.2f", t); |
APS_Lab | 0:813b34a76f24 | 316 | } |
APS_Lab | 0:813b34a76f24 | 317 | |
APS_Lab | 0:813b34a76f24 | 318 | static void draw_Raw(ADXL362 *adxlCtrl, AccelTemp *getData) |
APS_Lab | 0:813b34a76f24 | 319 | { |
APS_Lab | 0:813b34a76f24 | 320 | AccelTemp *p; |
APS_Lab | 0:813b34a76f24 | 321 | float x, y, z, t; |
APS_Lab | 0:813b34a76f24 | 322 | |
APS_Lab | 0:813b34a76f24 | 323 | /* BLANK LINE */ |
APS_Lab | 0:813b34a76f24 | 324 | p = getData; |
APS_Lab | 0:813b34a76f24 | 325 | t = adxlCtrl->ConvThermal(p->tm); |
APS_Lab | 0:813b34a76f24 | 326 | x = adxlCtrl->ConvAccel(p->ax); |
APS_Lab | 0:813b34a76f24 | 327 | y = adxlCtrl->ConvAccel(p->ay); |
APS_Lab | 0:813b34a76f24 | 328 | z = adxlCtrl->ConvAccel(p->az); |
APS_Lab | 0:813b34a76f24 | 329 | PC.printf("%04.2f, %04.2f, %04.2f, %04.2f\n", x, y, z, t); |
APS_Lab | 0:813b34a76f24 | 330 | } |
APS_Lab | 0:813b34a76f24 | 331 | |
APS_Lab | 0:813b34a76f24 | 332 | |
APS_Lab | 0:813b34a76f24 | 333 |