~aleteoryx/muditaos

ref: a60e27fa4bf7cd10d5a36e4ba6afd1d722ab76de muditaos/module-bsp/bsp/torch/torch.hpp -rw-r--r-- 924 bytes
a60e27fa — Mateusz Grzegorzek [EGD-4593] Dump logs to file on timeout 5 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#pragma once

#include <stdint.h>

extern "C"
{
#include "FreeRTOS.h"
#include "task.h"
#include "queue.h"
}

#include "bsp/common.hpp"
#include <utility>

namespace bsp
{
    namespace torch
    {
        enum class Action
        {
            getState,
            setState,
            toggle,
        };

        enum class State
        {
            on,
            off,
        };

        enum ColourTemperature // Kelvin
        {
            no_change = 0,
            warmest = 1800,
            coldest = 6500,
        };

        int32_t init(xQueueHandle qHandle);
        void deinit();

        bool isPresent(void);

        bool turn(State state, ColourTemperature = no_change);
        std::pair<bool, State> getState();
        ColourTemperature getColorTemp(); // rather only for cert
        bool toggle();
        bool setCurrent(const unsigned short mA);
    } // namespace torch
} // namespace bsp