Permalink
Browse files

New version.

-------------------------------------------------------------------------------
Version 1.1.0
-------------------------------------------------------------------------------
Changes:
- The WiShield library now uses a new, more stable TCP/IP stack. The library
  includes a port of the uIP stack.
- Server and client modes supported in the TCP/IP stack.
- The limitation of 446 bytes is removed. Larger sized packets can be
  transmitted and received but will have to be broken down into smaller
  sized chunks which are <= 346 bytes.
- Sample WebServer sketch modified to use the new stack to serve up simple
  webpages
- The stack provides an implementation of the socket interface which can be
  used to transmit or receive data

New features:
- Sample WebClient sketch added which demonstrates the operation of sending
  status updates to a Twitter.com account
- ARP client added to periodically send ARP packets to the AP. This was done
  to prevent certain APs from disconnecting the device due to long periods of
  inactivity

Known issues:
None
-------------------------------------------------------------------------------
  • Loading branch information...
1 parent b813881 commit 5191a3c0c6fff49082635b72c650cc4f58e7ce26 @asynclabs asynclabs committed May 30, 2009
Showing with 9,983 additions and 1,313 deletions.
  1. +21 −12 README
  2. +66 −84 WiShield.cpp
  3. +53 −58 WiShield.h
  4. +50 −0 apps-conf.h
  5. +83 −0 avrlibdefs.h
  6. +84 −0 avrlibtypes.h
  7. +86 −0 clock-arch.c
  8. +47 −0 clock-arch.h
  9. +88 −0 clock.h
  10. +5 −7 config.h
  11. +0 −173 examples/LEDControl/LEDControl.pde
  12. +74 −0 examples/WebClient/WebClient.pde
  13. +372 −0 examples/WebClient/webclient.c
  14. +6 −106 examples/WebServer/WebServer.pde
  15. +118 −0 examples/WebServer/webserver.c
  16. +45 −0 global-conf.h
  17. +34 −0 global.h
  18. +83 −0 lc-addrlabels.h
  19. +76 −0 lc-switch.h
  20. +131 −0 lc.h
  21. +104 −0 memb.c
  22. +142 −0 memb.h
  23. +71 −0 network.c
  24. +53 −0 network.h
  25. +338 −0 psock.c
  26. +380 −0 psock.h
  27. +323 −0 pt.h
  28. +1 −0 spi.h
  29. +145 −690 stack.c
  30. +0 −183 stack.h
  31. +127 −0 timer.c
  32. +86 −0 timer.h
  33. +1 −0 types.h
  34. +146 −0 uip-conf.h
  35. +532 −0 uip-fw.c
  36. +176 −0 uip-fw.h
  37. +158 −0 uip-neighbor.c
  38. +61 −0 uip-neighbor.h
  39. +136 −0 uip-split.c
  40. +96 −0 uip-split.h
  41. +1,922 −0 uip.c
  42. +1,634 −0 uip.h
  43. +138 −0 uip_arch.h
  44. +481 −0 uip_arp.c
  45. +179 −0 uip_arp.h
  46. +74 −0 uiplib.c
  47. +71 −0 uiplib.h
  48. +573 −0 uipopt.h
  49. +262 −0 webclient.h
  50. +51 −0 webserver.h
View
33 README
@@ -4,18 +4,27 @@ Async Labs Inc.
www.asynclabs.com
-------------------------------------------------------------------------------
-Version 1.0.0
+Version 1.1.0
-------------------------------------------------------------------------------
-This release includes the WiShield and TCP/IP stack files to be used with the
-Async Labs WiShield 1.0 wireless devices.
+Changes:
+- The WiShield library now uses a new, more stable TCP/IP stack. The library
+ includes a port of the uIP stack.
+- Server and client modes supported in the TCP/IP stack.
+- The limitation of 446 bytes is removed. Larger sized packets can be
+ transmitted and received but will have to be broken down into smaller
+ sized chunks which are <= 346 bytes.
+- Sample WebServer sketch modified to use the new stack to serve up simple
+ webpages
+- The stack provides an implementation of the socket interface which can be
+ used to transmit or receive data
-The release includes:
-- Driver for ZeroG G2100 series WiFi device (for download instructions, see:
- http://asynclabs.com/wiki/)
-- Simplified TCP/IP stack for use with the WiShield
-- Sample WebServer sketch demonstrating the implementation of a simple
- webserver to serve up a webpage when requested from a client browser
- application
-- Sample LEDControl sketch demonstrating the implementation of a control
- application using the webserver mode of the WiShield library.
+New features:
+- Sample WebClient sketch added which demonstrates the operation of sending
+ status updates to a Twitter.com account
+- ARP client added to periodically send ARP packets to the AP. This was done
+ to prevent certain APs from disconnecting the device due to long periods of
+ inactivity
+
+Known issues:
+None
View
@@ -1,84 +1,66 @@
-
-/******************************************************************************
-
- Filename: WiShield.cpp
- Description: WiShield library file for the WiShield 1.0
-
- ******************************************************************************
-
- TCP/IP stack and driver for the WiShield 1.0 wireless devices
-
- Copyright(c) 2009 Async Labs Inc. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of version 2 of the GNU General Public License as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc., 59
- Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
- Contact Information:
- <asynclabs@asynclabs.com>
-
- Author Date Comment
- ---------------------------------------------------------------
- AsyncLabs 05/01/2009 Initial version
-
- *****************************************************************************/
-
-extern "C" {
- #include "types.h"
- #include "config.h"
- #include "g2100.h"
- #include "stack.h"
-}
-
-#include "WProgram.h"
-#include "WiShield.h"
-
-void WiShield::init()
-{
- zg_init(GBLBUF, 0);
- attachInterrupt(0, zg_isr, LOW);
-}
-
-void WiShield::driver_task()
-{
- zg_drv_process();
-}
-
-void WiShield::stack_task()
-{
- stack_process();
-}
-
-// FIXME : return success or failure
-void WiShield::server_listen(U16 port)
-{
- socket(SOCK_STREAM, port);
-}
-
-U8* WiShield::data_available(U16* app_len)
-{
- *app_len = stack_app_data();
-
- return APPBUF;
-}
-
-void WiShield::send_data(U16 app_len)
-{
- stack_set_app_data(app_len);
-}
-
-void WiShield::set_more_data(U8 flag)
-{
- stack_set_app_more_data(flag);
-}
-
-WiShield WiFi;
+
+/******************************************************************************
+
+ Filename: WiShield.cpp
+ Description: WiShield library file for the WiShield 1.0
+
+ ******************************************************************************
+
+ TCP/IP stack and driver for the WiShield 1.0 wireless devices
+
+ Copyright(c) 2009 Async Labs Inc. All rights reserved.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of version 2 of the GNU General Public License as
+ published by the Free Software Foundation.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along with
+ this program; if not, write to the Free Software Foundation, Inc., 59
+ Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ Contact Information:
+ <asynclabs@asynclabs.com>
+
+ Author Date Comment
+ ---------------------------------------------------------------
+ AsyncLabs 05/01/2009 Initial version
+ AsyncLabs 05/29/2009 Adding support for new library
+
+ *****************************************************************************/
+
+extern "C" {
+ #include "types.h"
+ #include "global-conf.h"
+ #include "network.h"
+ #include "g2100.h"
+ void stack_init(void);
+ void stack_process(void);
+}
+
+#include "WProgram.h"
+#include "WiShield.h"
+
+void WiShield::init()
+{
+ zg_init();
+ attachInterrupt(0, zg_isr, LOW);
+
+ while(zg_get_conn_state() != 1) {
+ zg_drv_process();
+ }
+
+ stack_init();
+}
+
+void WiShield::run()
+{
+ stack_process();
+ zg_drv_process();
+}
+
+WiShield WiFi;
View
@@ -1,58 +1,53 @@
-
-/******************************************************************************
-
- Filename: WiShield.h
- Description: WiShield library file for the WiShield 1.0
-
- ******************************************************************************
-
- TCP/IP stack and driver for the WiShield 1.0 wireless devices
-
- Copyright(c) 2009 Async Labs Inc. All rights reserved.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of version 2 of the GNU General Public License as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc., 59
- Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
- Contact Information:
- <asynclabs@asynclabs.com>
-
- Author Date Comment
- ---------------------------------------------------------------
- AsyncLabs 05/01/2009 Initial version
-
- *****************************************************************************/
-
-#ifndef WISHIELD_H_
-#define WISHIELD_H_
-
-extern "C" {
- #include "config.h"
- #include "spi.h"
-}
-
-class WiShield
-{
- private:
- public:
- void init();
- void driver_task();
- void stack_task();
- void server_listen(U16 port);
- U8* data_available(U16* app_len);
- void send_data(U16 app_len);
- void set_more_data(U8 flag);
-};
-
-extern WiShield WiFi;
-
-#endif /* WISHIELD_H_ */
+
+/******************************************************************************
+
+ Filename: WiShield.h
+ Description: WiShield library file for the WiShield 1.0
+
+ ******************************************************************************
+
+ TCP/IP stack and driver for the WiShield 1.0 wireless devices
+
+ Copyright(c) 2009 Async Labs Inc. All rights reserved.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of version 2 of the GNU General Public License as
+ published by the Free Software Foundation.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along with
+ this program; if not, write to the Free Software Foundation, Inc., 59
+ Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ Contact Information:
+ <asynclabs@asynclabs.com>
+
+ Author Date Comment
+ ---------------------------------------------------------------
+ AsyncLabs 05/01/2009 Initial version
+ AsyncLabs 05/29/2009 Adding support for new library
+
+ *****************************************************************************/
+
+#ifndef WISHIELD_H_
+#define WISHIELD_H_
+
+extern "C" {
+ #include "config.h"
+ #include "spi.h"
+ extern unsigned char webclient_get(char *host, unsigned int port, char *file);
+}
+
+class WiShield {
+ public:
+ void init();
+ void run();
+};
+
+extern WiShield WiFi;
+
+#endif /* WISHIELD_H_ */
View
@@ -0,0 +1,50 @@
+
+/******************************************************************************
+
+ Filename: apps-conf.h
+ Description: Web application configuration file
+
+ ******************************************************************************
+
+ TCP/IP stack and driver for the WiShield 1.0 wireless devices
+
+ Copyright(c) 2009 Async Labs Inc. All rights reserved.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of version 2 of the GNU General Public License as
+ published by the Free Software Foundation.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along with
+ this program; if not, write to the Free Software Foundation, Inc., 59
+ Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ Contact Information:
+ <asynclabs@asynclabs.com>
+
+ Author Date Comment
+ ---------------------------------------------------------------
+ AsyncLabs 05/29/2009 Initial port
+
+ *****************************************************************************/
+
+#ifndef __APPS_CONF_H__
+#define __APPS_CONF_H__
+
+//Here we include the header file for the application(s) we use in our project.
+#define APP_WEBSERVER
+//#define APP_WEBCLIENT
+
+#ifdef APP_WEBSERVER
+#include "webserver.h"
+#endif
+
+#ifdef APP_WEBCLIENT
+#include "webclient.h"
+#endif
+
+#endif /*__APPS_CONF_H__*/
Oops, something went wrong.

0 comments on commit 5191a3c

Please sign in to comment.