Skip to content
This repository has been archived by the owner on Sep 20, 2023. It is now read-only.

Commit

Permalink
cmd: make flag processing more coherent (#214)
Browse files Browse the repository at this point in the history
There's value in having tools in cmd/... all behave similarly. Change flag
processing to be slightly more similar.
  • Loading branch information
maruel committed Jan 4, 2018
1 parent 51dc21b commit d610979
Show file tree
Hide file tree
Showing 13 changed files with 113 additions and 12 deletions.
3 changes: 3 additions & 0 deletions cmd/bmxx80/main.go
Expand Up @@ -90,6 +90,9 @@ func mainImpl() error {
log.SetOutput(ioutil.Discard)
}
log.SetFlags(log.Lmicroseconds)
if flag.NArg() != 0 {
return errors.New("unexpected argument, try -help")
}

s := bmxx80.O4x
if *sample1x {
Expand Down
9 changes: 6 additions & 3 deletions cmd/gpio-list/main.go
Expand Up @@ -6,6 +6,7 @@
package main

import (
"errors"
"flag"
"fmt"
"io/ioutil"
Expand Down Expand Up @@ -72,13 +73,15 @@ func mainImpl() error {
aliases := flag.Bool("l", false, "print aliases pins (e.g. I2C1_SCL)")
gpios := flag.Bool("g", false, "print GPIO pins (e.g. GPIO1) (default)")
invalid := flag.Bool("n", false, "show not connected/INVALID pins")
verbose := flag.Bool("v", false, "enable verbose logs")
verbose := flag.Bool("v", false, "verbose mode")
flag.Parse()

if !*verbose {
log.SetOutput(ioutil.Discard)
}
log.SetFlags(0)
log.SetFlags(log.Lmicroseconds)
if flag.NArg() != 0 {
return errors.New("unexpected argument, try -help")
}

if *all {
*aliases = true
Expand Down
3 changes: 1 addition & 2 deletions cmd/gpio-read/main.go
Expand Up @@ -31,9 +31,8 @@ func mainImpl() error {
pullUp := flag.Bool("u", false, "pull up")
pullDown := flag.Bool("d", false, "pull down")
edges := flag.Bool("e", false, "wait for edges")
verbose := flag.Bool("v", false, "enable verbose logs")
verbose := flag.Bool("v", false, "verbose mode")
flag.Parse()

if !*verbose {
log.SetOutput(ioutil.Discard)
}
Expand Down
16 changes: 13 additions & 3 deletions cmd/gpio-write/main.go
Expand Up @@ -7,7 +7,10 @@ package main

import (
"errors"
"flag"
"fmt"
"io/ioutil"
"log"
"os"

"periph.io/x/periph/conn/gpio"
Expand All @@ -16,12 +19,19 @@ import (
)

func mainImpl() error {
if len(os.Args) != 3 {
verbose := flag.Bool("v", false, "verbose mode")
flag.Parse()
if !*verbose {
log.SetOutput(ioutil.Discard)
}
log.SetFlags(log.Lmicroseconds)
if flag.NArg() != 2 {
return errors.New("specify GPIO pin to write to and its level (0 or 1)")
}

args := flag.Args()
l := gpio.Low
switch os.Args[2] {
switch args[1] {
case "0":
case "1":
l = gpio.High
Expand All @@ -33,7 +43,7 @@ func mainImpl() error {
return err
}

p := gpioreg.ByName(os.Args[1])
p := gpioreg.ByName(args[0])
if p == nil {
return errors.New("invalid GPIO pin number")
}
Expand Down
9 changes: 6 additions & 3 deletions cmd/headers-list/main.go
Expand Up @@ -90,13 +90,16 @@ func printHardware(invalid bool, all map[string][][]pin.Pin) {

func mainImpl() error {
invalid := flag.Bool("n", false, "show not connected/INVALID pins")
verbose := flag.Bool("v", false, "enable verbose logs")
verbose := flag.Bool("v", false, "verbose mode")
flag.Parse()

if !*verbose {
log.SetOutput(ioutil.Discard)
}
log.SetFlags(0)
log.SetFlags(log.Lmicroseconds)
if flag.NArg() != 0 {
return errors.New("unexpected argument, try -help")
}

state, err := host.Init()
if err != nil {
return err
Expand Down
3 changes: 3 additions & 0 deletions cmd/i2c-io/main.go
Expand Up @@ -33,6 +33,9 @@ func mainImpl() error {
log.SetOutput(ioutil.Discard)
}
log.SetFlags(log.Lmicroseconds)
if flag.NArg() != 0 {
return errors.New("unexpected argument, try -help")
}

if *addr < 0 || *addr >= 1<<9 {
return fmt.Errorf("-a is required and must be between 0 and %d", 1<<9-1)
Expand Down
14 changes: 14 additions & 0 deletions cmd/i2c-list/main.go
Expand Up @@ -6,7 +6,11 @@
package main

import (
"errors"
"flag"
"fmt"
"io/ioutil"
"log"
"os"

"periph.io/x/periph/conn/i2c"
Expand All @@ -26,6 +30,16 @@ func printPin(fn string, p pin.Pin) {
}

func mainImpl() error {
verbose := flag.Bool("v", false, "verbose mode")
flag.Parse()
if !*verbose {
log.SetOutput(ioutil.Discard)
}
log.SetFlags(log.Lmicroseconds)
if flag.NArg() != 0 {
return errors.New("unexpected argument, try -help")
}

if _, err := host.Init(); err != nil {
return err
}
Expand Down
12 changes: 12 additions & 0 deletions cmd/led/main.go
Expand Up @@ -6,16 +6,28 @@
package main

import (
"errors"
"flag"
"fmt"
"io/ioutil"
"log"
"os"

"periph.io/x/periph/host"
"periph.io/x/periph/host/sysfs"
)

func mainImpl() error {
verbose := flag.Bool("v", false, "verbose mode")
flag.Parse()
if !*verbose {
log.SetOutput(ioutil.Discard)
}
log.SetFlags(log.Lmicroseconds)
if flag.NArg() != 0 {
return errors.New("unexpected argument, try -help")
}

if _, err := host.Init(); err != nil {
return err
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/lepton/main.go
Expand Up @@ -397,7 +397,7 @@ func mainImpl() error {
}
log.SetFlags(log.Lmicroseconds)
if flag.NArg() != 0 {
return errors.New("unsupported arguments")
return errors.New("unexpected argument, try -help")
}
hasOutput := len(*output) != 0
if hasOutput && *ffc {
Expand Down
14 changes: 14 additions & 0 deletions cmd/onewire-list/main.go
Expand Up @@ -6,7 +6,11 @@
package main

import (
"errors"
"flag"
"fmt"
"io/ioutil"
"log"
"os"

"periph.io/x/periph/conn/onewire"
Expand All @@ -16,6 +20,16 @@ import (
)

func mainImpl() error {
verbose := flag.Bool("v", false, "verbose mode")
flag.Parse()
if !*verbose {
log.SetOutput(ioutil.Discard)
}
log.SetFlags(log.Lmicroseconds)
if flag.NArg() != 0 {
return errors.New("unexpected argument, try -help")
}

if _, err := host.Init(); err != nil {
return err
}
Expand Down
14 changes: 14 additions & 0 deletions cmd/periph-info/main.go
Expand Up @@ -6,7 +6,11 @@
package main

import (
"errors"
"flag"
"fmt"
"io/ioutil"
"log"
"os"

"periph.io/x/periph"
Expand All @@ -30,6 +34,16 @@ func printDrivers(drivers []periph.DriverFailure) {
}

func mainImpl() error {
verbose := flag.Bool("v", false, "verbose mode")
flag.Parse()
if !*verbose {
log.SetOutput(ioutil.Discard)
}
log.SetFlags(log.Lmicroseconds)
if flag.NArg() != 0 {
return errors.New("unexpected argument, try -help")
}

state, err := host.Init()
if err != nil {
return err
Expand Down
14 changes: 14 additions & 0 deletions cmd/spi-list/main.go
Expand Up @@ -6,7 +6,11 @@
package main

import (
"errors"
"flag"
"fmt"
"io/ioutil"
"log"
"os"

"periph.io/x/periph/conn/pin"
Expand All @@ -26,6 +30,16 @@ func printPin(fn string, p pin.Pin) {
}

func mainImpl() error {
verbose := flag.Bool("v", false, "verbose mode")
flag.Parse()
if !*verbose {
log.SetOutput(ioutil.Discard)
}
log.SetFlags(log.Lmicroseconds)
if flag.NArg() != 0 {
return errors.New("unexpected argument, try -help")
}

if _, err := host.Init(); err != nil {
return err
}
Expand Down
12 changes: 12 additions & 0 deletions cmd/thermal/main.go
Expand Up @@ -6,8 +6,11 @@
package main

import (
"errors"
"flag"
"fmt"
"io/ioutil"
"log"
"os"

"periph.io/x/periph/devices"
Expand All @@ -16,7 +19,16 @@ import (
)

func mainImpl() error {
verbose := flag.Bool("v", false, "verbose mode")
flag.Parse()
if !*verbose {
log.SetOutput(ioutil.Discard)
}
log.SetFlags(log.Lmicroseconds)
if flag.NArg() != 0 {
return errors.New("unexpected argument, try -help")
}

if _, err := host.Init(); err != nil {
return err
}
Expand Down

0 comments on commit d610979

Please sign in to comment.