mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-06-27 01:36:59 -04:00
58 lines
1.1 KiB
C++
58 lines
1.1 KiB
C++
// 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 <array>
|
|
#include <cstring>
|
|
#include <module-bluetooth/lib/btstack/src/bluetooth.h>
|
|
#include <string>
|
|
#include <utility>
|
|
|
|
struct Device
|
|
{
|
|
public:
|
|
explicit Device(std::string name = "") : name(std::move(name))
|
|
{}
|
|
virtual ~Device() = default;
|
|
std::string name;
|
|
};
|
|
|
|
enum DEVICE_STATE
|
|
{
|
|
REMOTE_NAME_REQUEST,
|
|
REMOTE_NAME_INQUIRED,
|
|
REMOTE_NAME_FETCHED
|
|
};
|
|
|
|
struct Devicei : public Device
|
|
{
|
|
public:
|
|
bd_addr_t address;
|
|
uint8_t pageScanRepetitionMode;
|
|
uint16_t clockOffset;
|
|
DEVICE_STATE state;
|
|
|
|
Devicei(std::string name = "") : Device(std::move(name))
|
|
{}
|
|
~Devicei() override = default;
|
|
void setAddress(bd_addr_t *addr)
|
|
{
|
|
memcpy(&address, addr, sizeof address);
|
|
}
|
|
};
|
|
|
|
struct DeviceMetadata_t
|
|
{
|
|
unsigned int sampleRate;
|
|
unsigned short channels;
|
|
unsigned int samplesPerFrame;
|
|
};
|
|
|
|
constexpr unsigned int DATA_BUFFER_SIZE = 256 * 2;
|
|
|
|
struct AudioData_t
|
|
{
|
|
std::array<int16_t, DATA_BUFFER_SIZE> data;
|
|
uint16_t bytesSent;
|
|
};
|