ajust code style

This commit is contained in:
Terrence
2025-01-23 21:51:59 +08:00
parent e1ff22e4d6
commit ea605a8e44
5 changed files with 40 additions and 45 deletions

View File

@@ -11,7 +11,7 @@ static const char TAG[] = "Tcircles3AudioCodec";
Tcircles3AudioCodec::Tcircles3AudioCodec(int input_sample_rate, int output_sample_rate,
gpio_num_t mic_bclk, gpio_num_t mic_ws, gpio_num_t mic_data,
gpio_num_t spkr_bclk, gpio_num_t spkr_lrclk, gpio_num_t spkr_data,
bool input_reference){
bool input_reference) {
duplex_ = true; // 是否双工
input_reference_ = input_reference; // 是否使用参考输入,实现回声消除
input_channels_ = input_reference_ ? 2 : 1; // 输入通道数
@@ -34,7 +34,7 @@ Tcircles3AudioCodec::Tcircles3AudioCodec(int input_sample_rate, int output_sampl
ESP_LOGI(TAG, "Tcircles3AudioCodec initialized");
}
Tcircles3AudioCodec::~Tcircles3AudioCodec(){
Tcircles3AudioCodec::~Tcircles3AudioCodec() {
audio_codec_delete_codec_if(in_codec_if_);
audio_codec_delete_ctrl_if(in_ctrl_if_);
audio_codec_delete_codec_if(out_codec_if_);
@@ -44,7 +44,7 @@ Tcircles3AudioCodec::~Tcircles3AudioCodec(){
}
void Tcircles3AudioCodec::CreateVoiceHardware(gpio_num_t mic_bclk, gpio_num_t mic_ws, gpio_num_t mic_data,
gpio_num_t spkr_bclk, gpio_num_t spkr_lrclk, gpio_num_t spkr_data){
gpio_num_t spkr_bclk, gpio_num_t spkr_lrclk, gpio_num_t spkr_data) {
i2s_chan_config_t mic_chan_config = I2S_CHANNEL_DEFAULT_CONFIG(I2S_NUM_0, I2S_ROLE_MASTER);
mic_chan_config.auto_clear = true; // Auto clear the legacy data in the DMA buffer
@@ -54,7 +54,7 @@ void Tcircles3AudioCodec::CreateVoiceHardware(gpio_num_t mic_bclk, gpio_num_t mi
ESP_ERROR_CHECK(i2s_new_channel(&mic_chan_config, NULL, &rx_handle_));
ESP_ERROR_CHECK(i2s_new_channel(&spkr_chan_config, &tx_handle_, NULL));
i2s_std_config_t mic_config ={
i2s_std_config_t mic_config = {
.clk_cfg = I2S_STD_CLK_DEFAULT_CONFIG(static_cast<uint32_t>(input_sample_rate_)),
.slot_cfg = I2S_STD_PHILIPS_SLOT_DEFAULT_CONFIG(I2S_DATA_BIT_WIDTH_16BIT, I2S_SLOT_MODE_STEREO),
.gpio_cfg ={
@@ -63,7 +63,7 @@ void Tcircles3AudioCodec::CreateVoiceHardware(gpio_num_t mic_bclk, gpio_num_t mi
.ws = mic_ws,
.dout = I2S_GPIO_UNUSED,
.din = mic_data,
.invert_flags ={
.invert_flags = {
.mclk_inv = false,
.bclk_inv = false,
.ws_inv = false,
@@ -71,7 +71,7 @@ void Tcircles3AudioCodec::CreateVoiceHardware(gpio_num_t mic_bclk, gpio_num_t mi
}
};
i2s_std_config_t spkr_config ={
i2s_std_config_t spkr_config = {
.clk_cfg = I2S_STD_CLK_DEFAULT_CONFIG(static_cast<uint32_t>(11025)),
.slot_cfg = I2S_STD_PHILIPS_SLOT_DEFAULT_CONFIG(I2S_DATA_BIT_WIDTH_16BIT, I2S_SLOT_MODE_STEREO),
.gpio_cfg ={
@@ -80,7 +80,7 @@ void Tcircles3AudioCodec::CreateVoiceHardware(gpio_num_t mic_bclk, gpio_num_t mi
.ws = spkr_lrclk,
.dout = spkr_data,
.din = I2S_GPIO_UNUSED,
.invert_flags ={
.invert_flags = {
.mclk_inv = false,
.bclk_inv = false,
.ws_inv = false
@@ -93,19 +93,16 @@ void Tcircles3AudioCodec::CreateVoiceHardware(gpio_num_t mic_bclk, gpio_num_t mi
ESP_LOGI(TAG, "Voice hardware created");
}
void Tcircles3AudioCodec::SetOutputVolume(int volume){
void Tcircles3AudioCodec::SetOutputVolume(int volume) {
volume_ = volume;
AudioCodec::SetOutputVolume(volume);
}
void Tcircles3AudioCodec::EnableInput(bool enable){
if (enable){
}else{
}
void Tcircles3AudioCodec::EnableInput(bool enable) {
AudioCodec::EnableInput(enable);
}
void Tcircles3AudioCodec::EnableOutput(bool enable){
void Tcircles3AudioCodec::EnableOutput(bool enable) {
if (enable){
gpio_set_level(GPIO_NUM_45, 1);
}else{

View File

@@ -6,8 +6,7 @@
#include <esp_codec_dev.h>
#include <esp_codec_dev_defaults.h>
class Tcircles3AudioCodec : public AudioCodec
{
class Tcircles3AudioCodec : public AudioCodec {
private:
const audio_codec_data_if_t *data_if_ = nullptr;
const audio_codec_ctrl_if_t *out_ctrl_if_ = nullptr;

View File

@@ -6,7 +6,6 @@ static const char* TAG = "Button";
Button::Button(gpio_num_t gpio_num, bool active_high) : gpio_num_(gpio_num) {
if (gpio_num == GPIO_NUM_NC) {
button_handle_ = NULL;
return;
}
button_config_t button_config = {

View File

@@ -17,7 +17,7 @@ public:
void OnDoubleClick(std::function<void()> callback);
private:
gpio_num_t gpio_num_;
button_handle_t button_handle_;
button_handle_t button_handle_ = nullptr;
std::function<void()> on_press_down_;

View File

@@ -16,32 +16,32 @@
#define TAG "LilygoTCircleS3Board"
class Cst816x : public I2cDevice{
class Cst816x : public I2cDevice {
public:
struct TouchPoint_t{
struct TouchPoint_t {
int num = 0;
int x = -1;
int y = -1;
};
Cst816x(i2c_master_bus_handle_t i2c_bus, uint8_t addr) : I2cDevice(i2c_bus, addr){
Cst816x(i2c_master_bus_handle_t i2c_bus, uint8_t addr) : I2cDevice(i2c_bus, addr) {
uint8_t chip_id = ReadReg(0xA7);
ESP_LOGI(TAG, "Get chip ID: 0x%02X", chip_id);
read_buffer_ = new uint8_t[6];
}
~Cst816x(){
~Cst816x() {
delete[] read_buffer_;
}
void UpdateTouchPoint(){
void UpdateTouchPoint() {
ReadRegs(0x02, read_buffer_, 6);
tp_.num = read_buffer_[0] & 0x0F;
tp_.x = ((read_buffer_[1] & 0x0F) << 8) | read_buffer_[2];
tp_.y = ((read_buffer_[3] & 0x0F) << 8) | read_buffer_[4];
}
const TouchPoint_t &GetTouchPoint(){
const TouchPoint_t &GetTouchPoint() {
return tp_;
}
@@ -50,7 +50,7 @@ private:
TouchPoint_t tp_;
};
class LilygoTCircleS3Board : public WifiBoard{
class LilygoTCircleS3Board : public WifiBoard {
private:
i2c_master_bus_handle_t i2c_bus_;
Cst816x *cst816d_;
@@ -74,20 +74,20 @@ private:
ESP_ERROR_CHECK(i2c_new_master_bus(&i2c_bus_config, &i2c_bus_));
}
void I2cDetect(){
void I2cDetect() {
uint8_t address;
printf(" 0 1 2 3 4 5 6 7 8 9 a b c d e f\r\n");
for (int i = 0; i < 128; i += 16){
for (int i = 0; i < 128; i += 16) {
printf("%02x: ", i);
for (int j = 0; j < 16; j++){
for (int j = 0; j < 16; j++) {
fflush(stdout);
address = i + j;
esp_err_t ret = i2c_master_probe(i2c_bus_, address, pdMS_TO_TICKS(200));
if (ret == ESP_OK){
if (ret == ESP_OK) {
printf("%02x ", address);
}else if (ret == ESP_ERR_TIMEOUT){
} else if (ret == ESP_ERR_TIMEOUT) {
printf("UU ");
}else{
} else {
printf("-- ");
}
}
@@ -95,22 +95,22 @@ private:
}
}
static void touchpad_daemon(void *param){
static void touchpad_daemon(void *param) {
vTaskDelay(pdMS_TO_TICKS(2000));
auto &board = (LilygoTCircleS3Board&)Board::GetInstance();
auto touchpad = board.GetTouchpad();
bool was_touched = false;
while (1){
while (1) {
touchpad->UpdateTouchPoint();
if (touchpad->GetTouchPoint().num > 0){
// On press
if (!was_touched){
if (!was_touched) {
was_touched = true;
Application::GetInstance().ToggleChatState();
}
}
// On release
else if (was_touched){
else if (was_touched) {
was_touched = false;
}
vTaskDelay(pdMS_TO_TICKS(50));
@@ -118,13 +118,13 @@ private:
vTaskDelete(NULL);
}
void InitCst816d(){
void InitCst816d() {
ESP_LOGI(TAG, "Init CST816x");
cst816d_ = new Cst816x(i2c_bus_, 0x15);
xTaskCreate(touchpad_daemon, "tp", 2048, NULL, 5, NULL);
}
void InitSpi(){
void InitSpi() {
spi_bus_config_t buscfg = {};
buscfg.mosi_io_num = DISPLAY_MOSI;
buscfg.miso_io_num = GPIO_NUM_NC;
@@ -135,7 +135,7 @@ private:
ESP_ERROR_CHECK(spi_bus_initialize(SPI3_HOST, &buscfg, SPI_DMA_CH_AUTO));
}
void InitGc9d01nDisplay(){
void InitGc9d01nDisplay() {
ESP_LOGI(TAG, "Init GC9D01N");
esp_lcd_panel_io_handle_t panel_io = nullptr;
@@ -183,24 +183,24 @@ private:
gpio_set_level(DISPLAY_BL, 0);
}
void InitializeButtons(){
boot_button_.OnClick([this]()
{
void InitializeButtons() {
boot_button_.OnClick([this]() {
auto& app = Application::GetInstance();
if (app.GetDeviceState() == kDeviceStateStarting && !WifiStation::GetInstance().IsConnected()) {
ResetWifiConfiguration();
}
app.ToggleChatState(); });
app.ToggleChatState();
});
}
// 物联网初始化,添加对 AI 可见设备
void InitializeIot(){
void InitializeIot() {
auto &thing_manager = iot::ThingManager::GetInstance();
thing_manager.AddThing(iot::CreateThing("Speaker"));
}
public:
LilygoTCircleS3Board() : boot_button_(BOOT_BUTTON_GPIO){
LilygoTCircleS3Board() : boot_button_(BOOT_BUTTON_GPIO) {
InitI2c();
InitCst816d();
I2cDetect();
@@ -210,7 +210,7 @@ public:
InitializeIot();
}
virtual AudioCodec *GetAudioCodec() override{
virtual AudioCodec *GetAudioCodec() override {
static Tcircles3AudioCodec *audio_codec = nullptr;
if (audio_codec == nullptr){
audio_codec = new Tcircles3AudioCodec(AUDIO_INPUT_SAMPLE_RATE, AUDIO_OUTPUT_SAMPLE_RATE,
@@ -225,7 +225,7 @@ public:
return display_;
}
Cst816x *GetTouchpad(){
Cst816x *GetTouchpad() {
return cst816d_;
}
};