Gordons Projects

--> Projects Top-Level GIT

Pushing to 2.39 as I have have not done the last one rightly...
[wiringPi] / gpio / readall.c
index 278e6ee..aec6de6 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * readall.c:
  *     The readall functions - getting a bit big, so split them out.
- *     Copyright (c) 2012-2015 Gordon Henderson
+ *     Copyright (c) 2012-2017 Gordon Henderson
  ***********************************************************************
  * This file is part of wiringPi:
  *     https://projects.drogon.net/raspberry-pi/wiringpi/
@@ -118,7 +118,7 @@ static char *physNames [64] =
   NULL,
 
   "   3.3v", "5v     ",
-  "  SDA.1", "5V     ",
+  "  SDA.1", "5v     ",
   "  SCL.1", "0v     ",
   "GPIO. 7", "TxD    ",
   "     0v", "RxD    ",
@@ -215,7 +215,14 @@ static void readallPhys (int physPin)
 }
 
 
-void cmReadall (void)
+/*
+ * allReadall:
+ *     Read all the pins regardless of the model. Primarily of use for
+ *     the compute module, but handy for other fiddling...
+ *********************************************************************************
+ */
+
+static void allReadall (void)
 {
   int pin ;
 
@@ -292,12 +299,16 @@ static void plus2header (int model)
     printf (" +-----+-----+---------+------+---+--B Plus--+---+------+---------+-----+-----+\n") ;
   else if (model == PI_MODEL_ZERO)
     printf (" +-----+-----+---------+------+---+-Pi Zero--+---+------+---------+-----+-----+\n") ;
-  else
+  else if (model == PI_MODEL_2)
     printf (" +-----+-----+---------+------+---+---Pi 2---+---+------+---------+-----+-----+\n") ;
+  else if (model == PI_MODEL_3)
+    printf (" +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+\n") ;
+  else
+    printf (" +-----+-----+---------+------+---+---Pi ?---+---+------+---------+-----+-----+\n") ;
 }
 
 
-void piPlusReadall (int model)
+static void piPlusReadall (int model)
 {
   int pin ;
 
@@ -314,6 +325,13 @@ void piPlusReadall (int model)
 }
 
 
+/*
+ * doReadall:
+ *     Generic read all pins called from main program. Works out the Pi type
+ *     and calls the appropriate function.
+ *********************************************************************************
+ */
+
 void doReadall (void)
 {
   int model, rev, mem, maker, overVolted ;
@@ -328,10 +346,21 @@ void doReadall (void)
 
   /**/ if ((model == PI_MODEL_A) || (model == PI_MODEL_B))
     abReadall (model, rev) ;
-  else if ((model == PI_MODEL_BP) || (model == PI_MODEL_AP) || (model == PI_MODEL_2) || (model == PI_MODEL_ZERO))
+  else if ((model == PI_MODEL_BP) || (model == PI_MODEL_AP) || (model == PI_MODEL_2) || (model == PI_MODEL_3) || (model == PI_MODEL_ZERO))
     piPlusReadall (model) ;
-  else if (model == PI_MODEL_CM)
-    cmReadall () ;
+  else if ((model == PI_MODEL_CM) || (model == PI_MODEL_CM3))
+    allReadall () ;
   else
     printf ("Oops - unable to determine board type... model: %d\n", model) ;
 }
+
+/*
+ * doAllReadall:
+ *     Force reading of all pins regardless of Pi model
+ *********************************************************************************
+ */
+
+void doAllReadall (void)
+{
+  allReadall () ;
+}