~toykeeper/flashlight-firmware/fsm

« back to all changes in this revision

Viewing changes to ToyKeeper/spaghetti-monster/chan-rgbaux.h

  • Committer: Selene ToyKeeper
  • Date: 2023-11-04 15:09:10 UTC
  • mfrom: (483.1.175 anduril2)
  • Revision ID: bzr@toykeeper.net-20231104150910-ddd3afw4nhfvof2l
merged anduril2 branch -> fsm, with *years* of changes
(this also means this code is now Anduril 2 instead of Anduril 1)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// channel modes for RGB aux LEDs
 
2
// Copyright (C) 2023 Selene ToyKeeper
 
3
// SPDX-License-Identifier: GPL-3.0-or-later
 
4
#pragma once
 
5
 
 
6
#define RGB_AUX_ENUMS  \
 
7
    CM_AUXRED, \
 
8
    CM_AUXYEL, \
 
9
    CM_AUXGRN, \
 
10
    CM_AUXCYN, \
 
11
    CM_AUXBLU, \
 
12
    CM_AUXPRP, \
 
13
    CM_AUXWHT
 
14
 
 
15
#define RGB_AUX_CM_ARGS  0,0,0,0,0,0,0
 
16
 
 
17
#define NUM_RGB_AUX_CHANNEL_MODES  7
 
18
 
 
19
// include / exclude field based on compile options
 
20
#ifdef USE_CHANNEL_MODE_ARGS
 
21
    #define AUX_RGB_HAS_ARGS , .has_args = 0
 
22
#else
 
23
    #define AUX_RGB_HAS_ARGS
 
24
#endif
 
25
 
 
26
#define RGB_AUX_CHANNELS \
 
27
    { \
 
28
        .set_level    = set_level_auxred, \
 
29
        .gradual_tick = gradual_tick_null \
 
30
        AUX_RGB_HAS_ARGS \
 
31
    }, \
 
32
    { \
 
33
        .set_level    = set_level_auxyel, \
 
34
        .gradual_tick = gradual_tick_null \
 
35
        AUX_RGB_HAS_ARGS \
 
36
    }, \
 
37
    { \
 
38
        .set_level    = set_level_auxgrn, \
 
39
        .gradual_tick = gradual_tick_null \
 
40
        AUX_RGB_HAS_ARGS \
 
41
    }, \
 
42
    { \
 
43
        .set_level    = set_level_auxcyn, \
 
44
        .gradual_tick = gradual_tick_null \
 
45
        AUX_RGB_HAS_ARGS \
 
46
    }, \
 
47
    { \
 
48
        .set_level    = set_level_auxblu, \
 
49
        .gradual_tick = gradual_tick_null \
 
50
        AUX_RGB_HAS_ARGS \
 
51
    }, \
 
52
    { \
 
53
        .set_level    = set_level_auxprp, \
 
54
        .gradual_tick = gradual_tick_null \
 
55
        AUX_RGB_HAS_ARGS \
 
56
    }, \
 
57
    { \
 
58
        .set_level    = set_level_auxwht, \
 
59
        .gradual_tick = gradual_tick_null \
 
60
        AUX_RGB_HAS_ARGS \
 
61
    }
 
62
 
 
63
void set_level_auxred(uint8_t level);
 
64
void set_level_auxyel(uint8_t level);
 
65
void set_level_auxgrn(uint8_t level);
 
66
void set_level_auxcyn(uint8_t level);
 
67
void set_level_auxblu(uint8_t level);
 
68
void set_level_auxprp(uint8_t level);
 
69
void set_level_auxwht(uint8_t level);
 
70
 
 
71
bool gradual_tick_null(uint8_t gt);
 
72