XBee and XBee-PRO ZigBee RF modules provide cost-effective wireless connectivity to electronic devices. They are interoperable with other ZigBee PRO feature set devices, including devices from other vendors.

Dependencies:   BufferedArray

Dependents:   MBEDminiproject

Committer:
yangcq88517
Date:
Sat Nov 14 16:42:36 2015 +0000
Revision:
6:5f31ddc17239
Parent:
4:a0f1fba6c2fb
change to unsigned char array

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yangcq88517 0:837e6c48e90d 1 #ifndef UK_AC_HERTS_SMARTLAB_XBEE_IOSamples
yangcq88517 0:837e6c48e90d 2 #define UK_AC_HERTS_SMARTLAB_XBEE_IOSamples
yangcq88517 0:837e6c48e90d 3
yangcq88517 0:837e6c48e90d 4 #include "Pin.h"
yangcq88517 0:837e6c48e90d 5 #include <map>
yangcq88517 0:837e6c48e90d 6
yangcq88517 0:837e6c48e90d 7 using namespace std;
yangcq88517 4:a0f1fba6c2fb 8 /**
yangcq88517 4:a0f1fba6c2fb 9 * A collection of digital and analog samples reported by XBee module.
yangcq88517 4:a0f1fba6c2fb 10 */
yangcq88517 0:837e6c48e90d 11 class IOSamples
yangcq88517 0:837e6c48e90d 12 {
yangcq88517 0:837e6c48e90d 13 private :
yangcq88517 6:5f31ddc17239 14 unsigned int SUPPLY_VOLTAGE;
yangcq88517 4:a0f1fba6c2fb 15
yangcq88517 6:5f31ddc17239 16 map<Pin *, unsigned int> analog;
yangcq88517 4:a0f1fba6c2fb 17
yangcq88517 6:5f31ddc17239 18 map<Pin *, unsigned char> digital;
yangcq88517 0:837e6c48e90d 19
yangcq88517 4:a0f1fba6c2fb 20 public:
yangcq88517 4:a0f1fba6c2fb 21 /**
yangcq88517 4:a0f1fba6c2fb 22 * Get all the avaliable analog values.
yangcq88517 4:a0f1fba6c2fb 23 *
yangcq88517 4:a0f1fba6c2fb 24 * @returns map<Pin,int>
yangcq88517 4:a0f1fba6c2fb 25 */
yangcq88517 6:5f31ddc17239 26 map<Pin *, unsigned int> * getAnalogs();
yangcq88517 4:a0f1fba6c2fb 27
yangcq88517 0:837e6c48e90d 28 /**
yangcq88517 4:a0f1fba6c2fb 29 * Get analog value from one pin.
yangcq88517 4:a0f1fba6c2fb 30 *
yangcq88517 4:a0f1fba6c2fb 31 * @param Pin XBee S1 or S2 pin object.
yangcq88517 6:5f31ddc17239 32 * @returns 0xFFFF means sample not avaliable.
yangcq88517 0:837e6c48e90d 33 */
yangcq88517 6:5f31ddc17239 34 unsigned int getAnalog(Pin * pin);
yangcq88517 4:a0f1fba6c2fb 35
yangcq88517 0:837e6c48e90d 36 /**
yangcq88517 4:a0f1fba6c2fb 37 * Get all the avaliable digital values.
yangcq88517 4:a0f1fba6c2fb 38 *
yangcq88517 6:5f31ddc17239 39 * @returns map<Pin,unsigned char>:
yangcq88517 0:837e6c48e90d 40 * LOW = 0,
yangcq88517 0:837e6c48e90d 41 * HIGH = 1,
yangcq88517 0:837e6c48e90d 42 * UNMONITORED = 2,
yangcq88517 0:837e6c48e90d 43 */
yangcq88517 6:5f31ddc17239 44 map<Pin *, unsigned char> * getDigitals();
yangcq88517 4:a0f1fba6c2fb 45
yangcq88517 4:a0f1fba6c2fb 46 /**
yangcq88517 4:a0f1fba6c2fb 47 * Get digital value from one pin.
yangcq88517 4:a0f1fba6c2fb 48 *
yangcq88517 4:a0f1fba6c2fb 49 * @param Pin XBee S1 or S2 pin object.
yangcq88517 4:a0f1fba6c2fb 50 * @returns
yangcq88517 4:a0f1fba6c2fb 51 * LOW = 0,
yangcq88517 4:a0f1fba6c2fb 52 * HIGH = 1,
yangcq88517 4:a0f1fba6c2fb 53 * UNMONITORED = 2,
yangcq88517 4:a0f1fba6c2fb 54 */
yangcq88517 6:5f31ddc17239 55 unsigned char getDigital(Pin * pin);
yangcq88517 0:837e6c48e90d 56
yangcq88517 4:a0f1fba6c2fb 57 /**
yangcq88517 4:a0f1fba6c2fb 58 * Get supply voltage, S2 only.
yangcq88517 4:a0f1fba6c2fb 59 *
yangcq88517 4:a0f1fba6c2fb 60 * @returns voltage
yangcq88517 4:a0f1fba6c2fb 61 */
yangcq88517 6:5f31ddc17239 62 unsigned int getSupplyVoltage();
yangcq88517 4:a0f1fba6c2fb 63
yangcq88517 4:a0f1fba6c2fb 64 /**
yangcq88517 4:a0f1fba6c2fb 65 * Set supply voltage, S2 only.
yangcq88517 4:a0f1fba6c2fb 66 *
yangcq88517 4:a0f1fba6c2fb 67 * @param voltage
yangcq88517 4:a0f1fba6c2fb 68 */
yangcq88517 6:5f31ddc17239 69 void setSupplyVoltage(unsigned int voltage);
yangcq88517 4:a0f1fba6c2fb 70
yangcq88517 4:a0f1fba6c2fb 71 /**
yangcq88517 4:a0f1fba6c2fb 72 * Cleat all the sample values.
yangcq88517 4:a0f1fba6c2fb 73 */
yangcq88517 2:700dc65ca3b1 74 void clear();
yangcq88517 0:837e6c48e90d 75 };
yangcq88517 0:837e6c48e90d 76
yangcq88517 0:837e6c48e90d 77 #endif