Port from Avnet's Internet Of Things full WiGo demo: SmartConfig - WebServer - Exosite - Android sensor Fusion App

Dependencies:   NVIC_set_all_priorities mbed cc3000_hostdriver_mbedsocket TEMT6200 TSI Wi-Go_eCompass_Lib_V3 WiGo_BattCharger

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers run_exosite.h Source File

run_exosite.h

00001 #ifndef RUN_EXOSITE_H
00002 #define RUN_EXOSITE_H
00003 
00004 #include "TCPSocketConnection.h"
00005 #include "TCPSocketServer.h"
00006 
00007 extern cc3000 wifi;
00008 extern tUserFS user_info;
00009 
00010 #ifdef    __cplusplus
00011 extern "C" {
00012 #endif
00013 
00014 #include <stdint.h>
00015 
00016 void run_exosite(TCPSocketConnection *socket);
00017 
00018 // defines
00019 enum UUIDInterfaceTypes
00020 {
00021     IF_WIFI,
00022     IF_ENET,
00023     IF_FILE,
00024     IF_HDD,
00025     IF_I2C,
00026     IF_GPRS,
00027     IF_NONE
00028 };
00029 
00030 enum ExositeStatusCodes
00031 {
00032     EXO_STATUS_OK,
00033     EXO_STATUS_INIT,
00034     EXO_STATUS_BAD_UUID,
00035     EXO_STATUS_BAD_VENDOR,
00036     EXO_STATUS_BAD_MODEL,
00037     EXO_STATUS_BAD_INIT,
00038     EXO_STATUS_BAD_TCP,
00039     EXO_STATUS_BAD_SN,
00040     EXO_STATUS_CONFLICT,
00041     EXO_STATUS_BAD_CIK,
00042     EXO_STATUS_NOAUTH,
00043     EXO_STATUS_END
00044 };
00045 
00046 #define EXOSITE_VENDOR_MAXLENGTH                20
00047 #define EXOSITE_MODEL_MAXLENGTH                 20
00048 #define EXOSITE_SN_MAXLENGTH                    EXOSITE_HAL_SN_MAXLENGTH
00049 #define EXOSITE_DEMO_UPDATE_INTERVAL            4000// ms
00050 #define CIK_LENGTH                              40
00051 
00052 // --------------   META   --------------
00053 // defines
00054 #define META_SIZE                 256
00055 #define META_CIK_SIZE             40
00056 #define META_SERVER_SIZE          6
00057 #define META_PAD0_SIZE            2
00058 #define META_MARK_SIZE            8
00059 #define META_UUID_SIZE            17
00060 #define META_PAD1_SIZE            4
00061 #define META_RSVD_SIZE            56
00062 #define META_MFR_SIZE             128
00063 typedef struct {
00064   char cik[META_CIK_SIZE];                   // our client interface key
00065   char server[META_SERVER_SIZE];             // ip address of m2.exosite.com (not using DNS at this stage)
00066   char pad0[META_PAD0_SIZE];                 // pad 'server' to 8 bytes
00067   char mark[META_MARK_SIZE];                 // watermark
00068   char uuid[META_UUID_SIZE];                 // UUID in ascii
00069   char pad1[META_PAD1_SIZE];                 // pad 'uuid' to 16 bytes
00070   char rsvd[META_RSVD_SIZE];                 // reserved space - pad to ensure mfr is at end of RDK_META_SIZE
00071   char mfr[META_MFR_SIZE];                   // manufacturer data structure
00072 } exosite_meta;
00073 
00074 #define EXOMARK "exosite!"
00075 
00076 typedef enum
00077 {
00078     META_CIK,
00079     META_SERVER,
00080     META_MARK,
00081     META_UUID,
00082     META_MFR,
00083     META_NONE
00084 } MetaElements;
00085 
00086 
00087 // --------------   HAL   --------------
00088 // defines
00089 /*typedef enum
00090 {
00091     IF_WIFI,
00092     IF_ENET,
00093     IF_FILE,
00094     IF_HDD,
00095     IF_I2C,
00096     IF_NONE
00097 } UUIDInterfaceTypes;*/
00098 
00099 typedef enum
00100 {
00101     EXO_ERROR_WRITE,
00102     EXO_ERROR_READ,
00103     EXO_ERROR_CONNECT,
00104     EXO_ERROR_UNKNOWN,
00105     EXO_ERROR_END
00106 } ExositeErrorCodes;
00107 
00108 typedef enum
00109 {
00110     EXO_SERVER_CONNECTED,
00111     EXO_CLIENT_RW,
00112     EXO_UI_END
00113 } ExositeUICodes;
00114 
00115 #ifdef    __cplusplus
00116 }
00117 #endif // __cplusplus
00118 
00119 #endif // RUN_EXOSITE_H
00120