Fork for marginal changes to UI library.

Dependents:   Data-Management-Honka

Fork of UI by Michael Ling

Committer:
nathanhonka
Date:
Sun Apr 05 21:15:37 2015 +0000
Revision:
6:be26def664d1
Parent:
0:6b5a3a0138ad
Child:
7:53de0bee308d
Convert UI definitions to an enum to enforce type checking and enhance readability.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mzling 0:6b5a3a0138ad 1 #ifndef USERINTERFACE_H
mzling 0:6b5a3a0138ad 2 #define USERINTERFACE_H
mzling 0:6b5a3a0138ad 3
mzling 0:6b5a3a0138ad 4 /**
mzling 0:6b5a3a0138ad 5 * Copyright (c) 2014
mzling 0:6b5a3a0138ad 6 * All rights reserved.
mzling 0:6b5a3a0138ad 7 *
mzling 0:6b5a3a0138ad 8 * This header file contains functions for reading received signals and checking that they are properly formed.
mzling 0:6b5a3a0138ad 9 * @author Bradley Perry
mzling 0:6b5a3a0138ad 10 * @date
mzling 0:6b5a3a0138ad 11 */
mzling 0:6b5a3a0138ad 12
mzling 0:6b5a3a0138ad 13 #include "mbed.h"
mzling 0:6b5a3a0138ad 14 #include "MODSERIAL.h"
mzling 0:6b5a3a0138ad 15 #include "initDatabed.h"
nathanhonka 6:be26def664d1 16
nathanhonka 6:be26def664d1 17 /* UI button press types */
nathanhonka 6:be26def664d1 18 enum UI_t {
nathanhonka 6:be26def664d1 19 BUTTON_NONE = 0,
nathanhonka 6:be26def664d1 20 BUTTON_A_PRESS = 1,
nathanhonka 6:be26def664d1 21 BUTTON_B_PRESS = 2,
nathanhonka 6:be26def664d1 22 BUTTON_A_HOLD = 3,
nathanhonka 6:be26def664d1 23 BUTTON_B_HOLD = 4
nathanhonka 6:be26def664d1 24 };
nathanhonka 6:be26def664d1 25
nathanhonka 6:be26def664d1 26 extern UI_t UI;
mzling 0:6b5a3a0138ad 27 class UserInterface
mzling 0:6b5a3a0138ad 28 {
mzling 0:6b5a3a0138ad 29 public:
mzling 0:6b5a3a0138ad 30 UserInterface(void);
mzling 0:6b5a3a0138ad 31 void find_length(char *idx, int *count);
mzling 0:6b5a3a0138ad 32 bool checksum_check(char * idx, int length);
mzling 0:6b5a3a0138ad 33 void checkUI_XBee();
mzling 0:6b5a3a0138ad 34 void readBuffer();
mzling 0:6b5a3a0138ad 35 void initializeUI();
mzling 0:6b5a3a0138ad 36
mzling 0:6b5a3a0138ad 37 private:
mzling 0:6b5a3a0138ad 38 int _buttonA;
mzling 0:6b5a3a0138ad 39 int _buttonA_prev;
mzling 0:6b5a3a0138ad 40 float _tHold;
mzling 0:6b5a3a0138ad 41 float _tIdle;
mzling 0:6b5a3a0138ad 42 int _SSconfirm;
mzling 0:6b5a3a0138ad 43 float _tRelease;
mzling 0:6b5a3a0138ad 44 Timer _time_StateChange;
mzling 0:6b5a3a0138ad 45 Timer _time_pressA;
mzling 0:6b5a3a0138ad 46 Timer _time_pressB;
mzling 0:6b5a3a0138ad 47 int _buttonB;
mzling 0:6b5a3a0138ad 48 int _buttonB_prev;
mzling 0:6b5a3a0138ad 49 char _xbeeBuffer[250];
mzling 0:6b5a3a0138ad 50 int _dataCnt;
mzling 0:6b5a3a0138ad 51 float _time_sinceA;
mzling 0:6b5a3a0138ad 52 float _time_sinceB;
mzling 0:6b5a3a0138ad 53 };
mzling 0:6b5a3a0138ad 54 #endif