Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var EaseFunctions = map[string]EaseFunc{ "Linear": EaseLinear, "InQuad": easeInQuad, "OutQuad": easeOutQuad, "InOutQuad": easeInOutQuad, "InCubic": easeInCubic, "OutCubic": easeOutCubic, "InOutCubic": easeInOutCubic, "InQuart": easeInQuart, "OutQuart": easeOutQuart, "InOutQuart": easeInOutQuart, "InQuint": easeInQuint, "OutQuint": easeOutQuint, "InOutQuint": easeInOutQuint, "InSine": easeInSine, "OutSine": easeOutSine, "InOutSine": easeInOutSine, "InExpo": easeInExpo, "OutExpo": easeOutExpo, "InOutExpo": easeInOutExpo, "InCirc": easeInCirc, "OutCirc": easeOutCirc, "InOutCirc": easeInOutCirc, "InBack": easeInBack, "OutBack": easeOutBack, "InOutBack": easeInOutBack, "InElastic": easeInElastic, "OutElastic": easeOutElastic, "InOutElastic": easeInOutElastic, }
Registry of known scaling functions
View Source
var WaveformFunctions = map[string]govaluate.ExpressionFunction{
"Sine": sineFunc,
"Square": squareFunc,
"Triangle": triangleFunc,
"Sawtooth": sawtoothFunc,
"Noise": noiseFunc,
"CSV": csvFunc,
}
Registry of known scaling functions
Functions ¶
Types ¶
type InputField ¶
type InputField interface { GetConfig() *models.TimeFieldConfig GetValues(query *models.SignalQuery) (rsp []*data.Field, env []*data.Field, err error) UpdateEnv(time *time.Time, env map[string]interface{}) error }
func NewTimeInputField ¶
func NewTimeInputField(config *models.TimeFieldConfig) (InputField, error)
type SignalField ¶
type SignalField interface { GetConfig() *models.ExpressionConfig GetValue(env map[string]interface{}) (interface{}, error) SetValue(val interface{}) error }
func NewEvalSignalField ¶
func NewEvalSignalField(config *models.ExpressionConfig) (SignalField, error)
type SignalGen ¶
type SignalGen struct { Inputs []InputField Fields []SignalField }
func DoSignalQuery ¶
func NewSignalGenerator ¶
func NewSignalGenerator(args models.SignalConfig) (*SignalGen, error)
func (*SignalGen) UpdateValues ¶
type WaveformArgs ¶
type WaveformArgs struct { Type string `json:"type,omitempty"` Period string `json:"period,omitempty"` // parse duration or range/X PeriodSec float64 `json:"periodSec,omitempty"` // in seconds Amplitude float64 `json:"amplitude,omitempty"` Offset float64 `json:"offset,omitempty"` Phase float64 `json:"phase,omitempty"` DutyCycle float64 `json:"duty,omitempty"` // on time vs off time (0-1) Points []float64 `json:"points,omitempty"` Args string `json:"args,omitempty"` // ease function or expression }
type WaveformFunc ¶
type WaveformFunc func(t time.Time, args *WaveformArgs) float64
Given 0-1 return a scaling function -- note this does not include amplitude and doffset
Click to show internal directories.
Click to hide internal directories.