Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AppDataService ¶
type AppDataService interface { InitRuntimeConfig() error AddTimeline(ctx context.Context, source Timeline) (Timeline, error) GetTimeline(ctx context.Context, id string) (Timeline, error) GetAllTimelines(ctx context.Context) ([]Timeline, error) GetAllTimelinesWithTag(ctx context.Context, tag string) ([]Timeline, error) DeleteTimeline(ctx context.Context, id string) error UpdateTags(ctx context.Context, id string, tags []string) error GetSystemConfig(ctx context.Context) (SystemConfig, error) SetSystemConfig(ctx context.Context, config SystemConfig) error }
func NewAppDataService ¶
func NewAppDataService(db *sqlx.DB) AppDataService
type FadeMeta ¶
type FadeMeta struct {
Color MetaColor `json:"color"` // Color indicates what color to fade to
}
type GradientMeta ¶
type LightningMeta ¶
type LightningMeta struct { Bursts int `json:"bursts,omitempty"` // Bursts indicates the number of bursts to fire in a single lightning effect BurstType string `json:"burst-type"` // BurstType can be 'fixed' or 'random'. Defaults to random BurstSpacing int `json:"burst-spacing,omitempty"` // BurstSpacing indicates how much time (in ms) should exist between bursts BurstLength int `json:"burst-length,omitempty"` // BurstLength indicates how long each flash should show BurstBrightness int `json:"burst-brightness,omitempty"` // BurstBrightness indicates how bright each flash is }
type SequenceMeta ¶
type SequenceMeta struct {
Sequence []MetaColor `json:"sequence"` // Sequence defines a repeating array of colors
}
type SolidMeta ¶
type SolidMeta struct {
Color MetaColor `json:"color"` // Color indicates what MetaColor to display
}
type SystemConfig ¶
type SystemConfig struct { GPIO int `json:"gpio"` LEDs int `json:"leds"` PixelOrder string `json:"pixel_order"` NumberOfColors int `json:"number_of_colors"` }
SystemConfig represents the system configuration information
type Timeline ¶
type Timeline struct { ID string `json:"id"` // Unique Timeline ID Enabled bool `json:"enabled"` // Timeline enabled or not Created time.Time `json:"created"` // Timeline create time Name string `json:"name"` // Timeline name GPIO sql.NullInt32 `json:"gpio,omitempty"` // The GPIO device to play the timeline on. Optional. If not set, uses the default Steps []TimelineStep `json:"steps"` // Steps for the timeline Tags []string `json:"tags"` // List of Tags to associate with this timeline }
Timeline represents a series of event frames to be shown in order
type TimelineStep ¶
type TimelineStep struct { ID string `json:"id"` // The timeline step id Type step.StepType `json:"type"` // Timeline frame type (effect/sleep/trigger/loop) Effect effect.EffectType `json:"effect,omitempty"` // The Effect type (if Type=effect) Leds sql.NullString `json:"leds,omitempty"` // Leds to use for the scene (optional) If not set and is required for the type, defaults to entire strip Time sql.NullInt32 `json:"time,omitempty"` // Time (in milliseconds). Some things (like trigger) don't require time MetaInfo any `json:"meta-info,omitempty"` // Additional information required for specific types Number int `json:"number"` // The step number (ordinal position in the timeline) }
TimelineStep represents a single step in a timeline
type TriggerMeta ¶
type TriggerMeta struct { Verb string `json:"verb,omitempty"` // Verb indicates the HTTP verb to use. Defaults to 'POST' URL string `json:"url"` // URL indicates what url should be used Headers []string `json:"headers,omitempty"` // Headers indicates what HTTP headers should be passed Body []byte `json:"body,omitempty"` // Body indicates what HTTP body should be passed. Defaults to empty }
Click to show internal directories.
Click to hide internal directories.