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.
Type/IOSamples.h@6:5f31ddc17239, 2015-11-14 (annotated)
- 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?
User | Revision | Line number | New 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 |