config

package module
v1.9.4 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2024 License: GPL-3.0 Imports: 15 Imported by: 16

README

go-config

Documentation

Index

Constants

View Source
const (
	DefaultConfigDir = "/etc/cacophony"
	ConfigFileName   = "config.toml"

	TimeFormat = time.RFC3339
)
View Source
const AudioKey = "audio"
View Source
const BatteryKey = "battery"
View Source
const DeviceKey = "device"
View Source
const GPIOKey = "gpio"
View Source
const LeptonKey = "lepton"
View Source
const LocationKey = "location"
View Source
const ModemdKey = "modemd"
View Source
const PortsKey = "ports"
View Source
const SecretsKey = "secrets"
View Source
const TestHostsKey = "test-hosts"
View Source
const ThermalMotionKey = "thermal-motion"
View Source
const ThermalRecorderKey = "thermal-recorder"
View Source
const ThermalThrottlerKey = "thermal-throttler"
View Source
const WindowsKey = "windows"

Variables

This section is empty.

Functions

func SetFs

func SetFs(f afero.Fs)

func SetLockFilePath

func SetLockFilePath(f func(string) string)

Types

type Audio

type Audio struct {
	Dir           string `mapstructure:"directory"`
	Card          int    `mapstructure:"card"`
	VolumeControl string `mapstructure:"volume-control"`
}

func DefaultAudio

func DefaultAudio() Audio

type Battery

type Battery struct {
	EnableVoltageReadings bool   `mapstructure:"enable-voltage-readings"`
	NoBattery             uint16 `mapstructure:"no-battery-reading"`
	LowBattery            uint16 `mapstructure:"low-battery-reading"`
	FullBattery           uint16 `mapstructure:"full-battery-reading"`
}

func DefaultBattery added in v1.2.0

func DefaultBattery() Battery

type Config

type Config struct {
	AutoWrite bool
	// contains filtered or unexported fields
}

func New

func New(dir string) (*Config, error)

New created a new config and loads files from the given directory

func (*Config) Get

func (c *Config) Get(key string) interface{}

func (*Config) Reload added in v1.6.1

func (c *Config) Reload() error

func (*Config) Set

func (c *Config) Set(key string, value interface{}) error

Set can only update one section at a time.

func (*Config) SetField

func (c *Config) SetField(sectionKey, valueKey, value string, force bool) error

func (*Config) SetFromMap

func (c *Config) SetFromMap(sectionKey string, newConfig map[string]interface{}, force bool) error

SetFromMap can only update one section at a time.

func (*Config) Unmarshal

func (c *Config) Unmarshal(key string, raw interface{}) error

func (*Config) Unset

func (c *Config) Unset(key string) error

func (*Config) Update

func (c *Config) Update() error

func (*Config) Write

func (c *Config) Write() error

type Device

type Device struct {
	Group  string
	ID     int
	Name   string
	Server string
}

type DeviceSetup added in v1.9.0

type DeviceSetup struct {
	// contains filtered or unexported fields
}

type GPIO

type GPIO struct {
	ThermalCameraPower string `mapstructure:"thermal-camera-power"`
	ModemPower         string `mapstructure:"modem-power"`
}

func DefaultGPIO

func DefaultGPIO() GPIO

type Lepton

type Lepton struct {
	SPISpeed    int64  `mapstructure:"spi-speed"`
	FrameOutput string `mapstructure:"frame-output"`
}

func DefaultLepton

func DefaultLepton() Lepton

type Location

type Location struct {
	Timestamp time.Time
	Accuracy  float32
	Altitude  float32
	Latitude  float32
	Longitude float32
}

func DefaultWindowLocation

func DefaultWindowLocation() Location

Default location used when setting windows relative to sunset/sunrise

type Modem

type Modem struct {
	Name            string `mapstructure:"name"`
	NetDev          string `mapstructure:"net-dev"`
	VendorProductID string `mapstructure:"vendor-product-id"`
}

type Modemd

type Modemd struct {
	TestInterval           time.Duration `mapstructure:"test-interval"`
	InitialOnDuration      time.Duration `mapstructure:"initial-on-duration"`
	FindModemTimeout       time.Duration `mapstructure:"find-modem-timeout"`
	ConnectionTimeout      time.Duration `mapstructure:"connection-timeout"`
	RequestOnDuration      time.Duration `mapstructure:"request-on-duration"`
	RetryInterval          time.Duration `mapstructure:"retry-interval"`
	RetryFindModemInterval time.Duration `mapstructure:"retry-find-modem-interval"`
	MinConnDuration        time.Duration `mapstructure:"min-connection-duration"`
	MaxOffDuration         time.Duration `mapstructure:"max-off-duration"`
	Modems                 []Modem       `mapstructure:"modems"`
}

func DefaultModemd

func DefaultModemd() Modemd

type Ports

type Ports struct {
	Managementd int
}

func DefaultPorts

func DefaultPorts() Ports

type Secrets

type Secrets struct {
	DevicePassword string `mapstructure:"device-password"`
}

type TestHosts

type TestHosts struct {
	URLs         []string
	PingWaitTime time.Duration `mapstructure:"ping-wait-time"`
	PingRetries  int           `mapstructure:"ping-retries"`
}

func DefaultTestHosts

func DefaultTestHosts() TestHosts

type ThermalMotion

type ThermalMotion struct {
	DynamicThreshold bool   `mapstructure:"dynamic-threshold"`
	TempThreshMin    uint16 `mapstructure:"temp-thresh-min"`
	TempThreshMax    uint16 `mapstructure:"temp-thresh-max"`
	TempThresh       uint16 `mapstructure:"temp-thresh"`
	DeltaThresh      uint16 `mapstructure:"delta-thresh"`
	CountThresh      int    `mapstructure:"count-thresh"`
	FrameCompareGap  int    `mapstructure:"frame-compare-gap"`
	UseOneDiffOnly   bool   `mapstructure:"use-one-diff-only"`
	TriggerFrames    int    `mapstructure:"trigger-frames"`
	WarmerOnly       bool   `mapstructure:"warmer-only"`
	EdgePixels       int    `mapstructure:"edge-pixels"`
	Verbose          bool   `mapstructure:"verbose"`
	RunClassifier    bool   `mapstructure:"run-classifier"`
	TrackingEvents   bool   `mapstructure:"tracking-events"`
	DoTracking       bool   `mapstructure:"do-tracking"`
}

func DefaultLepton35Motion added in v1.5.0

func DefaultLepton35Motion() ThermalMotion

func DefaultLeptonMotion added in v1.5.0

func DefaultLeptonMotion() ThermalMotion

func DefaultThermalMotion

func DefaultThermalMotion(cameraModel string) ThermalMotion

type ThermalRecorder

type ThermalRecorder struct {
	OutputDir        string `mapstructure:"output-dir"`
	MinDiskSpaceMB   uint64 `mapstructure:"min-disk-space-mb"`
	MinSecs          int    `mapstructure:"min-secs"`
	MaxSecs          int    `mapstructure:"max-secs"`
	PreviewSecs      int    `mapstructure:"preview-secs"`
	ConstantRecorder bool   `mapstructure:"constant-recorder"`
	UseLowPowerMode  bool   `mapstructure:"use-low-power-mode"`
}

func DefaultThermalRecorder

func DefaultThermalRecorder() ThermalRecorder

type ThermalThrottler

type ThermalThrottler struct {
	Activate   bool
	BucketSize time.Duration `mapstructure:"bucket-size"`
	MinRefill  time.Duration `mapstructure:"min-refill"`
}

func DefaultThermalThrottler

func DefaultThermalThrottler() ThermalThrottler

type Windows

type Windows struct {
	StartRecording string `mapstructure:"start-recording"`
	StopRecording  string `mapstructure:"stop-recording"`
	PowerOn        string `mapstructure:"power-on"`
	PowerOff       string `mapstructure:"power-off"`
}

func DefaultWindows

func DefaultWindows() Windows

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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