API Reference fledex v#0.8.0

Copy Markdown View Source

Modules

This module should provide some simple macros that allow to define the led strip and to update it. The code you would write (in livebook) would look something like the following

This module is a small wrapper around hte Fledex.Scheduler library and adds Fledex specific aspsects into the scheduler.

Protocol that can be implemented to convert from some kind of color representation

This module defines the conversion from RGB to HSV.

Most functions are reimplementations from FastLED. Here is a detailed explanation of those functions: https://github.com/FastLED/FastLED/wiki/High-performance-math

Module defininig an hsv2rgb/2 conversion following the rainbow color map.

Spectrum color conversion from HSV to RGB

Definitions and functions to perform color corrections

Color correction depending on the hardware used

Color temperature values

A collection of color functions (namely rainbow and gradient)

This module represents the color representation for colors encoded in the HSL (hue, saturation, lightness) color space

This module represents the color representation for colors encoded in the HSV (hue, saturation, value) color space

This module implements a KinoRender that converts a Fledex color to a markdown representation that can be used in a Livebook and allows nicer rendering of return values. Just return an instance of this module

This module is a bridge between color name modules and the Fledex.Color protocol. It uses the Fledex.Config to know about the configured colors

This module defines all the named colors in the CSS standard, see: https://drafts.csswg.org/css-color/#named-colors

This module defines the standard interface (behaviour) for color names modules which they should implement.

Some utility functions that can help when loading color names from a CSV file

This module allows to easily create color name modules (implementing the Fledex.Color.Names.Interface behaviour) by simply using this module. Use it in the following way

This module defines all the named colors in the RAL Design System Plus, see: https://en.wikipedia.org/wiki/List_of_RAL_colours#RAL_Design_System+

This module defines all the named colors in the SVG standard, see: https://www.w3.org/TR/SVG11/types.html#ColorKeywords

This module defines a couple of types related to color names

This module defines all the named colors specified on Wikipedia, which is a collection of various sources. See

This module represents an RGB color. Fledex does commonly use a {r, g, b}-tuple, but this module makes the purpose more clear.

This module represents an RGBW color. Fledex does commonly use a {r, g, b}-tuple, but this module allows to also set the white (:w1) or even a secondary white color (:w2) led commonly found in modern led strips (e.g. WS2813B-RGBW).

A couple of color related type definitions.

This component creates a clock

A component that will draw a single "dot".

This interface needs to be implemente by a compoenent. It should be noted that a component is always an animation.

This components receives some color information through PubSub and colors the leds accordingly.

This is only an example component to demonstrate how a component could look like. The component is not properly tested no major effort will be spend on getting this to a better state.

Utility functions that are useful when defining components

This module gives access to configure Fledex at runtime.

This is a concrete driver to display the leds in a Kino environment, like a livebook.

This driver can log the data either to IO or to a Logger.

This is a dummy implementation of the Driver that doesn't do anything (similar to a /dev/null device). This can be useful if you want to run some tests without getting any output or sending it to hardware.

This driver collects the led definitions and transfers them through PubSub to somewhere else where they can be repainted through the Fledex.Component.PubSub component

This module is the base for SPI based drivers.

Utility functions for the SPI drivers

This module is a concrete driver that will push the led data through an SPI port.

This module is a concrete driver that will push the led data through an SPI port. It is mainly intended for WS2812 led strip,

This interface defines the @behaviour for drivers. They can be dummy implementations like a driver that dumps the output to IO, wich can be useful for testing without real hardware. A proper implementation probably opens a channel (if not already open) to the bus (like SPI) and sends the data to the bus.

This modules manages a (set of) concrete driver(s).

This is an effect that will set the intensity of the LEDs according to a Bell curve distribution.

This is an effect that will dim all the leds.

This module defines the interface for an LED effect. Effects can be used in Animations. Examples are

An effect that will offset the colors.

This effect will apply a rotation to the leds

This is an effect that will slowly desolve the animation. Once it has desolved completely the effect will (by default) inverse itself and the leds will reappear.

This module defines a GenServer that manages the LED strip (be it a real one with the Fledex.Driver.Impl.Spi or a virtual one with e.g. the Fledex.Driver.Impl.Kino).

This module allows to define a sequence of Leds. You first create the new sequence of leds by calling one of the leds functions.

This module starts and supervises all the services required for running animations. You rarely will use this module directly, but rather use it through the Fledex DSL.

This is the supervisor for an led strip and all it's workers, like :animators, :coordinators, and :jobs

Some utilities related to the animation system.

This module collects functionality around clustering and to connect several Fledex instances together. This allows to do some processing on one node and to pass some pixel definitions to another node to display them there.

The module is only intended to be used by the Fledex module.

This module collects all useful guards. If you want to use one of them you need to import this module.

This module collects all functions that are about publish and subscribe (PubSub) functionality.

Mix Tasks

Generate documentation for all the available Fledex colors from various known color modules See Fledex.Config.known_color_modules/0 for more details.