Uses the SRF02 UDS and displays distance in a variety of ways on the N5110 LCD.
Dependencies: N5110WN PowerControl SRF02 mbed
main.h@4:2e9aa626a02c, 2015-04-08 (annotated)
- Committer:
- JakBlackburn
- Date:
- Wed Apr 08 00:46:27 2015 +0000
- Revision:
- 4:2e9aa626a02c
- Parent:
- 3:00933efbe463
- Child:
- 5:f9b97f057836
designed and added the ability to print large numbers.; Also did some documentation and started on the number based visual representation
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JakBlackburn | 1:7f151ab172cb | 1 | /** |
JakBlackburn | 1:7f151ab172cb | 2 | @file main.h |
JakBlackburn | 1:7f151ab172cb | 3 | @brief Header file containng function prototypes, defines and global variables. |
JakBlackburn | 1:7f151ab172cb | 4 | @brief Shows a Ultra-sonic Distance Sensor |
JakBlackburn | 1:7f151ab172cb | 5 | @author Jakobi Blackburn |
JakBlackburn | 1:7f151ab172cb | 6 | @date 13 March 2015 |
JakBlackburn | 1:7f151ab172cb | 7 | */ |
JakBlackburn | 1:7f151ab172cb | 8 | #ifndef MAIN_H |
JakBlackburn | 1:7f151ab172cb | 9 | #define MAIN_H |
JakBlackburn | 1:7f151ab172cb | 10 | |
JakBlackburn | 1:7f151ab172cb | 11 | #define PI 3.14159265359 |
JakBlackburn | 1:7f151ab172cb | 12 | |
JakBlackburn | 1:7f151ab172cb | 13 | #include "mbed.h" |
JakBlackburn | 1:7f151ab172cb | 14 | #include "PowerControl/PowerControl.h" |
JakBlackburn | 1:7f151ab172cb | 15 | #include "PowerControl/EthernetPowerControl.h" |
JakBlackburn | 1:7f151ab172cb | 16 | #include "Speaker.h" |
JakBlackburn | 1:7f151ab172cb | 17 | #include "N5110.h" |
JakBlackburn | 1:7f151ab172cb | 18 | #include "SRF02/SRF02.h" |
JakBlackburn | 1:7f151ab172cb | 19 | |
JakBlackburn | 1:7f151ab172cb | 20 | // Inputs |
JakBlackburn | 1:7f151ab172cb | 21 | /** |
JakBlackburn | 1:7f151ab172cb | 22 | @namespace UnitTog |
JakBlackburn | 1:7f151ab172cb | 23 | @brief An Interrupt button that toggles the Unit |
JakBlackburn | 1:7f151ab172cb | 24 | */ |
JakBlackburn | 1:7f151ab172cb | 25 | InterruptIn UnitTog(p14); |
JakBlackburn | 1:7f151ab172cb | 26 | /** |
JakBlackburn | 1:7f151ab172cb | 27 | @namespace LCDTog |
JakBlackburn | 1:7f151ab172cb | 28 | @brief A SPDT switch that turns the LCD Screen on/off |
JakBlackburn | 1:7f151ab172cb | 29 | */ |
JakBlackburn | 1:7f151ab172cb | 30 | AnalogIn LCDTog(p15); |
JakBlackburn | 1:7f151ab172cb | 31 | /** |
JakBlackburn | 1:7f151ab172cb | 32 | @namespace LogTog |
JakBlackburn | 1:7f151ab172cb | 33 | @brief An Interrupt button that toggles the Logging Capabilities |
JakBlackburn | 1:7f151ab172cb | 34 | */ |
JakBlackburn | 1:7f151ab172cb | 35 | InterruptIn LogTog(p16); |
JakBlackburn | 1:7f151ab172cb | 36 | /** |
JakBlackburn | 1:7f151ab172cb | 37 | @namespace VisTog |
JakBlackburn | 1:7f151ab172cb | 38 | @brief An Interrupt button that changes the visual representation of the data |
JakBlackburn | 1:7f151ab172cb | 39 | */ |
JakBlackburn | 1:7f151ab172cb | 40 | InterruptIn VisTog(p17); |
JakBlackburn | 1:7f151ab172cb | 41 | /** |
JakBlackburn | 1:7f151ab172cb | 42 | @namespace BuzVol |
JakBlackburn | 1:7f151ab172cb | 43 | @brief An Analogue input (Potentiometer) that is used to change the volume of the buzzer |
JakBlackburn | 1:7f151ab172cb | 44 | */ |
JakBlackburn | 1:7f151ab172cb | 45 | AnalogIn BuzVol(p19); |
JakBlackburn | 1:7f151ab172cb | 46 | /** |
JakBlackburn | 1:7f151ab172cb | 47 | @namespace BLEDLevel |
JakBlackburn | 1:7f151ab172cb | 48 | @brief An Analogue input (Potentiometer) that is used to change the backlight of the LCD screen |
JakBlackburn | 1:7f151ab172cb | 49 | */ |
JakBlackburn | 1:7f151ab172cb | 50 | AnalogIn BLEDLevel(p20); |
JakBlackburn | 1:7f151ab172cb | 51 | /** |
JakBlackburn | 1:7f151ab172cb | 52 | @namespace sensor |
JakBlackburn | 1:7f151ab172cb | 53 | @brief Ultra-Sonic distance sensor requires SDA and SCL lines |
JakBlackburn | 1:7f151ab172cb | 54 | */ |
JakBlackburn | 1:7f151ab172cb | 55 | SRF02 sensor(p28,p27);//SDA SCL |
JakBlackburn | 1:7f151ab172cb | 56 | |
JakBlackburn | 1:7f151ab172cb | 57 | // Outputs |
JakBlackburn | 1:7f151ab172cb | 58 | /** |
JakBlackburn | 1:7f151ab172cb | 59 | @namespace N5110 LCD |
JakBlackburn | 1:7f151ab172cb | 60 | @brief An LCD screen that requires |
JakBlackburn | 1:7f151ab172cb | 61 | @brief Pinout VCC,SCE,RST,D/C,MOSI,SCLK,LED |
JakBlackburn | 1:7f151ab172cb | 62 | */ |
JakBlackburn | 1:7f151ab172cb | 63 | N5110 lcd(p7,p8,p9,p10,p11,p13,p26); |
JakBlackburn | 1:7f151ab172cb | 64 | /** |
JakBlackburn | 1:7f151ab172cb | 65 | @namespace Buzzer |
JakBlackburn | 1:7f151ab172cb | 66 | @brief A buzzer that can produce different notes dependant on the frquency of the signal inputted to it. Used as an |
JakBlackburn | 1:7f151ab172cb | 67 | */ |
JakBlackburn | 1:7f151ab172cb | 68 | Speaker Buzzer(p18); |
JakBlackburn | 1:7f151ab172cb | 69 | /** |
JakBlackburn | 1:7f151ab172cb | 70 | @namespace BLED |
JakBlackburn | 1:7f151ab172cb | 71 | @brief The backlight of the LCD screen. Brightness can be changed via Pulse Width Modulation |
JakBlackburn | 1:7f151ab172cb | 72 | */ |
JakBlackburn | 1:7f151ab172cb | 73 | PwmOut BLED(p26); |
JakBlackburn | 1:7f151ab172cb | 74 | /** |
JakBlackburn | 1:7f151ab172cb | 75 | @namespace WLED |
JakBlackburn | 1:7f151ab172cb | 76 | @brief A LED used as visual warning |
JakBlackburn | 1:7f151ab172cb | 77 | */ |
JakBlackburn | 1:7f151ab172cb | 78 | DigitalOut WLED(p21); |
JakBlackburn | 1:7f151ab172cb | 79 | /** |
JakBlackburn | 1:7f151ab172cb | 80 | @namespace LLED |
JakBlackburn | 1:7f151ab172cb | 81 | @brief A LED used to show Logging is off/on |
JakBlackburn | 1:7f151ab172cb | 82 | */ |
JakBlackburn | 1:7f151ab172cb | 83 | DigitalOut LLED(p29); |
JakBlackburn | 1:7f151ab172cb | 84 | /** |
JakBlackburn | 1:7f151ab172cb | 85 | @namespace pc |
JakBlackburn | 1:7f151ab172cb | 86 | @brief Serial output used mainly for debugging. |
JakBlackburn | 1:7f151ab172cb | 87 | @brief Pinout TX, RX |
JakBlackburn | 1:7f151ab172cb | 88 | */ |
JakBlackburn | 1:7f151ab172cb | 89 | Serial pc(USBTX,USBRX);// the tx and rx respectively |
JakBlackburn | 1:7f151ab172cb | 90 | /** |
JakBlackburn | 1:7f151ab172cb | 91 | @namespace leds |
JakBlackburn | 1:7f151ab172cb | 92 | @brief leds used to display error messages and when the file is being written too |
JakBlackburn | 1:7f151ab172cb | 93 | */ |
JakBlackburn | 1:7f151ab172cb | 94 | BusOut leds(LED4,LED3,LED2,LED1); |
JakBlackburn | 1:7f151ab172cb | 95 | |
JakBlackburn | 1:7f151ab172cb | 96 | |
JakBlackburn | 1:7f151ab172cb | 97 | // ---- Variables ---- |
JakBlackburn | 1:7f151ab172cb | 98 | |
JakBlackburn | 1:7f151ab172cb | 99 | float scanSpeed=1; /*!< float that changes the speed that the distance is taken */ |
JakBlackburn | 1:7f151ab172cb | 100 | float volume=1; /*!< float used to vary the volume */ |
JakBlackburn | 1:7f151ab172cb | 101 | int distance; /*!< integer that stores the distance */ |
JakBlackburn | 1:7f151ab172cb | 102 | float unitX=1; /*!< Float that stores the unit multiple if 1 unit is cm, 0.01 = m, 10 = mm */ |
JakBlackburn | 3:00933efbe463 | 103 | const char *units ="cm"; /*!< string of characters that stores the unit */ |
JakBlackburn | 3:00933efbe463 | 104 | int visual =0;/*!< integer that stores the visual display mode */ |
JakBlackburn | 1:7f151ab172cb | 105 | |
JakBlackburn | 1:7f151ab172cb | 106 | // ---- Flags ---- |
JakBlackburn | 1:7f151ab172cb | 107 | int timerFlag=0; /*!< flag used to trigger the timer ISR */ |
JakBlackburn | 1:7f151ab172cb | 108 | int setTimeFlag = 0; /*!< flag for ISR for setting time */ |
JakBlackburn | 1:7f151ab172cb | 109 | int logButtonFlag = 0; /*!<flag for button toggle */ |
JakBlackburn | 1:7f151ab172cb | 110 | |
JakBlackburn | 1:7f151ab172cb | 111 | // ---- MISC ---- |
JakBlackburn | 3:00933efbe463 | 112 | char rxString[16]; /*!< buffer to store received string */ |
JakBlackburn | 3:00933efbe463 | 113 | LocalFileSystem local("local"); /*!< create local filesystem */ |
JakBlackburn | 1:7f151ab172cb | 114 | |
JakBlackburn | 1:7f151ab172cb | 115 | Ticker timer; |
JakBlackburn | 1:7f151ab172cb | 116 | |
JakBlackburn | 1:7f151ab172cb | 117 | // ---- functions ---- |
JakBlackburn | 1:7f151ab172cb | 118 | /** |
JakBlackburn | 1:7f151ab172cb | 119 | deals with the visual and audiable alerts. |
JakBlackburn | 1:7f151ab172cb | 120 | */ |
JakBlackburn | 1:7f151ab172cb | 121 | void warnings(); |
JakBlackburn | 1:7f151ab172cb | 122 | /** |
JakBlackburn | 1:7f151ab172cb | 123 | takes 10 distances and averages them. |
JakBlackburn | 1:7f151ab172cb | 124 | @returns The distance between the Sensor and the nearest object infront of it |
JakBlackburn | 1:7f151ab172cb | 125 | */ |
JakBlackburn | 1:7f151ab172cb | 126 | float getDistance(); |
JakBlackburn | 1:7f151ab172cb | 127 | /** |
JakBlackburn | 1:7f151ab172cb | 128 | changes the units cm/m/mm |
JakBlackburn | 1:7f151ab172cb | 129 | */ |
JakBlackburn | 3:00933efbe463 | 130 | void unitToggle(); |
JakBlackburn | 3:00933efbe463 | 131 | /** |
JakBlackburn | 3:00933efbe463 | 132 | changes the visual display |
JakBlackburn | 3:00933efbe463 | 133 | */ |
JakBlackburn | 3:00933efbe463 | 134 | void visToggle(); |
JakBlackburn | 1:7f151ab172cb | 135 | /** |
JakBlackburn | 1:7f151ab172cb | 136 | ISR used for the timer |
JakBlackburn | 1:7f151ab172cb | 137 | */ |
JakBlackburn | 1:7f151ab172cb | 138 | void timerExpired(); |
JakBlackburn | 1:7f151ab172cb | 139 | /** |
JakBlackburn | 1:7f151ab172cb | 140 | sets the speed of the scanning, dependant on the distance |
JakBlackburn | 1:7f151ab172cb | 141 | */ |
JakBlackburn | 1:7f151ab172cb | 142 | void setScanSpeed(); |
JakBlackburn | 1:7f151ab172cb | 143 | /** |
JakBlackburn | 1:7f151ab172cb | 144 | Displays an error message on the Mbed LEDs |
JakBlackburn | 3:00933efbe463 | 145 | @brief The error message show is up to 14. IF 15 shown it is a ack bit error for the SRF02 |
JakBlackburn | 1:7f151ab172cb | 146 | @param E - Error Code |
JakBlackburn | 3:00933efbe463 | 147 | @returns flashing Mbed LEDs signifying the error |
JakBlackburn | 1:7f151ab172cb | 148 | */ |
JakBlackburn | 1:7f151ab172cb | 149 | void error(int E); |
JakBlackburn | 3:00933efbe463 | 150 | /** |
JakBlackburn | 4:2e9aa626a02c | 151 | ISR for the LOGTOG button Toggling |
JakBlackburn | 4:2e9aa626a02c | 152 | @brief logging Capabilities |
JakBlackburn | 3:00933efbe463 | 153 | */ |
JakBlackburn | 4:2e9aa626a02c | 154 | void logToggle(); |
JakBlackburn | 3:00933efbe463 | 155 | /** |
JakBlackburn | 4:2e9aa626a02c | 156 | Takes the time and temperature value |
JakBlackburn | 4:2e9aa626a02c | 157 | @brief and inserts them into a CSV file |
JakBlackburn | 4:2e9aa626a02c | 158 | @param char* data |
JakBlackburn | 4:2e9aa626a02c | 159 | @param float data1 |
JakBlackburn | 3:00933efbe463 | 160 | */ |
JakBlackburn | 3:00933efbe463 | 161 | void logging(char* data,float data1); |
JakBlackburn | 3:00933efbe463 | 162 | /** |
JakBlackburn | 3:00933efbe463 | 163 | ISR for the serial port |
JakBlackburn | 3:00933efbe463 | 164 | */ |
JakBlackburn | 3:00933efbe463 | 165 | void serialISR(); |
JakBlackburn | 3:00933efbe463 | 166 | /** |
JakBlackburn | 3:00933efbe463 | 167 | function to set the UNIX time |
JakBlackburn | 3:00933efbe463 | 168 | */ |
JakBlackburn | 3:00933efbe463 | 169 | void setTime(); |
JakBlackburn | 3:00933efbe463 | 170 | /** |
JakBlackburn | 3:00933efbe463 | 171 | Plays a set of frequencies through the buzzer creating a tune |
JakBlackburn | 3:00933efbe463 | 172 | */ |
JakBlackburn | 3:00933efbe463 | 173 | void introTune(); |
JakBlackburn | 3:00933efbe463 | 174 | /** |
JakBlackburn | 3:00933efbe463 | 175 | sets every other pixel on, creating a checkerboard like effect |
JakBlackburn | 3:00933efbe463 | 176 | */ |
JakBlackburn | 3:00933efbe463 | 177 | void checkerBoard(); |
JakBlackburn | 3:00933efbe463 | 178 | /** |
JakBlackburn | 3:00933efbe463 | 179 | sets the parameters for the first visual mode |
JakBlackburn | 3:00933efbe463 | 180 | */ |
JakBlackburn | 3:00933efbe463 | 181 | void LCDVis0(); |
JakBlackburn | 3:00933efbe463 | 182 | /** |
JakBlackburn | 3:00933efbe463 | 183 | sets the parameters for the second visual mode |
JakBlackburn | 3:00933efbe463 | 184 | */ |
JakBlackburn | 3:00933efbe463 | 185 | void LCDVis1(); |
JakBlackburn | 3:00933efbe463 | 186 | /** |
JakBlackburn | 3:00933efbe463 | 187 | sets the parameters for the third visual mode |
JakBlackburn | 3:00933efbe463 | 188 | */ |
JakBlackburn | 3:00933efbe463 | 189 | void LCDVis2(); |
JakBlackburn | 4:2e9aa626a02c | 190 | /** |
JakBlackburn | 4:2e9aa626a02c | 191 | sets the parameters for the fourth visual mode |
JakBlackburn | 4:2e9aa626a02c | 192 | */ |
JakBlackburn | 4:2e9aa626a02c | 193 | void LCDVis3(); |
JakBlackburn | 4:2e9aa626a02c | 194 | /** |
JakBlackburn | 4:2e9aa626a02c | 195 | sets a image of a car in pixels |
JakBlackburn | 4:2e9aa626a02c | 196 | */ |
JakBlackburn | 4:2e9aa626a02c | 197 | void car(); |
JakBlackburn | 1:7f151ab172cb | 198 | |
JakBlackburn | 4:2e9aa626a02c | 199 | /** |
JakBlackburn | 4:2e9aa626a02c | 200 | sets the number 0 in pixels |
JakBlackburn | 4:2e9aa626a02c | 201 | @param P - Positional Modifier |
JakBlackburn | 4:2e9aa626a02c | 202 | */ |
JakBlackburn | 4:2e9aa626a02c | 203 | void number0(int P); |
JakBlackburn | 4:2e9aa626a02c | 204 | /** |
JakBlackburn | 4:2e9aa626a02c | 205 | sets the number 1 in pixels |
JakBlackburn | 4:2e9aa626a02c | 206 | @param P - Positional Modifier |
JakBlackburn | 4:2e9aa626a02c | 207 | */ |
JakBlackburn | 4:2e9aa626a02c | 208 | void number1(int P); |
JakBlackburn | 4:2e9aa626a02c | 209 | /** |
JakBlackburn | 4:2e9aa626a02c | 210 | sets the number 2 in pixels |
JakBlackburn | 4:2e9aa626a02c | 211 | @param P - Positional Modifier |
JakBlackburn | 4:2e9aa626a02c | 212 | */ |
JakBlackburn | 4:2e9aa626a02c | 213 | void number2(int P); |
JakBlackburn | 4:2e9aa626a02c | 214 | /** |
JakBlackburn | 4:2e9aa626a02c | 215 | sets the number 3 in pixels |
JakBlackburn | 4:2e9aa626a02c | 216 | @param P - Positional Modifier |
JakBlackburn | 4:2e9aa626a02c | 217 | */ |
JakBlackburn | 4:2e9aa626a02c | 218 | void number3(int P); |
JakBlackburn | 4:2e9aa626a02c | 219 | /** |
JakBlackburn | 4:2e9aa626a02c | 220 | sets the number 4 in pixels |
JakBlackburn | 4:2e9aa626a02c | 221 | @param P - Positional Modifier |
JakBlackburn | 4:2e9aa626a02c | 222 | */ |
JakBlackburn | 4:2e9aa626a02c | 223 | void number4(int P); |
JakBlackburn | 4:2e9aa626a02c | 224 | /** |
JakBlackburn | 4:2e9aa626a02c | 225 | sets the number 5 in pixels |
JakBlackburn | 4:2e9aa626a02c | 226 | @param P - Positional Modifier |
JakBlackburn | 4:2e9aa626a02c | 227 | */ |
JakBlackburn | 4:2e9aa626a02c | 228 | void number5(int P); |
JakBlackburn | 4:2e9aa626a02c | 229 | /** |
JakBlackburn | 4:2e9aa626a02c | 230 | sets the number 6 in pixels |
JakBlackburn | 4:2e9aa626a02c | 231 | @param P - Positional Modifier |
JakBlackburn | 4:2e9aa626a02c | 232 | */ |
JakBlackburn | 4:2e9aa626a02c | 233 | void number6(int P); |
JakBlackburn | 4:2e9aa626a02c | 234 | /** |
JakBlackburn | 4:2e9aa626a02c | 235 | sets the number 7 in pixels |
JakBlackburn | 4:2e9aa626a02c | 236 | @param P - Positional Modifier |
JakBlackburn | 4:2e9aa626a02c | 237 | */ |
JakBlackburn | 4:2e9aa626a02c | 238 | void number7(int P); |
JakBlackburn | 4:2e9aa626a02c | 239 | /** |
JakBlackburn | 4:2e9aa626a02c | 240 | sets the number 8 in pixels |
JakBlackburn | 4:2e9aa626a02c | 241 | @param P - Positional Modifier |
JakBlackburn | 4:2e9aa626a02c | 242 | */ |
JakBlackburn | 4:2e9aa626a02c | 243 | void number8(int P); |
JakBlackburn | 4:2e9aa626a02c | 244 | /** |
JakBlackburn | 4:2e9aa626a02c | 245 | sets the number 9 in pixels |
JakBlackburn | 4:2e9aa626a02c | 246 | @param P - Positional Modifier |
JakBlackburn | 4:2e9aa626a02c | 247 | */ |
JakBlackburn | 4:2e9aa626a02c | 248 | void number9(int P); |
JakBlackburn | 4:2e9aa626a02c | 249 | /** |
JakBlackburn | 4:2e9aa626a02c | 250 | sets the Decimal for the metre units |
JakBlackburn | 4:2e9aa626a02c | 251 | */ |
JakBlackburn | 4:2e9aa626a02c | 252 | void decimal(); |
JakBlackburn | 1:7f151ab172cb | 253 | |
JakBlackburn | 1:7f151ab172cb | 254 | |
JakBlackburn | 1:7f151ab172cb | 255 | typedef const struct State STyp; /*!< defines the struct type */ |
JakBlackburn | 1:7f151ab172cb | 256 | /** |
JakBlackburn | 1:7f151ab172cb | 257 | Sets the struct |
JakBlackburn | 1:7f151ab172cb | 258 | */ |
JakBlackburn | 1:7f151ab172cb | 259 | struct State { |
JakBlackburn | 1:7f151ab172cb | 260 | float unitMultiple; /*!< float that stores the unit mulitple */ |
JakBlackburn | 2:a1eaa4d74b63 | 261 | const char *Unit; /*!<stores the sting value of the unit */ |
JakBlackburn | 1:7f151ab172cb | 262 | int nextState[2]; /*!< array of next states */ |
JakBlackburn | 1:7f151ab172cb | 263 | }; |
JakBlackburn | 1:7f151ab172cb | 264 | |
JakBlackburn | 1:7f151ab172cb | 265 | /** |
JakBlackburn | 1:7f151ab172cb | 266 | @brief sets the Finite State Machine for the Unit toggle. |
JakBlackburn | 1:7f151ab172cb | 267 | */ |
JakBlackburn | 1:7f151ab172cb | 268 | STyp fsm[3] = { |
JakBlackburn | 2:a1eaa4d74b63 | 269 | {1,"cm",{0,1}}, /*!< State 0: stays in the current state unless input is recieved */ |
JakBlackburn | 2:a1eaa4d74b63 | 270 | {0.01,"m",{1,2}}, /*!< State 1: stays in the current state unless input is recieved */ |
JakBlackburn | 2:a1eaa4d74b63 | 271 | {10,"mm",{2,0}} /*!< State 2: stays in the current state unless input is recieved */ |
JakBlackburn | 1:7f151ab172cb | 272 | }; |
JakBlackburn | 1:7f151ab172cb | 273 | int state=0;/*!< sets the initial state */ |
JakBlackburn | 1:7f151ab172cb | 274 | |
JakBlackburn | 3:00933efbe463 | 275 | typedef const struct VState VSTyp; /*!< defines the struct type */ |
JakBlackburn | 3:00933efbe463 | 276 | /** |
JakBlackburn | 3:00933efbe463 | 277 | Sets the struct |
JakBlackburn | 3:00933efbe463 | 278 | */ |
JakBlackburn | 3:00933efbe463 | 279 | struct VState { |
JakBlackburn | 3:00933efbe463 | 280 | int visual; /*!< integer that stores the visual mode */ |
JakBlackburn | 3:00933efbe463 | 281 | int nextState[2]; /*!< array of next states */ |
JakBlackburn | 3:00933efbe463 | 282 | }; |
JakBlackburn | 3:00933efbe463 | 283 | |
JakBlackburn | 3:00933efbe463 | 284 | /** |
JakBlackburn | 3:00933efbe463 | 285 | @brief sets the Finite State Machine for the Visual toggle. |
JakBlackburn | 3:00933efbe463 | 286 | */ |
JakBlackburn | 4:2e9aa626a02c | 287 | VSTyp Vfsm[4] = { |
JakBlackburn | 3:00933efbe463 | 288 | {0,{0,1}}, /*!< State 0: stays in the current state unless input is recieved */ |
JakBlackburn | 3:00933efbe463 | 289 | {1,{1,2}}, /*!< State 1: stays in the current state unless input is recieved */ |
JakBlackburn | 4:2e9aa626a02c | 290 | {2,{2,3}}, /*!< State 2: stays in the current state unless input is recieved */ |
JakBlackburn | 4:2e9aa626a02c | 291 | {3,{3,0}} /*!< State 3: stays in the current state unless input is recieved */ |
JakBlackburn | 3:00933efbe463 | 292 | }; |
JakBlackburn | 3:00933efbe463 | 293 | int Vstate=0;/*!< sets the initial state */ |
JakBlackburn | 3:00933efbe463 | 294 | |
JakBlackburn | 3:00933efbe463 | 295 | |
JakBlackburn | 3:00933efbe463 | 296 | |
JakBlackburn | 1:7f151ab172cb | 297 | |
JakBlackburn | 1:7f151ab172cb | 298 | |
JakBlackburn | 1:7f151ab172cb | 299 | #endif |
JakBlackburn | 1:7f151ab172cb | 300 | |
JakBlackburn | 1:7f151ab172cb | 301 |