chiark / gitweb /
Added in a max5322 SPI D to A chip
[wiringPi.git] / gpio / extensions.c
index 713fb93b9aca468b1b571279f7d3a6783e911973..8be0ec0eceb78aa809545985b3faaf5333b7759d 100644 (file)
@@ -44,6 +44,7 @@
 #include <pcf8591.h>
 #include <pcf8574.h>
 #include <max31855.h>
+#include <max5322.h>
 #include <mcp3002.h>
 #include <mcp3004.h>
 #include <mcp4802.h>
@@ -413,6 +414,32 @@ static int doExtensionMcp3004 (char *progName, int pinBase, char *params)
 }
 
 
+/*
+ * doExtensionMax5322:
+ *     Analog O
+ *     max5322:base:spiChan
+ *********************************************************************************
+ */
+
+static int doExtensionMax5322 (char *progName, int pinBase, char *params)
+{
+  int spi ;
+
+  if ((params = extractInt (progName, params, &spi)) == NULL)
+    return FALSE ;
+
+  if ((spi < 0) || (spi > 1))
+  {
+    fprintf (stderr, "%s: SPI channel (%d) out of range\n", progName, spi) ;
+    return FALSE ;
+  }
+
+  max5322Setup (pinBase, spi) ;
+
+  return TRUE ;
+}
+
+
 /*
  * doExtensionMcp4802:
  *     Analog IO
@@ -503,6 +530,7 @@ struct extensionFunctionStruct extensionFunctions [] =
   { "mcp4802",         &doExtensionMcp4802     },
   { "mcp3422",         &doExtensionMcp3422     },
   { "max31855",                &doExtensionMax31855    },
+  { "max5322",         &doExtensionMax5322     },
   { NULL,              NULL                    },
 } ;