~aleteoryx/muditaos

ref: 22819c5f6749fcce7d0df95bc63172a13a0e8f61 muditaos/module-bsp/bsp/headset/headset.hpp -rw-r--r-- 1.2 KiB
22819c5f — Mateusz Piesta [BH-1558] Temperature layouts conf 3 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
// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

#pragma once

#include "FreeRTOS.h"
#include "queue.h"
#include "headset_key_codes.hpp"

namespace bsp {
 namespace headset {

    /**
     * @brief This method is responsible for initializing the headset controller.
     * @param qHandle key code
     */
    int32_t Init(xQueueHandle qHandle);

    /**
     * @brief This method is responsible for reading state of headset and its keys.
     * @param headsetState headset event (1 - connected, 0 - removed)
     * @param microphoneState headset event (1 - present, 0 - absent)
     * @param keyEvent key event (1 - pressed, 0 - released)
     * @param keyCode key code
     * @note Method returns `HeadsetState::Changed` if state of headset changed (connected -> removed)
     */
    HeadsetState headset_get_data(bool &headsetState, bool &microphoneState, uint8_t &keyEvent, uint8_t &keyCode);

    bool IsInserted();

    /**
     * @brief This method is responsible for deinitializing the headset controller.
     * @param qHandle key code
     */
    int32_t Deinit();

    BaseType_t headset_IRQHandler();
 }
}