incremental

package
v0.28.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2024 License: AGPL-3.0 Imports: 11 Imported by: 0

Documentation

Overview

Package incremental implements an incremental encoder

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewIncrementalEncoder

func NewIncrementalEncoder(
	ctx context.Context,
	deps resource.Dependencies,
	conf resource.Config,
	logger logging.Logger,
) (encoder.Encoder, error)

NewIncrementalEncoder creates a new Encoder.

Types

type Config added in v0.2.36

type Config struct {
	Pins      Pins   `json:"pins"`
	BoardName string `json:"board"`
}

Config describes the configuration of a quadrature encoder.

func (*Config) Validate added in v0.2.36

func (conf *Config) Validate(path string) ([]string, error)

Validate ensures all parts of the config are valid.

type Encoder

type Encoder struct {
	resource.Named

	A, B board.DigitalInterrupt
	// contains filtered or unexported fields
}

Encoder keeps track of a motor position using a rotary incremental encoder.

func (*Encoder) Close

func (e *Encoder) Close(ctx context.Context) error

Close shuts down the Encoder.

func (*Encoder) Position added in v0.2.50

func (e *Encoder) Position(
	ctx context.Context,
	positionType encoder.PositionType,
	extra map[string]interface{},
) (float64, encoder.PositionType, error)

Position returns the current position in terms of ticks or degrees, and whether it is a relative or absolute position.

func (*Encoder) Properties added in v0.2.50

func (e *Encoder) Properties(ctx context.Context, extra map[string]interface{}) (encoder.Properties, error)

Properties returns a list of all the position types that are supported by a given encoder.

func (*Encoder) RawPosition

func (e *Encoder) RawPosition() int64

RawPosition returns the raw position of the encoder.

func (*Encoder) Reconfigure added in v0.2.36

func (e *Encoder) Reconfigure(
	ctx context.Context,
	deps resource.Dependencies,
	conf resource.Config,
) error

Reconfigure atomically reconfigures this encoder in place based on the new config.

func (*Encoder) ResetPosition

func (e *Encoder) ResetPosition(ctx context.Context, extra map[string]interface{}) error

ResetPosition sets the current position of the motor (adjusted by a given offset) to be its new zero position.

func (*Encoder) Start

func (e *Encoder) Start(ctx context.Context, b board.Board)

Start starts the Encoder background thread.

type Pins

type Pins struct {
	A string `json:"a"`
	B string `json:"b"`
}

Pins describes the configuration of Pins for a quadrature encoder.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL