]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
Port to T2
authorprabal <prabal>
Mon, 2 Apr 2007 06:49:32 +0000 (06:49 +0000)
committerprabal <prabal>
Mon, 2 Apr 2007 06:49:32 +0000 (06:49 +0000)
tos/interfaces/Crc.nc [new file with mode: 0644]
tos/interfaces/InternalFlash.nc [new file with mode: 0644]

diff --git a/tos/interfaces/Crc.nc b/tos/interfaces/Crc.nc
new file mode 100644 (file)
index 0000000..4ecf0db
--- /dev/null
@@ -0,0 +1,42 @@
+/*                                                                      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."
+ *
+ */
+
+/**
+ * Compute the CRC-16 value of a byte array.
+ *
+ * @author Jonathan Hui <jwhui@cs.berkeley.edu>
+ */
+interface Crc {
+
+  /**
+   * Compute the CRC-16 value of a byte array.
+   *
+   * @param   buf A pointer to the buffer over which to compute CRC.
+   * @param   len The length of the buffer over which to compute CRC.
+   * @return  The CRC-16 value.
+   */
+  command uint16_t crc16(void* buf, uint8_t len);
+}
diff --git a/tos/interfaces/InternalFlash.nc b/tos/interfaces/InternalFlash.nc
new file mode 100644 (file)
index 0000000..56a1936
--- /dev/null
@@ -0,0 +1,61 @@
+/*                                                                      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."
+ *
+ */
+
+
+/**
+ * A generic interface to read from and write to the internal flash of
+ * a microcontroller.
+ *
+ * @author Jonathan Hui <jwhui@cs.berkeley.edu>
+ * @author Prabal Dutta <prabal@cs.berkeley.edu> (Port to T2)
+ */
+interface InternalFlash {
+
+  /**
+   * Read <code>size</code> bytes starting from <code>addr</code> and
+   * return them in <code>buf</code>.
+   *
+   * @param   addr A pointer to the starting address from which to read.
+   * @param   buf  A pointer to the buffer into which read bytes are
+   *               placed.
+   * @param   size The number of bytes to read.
+   * @return  SUCCESS if the bytes were successfully read.
+   *          FAIL if the call could not be completed.
+   */
+  command error_t read(void* addr, void* buf, uint16_t size);
+
+  /**
+   * Write <code>size</code> bytes from <code>buf</code> into internal
+   * flash starting at <code>addr</code>.
+   *
+   * @param   addr A pointer to the starting address to which to write.
+   * @param   buf  A pointer to the buffer from which bytes are read.
+   * @param   size The number of bytes to write.
+   * @return  SUCCESS if the bytes were successfully written.
+   *          FAIL if the call could not be completed.
+   */
+  command error_t write(void* addr, void* buf, uint16_t size);
+}