Lamp-Da 0.1
A compact lantern project
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions | Variables
lamp_type.hpp File Reference

Define the main led strip interaction object. More...

Go to the source code of this file.

Classes

struct  lampda::modes::XYTy
 
struct  lampda::modes::HelixXYZTy
 
struct  lampda::modes::hardware::LampTy
 Main interface between the user and the hardware of the lamp. More...
 
struct  lampda::modes::hardware::LampTy::LampConfig
 Store a display config. More...
 

Namespaces

namespace  lampda
 Program scope.
 
namespace  lampda::modes
 Contains basic interface types to implement custom user modes.
 
namespace  lampda::modes::hardware
 Provide interface to the physical hardware and other facilities.
 

Enumerations

enum class  lampda::modes::hardware::LampTypes : uint8_t { lampda::modes::hardware::simple , lampda::modes::hardware::cct , lampda::modes::hardware::indexable }
 Enumeration to write code working with all lamp types. More...
 

Functions

static constexpr uint16_t lampda::modes::to_strip (uint16_t, uint16_t)
 convert grid coordinates to strip index
 
static constexpr XYTy lampda::modes::strip_to_XY (uint16_t n)
 convert strip index to grid coordinates
 
static constexpr HelixXYZTy lampda::modes::strip_to_helix (int16_t n)
 convert strip index to 3D coordinates
 
static constexpr HelixXYZTy lampda::modes::strip_to_helix_unconstraint (const int16_t n)
 convert strip index to 3D coordinates, without checks on led index. This allows to use 3D coordinates out of the lamp body
 
static constexpr bool lampda::modes::is_led_index_valid (const int16_t ledIndex)
 True if the given strip index is a valid one.
 
static constexpr bool lampda::modes::is_lamp_coordinate_out_of_bounds (const float angle_rad, const float z)
 True if the given led index is out of bounds.
 
static constexpr uint16_t lampda::modes::to_led_index (const float angle_rad, const float z)
 convert a lamp coordinate to a led index
 
static constexpr int16_t lampda::modes::to_led_index_no_bounds (const float angle_rad, const float z)
 convert a lamp coordinate to a led index, the result can be an index out of the lamp body
 
static constexpr float lampda::modes::to_helix_z (const int16_t n)
 Convert a led index to an helix height coordinate.
 

Variables

static constexpr LampTypes lampda::modes::hardware::_lampType = LampTypes::simple
 
static constexpr LampTypes lampda::modes::hardware::lampType = _lampType
 Currently implemented lamp type, defined at compile-time by the user.
 

Detailed Description

Define the main led strip interaction object.