diff --git a/.circleci/config.yml b/.circleci/config.yml index c2e92deb0..34107b325 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -61,7 +61,7 @@ jobs: "fmt_check_examples": docker: - - image: golangci/golangci-lint:v1.61.0 + - image: golangci/golangci-lint:v1.64.5 steps: - checkout - run: diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index c3eff8162..2020d248f 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -24,7 +24,7 @@ jobs: uses: golangci/golangci-lint-action@v6 with: # Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version - version: v1.61.0 + version: v1.64.5 # Optional: working directory, useful for monorepos # working-directory: v2 diff --git a/.golangci.yml b/.golangci.yml index 17456d31a..be453d2b4 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -31,28 +31,16 @@ issues: # note: folders/files can not be excluded from "typecheck" anymore since v1.61.0 linters: - # currently active linters: - # - # INFO [lintersdb] Active 67 linters: [asasalint asciicheck bidichk bodyclose canonicalheader containedctx - # contextcheck decorder depguard dogsled dupword durationcheck errcheck errchkjson errorlint fatcontext - # forcetypeassert gci gocheckcompilerdirectives gochecknoinits gochecksumtype gocritic gofmt gofumpt goimports - # gomoddirectives gomodguard goprintffuncname gosec gosimple govet grouper inamedparam ineffassign lll makezero - # mirror misspell mnd musttag nakedret nilerr nilnil noctx nolintlint nonamedreturns nosprintfhostport perfsprint - # prealloc predeclared protogetter reassign revive sloglint spancheck staticcheck tagalign tenv testableexamples - # testifylint thelper tparallel unconvert unparam unused usestdlibvars wastedassign] - enable-all: true # https://golangci-lint.run/usage/linters/#enabled-by-default # note: typecheck can not be disabled, it is used to check code compilation disable: # deprecated: - - exportloopref # Since Go1.22 (loopvar) this linter is no longer relevant. Replaced by copyloopvar - - gomnd # The linter has been renamed. Replaced by mnd. + - tenv # replaced by usetesting # not used for this go version: none # not used for any reason - err113 # not used (we allow error creation at return statement) - - execinquery # not needed (no sql) - exhaustive # not used (we allow incomplete usage of enum switch, e.g. with default case) - forbidigo # not used (we allow print statements) - ginkgolinter # not needed (enforces standards of using ginkgo and gomega) diff --git a/adaptor.go b/adaptor.go index 4d2ca0297..5ac2371ba 100644 --- a/adaptor.go +++ b/adaptor.go @@ -177,6 +177,8 @@ type SpiSystemDevicer interface { } // OneWireSystemDevicer is the interface to a 1-wire device at system level. +// +//nolint:iface // ok for now type OneWireSystemDevicer interface { // ID returns the device id in the form "family code"-"serial number". ID() string @@ -230,6 +232,8 @@ type SpiOperations interface { } // OneWireOperations are the wrappers around the actual functions used by the 1-wire device interface +// +//nolint:iface // ok for now type OneWireOperations interface { // ID returns the device id in the form "family code"-"serial number". ID() string diff --git a/drivers/aio/analog_actuator_driver.go b/drivers/aio/analog_actuator_driver.go index ef2f6d780..7470df973 100644 --- a/drivers/aio/analog_actuator_driver.go +++ b/drivers/aio/analog_actuator_driver.go @@ -60,6 +60,7 @@ func NewAnalogActuatorDriver(a AnalogWriter, pin string, opts ...interface{}) *A } } + //nolint:forcetypeassert // ok here d.AddCommand("Write", func(params map[string]interface{}) interface{} { val, err := strconv.ParseFloat(params["val"].(string), 64) if err != nil { @@ -67,7 +68,7 @@ func NewAnalogActuatorDriver(a AnalogWriter, pin string, opts ...interface{}) *A } return d.Write(val) }) - + //nolint:forcetypeassert // ok here d.AddCommand("WriteRaw", func(params map[string]interface{}) interface{} { val, _ := strconv.Atoi(params["val"].(string)) return d.WriteRaw(val) diff --git a/drivers/aio/analog_sensor_driver.go b/drivers/aio/analog_sensor_driver.go index c02d91ad5..20ee68b75 100644 --- a/drivers/aio/analog_sensor_driver.go +++ b/drivers/aio/analog_sensor_driver.go @@ -77,12 +77,12 @@ func NewAnalogSensorDriver(a AnalogReader, pin string, opts ...interface{}) *Ana } } - d.AddCommand("Read", func(params map[string]interface{}) interface{} { + d.AddCommand("Read", func(_ map[string]interface{}) interface{} { val, err := d.Read() return map[string]interface{}{"val": val, "err": err} }) - d.AddCommand("ReadRaw", func(params map[string]interface{}) interface{} { + d.AddCommand("ReadRaw", func(_ map[string]interface{}) interface{} { val, err := d.ReadRaw() return map[string]interface{}{"val": val, "err": err} }) diff --git a/drivers/gpio/direct_pin_driver.go b/drivers/gpio/direct_pin_driver.go index c62dabbfd..bdd5a0682 100644 --- a/drivers/gpio/direct_pin_driver.go +++ b/drivers/gpio/direct_pin_driver.go @@ -28,18 +28,21 @@ func NewDirectPinDriver(a gobot.Connection, pin string, opts ...interface{}) *Di driver: newDriver(a, "DirectPin", append(opts, withPin(pin))...), } - d.AddCommand("DigitalRead", func(params map[string]interface{}) interface{} { + d.AddCommand("DigitalRead", func(_ map[string]interface{}) interface{} { val, err := d.DigitalRead() return map[string]interface{}{"val": val, "err": err} }) + //nolint:forcetypeassert // ok here d.AddCommand("DigitalWrite", func(params map[string]interface{}) interface{} { level, _ := strconv.Atoi(params["level"].(string)) return d.DigitalWrite(byte(level)) }) + //nolint:forcetypeassert // ok here d.AddCommand("PwmWrite", func(params map[string]interface{}) interface{} { level, _ := strconv.Atoi(params["level"].(string)) return d.PwmWrite(byte(level)) }) + //nolint:forcetypeassert // ok here d.AddCommand("ServoWrite", func(params map[string]interface{}) interface{} { level, _ := strconv.Atoi(params["level"].(string)) return d.ServoWrite(byte(level)) diff --git a/drivers/gpio/hcsr04_driver.go b/drivers/gpio/hcsr04_driver.go index f8cf88c76..9b2102e79 100644 --- a/drivers/gpio/hcsr04_driver.go +++ b/drivers/gpio/hcsr04_driver.go @@ -83,7 +83,7 @@ func NewHCSR04Driver(a gobot.Adaptor, triggerPinID, echoPinID string, opts ...in } d.afterStart = func() error { - tpin, err := a.(gobot.DigitalPinnerProvider).DigitalPin(triggerPinID) + tpin, err := a.(gobot.DigitalPinnerProvider).DigitalPin(triggerPinID) //nolint:forcetypeassert // ok here if err != nil { return fmt.Errorf("error on get trigger pin: %v", err) } @@ -93,7 +93,7 @@ func NewHCSR04Driver(a gobot.Adaptor, triggerPinID, echoPinID string, opts ...in d.triggerPin = tpin // pins are inputs by default - epin, err := a.(gobot.DigitalPinnerProvider).DigitalPin(echoPinID) + epin, err := a.(gobot.DigitalPinnerProvider).DigitalPin(echoPinID) //nolint:forcetypeassert // ok here if err != nil { return fmt.Errorf("error on get echo pin: %v", err) } diff --git a/drivers/gpio/led_driver.go b/drivers/gpio/led_driver.go index 94b4216c8..f56962aba 100644 --- a/drivers/gpio/led_driver.go +++ b/drivers/gpio/led_driver.go @@ -27,21 +27,21 @@ func NewLedDriver(a DigitalWriter, pin string, opts ...interface{}) *LedDriver { d := &LedDriver{ driver: newDriver(a.(gobot.Connection), "LED", append(opts, withPin(pin))...), } - + //nolint:forcetypeassert // ok here d.AddCommand("Brightness", func(params map[string]interface{}) interface{} { - level := byte(params["level"].(float64)) //nolint:forcetypeassert // ok here + level := byte(params["level"].(float64)) return d.Brightness(level) }) - d.AddCommand("Toggle", func(params map[string]interface{}) interface{} { + d.AddCommand("Toggle", func(_ map[string]interface{}) interface{} { return d.Toggle() }) - d.AddCommand("On", func(params map[string]interface{}) interface{} { + d.AddCommand("On", func(_ map[string]interface{}) interface{} { return d.On() }) - d.AddCommand("Off", func(params map[string]interface{}) interface{} { + d.AddCommand("Off", func(_ map[string]interface{}) interface{} { return d.Off() }) diff --git a/drivers/gpio/relay_driver.go b/drivers/gpio/relay_driver.go index 48debcd38..0e818cf06 100644 --- a/drivers/gpio/relay_driver.go +++ b/drivers/gpio/relay_driver.go @@ -56,15 +56,15 @@ func NewRelayDriver(a DigitalWriter, pin string, opts ...interface{}) *RelayDriv } } - d.AddCommand("Toggle", func(params map[string]interface{}) interface{} { + d.AddCommand("Toggle", func(_ map[string]interface{}) interface{} { return d.Toggle() }) - d.AddCommand("On", func(params map[string]interface{}) interface{} { + d.AddCommand("On", func(_ map[string]interface{}) interface{} { return d.On() }) - d.AddCommand("Off", func(params map[string]interface{}) interface{} { + d.AddCommand("Off", func(_ map[string]interface{}) interface{} { return d.Off() }) diff --git a/drivers/gpio/rgb_led_driver.go b/drivers/gpio/rgb_led_driver.go index a2b2f6736..a11daeb34 100644 --- a/drivers/gpio/rgb_led_driver.go +++ b/drivers/gpio/rgb_led_driver.go @@ -45,15 +45,15 @@ func NewRgbLedDriver(a PwmWriter, redPin string, greenPin string, bluePin string return d.SetRGB(r, g, b) }) - d.AddCommand("Toggle", func(params map[string]interface{}) interface{} { + d.AddCommand("Toggle", func(_ map[string]interface{}) interface{} { return d.Toggle() }) - d.AddCommand("On", func(params map[string]interface{}) interface{} { + d.AddCommand("On", func(_ map[string]interface{}) interface{} { return d.On() }) - d.AddCommand("Off", func(params map[string]interface{}) interface{} { + d.AddCommand("Off", func(_ map[string]interface{}) interface{} { return d.Off() }) diff --git a/drivers/gpio/servo_driver.go b/drivers/gpio/servo_driver.go index 60faf5b0f..56190d7f1 100644 --- a/drivers/gpio/servo_driver.go +++ b/drivers/gpio/servo_driver.go @@ -30,17 +30,18 @@ func NewServoDriver(a ServoWriter, pin string, opts ...interface{}) *ServoDriver driver: newDriver(a.(gobot.Connection), "Servo", append(opts, withPin(pin))...), } + //nolint:forcetypeassert // ok here d.AddCommand("Move", func(params map[string]interface{}) interface{} { - angle := byte(params["angle"].(float64)) //nolint:forcetypeassert // ok here + angle := byte(params["angle"].(float64)) return d.Move(angle) }) - d.AddCommand("ToMin", func(params map[string]interface{}) interface{} { + d.AddCommand("ToMin", func(_ map[string]interface{}) interface{} { return d.ToMin() }) - d.AddCommand("ToCenter", func(params map[string]interface{}) interface{} { + d.AddCommand("ToCenter", func(_ map[string]interface{}) interface{} { return d.ToCenter() }) - d.AddCommand("ToMax", func(params map[string]interface{}) interface{} { + d.AddCommand("ToMax", func(_ map[string]interface{}) interface{} { return d.ToMax() }) diff --git a/drivers/gpio/stepper_driver.go b/drivers/gpio/stepper_driver.go index 5f6d4cd47..4e526be03 100644 --- a/drivers/gpio/stepper_driver.go +++ b/drivers/gpio/stepper_driver.go @@ -117,27 +117,29 @@ func NewStepperDriver( d.sleepFunc = d.sleepOuputs d.beforeHalt = d.shutdown + //nolint:forcetypeassert // ok here d.AddCommand("MoveDeg", func(params map[string]interface{}) interface{} { degs, _ := strconv.Atoi(params["degs"].(string)) return d.MoveDeg(degs) }) + //nolint:forcetypeassert // ok here d.AddCommand("Move", func(params map[string]interface{}) interface{} { steps, _ := strconv.Atoi(params["steps"].(string)) return d.Move(steps) }) - d.AddCommand("Step", func(params map[string]interface{}) interface{} { + d.AddCommand("Step", func(_ map[string]interface{}) interface{} { return d.Move(1) }) - d.AddCommand("Run", func(params map[string]interface{}) interface{} { + d.AddCommand("Run", func(_ map[string]interface{}) interface{} { return d.Run() }) - d.AddCommand("Sleep", func(params map[string]interface{}) interface{} { + d.AddCommand("Sleep", func(_ map[string]interface{}) interface{} { return d.Sleep() }) - d.AddCommand("Stop", func(params map[string]interface{}) interface{} { + d.AddCommand("Stop", func(_ map[string]interface{}) interface{} { return d.Stop() }) - d.AddCommand("Halt", func(params map[string]interface{}) interface{} { + d.AddCommand("Halt", func(_ map[string]interface{}) interface{} { return d.Halt() }) diff --git a/drivers/i2c/ads1x15_driver.go b/drivers/i2c/ads1x15_driver.go index 6f8690e3d..ee3084ed4 100644 --- a/drivers/i2c/ads1x15_driver.go +++ b/drivers/i2c/ads1x15_driver.go @@ -112,8 +112,9 @@ func newADS1x15Driver(c Connector, name string, drs map[int]uint16, ddr int, opt option(d) } + //nolint:forcetypeassert // ok here d.AddCommand("ReadDifferenceWithDefaults", func(params map[string]interface{}) interface{} { - channel := params["channel"].(int) //nolint:forcetypeassert // ok here + channel := params["channel"].(int) val, err := d.ReadDifferenceWithDefaults(channel) return map[string]interface{}{"val": val, "err": err} }) @@ -127,8 +128,9 @@ func newADS1x15Driver(c Connector, name string, drs map[int]uint16, ddr int, opt return map[string]interface{}{"val": val, "err": err} }) + //nolint:forcetypeassert // ok here d.AddCommand("ReadWithDefaults", func(params map[string]interface{}) interface{} { - channel := params["channel"].(int) //nolint:forcetypeassert // ok here + channel := params["channel"].(int) val, err := d.ReadWithDefaults(channel) return map[string]interface{}{"val": val, "err": err} }) @@ -142,8 +144,9 @@ func newADS1x15Driver(c Connector, name string, drs map[int]uint16, ddr int, opt return map[string]interface{}{"val": val, "err": err} }) + //nolint:forcetypeassert // ok here d.AddCommand("AnalogRead", func(params map[string]interface{}) interface{} { - pin := params["pin"].(string) //nolint:forcetypeassert // ok here + pin := params["pin"].(string) val, err := d.AnalogRead(pin) return map[string]interface{}{"val": val, "err": err} }) diff --git a/drivers/i2c/blinkm_driver.go b/drivers/i2c/blinkm_driver.go index 072bbc242..4514eb66c 100644 --- a/drivers/i2c/blinkm_driver.go +++ b/drivers/i2c/blinkm_driver.go @@ -47,12 +47,12 @@ func NewBlinkMDriver(c Connector, options ...func(Config)) *BlinkMDriver { return b.Fade(red, green, blue) }) - b.AddCommand("FirmwareVersion", func(params map[string]interface{}) interface{} { + b.AddCommand("FirmwareVersion", func(_ map[string]interface{}) interface{} { version, err := b.FirmwareVersion() return map[string]interface{}{"version": version, "err": err} }) - b.AddCommand("Color", func(params map[string]interface{}) interface{} { + b.AddCommand("Color", func(_ map[string]interface{}) interface{} { color, err := b.Color() return map[string]interface{}{"color": color, "err": err} }) diff --git a/drivers/i2c/jhd1313m1_driver.go b/drivers/i2c/jhd1313m1_driver.go index 0a524420a..427ee1d6a 100644 --- a/drivers/i2c/jhd1313m1_driver.go +++ b/drivers/i2c/jhd1313m1_driver.go @@ -107,26 +107,30 @@ func NewJHD1313M1Driver(a Connector, options ...func(Config)) *JHD1313M1Driver { option(d) } + //nolint:forcetypeassert // ok here d.AddCommand("SetRGB", func(params map[string]interface{}) interface{} { r, _ := strconv.Atoi(params["r"].(string)) g, _ := strconv.Atoi(params["g"].(string)) b, _ := strconv.Atoi(params["b"].(string)) return d.SetRGB(r, g, b) }) - d.AddCommand("Clear", func(params map[string]interface{}) interface{} { + d.AddCommand("Clear", func(_ map[string]interface{}) interface{} { return d.Clear() }) - d.AddCommand("Home", func(params map[string]interface{}) interface{} { + d.AddCommand("Home", func(_ map[string]interface{}) interface{} { return d.Home() }) + //nolint:forcetypeassert // ok here d.AddCommand("Write", func(params map[string]interface{}) interface{} { - msg := params["msg"].(string) //nolint:forcetypeassert // ok here + msg := params["msg"].(string) return d.Write(msg) }) + //nolint:forcetypeassert // ok here d.AddCommand("SetPosition", func(params map[string]interface{}) interface{} { pos, _ := strconv.Atoi(params["pos"].(string)) return d.SetPosition(pos) }) + //nolint:forcetypeassert // ok here d.AddCommand("Scroll", func(params map[string]interface{}) interface{} { lr, _ := strconv.ParseBool(params["lr"].(string)) return d.Scroll(lr) diff --git a/drivers/i2c/pca9685_driver.go b/drivers/i2c/pca9685_driver.go index bd9e040b4..1e16b0bab 100644 --- a/drivers/i2c/pca9685_driver.go +++ b/drivers/i2c/pca9685_driver.go @@ -73,12 +73,14 @@ func NewPCA9685Driver(c Connector, options ...func(Config)) *PCA9685Driver { val, _ := strconv.Atoi(params["val"].(string)) return p.ServoWrite(pin, byte(val)) }) + //nolint:forcetypeassert // ok here p.AddCommand("SetPWM", func(params map[string]interface{}) interface{} { channel, _ := strconv.Atoi(params["channel"].(string)) on, _ := strconv.Atoi(params["on"].(string)) off, _ := strconv.Atoi(params["off"].(string)) return p.SetPWM(channel, uint16(on), uint16(off)) //nolint:gosec // TODO: fix later }) + //nolint:forcetypeassert // ok here p.AddCommand("SetPWMFreq", func(params map[string]interface{}) interface{} { freq, _ := strconv.ParseFloat(params["freq"].(string), 32) return p.SetPWMFreq(float32(freq)) diff --git a/drivers/i2c/pcf8583_driver.go b/drivers/i2c/pcf8583_driver.go index 34d605f5e..b8c977c4b 100644 --- a/drivers/i2c/pcf8583_driver.go +++ b/drivers/i2c/pcf8583_driver.go @@ -87,7 +87,7 @@ func NewPCF8583Driver(c Connector, options ...func(Config)) *PCF8583Driver { err := d.WriteTime(val) return map[string]interface{}{"err": err} }) - d.AddCommand("ReadTime", func(params map[string]interface{}) interface{} { + d.AddCommand("ReadTime", func(_ map[string]interface{}) interface{} { val, err := d.ReadTime() return map[string]interface{}{"val": val, "err": err} }) @@ -97,7 +97,7 @@ func NewPCF8583Driver(c Connector, options ...func(Config)) *PCF8583Driver { err := d.WriteCounter(val) return map[string]interface{}{"err": err} }) - d.AddCommand("ReadCounter", func(params map[string]interface{}) interface{} { + d.AddCommand("ReadCounter", func(_ map[string]interface{}) interface{} { val, err := d.ReadCounter() return map[string]interface{}{"val": val, "err": err} }) diff --git a/drivers/i2c/ssd1306_driver.go b/drivers/i2c/ssd1306_driver.go index 4153a0b3c..515b7311b 100644 --- a/drivers/i2c/ssd1306_driver.go +++ b/drivers/i2c/ssd1306_driver.go @@ -218,19 +218,19 @@ func NewSSD1306Driver(c Connector, options ...func(Config)) *SSD1306Driver { // set display buffer s.buffer = NewDisplayBuffer(s.displayWidth, s.displayHeight, s.pageSize) // add commands - s.AddCommand("Display", func(params map[string]interface{}) interface{} { + s.AddCommand("Display", func(_ map[string]interface{}) interface{} { err := s.Display() return map[string]interface{}{"err": err} }) - s.AddCommand("On", func(params map[string]interface{}) interface{} { + s.AddCommand("On", func(_ map[string]interface{}) interface{} { err := s.On() return map[string]interface{}{"err": err} }) - s.AddCommand("Off", func(params map[string]interface{}) interface{} { + s.AddCommand("Off", func(_ map[string]interface{}) interface{} { err := s.Off() return map[string]interface{}{"err": err} }) - s.AddCommand("Clear", func(params map[string]interface{}) interface{} { + s.AddCommand("Clear", func(_ map[string]interface{}) interface{} { s.Clear() return map[string]interface{}{} }) diff --git a/drivers/serial/sphero/sphero_driver.go b/drivers/serial/sphero/sphero_driver.go index 907d171bd..bdb81b200 100644 --- a/drivers/serial/sphero/sphero_driver.go +++ b/drivers/serial/sphero/sphero_driver.go @@ -83,16 +83,16 @@ func NewSpheroDriver(a spheroSerialAdaptor, opts ...serial.OptionApplier) *Spher return nil }) - d.AddCommand("Stop", func(params map[string]interface{}) interface{} { + d.AddCommand("Stop", func(_ map[string]interface{}) interface{} { d.Stop() return nil }) - d.AddCommand("GetRGB", func(params map[string]interface{}) interface{} { + d.AddCommand("GetRGB", func(_ map[string]interface{}) interface{} { return d.GetRGB() }) - d.AddCommand("ReadLocator", func(params map[string]interface{}) interface{} { + d.AddCommand("ReadLocator", func(_ map[string]interface{}) interface{} { return d.ReadLocator() }) diff --git a/drivers/spi/ssd1306_driver.go b/drivers/spi/ssd1306_driver.go index e13db111b..6085b8dc1 100644 --- a/drivers/spi/ssd1306_driver.go +++ b/drivers/spi/ssd1306_driver.go @@ -153,19 +153,19 @@ func NewSSD1306Driver(a gobot.Adaptor, options ...func(Config)) *SSD1306Driver { s.rstDriver = gpio.NewDirectPinDriver(a, s.RSTPin) s.pageSize = s.DisplayHeight / 8 s.buffer = NewDisplayBuffer(s.DisplayWidth, s.DisplayHeight, s.pageSize) - s.AddCommand("Display", func(params map[string]interface{}) interface{} { + s.AddCommand("Display", func(_ map[string]interface{}) interface{} { err := s.Display() return map[string]interface{}{"err": err} }) - s.AddCommand("On", func(params map[string]interface{}) interface{} { + s.AddCommand("On", func(_ map[string]interface{}) interface{} { err := s.On() return map[string]interface{}{"err": err} }) - s.AddCommand("Off", func(params map[string]interface{}) interface{} { + s.AddCommand("Off", func(_ map[string]interface{}) interface{} { err := s.Off() return map[string]interface{}{"err": err} }) - s.AddCommand("Clear", func(params map[string]interface{}) interface{} { + s.AddCommand("Clear", func(_ map[string]interface{}) interface{} { err := s.Clear() return map[string]interface{}{"err": err} }) diff --git a/platforms/firmata/firmata_i2c_test.go b/platforms/firmata/firmata_i2c_test.go index 0b5247e73..e9cbc6da2 100644 --- a/platforms/firmata/firmata_i2c_test.go +++ b/platforms/firmata/firmata_i2c_test.go @@ -42,21 +42,21 @@ func (t *i2cMockFirmataBoard) I2cWrite(address int, data []byte) error { t.i2cWritten = append(t.i2cWritten, data...) return nil } -func (i2cMockFirmataBoard) I2cConfig(int) error { return nil } +func (*i2cMockFirmataBoard) I2cConfig(int) error { return nil } // GPIO, PWM and servo functions unused in this test scenarios -func (i2cMockFirmataBoard) Connect(io.ReadWriteCloser) error { return nil } -func (i2cMockFirmataBoard) Disconnect() error { return nil } -func (i2cMockFirmataBoard) Pins() []client.Pin { return nil } -func (i2cMockFirmataBoard) AnalogWrite(int, int) error { return nil } -func (i2cMockFirmataBoard) SetPinMode(int, int) error { return nil } -func (i2cMockFirmataBoard) ReportAnalog(int, int) error { return nil } -func (i2cMockFirmataBoard) ReportDigital(int, int) error { return nil } -func (i2cMockFirmataBoard) DigitalWrite(int, int) error { return nil } -func (i2cMockFirmataBoard) ServoConfig(int, int, int) error { return nil } +func (*i2cMockFirmataBoard) Connect(io.ReadWriteCloser) error { return nil } +func (*i2cMockFirmataBoard) Disconnect() error { return nil } +func (*i2cMockFirmataBoard) Pins() []client.Pin { return nil } +func (*i2cMockFirmataBoard) AnalogWrite(int, int) error { return nil } +func (*i2cMockFirmataBoard) SetPinMode(int, int) error { return nil } +func (*i2cMockFirmataBoard) ReportAnalog(int, int) error { return nil } +func (*i2cMockFirmataBoard) ReportDigital(int, int) error { return nil } +func (*i2cMockFirmataBoard) DigitalWrite(int, int) error { return nil } +func (*i2cMockFirmataBoard) ServoConfig(int, int, int) error { return nil } // WriteSysex of the client implementation not tested here -func (i2cMockFirmataBoard) WriteSysex([]byte) error { return nil } +func (*i2cMockFirmataBoard) WriteSysex([]byte) error { return nil } func newI2cMockFirmataBoard() *i2cMockFirmataBoard { m := &i2cMockFirmataBoard{ diff --git a/platforms/holystone/hs200/hs200_driver.go b/platforms/holystone/hs200/hs200_driver.go index 477c1561f..38381673d 100644 --- a/platforms/holystone/hs200/hs200_driver.go +++ b/platforms/holystone/hs200/hs200_driver.go @@ -125,7 +125,7 @@ func (d *Driver) sendUDP() { } // Enable enables the drone to start flying. -func (d Driver) Enable() { +func (d *Driver) Enable() { d.mutex.Lock() defer d.mutex.Unlock() if !d.enabled { @@ -135,7 +135,7 @@ func (d Driver) Enable() { } // Disable disables the drone from flying. -func (d Driver) Disable() { +func (d *Driver) Disable() { d.mutex.Lock() defer d.mutex.Unlock() if d.enabled { @@ -144,7 +144,7 @@ func (d Driver) Disable() { } // TakeOff tells drones to liftoff and start flying. -func (d Driver) TakeOff() { +func (d *Driver) TakeOff() { d.mutex.Lock() d.cmd[9] = 0x40 d.cmd[10] = checksum(d.cmd) @@ -157,7 +157,7 @@ func (d Driver) TakeOff() { } // Land tells drone to come in for landing. -func (d Driver) Land() { +func (d *Driver) Land() { d.mutex.Lock() d.cmd[9] = 0x80 d.cmd[10] = checksum(d.cmd) diff --git a/platforms/pebble/pebble_driver.go b/platforms/pebble/pebble_driver.go index 345b9beaa..ff9023e8b 100644 --- a/platforms/pebble/pebble_driver.go +++ b/platforms/pebble/pebble_driver.go @@ -48,7 +48,7 @@ func NewDriver(adaptor *Adaptor) *Driver { return nil }) - p.AddCommand("pending_message", func(params map[string]interface{}) interface{} { + p.AddCommand("pending_message", func(_ map[string]interface{}) interface{} { return p.PendingMessage() })