From 220397d6e51dd15d74fbd41cfdc9c72aced45119 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Wed, 03 Nov 2021 22:29:44 +0800
Subject: [PATCH] update led and gpio program

---
 modules/c/led.c  |   86 +++++++++++-----------------
 /dev/null        |   53 -----------------
 modules/c/gpio.c |    0 
 3 files changed, 33 insertions(+), 106 deletions(-)

diff --git a/modules/c/gpiod.c b/modules/c/gpio.c
similarity index 100%
rename from modules/c/gpiod.c
rename to modules/c/gpio.c
diff --git a/modules/c/led.c b/modules/c/led.c
index 5ef2c0c..3097381 100644
--- a/modules/c/led.c
+++ b/modules/c/led.c
@@ -1,21 +1,21 @@
 /*********************************************************************************
- *      Copyright:  (C) 2018 LingYun IoT System Studio
+ *      Copyright:  (C) 2021 LingYun IoT System Studio
  *                  All rights reserved.
  *
  *       Filename:  led.c
- *    Description:  This file is used to control RGB 3-colours LED
+ *    Description:  This file is used to control RGB 3-colors LED
  *
- *     pi@raspberrypi:~ $ gpio readall show BCM and wPi pinmap  
+ *     pi@raspberrypi:~ $ gpio readall     #show RPi pin map
  *
- *                 LED      BCM           wPi 
- *                  G ---- GPIO.13  ---- GPIO.23
- *                  R ---- GPIO.19  ---- GPIO.24    
- *                  B ---- GPIO.26  ---- GPIO.25
- *                  I ---- GND      ----
+ *                 LED     #PIN        BCM
+ *                  I ----  39  ----   GND
+ *                  G ----  37  ----   26
+ *                  R ----  35  ----   19
+ *                  B ----  33  ----   13
  *                 
- *        Version:  1.0.0(2018/10/14)
+ *        Version:  1.0.0(2012/11/03)
  *         Author:  Guo Wenxue <guowenxue@gmail.com>
- *      ChangeLog:  1, Release initial version on "2018/10/14 12:13:26"
+ *      ChangeLog:  1, Release initial version on "2021/11/03 12:13:26"
  *                 
  ********************************************************************************/
 
@@ -28,10 +28,28 @@
 #include <time.h>
 #include <errno.h>
 
-#include "led.h"
+#include <gpiod.h>
 
 #define msleep(x) usleep( 1000*(x) )
 #define DELAY     500
+
+#define ON        1
+#define OFF       0
+
+/* Three LEDs code */
+enum
+{
+        LED_R = 0,
+        LED_G,
+        LED_B,
+        LED_MAX,
+};
+
+/* RGB 3-color LED BCM pin number */
+static int led_gpio[LED_MAX]= { 19, 26, 13 };
+
+void init_led(void);
+int turn_led(int which, int cmd);
 
 int main(int argc, char *argv[])
 {
@@ -40,58 +58,20 @@
 	while(1)
 	{
 		turn_led(LED_R, ON);
-		msleep(DELAY);
 		turn_led(LED_R, OFF);
-		msleep(DELAY);
 
 		turn_led(LED_G, ON);
-		msleep(DELAY);
 		turn_led(LED_G, OFF);
-		msleep(DELAY);
 
 		turn_led(LED_B, ON);
-		msleep(DELAY);
 		turn_led(LED_B, OFF);
-		msleep(DELAY);
 	}
 
         return 0;
 }
 
-#ifdef CONFIG_USE_WIRINGPI
-#include <wiringPi.h>
 
-void init_led(void)
-{
-	int         i;
-
-       	wiringPiSetup();
-
-	for(i=0; i<LED_MAX; i++)
-	{
-	       	pinMode( led_gpio[i], OUTPUT );
-	}
-}
-
-int turn_led(int which, int cmd)
-{
-	if( which<0 || which>=LED_MAX )
-		return -1;
-
-
-	if( OFF == cmd )
-	       	digitalWrite (led_gpio[which], LOW);
-	else
-	       	digitalWrite (led_gpio[which], HIGH);
-
-	return 0;
-}
-
-#else /* use libgpiod library */
-
-#include <gpiod.h>
-
-#if 0 /* Use libgpiod lowlevel API */
+#if 1 /* Use libgpiod lowlevel API */
 
 struct gpiod_chip* chip;
 
@@ -126,16 +106,17 @@
 	{
 		gpiod_line_set_value(line, 1);
 	}
+
+	msleep(DELAY);
 }
 
 
 #else /* use libgpiod ctxless high level API */
 void init_led(void)
 {
-
 }
 
-void gpiod_ctxless_cb(void *data)
+static void gpiod_ctxless_cb(void *data)
 {
 	sleep(1);
 }
@@ -150,4 +131,3 @@
 #endif
 
 
-#endif
diff --git a/modules/c/led.h b/modules/c/led.h
deleted file mode 100644
index 125d80d..0000000
--- a/modules/c/led.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*********************************************************************************
- *      Copyright:  (C) 2018 LingYun IoT System Studio
- *                  All rights reserved.
- *
- *       Filename:  led.h
- *    Description:  This file is used to control RGB 3-colours LED
- *
- *     pi@raspberrypi:~ $ gpio readall     #show BCM and wPi pinmap  
- *
- *                 LED     #PIN        BCM          wPi 
- *                  I ----  9   ----   GND    ----  GND  
- *                  G ----  11  ----   17     ----   0
- *                  R ----  13  ----   27     ----   2 
- *                  B ----  15  ----   22     ----   3  
- *                 
- *        Version:  1.0.0(2018/10/14)
- *         Author:  Guo Wenxue <guowenxue@gmail.com>
- *      ChangeLog:  1, Release initial version on "2018/10/14 12:13:26"
- *                 
- ********************************************************************************/
-
-#ifndef __LED_H
-#define __LED_H
-
-#define OFF   0
-#define ON    1
-
-
-/* Three LEDs code */
-enum
-{
-	LED_R = 0,
-	LED_G,
-	LED_B,
-	LED_MAX,
-};
-
-/* 3 LEDs WiringPi GPIO port */
-                               
-
-#ifdef CONFIG_USE_WIRINGPI
-static int led_gpio[LED_MAX]= {   2,     0,      3  };
-#else /* use libgpiod library */
-static int led_gpio[LED_MAX]= {   27,    17,     22  };
-#endif
-
-
-void init_led(void);
-int turn_led(int which, int cmd);
-
-
-#endif
-

--
Gitblit v1.9.1