From deca2595299760871b55b83e6a93d6f274953fbf Mon Sep 17 00:00:00 2001 From: Dan Puttick Date: Tue, 24 Jan 2017 15:24:05 -0500 Subject: [PATCH] Remove led related stuff --- diode_controller/Makefile | 2 - diode_controller/led.c | 81 --------- ledButton_controller/Makefile | 2 - ledButton_controller/ledBtn.c | 282 ------------------------------- ledButton_controller/test_ledBtn | 27 --- 5 files changed, 394 deletions(-) delete mode 100644 diode_controller/Makefile delete mode 100644 diode_controller/led.c delete mode 100644 ledButton_controller/Makefile delete mode 100644 ledButton_controller/ledBtn.c delete mode 100755 ledButton_controller/test_ledBtn diff --git a/diode_controller/Makefile b/diode_controller/Makefile deleted file mode 100644 index da190d5..0000000 --- a/diode_controller/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -led: led.c - gcc -ggdb -o led led.c diff --git a/diode_controller/led.c b/diode_controller/led.c deleted file mode 100644 index 67f7342..0000000 --- a/diode_controller/led.c +++ /dev/null @@ -1,81 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* GPIO registers address */ -#define BCM2708_PERI_BASE 0x20000000 -#define GPIO_BASE (BCM2708_PERI_BASE + 0x200000) /* GPIO controller */ -#define BLOCK_SIZE (256) - -/* GPIO setup macros. Always use GPIO_IN(x) before using GPIO_OUT(x) or GPIO_ALT(x,y) */ -#define GPIO_IN(g) *(gpio+((g)/10)) &= ~(7<<(((g)%10)*3)) -#define GPIO_OUT(g) *(gpio+((g)/10)) |= (1<<(((g)%10)*3)) -#define GPIO_ALT(g,a) *(gpio+(((g)/10))) |= (((a)<=3?(a)+4:(a)==4?3:2)<<(((g)%10)*3)) - -#define GPIO_SET(g) *(gpio+7) = 1<<(g) /* sets bit which are 1, ignores bit which are 0 */ -#define GPIO_CLR(g) *(gpio+10) = 1<<(g) /* clears bit which are 1, ignores bit which are 0 */ -#define GPIO_LEV(g) (*(gpio+13) >> (g)) & 0x00000001 - - - -#define GPIO_4 4 - -int mem_fd; -void *gpio_map; -volatile uint32_t *gpio; - -int main(int argc, char* argv[]) -{ - int ret; - int i; - /* open /dev/mem */ - mem_fd = open("/dev/mem", O_RDWR|O_SYNC); - if (mem_fd == -1) { - perror("Cannot open /dev/mem"); - exit(1); - } - - /* mmap GPIO */ - gpio_map = mmap(NULL, BLOCK_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, mem_fd, GPIO_BASE); - if (gpio_map == MAP_FAILED) { - perror("mmap() failed"); - exit(1); - } - /* Always use volatile pointer! */ - gpio = (volatile uint32_t *)gpio_map; - - - GPIO_IN(GPIO_4); /* must use GPIO_IN before we can use GPIO_OUT */ - GPIO_OUT(GPIO_4); - - //Turn on led - while (1) { - //printf("Enable LED\n"); - GPIO_SET(GPIO_4); - usleep(1000000); - //printf("Disable GPIO\n"); // Does not seem to work? - //GPIO_CLR(GPIO_4); - //usleep(1000000); - } - /* Free up ressources */ - /* munmap GPIO */ - ret = munmap(gpio_map, BLOCK_SIZE); - if (ret == -1) { - perror("munmap() failed"); - exit(1); - } - /* close /dev/mem */ - ret = close(mem_fd); - if (ret == -1) { - perror("Cannot close /dev/mem"); - exit(1); - } - - return EXIT_SUCCESS; -} diff --git a/ledButton_controller/Makefile b/ledButton_controller/Makefile deleted file mode 100644 index b6bd8a0..0000000 --- a/ledButton_controller/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -ledBtn: ledBtn.c - gcc -o ledBtn ledBtn.c diff --git a/ledButton_controller/ledBtn.c b/ledButton_controller/ledBtn.c deleted file mode 100644 index e52aa16..0000000 --- a/ledButton_controller/ledBtn.c +++ /dev/null @@ -1,282 +0,0 @@ -/***************************************************************************************/ -/* */ -/* file : ledBtn.c */ -/* */ -/* synopsis : */ -/* the compiled code should be ran with root privileges to allow for access to */ -/* the GPIO pins through direct GPIO register manipulation in C-code. */ -/* After initialization, the code update the LEDs status according to the commands */ -/* passed on std input (using a pipe). */ -/* It also monitors the push-button and triggers a reboot sequence */ -/* when it is depressed. */ -/* */ -/* */ -/* This code is based on examples from */ -/* http://elinux.org/RPi_Low-level_peripherals#C */ -/* How to access GPIO registers from C-code on the Raspberry-Pi, Example program */ -/* Dom and Gert, 15-January-2012, Revised: 15-Feb-2013 */ -/* */ -/* and from Raphael Vinot (CIRCL.lu) */ -/* */ -/* v 1.00 - 22/02/2015 - initial release (Marc Durvaux) */ -/* v 1.10 - 27/02/2015 - added 'z' command for debugging, improved handling of */ -/* concateneted command sequences */ -/* */ -/* */ -/* */ -/***************************************************************************************/ - -// Includes -#include -#include -#include -#include -#include -#include -#include - -// Constant for low-level access to GPIO -#define BCM2708_PERI_BASE 0x20000000 -#define GPIO_BASE (BCM2708_PERI_BASE + 0x200000) /* GPIO controller */ -#define BLOCK_SIZE (4*1024) - -// global variables related to GPIO -int mem_fd ; -void *gpio_map ; -volatile unsigned *gpio ; // I/O access - -// GPIO setup macros. Always use INP_GPIO(x) before using OUT_GPIO(x) or SET_GPIO_ALT(x,y) -#define INP_GPIO(g) *(gpio+((g)/10)) &= ~(7<<(((g)%10)*3)) -#define OUT_GPIO(g) *(gpio+((g)/10)) |= (1<<(((g)%10)*3)) -#define SET_GPIO_ALT(g,a) *(gpio+(((g)/10))) |= (((a)<=3?(a)+4:(a)==4?3:2)<<(((g)%10)*3)) - -#define GPIO_SET *(gpio+7) // sets bits which are 1 ignores bits which are 0 -#define GPIO_CLR *(gpio+10) // clears bits which are 1 ignores bits which are 0 - -#define GET_GPIO(g) (*(gpio+13)&(1<= 4) { // final state, immediate reboot - close(fd) ; - do_reboot() ; - } - } - if (Btn_press_count == LONG_PUSH) { // trigger forced reboot - state = 10 ; // LED animation before reboot - repeat_count = 0 ; - } - } - Btn_prev_state = Btn_state ; - - nbytes = read(fd, &code, 1) ; - if (nbytes < 0) { - perror("read") ; - exit (2) ; - } - - if (nbytes > 0) { - switch (code) { // codes evaluated at every tic - case 'z' : // clear without restart (for debugging) - GPIO_CLR = 1<= MAX_COUNT) { - count = 0 ; - - switch (state) { // states evaluated after MAX_COUNT tics - case 3 : // green LED flash OFF - GPIO_CLR = 1< 5) { - state = 12 ; - } else { - state = 10 ; - } - break ; - case 12 : // proceed with reboot - close(fd) ; - do_reboot() ; - break ; - } // end switch - } // end if - - // loop delay - nanosleep((struct timespec[]){{0, TIME_TIC}}, NULL) ; - } - - return 0 ; // we should never come here! -} // main - -/***************************************************************************************/ -// -// Set up a memory region to access GPIO -// -void setup_io() { - /* open /dev/mem */ - if ((mem_fd = open("/dev/mem", O_RDWR|O_SYNC) ) < 0) { - printf("can't open /dev/mem \n"); - exit(-1); - } - - /* mmap GPIO */ - gpio_map = mmap( - NULL, //Any adddress in our space will do - BLOCK_SIZE, //Map length - PROT_READ|PROT_WRITE,// Enable reading & writting to mapped memory - MAP_SHARED, //Shared with other processes - mem_fd, //File to map - GPIO_BASE //Offset to GPIO peripheral - ); - - close(mem_fd); //No need to keep mem_fd open after mmap - - if (gpio_map == MAP_FAILED) { - printf("mmap error %d\n", (int)gpio_map);//errno also set! - exit(-1); - } - - // Always use volatile pointer! - gpio = (volatile unsigned *)gpio_map ; - - // initializes the LED and push-button pins - INP_GPIO( GREEN_LED) ; // must use INP_GPIO before we can use OUT_GPIO - OUT_GPIO( GREEN_LED) ; - INP_GPIO( YELLOW_LED) ; - OUT_GPIO( YELLOW_LED) ; - INP_GPIO( RED_LED) ; - OUT_GPIO( RED_LED) ; - INP_GPIO( PUSHBUTTON) ; - - // initializes LEDs to OFF state - GPIO_CLR = 1< $FIFO -#sleep 1 -# send command "PROCESSING" -echo "p" > $FIFO -sleep 1 -# send command "FILE processed" -echo "f" > $FIFO -sleep 3 -# send command "FILE processed" -echo "f" > $FIFO -sleep 3 -# send command "processing successfully COMPLETED" -echo "c" > $FIFO -sleep 2 -# send command "ZERO (clear display and return state to 0)" -echo "z" > $FIFO -sleep 2 -# send command "ERROR" -echo "e" > $FIFO -