Warmango

main.go

Sep 16th, 2020
696
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package main
  2.  
  3. import (
  4.     "fmt"
  5.     "os"
  6.     "os/signal"
  7.     "time"
  8.  
  9.     "github.com/stianeikeland/go-rpio/v4"
  10. )
  11.  
  12. var (
  13.     LCD_RST_PIN = rpio.Pin(27)
  14.     LCD_DC_PIN  = rpio.Pin(25)
  15.     LCD_CS_PIN  = rpio.Pin(8)
  16.     LCD_BL_PIN  = rpio.Pin(24)
  17. )
  18.  
  19. func main() {
  20.     // Clean up incase it exited improperly
  21.     c := make(chan os.Signal, 1)
  22.     signal.Notify(c, os.Interrupt)
  23.     go func() {
  24.         for sig := range c {
  25.             fmt.Println(sig)
  26.             fmt.Println("Performing safe exit")
  27.             rpio.Close()
  28.             os.Exit(2)
  29.  
  30.         }
  31.     }()
  32.     err := rpio.Open()
  33.     if err != nil {
  34.         fmt.Println(err)
  35.     }
  36.  
  37.     fmt.Printf(" Press buttons!\n")
  38.     for {
  39.  
  40.         time.Sleep(150000000)
  41.  
  42.         // key UP
  43.         if rpio.Pin(6).Read() == 0 {
  44.             fmt.Println("UP")
  45.         }
  46.  
  47.         // key DOWN
  48.         if rpio.Pin(19).Read() == 0 {
  49.             fmt.Println("DOWN")
  50.         }
  51.  
  52.         //key LEFT
  53.         if rpio.Pin(5).Read() == 0 {
  54.             fmt.Println("LEFT")
  55.         }
  56.  
  57.         //key RIGHT
  58.         if rpio.Pin(26).Read() == 0 {
  59.             fmt.Println("RIGHT")
  60.         }
  61.  
  62.         //key CLICK
  63.         if rpio.Pin(13).Read() == 0 {
  64.             fmt.Println("CLICK")
  65.         }
  66.  
  67.         //key 1
  68.         if rpio.Pin(21).Read() == 0 {
  69.             fmt.Println("Key1")
  70.         }
  71.  
  72.         //key 2
  73.         if rpio.Pin(20).Read() == 0 {
  74.             fmt.Println("Key2")
  75.         }
  76.  
  77.         //key 3
  78.         if rpio.Pin(16).Read() == 0 {
  79.             fmt.Println("Key3")
  80.         }
  81.  
  82.         // kill
  83.         if rpio.Pin(13).Read() == 0 && rpio.Pin(20).Read() == 0 {
  84.             rpio.Close()
  85.             os.Exit(5)
  86.         }
  87.     }
  88.     rpio.Close()
  89. }
  90.  
RAW Paste Data