From b64d6ff04401ed85fce543b8e20c8c360fb284f5 Mon Sep 17 00:00:00 2001
From: Guo Wenxue <guowenxue@gmail.com>
Date: Thu, 27 Jun 2019 13:25:23 +0800
Subject: [PATCH] Update mqttd hal code, can control relay now

---
 mqttd/hal/relay.h |    8 +++++---
 mqttd/hal/hal.c   |    4 +++-
 mqttd/hal/led.c   |   19 ++++++++-----------
 mqttd/hal/relay.c |    8 ++++----
 mqttd/hal/led.h   |    8 ++++----
 mqttd/hal/hal.h   |    2 ++
 mqttd/main.c      |    2 +-
 7 files changed, 27 insertions(+), 24 deletions(-)

diff --git a/mqttd/hal/hal.c b/mqttd/hal/hal.c
index 5ed9248..44f4638 100644
--- a/mqttd/hal/hal.c
+++ b/mqttd/hal/hal.c
@@ -15,8 +15,10 @@
 
 int hal_init(void)
 {
+    wiringPiSetup();
+
     init_led(); 
-    relay_init();
+    init_relay();
 
 #if 0
     if( sht2x_init() < 0 )
diff --git a/mqttd/hal/hal.h b/mqttd/hal/hal.h
index 9a1056c..7855cdd 100644
--- a/mqttd/hal/hal.h
+++ b/mqttd/hal/hal.h
@@ -14,6 +14,8 @@
 #ifndef  _HAL_H_
 #define  _HAL_H_
 
+#include <wiringPi.h>
+
 #include "lylib/logger.h"
 
 #include "led.h"
diff --git a/mqttd/hal/led.c b/mqttd/hal/led.c
index c51b637..0025089 100644
--- a/mqttd/hal/led.c
+++ b/mqttd/hal/led.c
@@ -7,10 +7,10 @@
  *
  *     pi@raspberrypi:~ $ gpio readall show BCM and wPi pinmap  
  *
- *                 LED      BCM           wPi 
- *                  G ---- GPIO.13  ---- GPIO.23
- *                  R ---- GPIO.19  ---- GPIO.24    
- *                  B ---- GPIO.26  ---- GPIO.25
+ *                 LED      BCM           wPi           Phy Pin
+ *                  G ---- GPIO.13  ---- GPIO.23  ----   #Pin33
+ *                  R ---- GPIO.19  ---- GPIO.24  ----   #Pin35  
+ *                  B ---- GPIO.26  ---- GPIO.25  ----   #Pin37
  *                  I ---- GND      ----
  *                 
  *        Version:  1.0.0(2018/10/14)
@@ -35,11 +35,9 @@
 {
 	int         i; 
     
-    wiringPiSetup();
-
 	for(i=0; i<LED_MAX; i++)
 	{
-	       	pinMode( led_gpio[i], OUTPUT );
+        pinMode( led_gpio[i], OUTPUT );
 	}
 }
 
@@ -48,11 +46,10 @@
 	if( which<0 || which>=LED_MAX )
 		return -1;
 
-
 	if( OFF == cmd )
-	       	digitalWrite (led_gpio[which], LOW);
-	else
-	       	digitalWrite (led_gpio[which], HIGH);
+        digitalWrite (led_gpio[which], LOW); 
+    else 
+        digitalWrite (led_gpio[which], HIGH);
 
 	return 0;
 }
diff --git a/mqttd/hal/led.h b/mqttd/hal/led.h
index dfc411c..da6cbcc 100644
--- a/mqttd/hal/led.h
+++ b/mqttd/hal/led.h
@@ -7,10 +7,10 @@
  *
  *     pi@raspberrypi:~ $ gpio readall show BCM and wPi pinmap  
  *
- *                 LED      BCM           wPi 
- *                  G ---- GPIO.13  ---- GPIO.23
- *                  R ---- GPIO.19  ---- GPIO.24    
- *                  B ---- GPIO.26  ---- GPIO.25
+ *                 LED      BCM           wPi           #PIN
+ *                  G ---- GPIO.13  ---- GPIO.23  ----   33
+ *                  R ---- GPIO.19  ---- GPIO.24  ----   35  
+ *                  B ---- GPIO.26  ---- GPIO.25  ----   37
  *                  I ---- GND      ----
  *                 
  *        Version:  1.0.0(2018/10/14)
diff --git a/mqttd/hal/relay.c b/mqttd/hal/relay.c
index 8676837..a35eca0 100644
--- a/mqttd/hal/relay.c
+++ b/mqttd/hal/relay.c
@@ -12,12 +12,12 @@
  ********************************************************************************/
 
 
+#include <stdio.h>
 #include <wiringPi.h>
 #include "relay.h"
 
-void relay_init(void)
+void init_relay(void)
 {
-    wiringPiSetup();
     pinMode(RELAY_PIN, OUTPUT);
 }
 
@@ -26,11 +26,11 @@
 {
     if( OFF == cmd )
     {
-        digitalWrite ( RELAY_PIN, HIGH );
+        digitalWrite ( RELAY_PIN, LOW );
     }
     else
     {
-        digitalWrite ( RELAY_PIN, LOW );
+        digitalWrite ( RELAY_PIN, HIGH );
     }
 }
 
diff --git a/mqttd/hal/relay.h b/mqttd/hal/relay.h
index af47779..dd4754d 100644
--- a/mqttd/hal/relay.h
+++ b/mqttd/hal/relay.h
@@ -19,10 +19,12 @@
 #define OFF                 0
 #endif
 
-/*   I/O Pin connected to PIN#18, BCM code pin number is 24 and wPi pin number is 5 */
-#define RELAY_PIN           5
 
-void relay_init(void);
+/* I/O Pin connected to PIN#40, BCM code pin number is 21 and wPi pin number is 29, 
+ * can check by linux command <gpio readall> on RPi */
+#define RELAY_PIN           29
+
+void init_relay(void);
 void turn_relay(int cmd);
 
 #endif   /* ----- #ifndef _RELAY_H_  ----- */
diff --git a/mqttd/main.c b/mqttd/main.c
index 48e6e85..aa88835 100644
--- a/mqttd/main.c
+++ b/mqttd/main.c
@@ -115,7 +115,7 @@
         return -1;
     }
     log_nrml("HAL initialise ok\n");
-    
+
     install_proc_signal();
 
     if( check_set_program_running(daemon) < 0 ) 

--
Gitblit v1.9.1