]> oss.titaniummirror.com Git - rgblamp.git/blobdiff - btn.h
Add README
[rgblamp.git] / btn.h
diff --git a/btn.h b/btn.h
index 857ec6f39ccde14f3c2e6a51e8ebf8bda336ad3b..c6293ea3832d038712133d2853dd1ee9103aa0ed 100644 (file)
--- a/btn.h
+++ b/btn.h
@@ -1,3 +1,32 @@
+/*
+ * Copyright © 2011, 2012, Titanium Mirror, Inc..
+ * All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * - Redistributions of source code must retain the above copyright notice,
+ *   this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - Neither the name of Titanium Mirror, Inc. nor the names of its
+ *   contributors may be used to endorse or promote products derived from
+ *   this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
 /*
  * File:   btn.h
  *
@@ -21,66 +50,29 @@ enum {
   BTN_PB_DOWN = 0,
   BTN_PB_UP,
 
-  BTN_RS_OFF = 0,
+  BTN_RS_NONE = 0,
   BTN_RS_LEFT,
   BTN_RS_RIGHT,
+  BTN_RS_OFF,
 };
 
 /* Read the current state of the pushbutton */
-#define btn_pb() (RB0)
+#define btn_pb() (RB1)
 
 /* Read the current state of the rocker switch */
-#define btn_rs() ((RB4 + ((unsigned char)RB5 << 1)) % 3)
-
-/* Enable the pushbutton from ISR */
-#define _btn_pben() do { \
-    IOCBP0 = 1; IOCBN0 = 1; IOCBF0 = 0; \
-  } while (0)
-
-/* Disable the pushbutton from ISR */
-#define _btn_pbdis() do { \
-    IOCBP0 = 0; IOCBN0 = 0; IOCBF0 = 0; \
-  } while (0)
-
-/* Enable the rocker switch from ISR */
-#define _btn_rsen() do { \
-    IOCBP4 = 1; IOCBN4 = 1; IOCBF4 = 0; \
-    IOCBP5 = 1; IOCBN5 = 1; IOCBF5 = 0; \
-  } while (0)
-
-/* Disable the rocker switch from ISR */
-#define _btn_rsdis() do { \
-    IOCBP4 = 0; IOCBN4 = 0; IOCBF4 = 0; \
-    IOCBP5 = 0; IOCBN5 = 0; IOCBF5 = 0; \
-  } while (0)
+#define btn_rs() (RB2 + ((unsigned char)RB4 << 1))
 
 /* Enable the pushbutton from user code */
-#define btn_pben() do { \
-    ndi(); \
-    _btn_pben(); \
-    nei(); \
-  } while (0)
+void btn_pben();
 
 /* Disable the pushbutton from user code */
-#define btn_pbdis() do { \
-    ndi(); \
-    _btn_pbdis(); \
-    nei(); \
-  } while (0)
+void btn_pbdis();
 
 /* Enable the rocker switch from user code */
-#define btn_rsen() do { \
-    ndi(); \
-    _btn_rsen(); \
-    nei(); \
-  } while (0)
+void btn_rsen();
 
 /* Disable the rocker switch from user code */
-#define btn_rsdis() do { \
-    ndi(); \
-    _btn_rsdis(); \
-    nei(); \
-  } while (0)
+void btn_rsdis();
 
 /* Initialize the button module */
 void btn_init();