spi: added example for use with mcp4261
authorThomas Ingleby <thomas.c.ingleby@intel.com>
Fri, 16 May 2014 10:51:21 +0000 (11:51 +0100)
committerBrendan Le Foll <brendan.le.foll@intel.com>
Fri, 16 May 2014 13:31:44 +0000 (14:31 +0100)
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
examples/CMakeLists.txt
examples/spi_mcp4261.c [new file with mode: 0644]

index 370a187..85ada94 100644 (file)
@@ -5,6 +5,7 @@ add_executable (blink-io blink-io.c)
 add_executable (analogin_a0 analogin_a0.c)
 add_executable (isr_pin6 isr_pin6.c)
 add_executable (gpio_read6 gpio_read6.c)
+add_executable (spi_mcp4261 spi_mcp4261.c)
 
 include_directories(${PROJECT_SOURCE_DIR}/api)
 
@@ -15,5 +16,6 @@ target_link_libraries (blink-io maa)
 target_link_libraries (analogin_a0 maa)
 target_link_libraries (isr_pin6 maa)
 target_link_libraries (gpio_read6 maa)
+target_link_libraries (spi_mcp4261 maa)
 
 add_subdirectory (c++)
diff --git a/examples/spi_mcp4261.c b/examples/spi_mcp4261.c
new file mode 100644 (file)
index 0000000..649a82e
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Author: Thomas Ingleby <thomas.c.ingleby@intel.com>
+ * Copyright (c) 2014 Intel Corporation.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "spi.h"
+#include <unistd.h>
+#include <stdint.h>
+
+int
+main(int argc, char **argv)
+{
+    maa_init();
+    maa_spi_context *spi;
+    spi = maa_spi_init(0);
+    unsigned int response = 0;
+    printf("Hello, SPI initialised: fd=%i\n",spi->spifd);
+    uint8_t data[] = {0x00, 100};
+    uint8_t *recv;
+    while(1) {
+        int i;
+        for (i = 90; i < 130; i++) {
+            data[1] = i;
+            recv = maa_spi_write_buf(spi, data, 2);
+            printf("Writing -%i",i);
+            printf("RECIVED-%i-%i\n",recv[0],recv[1]);
+            usleep(100000);
+        }
+        for (i = 130; i > 90; i--) {
+            data[1] = i;
+            recv = maa_spi_write_buf(spi, data, 2);
+            printf("Writing -%i",i);
+            printf("RECIVED-%i-%i\n",recv[0],recv[1]);
+            usleep(100000);
+        }
+    }
+
+}