Skeleton program for Federico's 4YP project.

Dependencies:   WebSocketClient WiflyInterface mbed messages

Fork of IoT_Ex by Damien Frost

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers globals.h Source File

globals.h

Go to the documentation of this file.
00001 /**
00002 * @author Damien Frost
00003 *
00004 * @section LICENSE
00005 *
00006 *   Copyright (c) 2016 Damien Frost
00007 *
00008 *   Permission is hereby granted, free of charge, to any person obtaining a copy
00009 *   of this software and associated documentation files (the "Software"), to deal
00010 *   in the Software without restriction, including without limitation the rights
00011 *   to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00012 *   copies of the Software, and to permit persons to whom the Software is
00013 *   furnished to do so, subject to the following conditions:
00014 *
00015 *   The above copyright notice and this permission notice shall be included in
00016 *   all copies or substantial portions of the Software.
00017 *
00018 *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00019 *   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00020 *   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00021 *   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00022 *   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00023 *   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
00024 *   THE SOFTWARE.
00025 *
00026 * @file "globals.h"
00027 *
00028 * @section DESCRIPTION
00029 *   Global definitions for the Internet of Things example.
00030 *
00031 */
00032 
00033 #ifndef IQ_GLOBALS_H
00034 #define IQ_GLOBALS_H
00035 
00036 #include "mbed.h"
00037 #include "WiflyInterface.h"
00038 #include "Commands.h "
00039 #include "Websocket.h"
00040 
00041 
00042 // Wifi Interface defines:
00043 #define TCP_SERVER_PORT 4445
00044 #define WIFIBAUDRATE    115200
00045 #define WIFINETWORK     2
00046 #define CHARMSGBUFF     1024
00047 #define TIMEOUTRECEIVEATTEMPTS  5
00048 #define WS_PORT     4444
00049 #define SERVER_IP "192.168.1.99"
00050 
00051 // Pin assignments
00052 #define VOLTAGE_SENSOR_PIN  PA_0
00053 #define CURRENT_SENSOR_PIN  PA_1
00054 
00055 // Hardware:
00056 extern Serial          pc;
00057 extern InterruptIn     UIBut1;
00058 extern Timer           DisplayTimer;
00059 extern DigitalOut      Led;
00060 
00061 // Variables:
00062 extern int ReconnectAttempts;
00063 extern int SendCounter;
00064 extern int IoT_ID;
00065 extern float TempSensor;
00066 extern float VoltageMeasurement;
00067 extern float CurrentMeasurement;
00068 extern float PwmPeriod_us;
00069 extern float Duty_us;
00070 extern char* wifissid;
00071 extern char* wifipassword;
00072 extern DigitalOut      db;
00073 extern AnalogIn        VoltageSensor;
00074 extern AnalogIn        CurrentSensor;
00075 
00076 // Communication:
00077 extern WiflyInterface eth;
00078 extern Websocket ws;
00079 
00080 // Functions:
00081 void SensorToPu(float gain, float offset, int sensor, float* result);
00082 void InitializeStruct(struct tf_history_t* toClear);
00083 void SetupVar(void);
00084 void SetButtonEvent(void);
00085 void rt_OneStep(void);
00086 void DisplayInputs(float CPS);
00087 void SetSCKDCParams(bool enable, float gain);
00088 int SetupNetwork(int Tries);
00089 bool ConnectToServer(int Tries);
00090 void SendNetworkData(void);
00091 void ReceiveNetworkData(unsigned int * wifi_cmd, float * value);
00092 void ModifyVariable(unsigned int wifi_var, float wifi_data);
00093 
00094 
00095 #endif  /* IQ_GLOBALS_H */
00096