feat(cmd/rgb-led): add subcommands to operate with rgb-leds
This commit is contained in:
		| @@ -91,6 +91,63 @@ func GPIOToString(gpio GPIO) (string, error) { | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func GPIOToInt(gpio GPIO) (int, error) { | ||||
| 	switch gpio { | ||||
| 	case GPIO02: | ||||
| 		return 2, nil | ||||
| 	case GPIO03: | ||||
| 		return 3, nil | ||||
| 	case GPIO04: | ||||
| 		return 4, nil | ||||
| 	case GPIO05: | ||||
| 		return 5, nil | ||||
| 	case GPIO06: | ||||
| 		return 6, nil | ||||
| 	case GPIO07: | ||||
| 		return 7, nil | ||||
| 	case GPIO08: | ||||
| 		return 8, nil | ||||
| 	case GPIO10: | ||||
| 		return 10, nil | ||||
| 	case GPIO11: | ||||
| 		return 11, nil | ||||
| 	case GPIO12: | ||||
| 		return 12, nil | ||||
| 	case GPIO13: | ||||
| 		return 13, nil | ||||
| 	case GPIO14: | ||||
| 		return 14, nil | ||||
| 	case GPIO15: | ||||
| 		return 15, nil | ||||
| 	case GPIO16: | ||||
| 		return 16, nil | ||||
| 	case GPIO17: | ||||
| 		return 17, nil | ||||
| 	case GPIO18: | ||||
| 		return 18, nil | ||||
| 	case GPIO19: | ||||
| 		return 19, nil | ||||
| 	case GPIO20: | ||||
| 		return 20, nil | ||||
| 	case GPIO21: | ||||
| 		return 21, nil | ||||
| 	case GPIO22: | ||||
| 		return 22, nil | ||||
| 	case GPIO23: | ||||
| 		return 23, nil | ||||
| 	case GPIO24: | ||||
| 		return 24, nil | ||||
| 	case GPIO25: | ||||
| 		return 25, nil | ||||
| 	case GPIO26: | ||||
| 		return 26, nil | ||||
| 	case GPIO27: | ||||
| 		return 27, nil | ||||
| 	default: | ||||
| 		return 0, fmt.Errorf("Can not determine gpio %v", gpio) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func StringToGPIO(gpio string) (GPIO, error) { | ||||
| 	switch gpio { | ||||
| 	case "GPIO02": | ||||
|   | ||||
							
								
								
									
										52
									
								
								pkg/types/led.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								pkg/types/led.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| package types | ||||
|  | ||||
| import "time" | ||||
|  | ||||
| type LED struct { | ||||
| 	LEDID        string    `json:"led_id"` | ||||
| 	LEDName      string    `json:"led_name"` | ||||
| 	LEDLocation  string    `json:"led_location"` | ||||
| 	GPIONumber   *GPIO     `json:"gpio_number"` | ||||
| 	LEDEnabled   bool      `json:"led_enabled"` | ||||
| 	LEDColor     *LEDColor `json:"led_color"` | ||||
| 	DeviceID     string    `json:"device_id"` | ||||
| 	CreationDate time.Time `json:"creation_date"` | ||||
| } | ||||
|  | ||||
| type RGBLED struct { | ||||
| 	RGBLEDID          string             `json:"rgbled_id"` | ||||
| 	RGBLEDName        string             `json:"rgbled_name"` | ||||
| 	RGBLEDLocation    string             `json:"rgbled_location"` | ||||
| 	RGBLEDColorToGPIO map[RGBColor]*GPIO `json:"color_to_gpio"` | ||||
| 	RGBLEDEnabled     bool               `json:"rgbled_enabled"` | ||||
| 	DeviceID          string             `json:"device_id"` | ||||
| 	CreationDate      time.Time          `json:"creation_date"` | ||||
| } | ||||
|  | ||||
| type RGBColor string | ||||
|  | ||||
| const ( | ||||
| 	RGBLEDBlue  RGBColor = "blue" | ||||
| 	RGBLEDRed            = "red" | ||||
| 	RGBLEDGreen          = "green" | ||||
| ) | ||||
|  | ||||
| type LEDColor string | ||||
|  | ||||
| const ( | ||||
| 	LEDBlue            LEDColor = "blue" | ||||
| 	LEDRed                      = "red" | ||||
| 	LEDGreen                    = "green" | ||||
| 	LEDPurple                   = "purple" | ||||
| 	LEDTurquoiseGravel          = "turquoise gravel" | ||||
| 	LEDYellow                   = "yellow" | ||||
| 	LEDWhite                    = "white" | ||||
| ) | ||||
|  | ||||
| type LEDOption string | ||||
|  | ||||
| const ( | ||||
| 	LEDError LEDOption = "error" | ||||
| 	LEDWarn            = "warn" | ||||
| 	LEDOk              = "ok" | ||||
| ) | ||||
		Reference in New Issue
	
	Block a user