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: NVIC_set_all_priorities mbed cc3000_hostdriver_mbedsocket TEMT6200 TSI Wi-Go_eCompass_Lib_V3 WiGo_BattCharger
Webserver/run_exosite.h@4:8f8d0d19e6f1, 2013-12-01 (annotated)
- Committer:
- frankvnk
- Date:
- Sun Dec 01 15:06:46 2013 +0000
- Revision:
- 4:8f8d0d19e6f1
Solved sensor read errors.
; Added i2c unlock.
;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
frankvnk | 4:8f8d0d19e6f1 | 1 | #ifndef RUN_EXOSITE_H |
frankvnk | 4:8f8d0d19e6f1 | 2 | #define RUN_EXOSITE_H |
frankvnk | 4:8f8d0d19e6f1 | 3 | |
frankvnk | 4:8f8d0d19e6f1 | 4 | #include "TCPSocketConnection.h" |
frankvnk | 4:8f8d0d19e6f1 | 5 | #include "TCPSocketServer.h" |
frankvnk | 4:8f8d0d19e6f1 | 6 | |
frankvnk | 4:8f8d0d19e6f1 | 7 | extern cc3000 wifi; |
frankvnk | 4:8f8d0d19e6f1 | 8 | extern tUserFS user_info; |
frankvnk | 4:8f8d0d19e6f1 | 9 | |
frankvnk | 4:8f8d0d19e6f1 | 10 | #ifdef __cplusplus |
frankvnk | 4:8f8d0d19e6f1 | 11 | extern "C" { |
frankvnk | 4:8f8d0d19e6f1 | 12 | #endif |
frankvnk | 4:8f8d0d19e6f1 | 13 | |
frankvnk | 4:8f8d0d19e6f1 | 14 | #include <stdint.h> |
frankvnk | 4:8f8d0d19e6f1 | 15 | |
frankvnk | 4:8f8d0d19e6f1 | 16 | void run_exosite(TCPSocketConnection *socket); |
frankvnk | 4:8f8d0d19e6f1 | 17 | |
frankvnk | 4:8f8d0d19e6f1 | 18 | // defines |
frankvnk | 4:8f8d0d19e6f1 | 19 | enum UUIDInterfaceTypes |
frankvnk | 4:8f8d0d19e6f1 | 20 | { |
frankvnk | 4:8f8d0d19e6f1 | 21 | IF_WIFI, |
frankvnk | 4:8f8d0d19e6f1 | 22 | IF_ENET, |
frankvnk | 4:8f8d0d19e6f1 | 23 | IF_FILE, |
frankvnk | 4:8f8d0d19e6f1 | 24 | IF_HDD, |
frankvnk | 4:8f8d0d19e6f1 | 25 | IF_I2C, |
frankvnk | 4:8f8d0d19e6f1 | 26 | IF_GPRS, |
frankvnk | 4:8f8d0d19e6f1 | 27 | IF_NONE |
frankvnk | 4:8f8d0d19e6f1 | 28 | }; |
frankvnk | 4:8f8d0d19e6f1 | 29 | |
frankvnk | 4:8f8d0d19e6f1 | 30 | enum ExositeStatusCodes |
frankvnk | 4:8f8d0d19e6f1 | 31 | { |
frankvnk | 4:8f8d0d19e6f1 | 32 | EXO_STATUS_OK, |
frankvnk | 4:8f8d0d19e6f1 | 33 | EXO_STATUS_INIT, |
frankvnk | 4:8f8d0d19e6f1 | 34 | EXO_STATUS_BAD_UUID, |
frankvnk | 4:8f8d0d19e6f1 | 35 | EXO_STATUS_BAD_VENDOR, |
frankvnk | 4:8f8d0d19e6f1 | 36 | EXO_STATUS_BAD_MODEL, |
frankvnk | 4:8f8d0d19e6f1 | 37 | EXO_STATUS_BAD_INIT, |
frankvnk | 4:8f8d0d19e6f1 | 38 | EXO_STATUS_BAD_TCP, |
frankvnk | 4:8f8d0d19e6f1 | 39 | EXO_STATUS_BAD_SN, |
frankvnk | 4:8f8d0d19e6f1 | 40 | EXO_STATUS_CONFLICT, |
frankvnk | 4:8f8d0d19e6f1 | 41 | EXO_STATUS_BAD_CIK, |
frankvnk | 4:8f8d0d19e6f1 | 42 | EXO_STATUS_NOAUTH, |
frankvnk | 4:8f8d0d19e6f1 | 43 | EXO_STATUS_END |
frankvnk | 4:8f8d0d19e6f1 | 44 | }; |
frankvnk | 4:8f8d0d19e6f1 | 45 | |
frankvnk | 4:8f8d0d19e6f1 | 46 | #define EXOSITE_VENDOR_MAXLENGTH 20 |
frankvnk | 4:8f8d0d19e6f1 | 47 | #define EXOSITE_MODEL_MAXLENGTH 20 |
frankvnk | 4:8f8d0d19e6f1 | 48 | #define EXOSITE_SN_MAXLENGTH EXOSITE_HAL_SN_MAXLENGTH |
frankvnk | 4:8f8d0d19e6f1 | 49 | #define EXOSITE_DEMO_UPDATE_INTERVAL 4000// ms |
frankvnk | 4:8f8d0d19e6f1 | 50 | #define CIK_LENGTH 40 |
frankvnk | 4:8f8d0d19e6f1 | 51 | |
frankvnk | 4:8f8d0d19e6f1 | 52 | // -------------- META -------------- |
frankvnk | 4:8f8d0d19e6f1 | 53 | // defines |
frankvnk | 4:8f8d0d19e6f1 | 54 | #define META_SIZE 256 |
frankvnk | 4:8f8d0d19e6f1 | 55 | #define META_CIK_SIZE 40 |
frankvnk | 4:8f8d0d19e6f1 | 56 | #define META_SERVER_SIZE 6 |
frankvnk | 4:8f8d0d19e6f1 | 57 | #define META_PAD0_SIZE 2 |
frankvnk | 4:8f8d0d19e6f1 | 58 | #define META_MARK_SIZE 8 |
frankvnk | 4:8f8d0d19e6f1 | 59 | #define META_UUID_SIZE 17 |
frankvnk | 4:8f8d0d19e6f1 | 60 | #define META_PAD1_SIZE 4 |
frankvnk | 4:8f8d0d19e6f1 | 61 | #define META_RSVD_SIZE 56 |
frankvnk | 4:8f8d0d19e6f1 | 62 | #define META_MFR_SIZE 128 |
frankvnk | 4:8f8d0d19e6f1 | 63 | typedef struct { |
frankvnk | 4:8f8d0d19e6f1 | 64 | char cik[META_CIK_SIZE]; // our client interface key |
frankvnk | 4:8f8d0d19e6f1 | 65 | char server[META_SERVER_SIZE]; // ip address of m2.exosite.com (not using DNS at this stage) |
frankvnk | 4:8f8d0d19e6f1 | 66 | char pad0[META_PAD0_SIZE]; // pad 'server' to 8 bytes |
frankvnk | 4:8f8d0d19e6f1 | 67 | char mark[META_MARK_SIZE]; // watermark |
frankvnk | 4:8f8d0d19e6f1 | 68 | char uuid[META_UUID_SIZE]; // UUID in ascii |
frankvnk | 4:8f8d0d19e6f1 | 69 | char pad1[META_PAD1_SIZE]; // pad 'uuid' to 16 bytes |
frankvnk | 4:8f8d0d19e6f1 | 70 | char rsvd[META_RSVD_SIZE]; // reserved space - pad to ensure mfr is at end of RDK_META_SIZE |
frankvnk | 4:8f8d0d19e6f1 | 71 | char mfr[META_MFR_SIZE]; // manufacturer data structure |
frankvnk | 4:8f8d0d19e6f1 | 72 | } exosite_meta; |
frankvnk | 4:8f8d0d19e6f1 | 73 | |
frankvnk | 4:8f8d0d19e6f1 | 74 | #define EXOMARK "exosite!" |
frankvnk | 4:8f8d0d19e6f1 | 75 | |
frankvnk | 4:8f8d0d19e6f1 | 76 | typedef enum |
frankvnk | 4:8f8d0d19e6f1 | 77 | { |
frankvnk | 4:8f8d0d19e6f1 | 78 | META_CIK, |
frankvnk | 4:8f8d0d19e6f1 | 79 | META_SERVER, |
frankvnk | 4:8f8d0d19e6f1 | 80 | META_MARK, |
frankvnk | 4:8f8d0d19e6f1 | 81 | META_UUID, |
frankvnk | 4:8f8d0d19e6f1 | 82 | META_MFR, |
frankvnk | 4:8f8d0d19e6f1 | 83 | META_NONE |
frankvnk | 4:8f8d0d19e6f1 | 84 | } MetaElements; |
frankvnk | 4:8f8d0d19e6f1 | 85 | |
frankvnk | 4:8f8d0d19e6f1 | 86 | |
frankvnk | 4:8f8d0d19e6f1 | 87 | // -------------- HAL -------------- |
frankvnk | 4:8f8d0d19e6f1 | 88 | // defines |
frankvnk | 4:8f8d0d19e6f1 | 89 | /*typedef enum |
frankvnk | 4:8f8d0d19e6f1 | 90 | { |
frankvnk | 4:8f8d0d19e6f1 | 91 | IF_WIFI, |
frankvnk | 4:8f8d0d19e6f1 | 92 | IF_ENET, |
frankvnk | 4:8f8d0d19e6f1 | 93 | IF_FILE, |
frankvnk | 4:8f8d0d19e6f1 | 94 | IF_HDD, |
frankvnk | 4:8f8d0d19e6f1 | 95 | IF_I2C, |
frankvnk | 4:8f8d0d19e6f1 | 96 | IF_NONE |
frankvnk | 4:8f8d0d19e6f1 | 97 | } UUIDInterfaceTypes;*/ |
frankvnk | 4:8f8d0d19e6f1 | 98 | |
frankvnk | 4:8f8d0d19e6f1 | 99 | typedef enum |
frankvnk | 4:8f8d0d19e6f1 | 100 | { |
frankvnk | 4:8f8d0d19e6f1 | 101 | EXO_ERROR_WRITE, |
frankvnk | 4:8f8d0d19e6f1 | 102 | EXO_ERROR_READ, |
frankvnk | 4:8f8d0d19e6f1 | 103 | EXO_ERROR_CONNECT, |
frankvnk | 4:8f8d0d19e6f1 | 104 | EXO_ERROR_UNKNOWN, |
frankvnk | 4:8f8d0d19e6f1 | 105 | EXO_ERROR_END |
frankvnk | 4:8f8d0d19e6f1 | 106 | } ExositeErrorCodes; |
frankvnk | 4:8f8d0d19e6f1 | 107 | |
frankvnk | 4:8f8d0d19e6f1 | 108 | typedef enum |
frankvnk | 4:8f8d0d19e6f1 | 109 | { |
frankvnk | 4:8f8d0d19e6f1 | 110 | EXO_SERVER_CONNECTED, |
frankvnk | 4:8f8d0d19e6f1 | 111 | EXO_CLIENT_RW, |
frankvnk | 4:8f8d0d19e6f1 | 112 | EXO_UI_END |
frankvnk | 4:8f8d0d19e6f1 | 113 | } ExositeUICodes; |
frankvnk | 4:8f8d0d19e6f1 | 114 | |
frankvnk | 4:8f8d0d19e6f1 | 115 | #ifdef __cplusplus |
frankvnk | 4:8f8d0d19e6f1 | 116 | } |
frankvnk | 4:8f8d0d19e6f1 | 117 | #endif // __cplusplus |
frankvnk | 4:8f8d0d19e6f1 | 118 | |
frankvnk | 4:8f8d0d19e6f1 | 119 | #endif // RUN_EXOSITE_H |
frankvnk | 4:8f8d0d19e6f1 | 120 |