summaryrefslogtreecommitdiff
path: root/boards/dk-tm4c129x/qs_weather/eth_client.h
diff options
context:
space:
mode:
authorYuval Adam <yuv.adm@gmail.com>2014-06-29 12:34:32 +0300
committerYuval Adam <yuv.adm@gmail.com>2014-06-29 12:34:32 +0300
commitc3e4c9a25c2910d2d66d52215b3406b13d5b23d5 (patch)
treeadded370d1e356901f8579f076e3263fb0464db7 /boards/dk-tm4c129x/qs_weather/eth_client.h
parent990090a4cc9070837d31e66b58d40f0c3d038741 (diff)
Add more board models
Diffstat (limited to 'boards/dk-tm4c129x/qs_weather/eth_client.h')
-rw-r--r--boards/dk-tm4c129x/qs_weather/eth_client.h163
1 files changed, 163 insertions, 0 deletions
diff --git a/boards/dk-tm4c129x/qs_weather/eth_client.h b/boards/dk-tm4c129x/qs_weather/eth_client.h
new file mode 100644
index 0000000..cccff86
--- /dev/null
+++ b/boards/dk-tm4c129x/qs_weather/eth_client.h
@@ -0,0 +1,163 @@
+//*****************************************************************************
+//
+// eth_client.h - Prototypes for the driver for the eth_client
+//
+// Copyright (c) 2013-2014 Texas Instruments Incorporated. All rights reserved.
+// Software License Agreement
+//
+// Texas Instruments (TI) is supplying this software for use solely and
+// exclusively on TI's microcontroller products. The software is owned by
+// TI and/or its suppliers, and is protected under applicable copyright
+// laws. You may not combine this software with "viral" open-source
+// software in order to form a larger program.
+//
+// THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
+// NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
+// NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
+// CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
+// DAMAGES, FOR ANY REASON WHATSOEVER.
+//
+// This is part of revision 2.1.0.12573 of the DK-TM4C129X Firmware Package.
+//
+//*****************************************************************************
+#ifndef ETH_CLIENT_H_
+#define ETH_CLIENT_H_
+
+//*****************************************************************************
+//
+// If building with a C++ compiler, make all of the definitions in this header
+// have a C binding.
+//
+//*****************************************************************************
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+//*****************************************************************************
+//
+// Events passed back to the application.
+//
+//*****************************************************************************
+#define ETH_EVENT_RECEIVE 0x00000001
+#define ETH_EVENT_CONNECT 0x00000002
+#define ETH_EVENT_DISCONNECT 0x00000003
+#define ETH_EVENT_CLOSE 0x00000004
+#define ETH_EVENT_INVALID_REQ 0x00000005
+
+//*****************************************************************************
+//
+// The weather access methods.
+//
+//*****************************************************************************
+typedef enum
+{
+ //
+ // openweathermap.org.
+ //
+ iWSrcOpenWeatherMap
+}
+tWeatherSource;
+
+//*****************************************************************************
+//
+// Generic weather reporting structure.
+//
+//*****************************************************************************
+typedef struct
+{
+ //
+ // The brief weather description, this is caller provided.
+ //
+ const char *pcDescription;
+
+ //
+ // The current temperature(units determined by caller).
+ //
+ int32_t i32Temp;
+
+ //
+ // The daily high temperature(units determined by caller).
+ //
+ int32_t i32TempHigh;
+
+ //
+ // The daily low temperature(units determined by caller).
+ //
+ int32_t i32TempLow;
+
+ //
+ // The current humidity(units determined by caller).
+ //
+ int32_t i32Humidity;
+
+ //
+ // The current atmospheric pressure(units determined by caller).
+ //
+ int32_t i32Pressure;
+
+ //
+ // The last time these values were update (GMT Unix time).
+ //
+ uint32_t ui32Time;
+
+ //
+ // The sunrise time (GMT Unix time).
+ //
+ uint32_t ui32SunRise;
+
+ //
+ // The sunset time (GMT Unix time).
+ //
+ uint32_t ui32SunSet;
+
+ //
+ // Icon image.
+ //
+ const uint8_t *pui8Image;
+}
+tWeatherReport;
+
+//*****************************************************************************
+//
+// The type definition for event functions.
+//
+//*****************************************************************************
+typedef void (* tEventFunction)(uint32_t ui32Event, void* pvData,
+ uint32_t ui32Param);
+
+//*****************************************************************************
+//
+// Exported Ethernet function prototypes.
+//
+//*****************************************************************************
+extern void EthClientInit(tEventFunction pfnEvent);
+extern void EthClientProxySet(const char *pcProxyName);
+extern void EthClientTick(uint32_t ui32TickMS);
+extern uint32_t EthClientAddrGet(void);
+extern void EthClientMACAddrGet(uint8_t *pui8Addr);
+extern uint32_t EthClientServerAddrGet(void);
+extern void EthClientReset(void);
+void EthClientTCPDisconnect(void);
+
+//*****************************************************************************
+//
+// Exported weather related prototypes.
+//
+//*****************************************************************************
+extern void WeatherSourceSet(tWeatherSource eWeatherSource);
+extern int32_t WeatherCurrent(tWeatherSource eWeatherSource,
+ const char *pcQuery,
+ tWeatherReport *psWeather,
+ tEventFunction pfnEvent);
+extern int32_t WeatherForecast(tWeatherSource eWeatherSource,
+ const char *pcQuery,
+ tWeatherReport *psWeather,
+ tEventFunction pfnEvent);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif