~aleteoryx/muditaos

ref: d4d0e7ec3487e64649f764c2bbcf5c25cf3c204d muditaos/module-bsp/bsp/torch/torch.hpp -rw-r--r-- 698 bytes
d4d0e7ec — Tomasz Rybarski [BH-1222] Alarm Bottom Message Translations 4 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
#pragma once

#include <stdint.h>

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

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

namespace bsp::torch
{
    enum class State
    {
        on,
        off,
    };

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

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

    bool isPresent(void);

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