Documentation ¶
Overview ¶
Package gpsnmea implements an NMEA serial gps.
Package gpsnmea implements an NMEA serial gps.
Index ¶
- type Config
- type I2CConfig
- type NmeaMovementSensor
- type PmtkI2CNMEAMovementSensor
- func (g *PmtkI2CNMEAMovementSensor) Accuracy(ctx context.Context, extra map[string]interface{}) (map[string]float32, error)
- func (g *PmtkI2CNMEAMovementSensor) AngularVelocity(ctx context.Context, extra map[string]interface{}) (spatialmath.AngularVelocity, error)
- func (g *PmtkI2CNMEAMovementSensor) Close(ctx context.Context) error
- func (g *PmtkI2CNMEAMovementSensor) CompassHeading(ctx context.Context, extra map[string]interface{}) (float64, error)
- func (g *PmtkI2CNMEAMovementSensor) GetBusAddr() (board.I2C, byte)
- func (g *PmtkI2CNMEAMovementSensor) LinearAcceleration(ctx context.Context, extra map[string]interface{}) (r3.Vector, error)
- func (g *PmtkI2CNMEAMovementSensor) LinearVelocity(ctx context.Context, extra map[string]interface{}) (r3.Vector, error)
- func (g *PmtkI2CNMEAMovementSensor) Orientation(ctx context.Context, extra map[string]interface{}) (spatialmath.Orientation, error)
- func (g *PmtkI2CNMEAMovementSensor) Position(ctx context.Context, extra map[string]interface{}) (*geo.Point, float64, error)
- func (g *PmtkI2CNMEAMovementSensor) Properties(ctx context.Context, extra map[string]interface{}) (*movementsensor.Properties, error)
- func (g *PmtkI2CNMEAMovementSensor) ReadFix(ctx context.Context) (int, error)
- func (g *PmtkI2CNMEAMovementSensor) Readings(ctx context.Context, extra map[string]interface{}) (map[string]interface{}, error)
- func (g *PmtkI2CNMEAMovementSensor) Start(ctx context.Context) error
- type SerialConfig
- type SerialNMEAMovementSensor
- func (g *SerialNMEAMovementSensor) Accuracy(ctx context.Context, extra map[string]interface{}) (map[string]float32, error)
- func (g *SerialNMEAMovementSensor) AngularVelocity(ctx context.Context, extra map[string]interface{}) (spatialmath.AngularVelocity, error)
- func (g *SerialNMEAMovementSensor) Close(ctx context.Context) error
- func (g *SerialNMEAMovementSensor) CompassHeading(ctx context.Context, extra map[string]interface{}) (float64, error)
- func (g *SerialNMEAMovementSensor) GetCorrectionInfo() (string, uint)
- func (g *SerialNMEAMovementSensor) LinearAcceleration(ctx context.Context, extra map[string]interface{}) (r3.Vector, error)
- func (g *SerialNMEAMovementSensor) LinearVelocity(ctx context.Context, extra map[string]interface{}) (r3.Vector, error)
- func (g *SerialNMEAMovementSensor) Orientation(ctx context.Context, extra map[string]interface{}) (spatialmath.Orientation, error)
- func (g *SerialNMEAMovementSensor) Position(ctx context.Context, extra map[string]interface{}) (*geo.Point, float64, error)
- func (g *SerialNMEAMovementSensor) Properties(ctx context.Context, extra map[string]interface{}) (*movementsensor.Properties, error)
- func (g *SerialNMEAMovementSensor) ReadFix(ctx context.Context) (int, error)
- func (g *SerialNMEAMovementSensor) Readings(ctx context.Context, extra map[string]interface{}) (map[string]interface{}, error)
- func (g *SerialNMEAMovementSensor) Start(ctx context.Context) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶ added in v0.2.36
type Config struct { ConnectionType string `json:"connection_type"` Board string `json:"board,omitempty"` DisableNMEA bool `json:"disable_nmea,omitempty"` *SerialConfig `json:"serial_attributes,omitempty"` *I2CConfig `json:"i2c_attributes,omitempty"` }
Config is used for converting NMEA Movement Sensor attibutes.
type I2CConfig ¶ added in v0.2.36
type I2CConfig struct { I2CBus string `json:"i2c_bus"` I2cAddr int `json:"i2c_addr"` I2CBaudRate int `json:"i2c_baud_rate,omitempty"` }
I2CConfig is used for converting Serial NMEA MovementSensor config attributes.
func (*I2CConfig) ValidateI2C ¶ added in v0.2.36
ValidateI2C ensures all parts of the config are valid.
type NmeaMovementSensor ¶
type NmeaMovementSensor interface { movementsensor.MovementSensor Start(ctx context.Context) error // Initialize and run MovementSensor Close(ctx context.Context) error // Close MovementSensor ReadFix(ctx context.Context) (int, error) // Returns the fix quality of the current MovementSensor measurements }
NmeaMovementSensor implements a gps that sends nmea messages for movement data.
func NewPmtkI2CGPSNMEA ¶
func NewPmtkI2CGPSNMEA( ctx context.Context, deps resource.Dependencies, name resource.Name, conf *Config, logger golog.Logger, ) (NmeaMovementSensor, error)
NewPmtkI2CGPSNMEA implements a gps that communicates over i2c.
type PmtkI2CNMEAMovementSensor ¶
type PmtkI2CNMEAMovementSensor struct { resource.Named resource.AlwaysRebuild // contains filtered or unexported fields }
PmtkI2CNMEAMovementSensor allows the use of any MovementSensor chip that communicates over I2C using the PMTK protocol.
func (*PmtkI2CNMEAMovementSensor) Accuracy ¶
func (g *PmtkI2CNMEAMovementSensor) Accuracy(ctx context.Context, extra map[string]interface{}) (map[string]float32, error)
Accuracy returns the accuracy, hDOP and vDOP.
func (*PmtkI2CNMEAMovementSensor) AngularVelocity ¶
func (g *PmtkI2CNMEAMovementSensor) AngularVelocity( ctx context.Context, extra map[string]interface{}, ) (spatialmath.AngularVelocity, error)
AngularVelocity not supported.
func (*PmtkI2CNMEAMovementSensor) Close ¶
func (g *PmtkI2CNMEAMovementSensor) Close(ctx context.Context) error
Close shuts down the SerialNMEAMOVEMENTSENSOR.
func (*PmtkI2CNMEAMovementSensor) CompassHeading ¶
func (g *PmtkI2CNMEAMovementSensor) CompassHeading(ctx context.Context, extra map[string]interface{}) (float64, error)
CompassHeading not supported.
func (*PmtkI2CNMEAMovementSensor) GetBusAddr ¶
func (g *PmtkI2CNMEAMovementSensor) GetBusAddr() (board.I2C, byte)
GetBusAddr returns the bus and address that takes in rtcm corrections.
func (*PmtkI2CNMEAMovementSensor) LinearAcceleration ¶ added in v0.2.11
func (g *PmtkI2CNMEAMovementSensor) LinearAcceleration(ctx context.Context, extra map[string]interface{}) (r3.Vector, error)
LinearAcceleration returns the current linear acceleration of the MovementSensor.
func (*PmtkI2CNMEAMovementSensor) LinearVelocity ¶
func (g *PmtkI2CNMEAMovementSensor) LinearVelocity(ctx context.Context, extra map[string]interface{}) (r3.Vector, error)
LinearVelocity returns the current speed of the MovementSensor.
func (*PmtkI2CNMEAMovementSensor) Orientation ¶
func (g *PmtkI2CNMEAMovementSensor) Orientation(ctx context.Context, extra map[string]interface{}) (spatialmath.Orientation, error)
Orientation not supporter.
func (*PmtkI2CNMEAMovementSensor) Position ¶
func (g *PmtkI2CNMEAMovementSensor) Position(ctx context.Context, extra map[string]interface{}) (*geo.Point, float64, error)
Position returns the current geographic location of the MovementSensor.
func (*PmtkI2CNMEAMovementSensor) Properties ¶
func (g *PmtkI2CNMEAMovementSensor) Properties(ctx context.Context, extra map[string]interface{}) (*movementsensor.Properties, error)
Properties what can I do!
func (*PmtkI2CNMEAMovementSensor) ReadFix ¶
func (g *PmtkI2CNMEAMovementSensor) ReadFix(ctx context.Context) (int, error)
ReadFix returns quality.
type SerialConfig ¶ added in v0.2.36
type SerialConfig struct { SerialPath string `json:"serial_path"` SerialBaudRate int `json:"serial_baud_rate,omitempty"` SerialCorrectionPath string `json:"serial_correction_path,omitempty"` SerialCorrectionBaudRate int `json:"serial_correction_baud_rate,omitempty"` }
SerialConfig is used for converting Serial NMEA MovementSensor config attributes.
func (*SerialConfig) ValidateSerial ¶ added in v0.2.36
func (cfg *SerialConfig) ValidateSerial(path string) error
ValidateSerial ensures all parts of the config are valid.
type SerialNMEAMovementSensor ¶
type SerialNMEAMovementSensor struct { resource.Named resource.AlwaysRebuild // contains filtered or unexported fields }
SerialNMEAMovementSensor allows the use of any MovementSensor chip that communicates over serial.
func (*SerialNMEAMovementSensor) Accuracy ¶
func (g *SerialNMEAMovementSensor) Accuracy(ctx context.Context, extra map[string]interface{}) (map[string]float32, error)
Accuracy returns the accuracy, hDOP and vDOP.
func (*SerialNMEAMovementSensor) AngularVelocity ¶
func (g *SerialNMEAMovementSensor) AngularVelocity(ctx context.Context, extra map[string]interface{}) (spatialmath.AngularVelocity, error)
AngularVelocity angularvelocity.
func (*SerialNMEAMovementSensor) Close ¶
func (g *SerialNMEAMovementSensor) Close(ctx context.Context) error
Close shuts down the SerialNMEAMovementSensor.
func (*SerialNMEAMovementSensor) CompassHeading ¶
func (g *SerialNMEAMovementSensor) CompassHeading(ctx context.Context, extra map[string]interface{}) (float64, error)
CompassHeading 0->360.
func (*SerialNMEAMovementSensor) GetCorrectionInfo ¶
func (g *SerialNMEAMovementSensor) GetCorrectionInfo() (string, uint)
GetCorrectionInfo returns the serial path that takes in rtcm corrections and baudrate for reading.
func (*SerialNMEAMovementSensor) LinearAcceleration ¶ added in v0.2.11
func (g *SerialNMEAMovementSensor) LinearAcceleration(ctx context.Context, extra map[string]interface{}) (r3.Vector, error)
LinearAcceleration linear acceleration.
func (*SerialNMEAMovementSensor) LinearVelocity ¶
func (g *SerialNMEAMovementSensor) LinearVelocity(ctx context.Context, extra map[string]interface{}) (r3.Vector, error)
LinearVelocity linear velocity.
func (*SerialNMEAMovementSensor) Orientation ¶
func (g *SerialNMEAMovementSensor) Orientation(ctx context.Context, extra map[string]interface{}) (spatialmath.Orientation, error)
Orientation orientation.
func (*SerialNMEAMovementSensor) Position ¶
func (g *SerialNMEAMovementSensor) Position(ctx context.Context, extra map[string]interface{}) (*geo.Point, float64, error)
Position position, altitide.
func (*SerialNMEAMovementSensor) Properties ¶
func (g *SerialNMEAMovementSensor) Properties(ctx context.Context, extra map[string]interface{}) (*movementsensor.Properties, error)
Properties what do I do!
func (*SerialNMEAMovementSensor) ReadFix ¶
func (g *SerialNMEAMovementSensor) ReadFix(ctx context.Context) (int, error)
ReadFix returns Fix quality of MovementSensor measurements.