Frank Vannieuwkerke / Mbed 2 deprecated Wi-Go_IOT_Demo_MKII

Dependencies:   NVIC_set_all_priorities mbed cc3000_hostdriver_mbedsocket TEMT6200 TSI Wi-Go_eCompass_Lib_V3 WiGo_BattCharger

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?

UserRevisionLine numberNew 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