summaryrefslogtreecommitdiff
path: root/Libraries/WiShield/WiShield.cpp
diff options
context:
space:
mode:
authorbzztbomb <skinny@knowhere.net>2010-04-15 12:13:53 -0700
committerbzztbomb <skinny@knowhere.net>2010-04-15 12:13:53 -0700
commitcc23a46941106a6515b3fe958daba0f3a1551883 (patch)
tree280dad14cdb4c8c806e212c8c143f25e652338ba /Libraries/WiShield/WiShield.cpp
Initial commit of working OSC parsing over Wifi
Diffstat (limited to 'Libraries/WiShield/WiShield.cpp')
-rw-r--r--Libraries/WiShield/WiShield.cpp87
1 files changed, 87 insertions, 0 deletions
diff --git a/Libraries/WiShield/WiShield.cpp b/Libraries/WiShield/WiShield.cpp
new file mode 100644
index 0000000..2e61afa
--- /dev/null
+++ b/Libraries/WiShield/WiShield.cpp
@@ -0,0 +1,87 @@
+
+/******************************************************************************
+
+ 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 "witypes.h"
+ #include "global-conf.h"
+ #include "network.h"
+ #include "g2100.h"
+ #include "spi.h"
+ void stack_init(void);
+ void stack_process(void);
+}
+
+#include "WProgram.h"
+#include "WiShield.h"
+
+void WiShield::init()
+{
+ zg_init();
+
+#ifdef USE_DIG0_INTR
+ attachInterrupt(0, zg_isr, LOW);
+#endif
+
+#ifdef USE_DIG8_INTR
+ // set digital pin 8 on Arduino
+ // as ZG interrupt pin
+ PCICR |= (1<<PCIE0);
+ PCMSK0 |= (1<<PCINT0);
+#endif
+
+ while(zg_get_conn_state() != 1) {
+ zg_drv_process();
+ }
+
+ stack_init();
+}
+
+void WiShield::run()
+{
+ stack_process();
+ zg_drv_process();
+}
+
+#if defined USE_DIG8_INTR && !defined APP_WISERVER
+// PCINT0 interrupt vector
+ISR(PCINT0_vect)
+{
+ zg_isr();
+}
+
+#endif
+
+WiShield WiFi;
+