Documentation ¶
Index ¶
- Constants
- Variables
- func GetAllSections() map[string]interface{}
- func GetDefaults() map[string]interface{}
- func SetFs(f afero.Fs)
- func SetLockFilePath(f func(string) string)
- type AudioBait
- type AudioRecording
- type Battery
- type Comms
- type Config
- func (c *Config) Get(key string) interface{}
- func (c *Config) GetAllValues() (map[string]interface{}, error)
- func (c *Config) Reload() error
- func (c *Config) Set(key string, value interface{}) error
- func (c *Config) SetField(sectionKey, valueKey, value string, force bool) error
- func (c *Config) SetFromMap(sectionKey string, newConfig map[string]interface{}, force bool) error
- func (c *Config) Unmarshal(key string, raw interface{}) error
- func (c *Config) Unset(key string) error
- func (c *Config) Update() error
- func (c *Config) Write() error
- type ConfigArgs
- type Device
- type DeviceSetup
- type GPIO
- type Lepton
- type Location
- type Modem
- type Modemd
- type Ports
- type Salt
- type Secrets
- type TestHosts
- type ThermalMotion
- type ThermalRecorder
- type ThermalThrottler
- type Windows
Constants ¶
View Source
const ( DefaultConfigDir = "/etc/cacophony" ConfigFileName = "config.toml" TimeFormat = time.RFC3339 )
View Source
const AudioBaitKey = "audio-bait"
View Source
const AudioRecordingKey = "audio-recording"
View Source
const (
BatteryKey = "battery"
)
View Source
const CommsKey = "comms"
View Source
const DeviceKey = "device"
View Source
const DeviceSetupKey = "device-setup"
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 SaltKey = "salt"
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 ¶
View Source
var LiIonPercent = []float32{0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100}
View Source
var LiIonVoltage = []float32{3.4, 3.46, 3.51, 3.56, 3.58, 3.61, 3.62, 3.64, 3.67, 3.71, 3.76, 3.81, 3.86, 3.9, 3.93, 3.97, 4.0, 4.04, 4.07, 4.11, 4.17}
View Source
var LimePercent = []float32{} /* 101 elements not displayed */
View Source
var LimeVoltage = []float32{} /* 101 elements not displayed */
Functions ¶
func GetAllSections ¶ added in v1.22.0
func GetAllSections() map[string]interface{}
func GetDefaults ¶ added in v1.22.0
func GetDefaults() map[string]interface{}
func SetLockFilePath ¶
Types ¶
type AudioBait ¶ added in v1.10.0
type AudioBait struct { Dir string `mapstructure:"directory"` Card int `mapstructure:"card"` VolumeControl string `mapstructure:"volume-control"` }
func DefaultAudioBait ¶ added in v1.10.0
func DefaultAudioBait() AudioBait
type AudioRecording ¶ added in v1.10.0
type AudioRecording struct { AudioMode string `mapstructure:"audio-mode"` AudioSeed uint32 `mapstructure:"random-seed"` Updated time.Time `mapstructure:"updated"` }
func DefaultAudioRecording ¶ added in v1.10.0
func DefaultAudioRecording() AudioRecording
type Battery ¶
type Battery struct { EnableVoltageReadings bool `mapstructure:"enable-voltage-readings"` BatteryType string `mapstructure:"battery-type"` BatteryVoltage []float32 `mapstructure:"battery-voltage"` BatteryPercent []float32 `mapstructure:"battery-percent"` }
func (*Battery) GetBatteryVoltageThresholds ¶ added in v1.15.0
func (batteryConfig *Battery) GetBatteryVoltageThresholds(batVolt float32) (string, []float32, []float32)
GetBatteryVoltageThresholds gets battery type and voltage thresholds if no battery type is specific LiIon or Lime will be used based of batVolt reading if a battery type other than li-ion or lime is specified it will use the battery-voltage,battery-percent config these arrays should be in ascending order of battery percentage ( 0 , 1, .. 100).
type Comms ¶ added in v1.22.0
type Comms struct { Enable bool `mapstructure:"enable"` TrapEnabledByDefault bool `mapstructure:"trap-enabled-by-default"` // If no animals are seen should the trap be enabled or not. CommsOut string `mapstructure:"comms-out"` // "uart" or "high-low" Bluetooth bool `mapstructure:"bluetooth"` // Bluetooth can only be enabled if UART is not in use. PowerOutput string `mapstructure:"power-output"` // "on", "off", "comms-only" PowerUpDuration time.Duration `mapstructure:"power-up-duration"` // When PowerOutput is set to "comms-only" how long should it be powered up before sending data. TrapSpecies map[string]int32 `mapstructure:"trap-species"` // Species with set confidence to trap TrapDuration time.Duration `mapstructure:"trap-duration"` // How long to keep a trap active for after seeing a trapped species ProtectSpecies map[string]int32 `mapstructure:"protect-species"` // Species with set confidence to protect ProtectDuration time.Duration `mapstructure:"protect-duration"` // How long to keep a trap inactive for after seeing a protected species }
func DefaultComms ¶ added in v1.22.0
func DefaultComms() Comms
type Config ¶
type Config struct { AutoWrite bool // contains filtered or unexported fields }
func (*Config) GetAllValues ¶ added in v1.22.0
func (*Config) SetFromMap ¶
SetFromMap can only update one section at a time.
type ConfigArgs ¶ added in v1.22.0
type ConfigArgs struct {
ConfigDir string `arg:"--config-dir" default:"/etc/cacophony/" help:"path to configuration directory"`
}
type DeviceSetup ¶ added in v1.9.0
type DeviceSetup struct { IR bool `mapstructure:"ir"` // S or L ( for small trap or large trap) TrapSize string `mapstructure:"trap-size"` }
func DefaultDeviceSetup ¶ added in v1.11.0
func DefaultDeviceSetup() DeviceSetup
type GPIO ¶
type GPIO struct { ThermalCameraPower string `mapstructure:"thermal-camera-power"` ModemPower string `mapstructure:"modem-power"` UartTx string `mapstructure:"uart-tx"` }
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 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 Salt ¶ added in v1.11.0
type Salt struct {
AutoUpdate bool `mapstructure:"auto-update"`
}
func DefaultSalt ¶ added in v1.11.0
func DefaultSalt() Salt
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"` BluetoothBeacons bool `mapstructure:"bluetooth-beacons"` }
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"` Updated time.Time `mapstructure:"updated"` }
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"` Updated time.Time `mapstructure:"updated"` }
func DefaultWindows ¶
func DefaultWindows() Windows
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
cacophony-config-sync
cacophony-config-sync - sync device settings with Cacophony Project API.
|
cacophony-config-sync - sync device settings with Cacophony Project API. |
Click to show internal directories.
Click to hide internal directories.