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.
Dependencies: mbed Queue mbed-rtos FXOS8700Q
Fork of Pacemaker by
interface.cpp.orig@22:19b187e345c9, 2016-11-24 (annotated)
- Committer:
- trane3
- Date:
- Thu Nov 24 03:42:12 2016 +0000
- Revision:
- 22:19b187e345c9
combined changes, eric and gareth
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| trane3 | 22:19b187e345c9 | 1 | #pragma once |
| trane3 | 22:19b187e345c9 | 2 | #include "mbed.h" |
| trane3 | 22:19b187e345c9 | 3 | #include "interface.h" |
| trane3 | 22:19b187e345c9 | 4 | #include "hardware.h" |
| trane3 | 22:19b187e345c9 | 5 | #include "chamberData.h" |
| trane3 | 22:19b187e345c9 | 6 | #include "genData.h" |
| trane3 | 22:19b187e345c9 | 7 | #include "pulse.h" |
| trane3 | 22:19b187e345c9 | 8 | #include "voor.h" |
| trane3 | 22:19b187e345c9 | 9 | #include "rtos.h" |
| trane3 | 22:19b187e345c9 | 10 | #include <stdlib.h> |
| trane3 | 22:19b187e345c9 | 11 | #include <stdio.h> |
| trane3 | 22:19b187e345c9 | 12 | #include <string> |
| trane3 | 22:19b187e345c9 | 13 | |
| trane3 | 22:19b187e345c9 | 14 | //CONSTRUCTORS***************************** |
| trane3 | 22:19b187e345c9 | 15 | interface::interface(){ |
| trane3 | 22:19b187e345c9 | 16 | } |
| trane3 | 22:19b187e345c9 | 17 | |
| trane3 | 22:19b187e345c9 | 18 | interface::~interface(){}; |
| trane3 | 22:19b187e345c9 | 19 | |
| trane3 | 22:19b187e345c9 | 20 | interface::interface(Serial* inputPC){ |
| trane3 | 22:19b187e345c9 | 21 | pc = inputPC; |
| trane3 | 22:19b187e345c9 | 22 | } |
| trane3 | 22:19b187e345c9 | 23 | |
| trane3 | 22:19b187e345c9 | 24 | interface::interface(Serial* inputPC , pulse* p ,genData* genData, chamberData* atrium , chamberData* ventricle){ |
| trane3 | 22:19b187e345c9 | 25 | generalData = genData; |
| trane3 | 22:19b187e345c9 | 26 | pc = inputPC; |
| trane3 | 22:19b187e345c9 | 27 | interfacePulse = p; |
| trane3 | 22:19b187e345c9 | 28 | atrData = atrium; |
| trane3 | 22:19b187e345c9 | 29 | ventData = ventricle; |
| trane3 | 22:19b187e345c9 | 30 | } |
| trane3 | 22:19b187e345c9 | 31 | //******************************************** |
| trane3 | 22:19b187e345c9 | 32 | |
| trane3 | 22:19b187e345c9 | 33 | |
| trane3 | 22:19b187e345c9 | 34 | //USER INTERFACE SCREENS************************** |
| trane3 | 22:19b187e345c9 | 35 | |
| trane3 | 22:19b187e345c9 | 36 | void interface::startScreen(){ |
| trane3 | 22:19b187e345c9 | 37 | |
| trane3 | 22:19b187e345c9 | 38 | pc->printf("\n ____ _ ____ _____ __ __ _ _ _______ ____ "); |
| trane3 | 22:19b187e345c9 | 39 | pc->printf("\n| _ \\ / \\ / ___| ____| \\/ | / \\ | |/ / ____| _ \\"); |
| trane3 | 22:19b187e345c9 | 40 | pc->printf("\n| |_) / _ \\| | | _| | |\\/| | / _ \\ | ' /| _| | |_) |"); |
| trane3 | 22:19b187e345c9 | 41 | pc->printf("\n| __/ ___ \\ |___| |___| | | |/ ___ \\| . \\| |___| _ <"); |
| trane3 | 22:19b187e345c9 | 42 | pc->printf("\n|_| /_/ \\_\\____|_____|_| |_/_/ \\_\\_|\\_\\_____|_| \\_\\"); |
| trane3 | 22:19b187e345c9 | 43 | |
| trane3 | 22:19b187e345c9 | 44 | |
| trane3 | 22:19b187e345c9 | 45 | pc->printf("\nWelcome to the PACEMAKER DCM.\n"); |
| trane3 | 22:19b187e345c9 | 46 | pc->printf("Options:\n"); |
| trane3 | 22:19b187e345c9 | 47 | pc->printf("1. Start VOOR Pulse\n"); // temporary test to get VOOR working |
| trane3 | 22:19b187e345c9 | 48 | pc->printf("2. View/Change data\n"); |
| trane3 | 22:19b187e345c9 | 49 | pc->printf("Please enter a command:"); |
| trane3 | 22:19b187e345c9 | 50 | char command = getChar(); |
| trane3 | 22:19b187e345c9 | 51 | switch (command) { |
| trane3 | 22:19b187e345c9 | 52 | case '1':{ |
| trane3 | 22:19b187e345c9 | 53 | |
| trane3 | 22:19b187e345c9 | 54 | voor v(interfacePulse, ventData); //creates new instance of voor |
| trane3 | 22:19b187e345c9 | 55 | v.startPace(); //starts pacing voor the same way as it used to pace in the user interface |
| trane3 | 22:19b187e345c9 | 56 | //interfacePulse->startPulse(); //problems with this method: you create the pc output twice, once in UI and once in pulse. |
| trane3 | 22:19b187e345c9 | 57 | startScreen(); //realistically we'll never need to call the serial output in pulse, it should all be done in UI |
| trane3 | 22:19b187e345c9 | 58 | break; |
| trane3 | 22:19b187e345c9 | 59 | } |
| trane3 | 22:19b187e345c9 | 60 | case '2': |
| trane3 | 22:19b187e345c9 | 61 | interface::dataScreen(); |
| trane3 | 22:19b187e345c9 | 62 | break; |
| trane3 | 22:19b187e345c9 | 63 | default: |
| trane3 | 22:19b187e345c9 | 64 | pc->printf("\nThat is not an option.\n"); |
| trane3 | 22:19b187e345c9 | 65 | interface::startScreen(); |
| trane3 | 22:19b187e345c9 | 66 | break; |
| trane3 | 22:19b187e345c9 | 67 | } |
| trane3 | 22:19b187e345c9 | 68 | } |
| trane3 | 22:19b187e345c9 | 69 | |
| trane3 | 22:19b187e345c9 | 70 | void interface::dataScreen(){ |
| trane3 | 22:19b187e345c9 | 71 | (*pc).printf("\nDCM Data sets:\n"); |
| trane3 | 22:19b187e345c9 | 72 | (*pc).printf("1. Atrium Data\n2. Ventricle Data\n3. General Data\n4. Egram Data\n5. Back to start page\n"); |
| trane3 | 22:19b187e345c9 | 73 | (*pc).printf("Choose a data set:"); |
| trane3 | 22:19b187e345c9 | 74 | char command = getChar(); |
| trane3 | 22:19b187e345c9 | 75 | switch (command) { |
| trane3 | 22:19b187e345c9 | 76 | case '1': |
| trane3 | 22:19b187e345c9 | 77 | interface::chamberDataScreen(atrData); |
| trane3 | 22:19b187e345c9 | 78 | case '2': |
| trane3 | 22:19b187e345c9 | 79 | interface::chamberDataScreen(ventData); |
| trane3 | 22:19b187e345c9 | 80 | case '3': |
| trane3 | 22:19b187e345c9 | 81 | interface::genDataScreen(); |
| trane3 | 22:19b187e345c9 | 82 | case '4': |
| trane3 | 22:19b187e345c9 | 83 | pc->printf("\nNot setup yet"); |
| trane3 | 22:19b187e345c9 | 84 | break; |
| trane3 | 22:19b187e345c9 | 85 | case '5': |
| trane3 | 22:19b187e345c9 | 86 | interface::startScreen(); |
| trane3 | 22:19b187e345c9 | 87 | default: |
| trane3 | 22:19b187e345c9 | 88 | pc->printf("\nThat is not an option.\n"); |
| trane3 | 22:19b187e345c9 | 89 | interface::dataScreen(); |
| trane3 | 22:19b187e345c9 | 90 | } |
| trane3 | 22:19b187e345c9 | 91 | } |
| trane3 | 22:19b187e345c9 | 92 | |
| trane3 | 22:19b187e345c9 | 93 | void interface::chamberDataScreen(chamberData* chamber){ |
| trane3 | 22:19b187e345c9 | 94 | if (chamber == atrData) |
| trane3 | 22:19b187e345c9 | 95 | pc->printf("\nAtrium Data"); |
| trane3 | 22:19b187e345c9 | 96 | |
| trane3 | 22:19b187e345c9 | 97 | if (chamber == ventData) |
| trane3 | 22:19b187e345c9 | 98 | pc->printf("\nVentricle Data"); |
| trane3 | 22:19b187e345c9 | 99 | |
| trane3 | 22:19b187e345c9 | 100 | pc->printf("\n1. Pace Amplitude: %f", chamber->getPaceAmp()*7); |
| trane3 | 22:19b187e345c9 | 101 | pc->printf("\n2. Pace Width: %f", chamber->getPaceWidth()); |
| trane3 | 22:19b187e345c9 | 102 | pc->printf("\n3. Refractory Period: %f", chamber->getRP()); |
| trane3 | 22:19b187e345c9 | 103 | pc->printf("\n4. Sensitivity: %f", chamber->getSensitivity()); |
| trane3 | 22:19b187e345c9 | 104 | pc->printf("\nChoose variable to be changed or 5 To return to Data Sets"); |
| trane3 | 22:19b187e345c9 | 105 | |
| trane3 | 22:19b187e345c9 | 106 | char command = getChar(); |
| trane3 | 22:19b187e345c9 | 107 | switch (command){ |
| trane3 | 22:19b187e345c9 | 108 | case '1': |
| trane3 | 22:19b187e345c9 | 109 | pc->printf("\nChoose New Value for the Pace Amplitude:"); |
| trane3 | 22:19b187e345c9 | 110 | char* value = getInput(); |
| trane3 | 22:19b187e345c9 | 111 | int valInRange = chamber->chngPaceAmp(atof(value)); |
| trane3 | 22:19b187e345c9 | 112 | if(valInRange == 1){ |
| trane3 | 22:19b187e345c9 | 113 | pc->printf("\t%f",chamber->getPaceAmp()*7); |
| trane3 | 22:19b187e345c9 | 114 | }else{ |
| trane3 | 22:19b187e345c9 | 115 | pc->printf("\nThat value is not within range."); |
| trane3 | 22:19b187e345c9 | 116 | } |
| trane3 | 22:19b187e345c9 | 117 | interface::dataScreen(); |
| trane3 | 22:19b187e345c9 | 118 | break; |
| trane3 | 22:19b187e345c9 | 119 | case '2': |
| trane3 | 22:19b187e345c9 | 120 | pc->printf("\nChoose New Value for the Pace Width:"); |
| trane3 | 22:19b187e345c9 | 121 | value = getInput(); |
| trane3 | 22:19b187e345c9 | 122 | valInRange = chamber->chngPaceWidth(atof(value)); |
| trane3 | 22:19b187e345c9 | 123 | if(valInRange == 1){ |
| trane3 | 22:19b187e345c9 | 124 | pc->printf("\t%f",chamber->getPaceWidth()); |
| trane3 | 22:19b187e345c9 | 125 | }else{ |
| trane3 | 22:19b187e345c9 | 126 | pc->printf("\nThat value is not within range."); |
| trane3 | 22:19b187e345c9 | 127 | } |
| trane3 | 22:19b187e345c9 | 128 | interface::dataScreen(); |
| trane3 | 22:19b187e345c9 | 129 | break; |
| trane3 | 22:19b187e345c9 | 130 | case '3': |
| trane3 | 22:19b187e345c9 | 131 | pc->printf("\nChoose New Value for the Refractory Period:"); |
| trane3 | 22:19b187e345c9 | 132 | value = getInput(); |
| trane3 | 22:19b187e345c9 | 133 | valInRange = chamber->chngRP(atof(value)); |
| trane3 | 22:19b187e345c9 | 134 | if(valInRange == 1){ |
| trane3 | 22:19b187e345c9 | 135 | pc->printf("\t%f",chamber->getRP()); |
| trane3 | 22:19b187e345c9 | 136 | }else{ |
| trane3 | 22:19b187e345c9 | 137 | pc->printf("\nThat value is not within range."); |
| trane3 | 22:19b187e345c9 | 138 | } |
| trane3 | 22:19b187e345c9 | 139 | interface::dataScreen(); |
| trane3 | 22:19b187e345c9 | 140 | break; |
| trane3 | 22:19b187e345c9 | 141 | case '4': |
| trane3 | 22:19b187e345c9 | 142 | pc->printf("\nChoose New Value for the Sensitivity:"); |
| trane3 | 22:19b187e345c9 | 143 | value = getInput(); |
| trane3 | 22:19b187e345c9 | 144 | valInRange = chamber->chngSensitivity(atof(value)); |
| trane3 | 22:19b187e345c9 | 145 | if(valInRange == 1){ |
| trane3 | 22:19b187e345c9 | 146 | pc->printf("\t%f",chamber->getSensitivity()); |
| trane3 | 22:19b187e345c9 | 147 | }else{ |
| trane3 | 22:19b187e345c9 | 148 | pc->printf("\nThat value is not within range."); |
| trane3 | 22:19b187e345c9 | 149 | } |
| trane3 | 22:19b187e345c9 | 150 | interface::dataScreen(); |
| trane3 | 22:19b187e345c9 | 151 | break; |
| trane3 | 22:19b187e345c9 | 152 | case '5': |
| trane3 | 22:19b187e345c9 | 153 | interface::dataScreen(); |
| trane3 | 22:19b187e345c9 | 154 | break; |
| trane3 | 22:19b187e345c9 | 155 | default: |
| trane3 | 22:19b187e345c9 | 156 | pc->printf("\nThat is not an option."); |
| trane3 | 22:19b187e345c9 | 157 | interface::chamberDataScreen(chamber); |
| trane3 | 22:19b187e345c9 | 158 | break; |
| trane3 | 22:19b187e345c9 | 159 | } |
| trane3 | 22:19b187e345c9 | 160 | } |
| trane3 | 22:19b187e345c9 | 161 | |
| trane3 | 22:19b187e345c9 | 162 | void interface::genDataScreen(){ //moved option 3 from dataScreen() into its own method |
| trane3 | 22:19b187e345c9 | 163 | pc->printf("\nGeneral Data"); |
| trane3 | 22:19b187e345c9 | 164 | pc->printf("\n1. Hysteresis: %s", generalData->getHyst() ? "true" : "false"); |
| trane3 | 22:19b187e345c9 | 165 | pc->printf("\n2. Hysteresis Rate Limit: %f", generalData->getHystRL()); |
| trane3 | 22:19b187e345c9 | 166 | pc->printf("\n3. Lower Rate Limit: %f", generalData->getLRL()); |
| trane3 | 22:19b187e345c9 | 167 | pc->printf("\n4. Upper Rate Limit: %f", generalData->getURL()); |
| trane3 | 22:19b187e345c9 | 168 | pc->printf("\n5. Atrial-Ventricular Delay: %f", generalData->getAVdelay()); |
| trane3 | 22:19b187e345c9 | 169 | pc->printf("\n6. Atrial-Ventricular Delay Offset: %f" , generalData->getAVdelayOffset()); |
| trane3 | 22:19b187e345c9 | 170 | pc->printf("\n7. Rate Smoothing: %f", generalData->getRSmooth()); |
| trane3 | 22:19b187e345c9 | 171 | pc->printf("\nChoose variable to be changed or 5 To return to Data Sets"); |
| trane3 | 22:19b187e345c9 | 172 | char command = getChar(); |
| trane3 | 22:19b187e345c9 | 173 | switch (command) { |
| trane3 | 22:19b187e345c9 | 174 | case '1': |
| trane3 | 22:19b187e345c9 | 175 | pc->printf("\nSet Hysteresis (t for true, f for false):"); |
| trane3 | 22:19b187e345c9 | 176 | char* value = getInput(); |
| trane3 | 22:19b187e345c9 | 177 | if(*value == 't'){ |
| trane3 | 22:19b187e345c9 | 178 | generalData->chngHyst(true); |
| trane3 | 22:19b187e345c9 | 179 | }else if(*value == 'f'){ |
| trane3 | 22:19b187e345c9 | 180 | generalData->chngHyst(false); |
| trane3 | 22:19b187e345c9 | 181 | }else{ |
| trane3 | 22:19b187e345c9 | 182 | pc->printf("You may only enter 't' or 'f'."); |
| trane3 | 22:19b187e345c9 | 183 | } |
| trane3 | 22:19b187e345c9 | 184 | pc->printf("%s", generalData->getHyst() ? "true" : "false"); |
| trane3 | 22:19b187e345c9 | 185 | interface::genDataScreen(); |
| trane3 | 22:19b187e345c9 | 186 | break; |
| trane3 | 22:19b187e345c9 | 187 | case '2': |
| trane3 | 22:19b187e345c9 | 188 | pc->printf("\nChoose New Value for Hysteresis Rate Limit:"); |
| trane3 | 22:19b187e345c9 | 189 | value = getInput(); |
| trane3 | 22:19b187e345c9 | 190 | int valInRange = generalData->chngHystRL(atof(value)); |
| trane3 | 22:19b187e345c9 | 191 | if(valInRange == 1){ |
| trane3 | 22:19b187e345c9 | 192 | pc->printf("\t%f",generalData->getHystRL()); |
| trane3 | 22:19b187e345c9 | 193 | }else{ |
| trane3 | 22:19b187e345c9 | 194 | pc->printf("\nThat value is not within range."); |
| trane3 | 22:19b187e345c9 | 195 | } |
| trane3 | 22:19b187e345c9 | 196 | interface::genDataScreen(); |
| trane3 | 22:19b187e345c9 | 197 | break; |
| trane3 | 22:19b187e345c9 | 198 | case '3': |
| trane3 | 22:19b187e345c9 | 199 | pc->printf("\nChoose New Value for the Lower Rate Limit:"); |
| trane3 | 22:19b187e345c9 | 200 | value = getInput(); |
| trane3 | 22:19b187e345c9 | 201 | valInRange = generalData->chngLRL(atof(value)); |
| trane3 | 22:19b187e345c9 | 202 | if(valInRange == 1){ |
| trane3 | 22:19b187e345c9 | 203 | pc->printf("\t%f",generalData->getLRL()); |
| trane3 | 22:19b187e345c9 | 204 | }else{ |
| trane3 | 22:19b187e345c9 | 205 | pc->printf("\nThat value is not within range."); |
| trane3 | 22:19b187e345c9 | 206 | } |
| trane3 | 22:19b187e345c9 | 207 | interface::genDataScreen(); |
| trane3 | 22:19b187e345c9 | 208 | break; |
| trane3 | 22:19b187e345c9 | 209 | case '4': |
| trane3 | 22:19b187e345c9 | 210 | pc->printf("\nChoose New Value for the Upper Rate Limit:"); |
| trane3 | 22:19b187e345c9 | 211 | value = getInput(); |
| trane3 | 22:19b187e345c9 | 212 | valInRange = generalData->chngURL(atof(value)); |
| trane3 | 22:19b187e345c9 | 213 | if(valInRange == 1){ |
| trane3 | 22:19b187e345c9 | 214 | pc->printf("\t%f",generalData->getURL()); |
| trane3 | 22:19b187e345c9 | 215 | }else{ |
| trane3 | 22:19b187e345c9 | 216 | pc->printf("\nThat value is not within range."); |
| trane3 | 22:19b187e345c9 | 217 | } |
| trane3 | 22:19b187e345c9 | 218 | interface::genDataScreen(); |
| trane3 | 22:19b187e345c9 | 219 | break; |
| trane3 | 22:19b187e345c9 | 220 | case '5': |
| trane3 | 22:19b187e345c9 | 221 | pc->printf("\nChoose New Value for the Atrial-Ventricular Delay:"); |
| trane3 | 22:19b187e345c9 | 222 | value = getInput(); |
| trane3 | 22:19b187e345c9 | 223 | valInRange = generalData->chngAVdelay(atof(value)); |
| trane3 | 22:19b187e345c9 | 224 | if(valInRange == 1){ |
| trane3 | 22:19b187e345c9 | 225 | pc->printf("\t%f",generalData->getAVdelay()); |
| trane3 | 22:19b187e345c9 | 226 | }else{ |
| trane3 | 22:19b187e345c9 | 227 | pc->printf("\nThat value is not within range."); |
| trane3 | 22:19b187e345c9 | 228 | } |
| trane3 | 22:19b187e345c9 | 229 | interface::genDataScreen(); |
| trane3 | 22:19b187e345c9 | 230 | break; |
| trane3 | 22:19b187e345c9 | 231 | case '6': |
| trane3 | 22:19b187e345c9 | 232 | pc->printf("\nChoose New Value for the Atrial-Ventricular Delay Offset:"); |
| trane3 | 22:19b187e345c9 | 233 | value = getInput(); |
| trane3 | 22:19b187e345c9 | 234 | valInRange = generalData->chngAVdelayOffset(atof(value)); |
| trane3 | 22:19b187e345c9 | 235 | if(valInRange == 1){ |
| trane3 | 22:19b187e345c9 | 236 | pc->printf("\t%f",generalData->getAVdelayOffset()); |
| trane3 | 22:19b187e345c9 | 237 | }else{ |
| trane3 | 22:19b187e345c9 | 238 | pc->printf("\nThat value is not within range."); |
| trane3 | 22:19b187e345c9 | 239 | } |
| trane3 | 22:19b187e345c9 | 240 | interface::genDataScreen(); |
| trane3 | 22:19b187e345c9 | 241 | break; |
| trane3 | 22:19b187e345c9 | 242 | case '7': |
| trane3 | 22:19b187e345c9 | 243 | pc->printf("\nChoose New Value for the Rate Smoothing:"); |
| trane3 | 22:19b187e345c9 | 244 | value = getInput(); |
| trane3 | 22:19b187e345c9 | 245 | valInRange = generalData->chngRSmooth(atof(value)); |
| trane3 | 22:19b187e345c9 | 246 | if(valInRange == 1){ |
| trane3 | 22:19b187e345c9 | 247 | pc->printf("\t%f",generalData->getRSmooth()); |
| trane3 | 22:19b187e345c9 | 248 | }else{ |
| trane3 | 22:19b187e345c9 | 249 | pc->printf("\nThat value is not within range."); |
| trane3 | 22:19b187e345c9 | 250 | } |
| trane3 | 22:19b187e345c9 | 251 | interface::genDataScreen(); |
| trane3 | 22:19b187e345c9 | 252 | break; |
| trane3 | 22:19b187e345c9 | 253 | default: |
| trane3 | 22:19b187e345c9 | 254 | pc->printf("\nThat is not an option.\n"); |
| trane3 | 22:19b187e345c9 | 255 | interface::genDataScreen(); |
| trane3 | 22:19b187e345c9 | 256 | break; |
| trane3 | 22:19b187e345c9 | 257 | } |
| trane3 | 22:19b187e345c9 | 258 | } |
| trane3 | 22:19b187e345c9 | 259 | |
| trane3 | 22:19b187e345c9 | 260 | char* interface::getInput(){ |
| trane3 | 22:19b187e345c9 | 261 | char buffer[5]; |
| trane3 | 22:19b187e345c9 | 262 | fgets (buffer,5,stdin); |
| trane3 | 22:19b187e345c9 | 263 | return buffer; |
| trane3 | 22:19b187e345c9 | 264 | } |
| trane3 | 22:19b187e345c9 | 265 | |
| trane3 | 22:19b187e345c9 | 266 | char interface::getChar(){ |
| trane3 | 22:19b187e345c9 | 267 | while(true){ |
| trane3 | 22:19b187e345c9 | 268 | if(pc->readable()){ |
| trane3 | 22:19b187e345c9 | 269 | char command = pc->getc(); |
| trane3 | 22:19b187e345c9 | 270 | return command; |
| trane3 | 22:19b187e345c9 | 271 | } |
| trane3 | 22:19b187e345c9 | 272 | } |
| trane3 | 22:19b187e345c9 | 273 | } |
| trane3 | 22:19b187e345c9 | 274 | //**************************** |
| trane3 | 22:19b187e345c9 | 275 | |
| trane3 | 22:19b187e345c9 | 276 | //void interface::getAPulse(){ //TODO get this to work, the wait command has issues, see pulse.cpp . wait takes in seconds as argument |
| trane3 | 22:19b187e345c9 | 277 | // pulse myPulse(*atr); |
| trane3 | 22:19b187e345c9 | 278 | // myPulse.setWidth(1); |
| trane3 | 22:19b187e345c9 | 279 | // myPulse.startPulse(); |
| trane3 | 22:19b187e345c9 | 280 | // } |
| trane3 | 22:19b187e345c9 | 281 | |
| trane3 | 22:19b187e345c9 | 282 | //void interface::LEDon(AnalogOut* out){ |
| trane3 | 22:19b187e345c9 | 283 | // (*out) = 0; |
| trane3 | 22:19b187e345c9 | 284 | //// (*pc).printf(led); |
| trane3 | 22:19b187e345c9 | 285 | //} |
| trane3 | 22:19b187e345c9 | 286 | // |
| trane3 | 22:19b187e345c9 | 287 | //void interface::LEDoff(AnalogOut* out){ |
| trane3 | 22:19b187e345c9 | 288 | // (*out) = 1; |
| trane3 | 22:19b187e345c9 | 289 | //} |
