|
|
- /*
-
- LIGHT MODULE
-
- */
-
- #pragma once
-
- #include "espurna.h"
-
- namespace Light {
- namespace build {
-
- constexpr unsigned char enablePin() {
- return LIGHT_ENABLE_PIN;
- }
-
- constexpr unsigned char channelPin(unsigned char index) {
- return (
- (index == 0) ? LIGHT_CH1_PIN :
- (index == 1) ? LIGHT_CH2_PIN :
- (index == 2) ? LIGHT_CH3_PIN :
- (index == 3) ? LIGHT_CH4_PIN :
- (index == 4) ? LIGHT_CH5_PIN : GPIO_NONE
- );
- }
-
- constexpr bool inverse(unsigned char index) {
- return (
- (index == 0) ? (1 == LIGHT_CH1_INVERSE) :
- (index == 1) ? (1 == LIGHT_CH2_INVERSE) :
- (index == 2) ? (1 == LIGHT_CH3_INVERSE) :
- (index == 3) ? (1 == LIGHT_CH4_INVERSE) :
- (index == 4) ? (1 == LIGHT_CH5_INVERSE) : false
- );
- }
-
- #if LIGHT_PROVIDER == LIGHT_PROVIDER_MY92XX
-
- constexpr my92xx_cmd_t my92xxCommand() {
- return MY92XX_COMMAND;
- }
-
- constexpr unsigned char my92xxChannels() {
- return MY92XX_CHANNELS;
- }
-
- constexpr my92xx_model_t my92xxModel() {
- return MY92XX_MODEL;
- }
-
- constexpr int my92xxChips() {
- return MY92XX_CHIPS;
- }
-
- constexpr int my92xxDiPin() {
- return MY92XX_DI_PIN;
- }
-
- constexpr int my92xxDckiPin() {
- return MY92XX_DCKI_PIN;
- }
-
- #ifdef MY92XX_MAPPING
-
- constexpr unsigned char _my92xx_mapping[MY92XX_CHANNELS] {
- MY92XX_MAPPING
- };
-
- constexpr unsigned char my92xxChannel(unsigned char)
- __attribute__((deprecated("MY92XX_CH# flags should be used instead of MY92XX_MAPPING")));
- constexpr unsigned char my92xxChannel(unsigned char channel) {
- return _my92xx_mapping[channel];
- }
-
- #else
-
- constexpr unsigned char my92xxChannel(unsigned char channel) {
- return (channel == 0) ? MY92XX_CH1 :
- (channel == 1) ? MY92XX_CH2 :
- (channel == 2) ? MY92XX_CH3 :
- (channel == 3) ? MY92XX_CH4 :
- (channel == 4) ? MY92XX_CH5 : Light::ChannelsMax;
- }
-
- #endif
-
- #endif
-
- } // namespace build
- } // namespace Light
|