]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
Port to T2
authorprabal <prabal>
Mon, 2 Apr 2007 07:13:35 +0000 (07:13 +0000)
committerprabal <prabal>
Mon, 2 Apr 2007 07:13:35 +0000 (07:13 +0000)
tos/system/CrcC.nc [new file with mode: 0644]

diff --git a/tos/system/CrcC.nc b/tos/system/CrcC.nc
new file mode 100644 (file)
index 0000000..9b2b1ad
--- /dev/null
@@ -0,0 +1,48 @@
+/*                                                                      tab:2
+ *
+ * "Copyright (c) 2000-2007 The Regents of the University of
+ * California.  All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and
+ * its documentation for any purpose, without fee, and without written
+ * agreement is hereby granted, provided that the above copyright
+ * notice, the following two paragraphs and the author appear in all
+ * copies of this software.
+ * 
+ * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
+ * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
+ * DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE
+ * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+ * CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
+ * UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
+ *
+ */
+
+/**
+ * Wrapper around the CRC-16 primitive to allow computing the CRC
+ * value of a byte array.
+ *
+ * @author Jonathan Hui <jwhui@cs.berkeley.edu>
+ */
+#include <crc.h>
+
+module CrcC {
+  provides interface Crc;
+}
+implementation {
+
+  command uint16_t Crc.crc16(void* buf, uint8_t len) {
+    uint8_t* tmp = (uint8_t*)buf;
+    uint16_t crc;
+    for (crc = 0; len > 0; len--) {
+      crc = crcByte(crc, *tmp++);
+    }
+    return crc;
+  }
+}