diff --git a/Arduino_ESP32_oscilloscope/Arduino_ESP32_oscilloscope.ino b/Arduino_ESP32_oscilloscope/Arduino_ESP32_oscilloscope.ino new file mode 100644 index 0000000000000000000000000000000000000000..34a393db8fc55893e10a269f763da2f96829fe3b --- /dev/null +++ b/Arduino_ESP32_oscilloscope/Arduino_ESP32_oscilloscope.ino @@ -0,0 +1,30 @@ +/* +select engineering environment: ESP32_WROVER_Kit(all_versions) +想使用“学会助手”功能,查看 myBlueTooth.h 头文件里面有相关说明 +学会助手的串口和示波器功能,可以使用了 ^_^ +*/ + +// #include +#include "myBlueTooth.h" + +BluetoothSerial SerialBlueTooth; + +void setup() +{ + Serial.begin(115200); // 开启串口通信,频率为:115200 + + initializeBluetooth(); // 默认蓝牙名称:mini_bot + + // XHZS_SerialPortFunctionEnabled(true); // 开启串口功能 +} + +void loop() +{ + // test_serial_port_sending_and_receiving(); // 串口发送和接收案例 + + test_type_of_output(); // 输出指定的数据类型案例 + + // test_oscilloscope_input_and_output();// 示波器输入和输出案例 + + // SerialBlueTooth.printf("hello world!\r\n"); +} diff --git a/Arduino_ESP32_oscilloscope/myBlueTooth.cpp b/Arduino_ESP32_oscilloscope/myBlueTooth.cpp new file mode 100644 index 0000000000000000000000000000000000000000..3bc4bff315f650c769f0182804e994310464c303 --- /dev/null +++ b/Arduino_ESP32_oscilloscope/myBlueTooth.cpp @@ -0,0 +1,442 @@ +#include "myBlueTooth.h" + +BluetoothSerial SerialBT; // 蓝牙类实例化 + +static char receivedBuffer[120]; // 接收缓冲区 + +bool SERIAL_PORT_FUNCTION_ENABLE = false; // 串口功能开关 + +String BlueToothName; + +void BTConfirmRequestCallback(uint32_t numVal); // 认证请求回调 +void BTAuthCompleteCallback(boolean success); // 认证结果回调函数 +void Bluetooth_Event(esp_spp_cb_event_t event, esp_spp_cb_param_t *param); // 蓝牙事件回调函数 + +/* 初始化蓝牙配置 */ +void initializeBluetooth(const String &deviceName) +{ + SerialBT.enableSSP(); // 在begin之前调用 + SerialBT.onConfirmRequest(BTConfirmRequestCallback); + SerialBT.onAuthComplete(BTAuthCompleteCallback); + + SerialBT.register_callback(Bluetooth_Event); // 设置事件回调函数 连接 断开 发送 接收 + + if (SERIAL_PORT_FUNCTION_ENABLE == true) + { + SerialBT.onData(XHZS_SeriaPortReceivingData); // 串口数据接收回调函数 + // SerialBT.onData(test_remote_control); // 测试手柄功能未完成_2024-07-27 + } + SerialBT.begin(deviceName); // Bluetooth device name + BlueToothName = deviceName; +} + +/*蓝牙发送浮点数据,转为字符串发送*/ +void sendFloatViaBluetooth(const float data) +{ + char dstr[20]; + sprintf(dstr, "%.2f", data); // 浮点数转字符串 + SerialBT.write((uint8_t *)dstr, strlen(dstr)); // 直接发送整个字符串 +} + +/*蓝牙发送字符串*/ +void sendStringViaBluetooth(const char *stringData) +{ + if (stringData != NULL) + { + SerialBT.write((uint8_t *)stringData, strlen(stringData)); + } +} + +/*获取蓝牙发送内容*/ +char *getReceivedBluetoothData() +{ + return receivedBuffer; +} + +/* 蓝牙事件回调函数 */ +void Bluetooth_Event(esp_spp_cb_event_t event, esp_spp_cb_param_t *param) // 蓝牙事件回调函数 +{ + uint16_t index = 0; + + switch (event) + { + // 蓝牙连接成功标志 + case ESP_SPP_SRV_OPEN_EVT: + case ESP_SPP_OPEN_EVT: + { + char connection[] = "connection successful!\r\n"; + sendStringViaBluetooth(connection); + break; + } + // 蓝牙断开连接标志 + case ESP_SPP_CLOSE_EVT: + { + char disconnect[] = "disconnect successful!\r\n"; + sendStringViaBluetooth(disconnect); + break; + } + // 数据接收标志 + case ESP_SPP_DATA_IND_EVT: + { + memset(receivedBuffer, 0, sizeof(receivedBuffer)); + while (SerialBT.available()) // 等待接收完成 + { + receivedBuffer[index++] = SerialBT.read(); // 按字节存储 + } + break; + } + // 数据发送标志 + case ESP_SPP_WRITE_EVT: + { + // Serial.write("send complete!\r\n"); + break; + } + } +} + +// 认证请求回调 +void BTConfirmRequestCallback(uint32_t numVal) +{ + // numVal是主机发来的识别码 + Serial.printf("recv pin: %d \r\n", numVal); + + // 这里要对这个识别码进行判断,是否和主机一样或是是否是我们从机内置的密码 + // 然后再判断是否确定连接,我们这里直接确认了 + + SerialBT.confirmReply(true); + // SerialBT.confirmReply(false); // 如果要拒绝就用这句 +} + +// 认证结果回调函数 +void BTAuthCompleteCallback(boolean success) +{ + if (success) + Serial.println("Pairing success!!"); + else + Serial.println("Pairing failed, rejected by user!!"); +} + +/********************************************************************************************************************** + *@brief 学会助手安卓版本APP虚拟示波器下位机测试程序 + *@by 一品芝麻糕 + *@notice 与学会助手APP虚拟示波器配合使用 + * 硬件:STM32F103C8T6,通信模块:蓝牙模块(建议经典蓝牙) + * 接线: + * A9 ----- RX + * A10----- TX + * 5V ----- 5V + * GND----- GND + *@version 1.4.0 + * 2024-04-24 + * 西电 嵌牛实验室 + *********************************************************************************************************************/ + +// 串口数据接收回调函数 +void XHZS_SeriaPortReceivingData(const uint8_t *buffer, size_t size) +{ + if (size > 0) + { + SerialBT.write(buffer, size); // 将数据转发至蓝牙串口,手机端 + Serial.write(buffer, size); // 将数据转发至标准串口,串口监视器 + } +} + +/************************************************************** + *函数名称:XHZS_ReceiveData + *简 介:读取接收到的蓝牙数据 + *输 入:无 + *输 出:uint8_t + *注意事项:接收数据的缓冲区大小为120字节 + **************************************************************/ +char *XHZS_ReceiveData() +{ + return receivedBuffer; +} + +/* +是否开启串口功能,默认关闭串口功能 +连接的手机端发送数据后,蓝牙端ESP32接收的数据后,触发回调函数 XHZS_SeriaPortReceivingData() +发送一次,触发一次,想修改逻辑需要在回调函数中修改,连续触发不建议使用 +*/ +void XHZS_SerialPortFunctionEnabled(bool Serial_port_status) +{ + SERIAL_PORT_FUNCTION_ENABLE = Serial_port_status; + initializeBluetooth(BlueToothName); +} + +// 发送一个字节 +void XHZS_SendByte(const uint8_t *byte) +{ + SerialBT.write(*byte); +} + +// 发送数组 +void XHZS_SendArray(const uint8_t *array, size_t arraySize) +{ + + if (array == nullptr || arraySize == 0) + { + return; + } + else + { + SerialBT.write(array, arraySize); // 数组发生是个耗时操作,建议DMA优化 + } +} + +/************************************************************** + *函数名称:XHZS_SendWave + *简 介:学会助手APP虚拟示波器下位机程序(兼容山外) + *输 入:wareaddr:数据数组起始地址 waresize:数组大小 + *输 出:无 + *注意事项:void *waveaddr 为数组类型,char and string 类型无效 + *注意事项:示波器支持 uin16_t,建立一个 uint16_t fun[4] 数组, + 元素是通道数量 + **************************************************************/ +void XHZS_SendWave(const void *waveAddr, uint16_t waveSize) +{ + // 参数检查 + if (waveAddr == nullptr || waveSize == 0) + { + return; + } + uint8_t cmd_head[2] = {0x03, 0xFC}; // 帧头 + uint8_t cmd_tail[2] = {0xFC, 0x03}; // 帧尾 + + XHZS_SendArray(cmd_head, sizeof(cmd_head)); // 发送帧头 + XHZS_SendArray((uint8_t *)waveAddr, waveSize); // 发送数据 + XHZS_SendArray(cmd_tail, sizeof(cmd_tail)); // 发送帧尾 +} + +/************************************************************** + *函数名称:OscGetFloat + *简 介:将字符转为浮点数 + *输 入:p:字符串;value:用于获取输出值 + *输 出:(==0)转成功;(!=0)转失败 + *注意事项:虚拟示波器调参用,以','为数据分隔符 + **************************************************************/ +char XHZS_OscGetFloat(const char *p, float *value) +{ + // c11:11.04,c12:109,c13:434,c14:32, + int i; + int negative_flag = 1; + int float_flag = 0; + float tmp_value = 0; + for (i = 0; i < 16; i++) + { + if (*p == ',') // 检测到分隔符,返回值 + { + tmp_value *= negative_flag; + *value = tmp_value; + return 0; + } + else if (*p == '-') // 检测到负号 + { + negative_flag = -1; + } + else if (*p == '.') // 检测到小数点 + { + float_flag = -1; + } + else if (*p >= '0' && *p <= '9') + { + if (float_flag == 0) + { + tmp_value = tmp_value * 10 + (*p - 0x30); + } + else + { + tmp_value += (*p - 0x30) * pow(10, float_flag); + float_flag--; + } + } + else + { + return 1; + } + p++; + } + return 2; +} + +/************************************************************** + *函数名称:OscGetValue + *简 介:从字符串中获取指定参数数值 + *输 入:p:字符串,以'\0'结尾,否则将出错 + * name:指定参数名称,如"c12"获取第1组第2个参数; + * value:用于获取输出值; + *输 出:(==0)转成功;(!=0)转失败 + *注意事项:虚拟示波器调参用,字符串中以'\0'为结束符 + **************************************************************/ +char XHZS_OscGetValue(const char *p, const char *name, float *value) +{ + // c11:114,c12:109,c13:434,c14:32, + float tmp_value; + int feedback; + p = strstr(p, name); + if (p == NULL) + { + return 1; + } + p += 4; + feedback = XHZS_OscGetFloat(p, &tmp_value); + if (feedback == 0) + { + *value = tmp_value; + return 0; + } + return 2; +} + +// /************************************************************** +// *函数名称:SendWave +// *简 介:发送数据到学会助手APP虚拟示波器 +// *输 入:无 +// *输 出:无 +// *注意事项:将要发送的数据赋值给Wave数组即可,通道依次对应 +// **************************************************************/ +void SendWave() +{ + // // 输出平行线测试 start ----------------------- + // int32_t line[4] = {0}; // 注意数据类型;数组大小即为通道数量,最多四条通道 + // for (size_t i = 0; i < 500; i += 0.1) + // { + // line[0] = (line[0] > 10 ? -10 : (line[0] += 1)); + // line[1] = 10.0; + // line[2] = 5.0; + // line[3] = 0.0; + + // XHZS_SendWave(line, sizeof(line)); + // vTaskDelay(50 / portTICK_PERIOD_MS); // 延时 100ms + // } + // // 输出平行线测试 end ----------------------- + + // 正弦波测试 start ----------------------- + float Wave[4] = {0}; // 注意数据类型;数组大小即为通道数量,最多四条通道 + + for (float i = 0; i < 500; i += 0.1) + { + Wave[0] = sin(i); + Wave[1] = cos(i); + Wave[2] = -sin(i); + Wave[3] = -cos(i); + XHZS_SendWave(Wave, sizeof(Wave)); + + vTaskDelay(50 / portTICK_PERIOD_MS); + } + // 正弦波测试 end ----------------------- +} + +// 串口输入和输出案例 +void test_serial_port_sending_and_receiving() +{ + vTaskDelay(300 / portTICK_PERIOD_MS); // 延时函数100ms,相当于 delay(100); 效果一样, 相当于刷新 + // 假设手机端的学会助手串口发送:hello + char *receiveData = XHZS_ReceiveData(); // 获取蓝牙发送过来的数据 + + // Case one start + XHZS_SendByte((uint8_t *)receiveData); // 发送单个字节:h + XHZS_SendArray((uint8_t *)receiveData, strlen(receiveData)); // 发送整个字符串:hello + // Case one end + + // case two start + // Serial.printf("Computer:%s\r\n", receiveData); // 输出到串口监视器: hello + // SerialBT.printf("mobile phone:%s\r\n", receiveData); // 输出的连接端:hello + // case two end +} +// 输出指定的数据类型案例 +void test_type_of_output() +{ + SendWave(); +} + +// 示波器输入和输出案例 +void test_oscilloscope_input_and_output() +{ + float floatValue1, floatValue2, floatValue3, floatValue4; // 准备数据类型 + char *charData = getReceivedBluetoothData(); // 获取蓝牙接收的数据 + + // 将字符串中的字段的数值提取出来 + // c11:14.12,c12:22,c13:33,c14: 55.66, + // c13字段,数值为33 + XHZS_OscGetValue(charData, "c11", &floatValue1); + XHZS_OscGetValue(charData, "c12", &floatValue2); + XHZS_OscGetValue(charData, "c13", &floatValue3); + XHZS_OscGetValue(charData, "c14", &floatValue4); + + SerialBT.printf("w:%0.2f,%0.2f,%0.2f,%0.2f\r\n", floatValue1, floatValue2, floatValue3, floatValue4); + vTaskDelay(50 / portTICK_PERIOD_MS); // 延时函数100ms,相当于 delay(100); 效果一样, 相当于刷新 +} + +static uint8_t joysticks_X, joysticks_Y; +static uint8_t x, y; +uint8_t cmd, data; +// 遥控器 16 24 36 44 +void test_remote_control(const uint8_t *buffer, size_t size) +{ + // uint8_t copyBuffer[size]; + + // memcpy(copyBuffer, buffer, size); + // Serial.printf("%X\n", buffer); + // Serial.print(*buffer); + + cmd = *buffer & 0xF0; + data = *buffer & 0x0F; + + // if(cmd == LEFT_BUTTON_B) + // { + // SerialBT.printf("%X-%X\r\n", cmd, data); + // } + // if (cmd == 0x10) + // { + // joysticks_X = data; + // // SerialBT.printf("%X-%X\r\n", cmd, data); + // } + // else if (cmd == 0x20) + // { + // x = joysticks_X * 16 + data; + // SerialBT.printf("x: %d\r\n", x); + // } + // Serial.print(XHZS_ReceiveData()); + + // else if (cmd == 0x30) + // { + // joysticks_Y = data; + // } + // else if (cmd == 0x40) + // { + // y = joysticks_Y * 16 + data; + // } + // SerialBT.printf("x: %d\n y: %d\r\n", x, y); + + switch (cmd) + { + case LEFT_BUTTON_A: + SerialBT.printf("%X-%X\r\n", cmd, data); + break; + + case LEFT_BUTTON_B: + SerialBT.printf("%X-%X\r\n", cmd, data); + break; + + case 0x30: + joysticks_Y = data * 16; + // SerialBT.printf("x: %d\n y: %d\r\n", x, y); + // break; + + case 0x40: + y = joysticks_Y + data; + SerialBT.printf("x: %d\n y: %d\r\n", x, y); + break; + + case 0x10: + joysticks_X = data * 16; + // SerialBT.printf("x: %d\n y: %d\r\n", x, y); + // break; + + case 0x20: + x = joysticks_X + data; + SerialBT.printf("x: %d\n y: %d\r\n", x, y); + break; + } +} diff --git a/Arduino_ESP32_oscilloscope/myBlueTooth.h b/Arduino_ESP32_oscilloscope/myBlueTooth.h new file mode 100644 index 0000000000000000000000000000000000000000..cbd3e1daa7c30b484a97e02cf4dc73473995cb38 --- /dev/null +++ b/Arduino_ESP32_oscilloscope/myBlueTooth.h @@ -0,0 +1,101 @@ +/* + * 文件: myBlueTooth.cpp 和 myBlueTooth.h + * + * 功能概述: 此代码提供了ESP32蓝牙操作的简易封装库,专为从机模式设计。 + * 实现了浮点数、字符串的蓝牙发送功能,并利用中断接收数据。 + */ + +#ifndef MYBLUETOOTH_H_ +#define MYBLUETOOTH_H_ + +#include +#include // 字符串操作库 +#include // ESP32蓝牙库 + +// 遥控器指令 +enum ORDER +{ + BUTTON_RELEASE = 0X00, + BUTTON_PRESS = 0X01, + + LEFT_DIRECTION_UP = 0X10, + LEFT_DIRECTION_DOWN = 0X20, + LEFT_DIRECTION_LEFT = 0X30, + LEFT_DIRECTION_RIGHT = 0X40, + + RIGHT_DIRECTION_UP = 0X50, + RIGHT_DIRECTION_DOWN = 0X60, + RIGHT_DIRECTION_LEFT = 0X70, + RIGHT_DIRECTION_RIGHT = 0X80, + + LEFT_BUTTON_A = 0XA0, + LEFT_BUTTON_B = 0XB0, + RIGHT_BUTTON_C = 0XC0, + RIGHT_BUTTON_D = 0XD0, + + MIDDLE_SWITCH_E = 0XE0, + MIDDLE_SWITCH_F = 0XF0, + + LEFT_JOYSTICKS_X = 0X10, + LEFT_JOYSTICKS_Y = 0X20, + + RIGHT_JOYSTICKS_X = 0X30, + RIGHT_JOYSTICKS_Y = 0X40, +}; + +/************************* 蓝牙功能核心接口 *************************/ + +// 设定蓝牙名称,默认为"mini_bot"。 +void initializeBluetooth(const String &deviceName = "mini_bot"); + +// 将浮点数转换为字符串后通过蓝牙发送。 +void sendFloatViaBluetooth(const float data); + +// 发送字符串到蓝牙连接的设备 +void sendStringViaBluetooth(const char *stringData); + +// 返回一个指针指向接收到的字符串数据。 +char *getReceivedBluetoothData(); + +/************************* 高级数据处理接口 ************************/ + +// 这些接口用于更复杂的蓝牙数据交互场景。 + +// 是否开启串口功能,默认关闭串口功能 +void XHZS_SerialPortFunctionEnabled(bool Serial_port_status = false); + +// 发送单个字节 +void XHZS_SendByte(const uint8_t *byte); + +// 发送数据数组 +void XHZS_SendArray(const uint8_t *array, size_t arraySize); + +// 示例: 向示波器发送波形数据 +void SendWave(); + +// 组合发送数据帧 +void XHZS_SendWave(const void *waveAddr, uint16_t waveSize); + +// 解析字符串中的浮点数 +char XHZS_OscGetFloat(const char *p, float *value); + +// 根据名称从字符串中提取浮点数 +char XHZS_OscGetValue(const char *p, const char *name, float *value); + +// 接收蓝牙数据 +char *XHZS_ReceiveData(); + +// 串口数据接收回调函数 +void XHZS_SeriaPortReceivingData(const uint8_t *buffer, size_t size); + +/************************* 实战示例函数 ************************/ + +// 这些函数展示了如何实际应用上述接口,适合学习和参考。 + +void test_serial_port_sending_and_receiving(); // 学习如何进行基本的串口数据收发 +void test_type_of_output(); // 示例展示发送不同数据类型的使用方法 +void test_oscilloscope_input_and_output(); // 示波器输入和输出案例 + +void test_remote_control(const uint8_t *buffer, size_t size); // 遥控器 + +#endif diff --git a/PlatformIO_ESP32_oscilloscope/.pio/build/esp32dev/idedata.json b/PlatformIO_ESP32_oscilloscope/.pio/build/esp32dev/idedata.json deleted file mode 100644 index 603a8679c67404f84d6148c1df0cba6a207a9c3f..0000000000000000000000000000000000000000 --- a/PlatformIO_ESP32_oscilloscope/.pio/build/esp32dev/idedata.json +++ /dev/null @@ -1 +0,0 @@ -{"build_type": "release", "env_name": "esp32dev", "libsource_dirs": ["E:\\PlatformIO_vscode\\git_updata\\esp32_oscilloscope\\PlatformIO_ESP32_oscilloscope\\lib", "E:\\PlatformIO_vscode\\git_updata\\esp32_oscilloscope\\PlatformIO_ESP32_oscilloscope\\.pio\\libdeps\\esp32dev", "C:\\Users\\Sword\\.platformio\\lib", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries"], "defines": ["PLATFORMIO=60115", "ARDUINO_ESP32_DEV", "HAVE_CONFIG_H", "MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"", "UNITY_INCLUDE_CONFIG_H", "WITH_POSIX", "_GNU_SOURCE", "IDF_VER=\"v4.4.7-dirty\"", "ESP_PLATFORM", "_POSIX_READER_WRITER_LOCKS", "ARDUINO_ARCH_ESP32", "ESP32", "F_CPU=240000000L", "ARDUINO=10812", "ARDUINO_VARIANT=\"esp32\"", "ARDUINO_BOARD=\"Espressif ESP32 Dev Module\"", "ARDUINO_PARTITION_partitions"], "includes": {"build": ["E:\\PlatformIO_vscode\\git_updata\\esp32_oscilloscope\\PlatformIO_ESP32_oscilloscope\\include", "E:\\PlatformIO_vscode\\git_updata\\esp32_oscilloscope\\PlatformIO_ESP32_oscilloscope\\src", "E:\\PlatformIO_vscode\\git_updata\\esp32_oscilloscope\\PlatformIO_ESP32_oscilloscope\\lib\\myBlueTooth", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\BluetoothSerial\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\newlib\\platform_include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\freertos\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\freertos\\include\\esp_additions\\freertos", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\freertos\\port\\xtensa\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\freertos\\include\\esp_additions", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_hw_support\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_hw_support\\include\\soc", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_hw_support\\include\\soc\\esp32", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_hw_support\\port\\esp32", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_hw_support\\port\\esp32\\private_include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\heap\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\log\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\lwip\\include\\apps", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\lwip\\include\\apps\\sntp", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\lwip\\lwip\\src\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\lwip\\port\\esp32\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\lwip\\port\\esp32\\include\\arch", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\soc\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\soc\\esp32", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\soc\\esp32\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\hal\\esp32\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\hal\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\hal\\platform_port\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_rom\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_rom\\include\\esp32", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_rom\\esp32", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_common\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_system\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_system\\port\\soc", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_system\\port\\public_compat", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp32\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\xtensa\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\xtensa\\esp32\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\driver\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\driver\\esp32\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_pm\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_ringbuf\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\efuse\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\efuse\\esp32\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\vfs\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_wifi\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_event\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_netif\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_eth\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\tcpip_adapter\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_phy\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_phy\\esp32\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_ipc\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\app_trace\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_timer\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\mbedtls\\port\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\mbedtls\\mbedtls\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\mbedtls\\esp_crt_bundle\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\app_update\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\spi_flash\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bootloader_support\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\nvs_flash\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\pthread\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_gdbstub\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_gdbstub\\xtensa", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_gdbstub\\esp32", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espcoredump\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espcoredump\\include\\port\\xtensa", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\wpa_supplicant\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\wpa_supplicant\\port\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\wpa_supplicant\\esp_supplicant\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\ieee802154\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\console", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\asio\\asio\\asio\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\asio\\port\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\common\\osi\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\include\\esp32\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\common\\api\\include\\api", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\common\\btc\\profile\\esp\\blufi\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\common\\btc\\profile\\esp\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\host\\bluedroid\\api\\include\\api", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_common\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_common\\tinycrypt\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_core", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_core\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_core\\storage", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\btc\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_models\\common\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_models\\client\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_models\\server\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\api\\core\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\api\\models\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\api", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\cbor\\port\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\unity\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\unity\\unity\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\cmock\\CMock\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\coap\\port\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\coap\\libcoap\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\nghttp\\port\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\nghttp\\nghttp2\\lib\\includes", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp-tls", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp-tls\\esp-tls-crypto", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_adc_cal\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_hid\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\tcp_transport\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_http_client\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_http_server\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_https_ota\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_https_server\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_lcd\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_lcd\\interface", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\protobuf-c\\protobuf-c", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\protocomm\\include\\common", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\protocomm\\include\\security", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\protocomm\\include\\transports", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\mdns\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_local_ctrl\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\sdmmc\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_serial_slave_link\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_websocket_client\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\expat\\expat\\expat\\lib", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\expat\\port\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\wear_levelling\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\fatfs\\diskio", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\fatfs\\vfs", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\fatfs\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\freemodbus\\freemodbus\\common\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\idf_test\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\idf_test\\include\\esp32", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\jsmn\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\json\\cJSON", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\libsodium\\libsodium\\src\\libsodium\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\libsodium\\port_include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\mqtt\\esp-mqtt\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\openssl\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\perfmon\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\spiffs\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\ulp\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\wifi_provisioning\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\rmaker_common\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_diagnostics\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\rtc_store\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_insights\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\json_parser\\upstream\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\json_parser\\upstream", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\json_generator\\upstream", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_schedule\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp_secure_cert_mgr\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_rainmaker\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\gpio_button\\button\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\qrcode\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\ws2812_led", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp_littlefs\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp-dl\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp-dl\\include\\tool", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp-dl\\include\\typedef", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp-dl\\include\\image", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp-dl\\include\\math", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp-dl\\include\\nn", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp-dl\\include\\layer", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp-dl\\include\\detect", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp-dl\\include\\model_zoo", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp32-camera\\driver\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\esp32-camera\\conversions\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\dotprod\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\support\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\support\\mem\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\windows\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\windows\\hann\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\windows\\blackman\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\windows\\blackman_harris\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\windows\\blackman_nuttall\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\windows\\nuttall\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\windows\\flat_top\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\iir\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\fir\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\math\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\math\\add\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\math\\sub\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\math\\mul\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\math\\addc\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\math\\mulc\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\math\\sqrt\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\matrix\\mul\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\matrix\\add\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\matrix\\addc\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\matrix\\mulc\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\matrix\\sub\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\matrix\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\fft\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\dct\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\conv\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\common\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\matrix\\mul\\test\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\kalman\\ekf\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\kalman\\ekf_imu13states\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\include\\fb_gfx\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\dio_qspi\\include", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\cores\\esp32", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\variants\\esp32"], "compatlib": ["E:\\PlatformIO_vscode\\git_updata\\esp32_oscilloscope\\PlatformIO_ESP32_oscilloscope\\lib\\myBlueTooth", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\BluetoothSerial\\src", "E:\\PlatformIO_vscode\\git_updata\\esp32_oscilloscope\\PlatformIO_ESP32_oscilloscope\\lib\\Interrupts_and_timers", "E:\\PlatformIO_vscode\\git_updata\\esp32_oscilloscope\\PlatformIO_ESP32_oscilloscope\\lib\\WS2812B_LED", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\ArduinoOTA\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\AsyncUDP\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\BLE\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\DNSServer\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\EEPROM\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\ESP32\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\ESPmDNS\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\Ethernet\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\FFat\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\FS\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\HTTPClient\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\HTTPUpdate\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\HTTPUpdateServer\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\I2S\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\Insights\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\LittleFS\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\NetBIOS\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\Preferences\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\RainMaker\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\SD\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\SD_MMC\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\SPI\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\SPIFFS\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\SimpleBLE\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\Ticker\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\USB\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\Update\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\WebServer\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\WiFi\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\WiFiClientSecure\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\WiFiProv\\src", "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\libraries\\Wire\\src"], "toolchain": ["C:\\Users\\Sword\\.platformio\\packages\\toolchain-xtensa-esp32\\xtensa-esp32-elf\\include\\c++\\8.4.0", "C:\\Users\\Sword\\.platformio\\packages\\toolchain-xtensa-esp32\\xtensa-esp32-elf\\include\\c++\\8.4.0\\xtensa-esp32-elf", "C:\\Users\\Sword\\.platformio\\packages\\toolchain-xtensa-esp32\\lib\\gcc\\xtensa-esp32-elf\\8.4.0\\include", "C:\\Users\\Sword\\.platformio\\packages\\toolchain-xtensa-esp32\\lib\\gcc\\xtensa-esp32-elf\\8.4.0\\include-fixed", "C:\\Users\\Sword\\.platformio\\packages\\toolchain-xtensa-esp32\\xtensa-esp32-elf\\include"]}, "cc_flags": ["-Wno-frame-address", "-std=gnu99", "-Wno-old-style-declaration", "-Os", "-mlongcalls", "-ffunction-sections", "-fdata-sections", "-Wno-error=unused-function", "-Wno-error=unused-variable", "-Wno-error=deprecated-declarations", "-Wno-unused-parameter", "-Wno-sign-compare", "-ggdb", "-freorder-blocks", "-Wwrite-strings", "-fstack-protector", "-fstrict-volatile-bitfields", "-Wno-error=unused-but-set-variable", "-fno-jump-tables", "-fno-tree-switch-conversion", "-MMD"], "cxx_flags": ["-Wno-frame-address", "-std=gnu++11", "-fexceptions", "-fno-rtti", "-Os", "-mlongcalls", "-ffunction-sections", "-fdata-sections", "-Wno-error=unused-function", "-Wno-error=unused-variable", "-Wno-error=deprecated-declarations", "-Wno-unused-parameter", "-Wno-sign-compare", "-ggdb", "-freorder-blocks", "-Wwrite-strings", "-fstack-protector", "-fstrict-volatile-bitfields", "-Wno-error=unused-but-set-variable", "-fno-jump-tables", "-fno-tree-switch-conversion", "-MMD"], "cc_path": "C:\\Users\\Sword\\.platformio\\packages\\toolchain-xtensa-esp32\\bin\\xtensa-esp32-elf-gcc.exe", "cxx_path": "C:\\Users\\Sword\\.platformio\\packages\\toolchain-xtensa-esp32\\bin\\xtensa-esp32-elf-g++.exe", "gdb_path": "C:\\Users\\Sword\\.platformio\\packages\\toolchain-xtensa-esp32\\bin\\xtensa-esp32-elf-gdb.exe", "prog_path": "E:\\PlatformIO_vscode\\git_updata\\esp32_oscilloscope\\PlatformIO_ESP32_oscilloscope\\.pio\\build\\esp32dev\\firmware.elf", "svd_path": null, "compiler_type": "gcc", "targets": [{"name": "buildfs", "title": "Build Filesystem Image", "description": null, "group": "Platform"}, {"name": "size", "title": "Program Size", "description": "Calculate program size", "group": "Platform"}, {"name": "upload", "title": "Upload", "description": null, "group": "Platform"}, {"name": "uploadfs", "title": "Upload Filesystem Image", "description": null, "group": "Platform"}, {"name": "uploadfsota", "title": "Upload Filesystem Image OTA", "description": null, "group": "Platform"}, {"name": "erase", "title": "Erase Flash", "description": null, "group": "Platform"}], "extra": {"flash_images": [{"offset": "0x1000", "path": "E:\\PlatformIO_vscode\\git_updata\\esp32_oscilloscope\\PlatformIO_ESP32_oscilloscope\\.pio\\build\\esp32dev\\bootloader.bin"}, {"offset": "0x8000", "path": "E:\\PlatformIO_vscode\\git_updata\\esp32_oscilloscope\\PlatformIO_ESP32_oscilloscope\\.pio\\build\\esp32dev\\partitions.bin"}, {"offset": "0xe000", "path": "C:\\Users\\Sword\\.platformio\\packages\\framework-arduinoespressif32\\tools\\partitions\\boot_app0.bin"}], "application_offset": "0x10000"}} \ No newline at end of file diff --git a/PlatformIO_ESP32_oscilloscope/.pio/build/project.checksum b/PlatformIO_ESP32_oscilloscope/.pio/build/project.checksum index 24bc91deb2e26f1d57fc1d4e412a64b2f8edc79c..33530321c11ec017fd3027078ed75520a8774602 100644 --- a/PlatformIO_ESP32_oscilloscope/.pio/build/project.checksum +++ b/PlatformIO_ESP32_oscilloscope/.pio/build/project.checksum @@ -1 +1 @@ -5efb7ae64ebaafdf47c7df2815faf068aa9ac4c7 \ No newline at end of file +8a68528b3a0642cb871621c8627966e55583f040 \ No newline at end of file diff --git a/PlatformIO_ESP32_oscilloscope/.vscode/c_cpp_properties.json b/PlatformIO_ESP32_oscilloscope/.vscode/c_cpp_properties.json index 32300fe52ab432fcbf2c20dbdc1e9b00719e8d77..d944b69057783704b65e890de89da6619e3ba9e3 100644 --- a/PlatformIO_ESP32_oscilloscope/.vscode/c_cpp_properties.json +++ b/PlatformIO_ESP32_oscilloscope/.vscode/c_cpp_properties.json @@ -8,9 +8,9 @@ { "name": "PlatformIO", "includePath": [ - "E:/PlatformIO_vscode/git_updata/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/include", - "E:/PlatformIO_vscode/git_updata/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/src", - "E:/PlatformIO_vscode/git_updata/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/lib/myBlueTooth", + "E:/PlatformIO_vscode/git_XHZS/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/include", + "E:/PlatformIO_vscode/git_XHZS/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/src", + "E:/PlatformIO_vscode/git_XHZS/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/lib/myBlueTooth", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include", @@ -208,8 +208,8 @@ "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/cores/esp32", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/variants/esp32", - "E:/PlatformIO_vscode/git_updata/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/lib/Interrupts_and_timers", - "E:/PlatformIO_vscode/git_updata/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/lib/WS2812B_LED", + "E:/PlatformIO_vscode/git_XHZS/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/lib/Interrupts_and_timers", + "E:/PlatformIO_vscode/git_XHZS/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/lib/WS2812B_LED", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src", @@ -247,9 +247,9 @@ "browse": { "limitSymbolsToIncludedHeaders": true, "path": [ - "E:/PlatformIO_vscode/git_updata/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/include", - "E:/PlatformIO_vscode/git_updata/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/src", - "E:/PlatformIO_vscode/git_updata/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/lib/myBlueTooth", + "E:/PlatformIO_vscode/git_XHZS/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/include", + "E:/PlatformIO_vscode/git_XHZS/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/src", + "E:/PlatformIO_vscode/git_XHZS/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/lib/myBlueTooth", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include", @@ -447,8 +447,8 @@ "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/cores/esp32", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/variants/esp32", - "E:/PlatformIO_vscode/git_updata/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/lib/Interrupts_and_timers", - "E:/PlatformIO_vscode/git_updata/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/lib/WS2812B_LED", + "E:/PlatformIO_vscode/git_XHZS/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/lib/Interrupts_and_timers", + "E:/PlatformIO_vscode/git_XHZS/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/lib/WS2812B_LED", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src", "C:/Users/Sword/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src", diff --git a/PlatformIO_ESP32_oscilloscope/.vscode/launch.json b/PlatformIO_ESP32_oscilloscope/.vscode/launch.json index 20a46228bfa911762c314372021361439ab7b38e..73583dbd204ff5a51de7536a1d7eb42300af303b 100644 --- a/PlatformIO_ESP32_oscilloscope/.vscode/launch.json +++ b/PlatformIO_ESP32_oscilloscope/.vscode/launch.json @@ -12,7 +12,7 @@ "type": "platformio-debug", "request": "launch", "name": "PIO Debug", - "executable": "E:/PlatformIO_vscode/git_updata/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/.pio/build/esp32dev/firmware.elf", + "executable": "E:/PlatformIO_vscode/git_XHZS/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/.pio/build/esp32dev/firmware.elf", "projectEnvName": "esp32dev", "toolchainBinDir": "C:/Users/Sword/.platformio/packages/toolchain-xtensa-esp32/bin", "internalConsoleOptions": "openOnSessionStart", @@ -25,7 +25,7 @@ "type": "platformio-debug", "request": "launch", "name": "PIO Debug (skip Pre-Debug)", - "executable": "E:/PlatformIO_vscode/git_updata/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/.pio/build/esp32dev/firmware.elf", + "executable": "E:/PlatformIO_vscode/git_XHZS/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/.pio/build/esp32dev/firmware.elf", "projectEnvName": "esp32dev", "toolchainBinDir": "C:/Users/Sword/.platformio/packages/toolchain-xtensa-esp32/bin", "internalConsoleOptions": "openOnSessionStart" @@ -34,7 +34,7 @@ "type": "platformio-debug", "request": "launch", "name": "PIO Debug (without uploading)", - "executable": "E:/PlatformIO_vscode/git_updata/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/.pio/build/esp32dev/firmware.elf", + "executable": "E:/PlatformIO_vscode/git_XHZS/esp32_oscilloscope/PlatformIO_ESP32_oscilloscope/.pio/build/esp32dev/firmware.elf", "projectEnvName": "esp32dev", "toolchainBinDir": "C:/Users/Sword/.platformio/packages/toolchain-xtensa-esp32/bin", "internalConsoleOptions": "openOnSessionStart", diff --git a/PlatformIO_ESP32_oscilloscope/.vscode/settings.json b/PlatformIO_ESP32_oscilloscope/.vscode/settings.json new file mode 100644 index 0000000000000000000000000000000000000000..45203bcc3cc7fa4d22c56f4491c0c6019ad6fe71 --- /dev/null +++ b/PlatformIO_ESP32_oscilloscope/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "files.associations": { + "array": "cpp", + "string": "cpp", + "string_view": "cpp" + } +} \ No newline at end of file diff --git a/PlatformIO_ESP32_oscilloscope/lib/myBlueTooth/myBlueTooth.cpp b/PlatformIO_ESP32_oscilloscope/lib/myBlueTooth/myBlueTooth.cpp index cbea9628575f599e21a87e52eb6f1246684f6262..3bc4bff315f650c769f0182804e994310464c303 100644 --- a/PlatformIO_ESP32_oscilloscope/lib/myBlueTooth/myBlueTooth.cpp +++ b/PlatformIO_ESP32_oscilloscope/lib/myBlueTooth/myBlueTooth.cpp @@ -24,6 +24,7 @@ void initializeBluetooth(const String &deviceName) if (SERIAL_PORT_FUNCTION_ENABLE == true) { SerialBT.onData(XHZS_SeriaPortReceivingData); // 串口数据接收回调函数 + // SerialBT.onData(test_remote_control); // 测试手柄功能未完成_2024-07-27 } SerialBT.begin(deviceName); // Bluetooth device name BlueToothName = deviceName; @@ -135,8 +136,8 @@ void XHZS_SeriaPortReceivingData(const uint8_t *buffer, size_t size) { if (size > 0) { - Serial.write(buffer, size); // 将数据转发至标准串口,串口监视器 SerialBT.write(buffer, size); // 将数据转发至蓝牙串口,手机端 + Serial.write(buffer, size); // 将数据转发至标准串口,串口监视器 } } @@ -366,3 +367,76 @@ void test_oscilloscope_input_and_output() SerialBT.printf("w:%0.2f,%0.2f,%0.2f,%0.2f\r\n", floatValue1, floatValue2, floatValue3, floatValue4); vTaskDelay(50 / portTICK_PERIOD_MS); // 延时函数100ms,相当于 delay(100); 效果一样, 相当于刷新 } + +static uint8_t joysticks_X, joysticks_Y; +static uint8_t x, y; +uint8_t cmd, data; +// 遥控器 16 24 36 44 +void test_remote_control(const uint8_t *buffer, size_t size) +{ + // uint8_t copyBuffer[size]; + + // memcpy(copyBuffer, buffer, size); + // Serial.printf("%X\n", buffer); + // Serial.print(*buffer); + + cmd = *buffer & 0xF0; + data = *buffer & 0x0F; + + // if(cmd == LEFT_BUTTON_B) + // { + // SerialBT.printf("%X-%X\r\n", cmd, data); + // } + // if (cmd == 0x10) + // { + // joysticks_X = data; + // // SerialBT.printf("%X-%X\r\n", cmd, data); + // } + // else if (cmd == 0x20) + // { + // x = joysticks_X * 16 + data; + // SerialBT.printf("x: %d\r\n", x); + // } + // Serial.print(XHZS_ReceiveData()); + + // else if (cmd == 0x30) + // { + // joysticks_Y = data; + // } + // else if (cmd == 0x40) + // { + // y = joysticks_Y * 16 + data; + // } + // SerialBT.printf("x: %d\n y: %d\r\n", x, y); + + switch (cmd) + { + case LEFT_BUTTON_A: + SerialBT.printf("%X-%X\r\n", cmd, data); + break; + + case LEFT_BUTTON_B: + SerialBT.printf("%X-%X\r\n", cmd, data); + break; + + case 0x30: + joysticks_Y = data * 16; + // SerialBT.printf("x: %d\n y: %d\r\n", x, y); + // break; + + case 0x40: + y = joysticks_Y + data; + SerialBT.printf("x: %d\n y: %d\r\n", x, y); + break; + + case 0x10: + joysticks_X = data * 16; + // SerialBT.printf("x: %d\n y: %d\r\n", x, y); + // break; + + case 0x20: + x = joysticks_X + data; + SerialBT.printf("x: %d\n y: %d\r\n", x, y); + break; + } +} diff --git a/PlatformIO_ESP32_oscilloscope/lib/myBlueTooth/myBlueTooth.h b/PlatformIO_ESP32_oscilloscope/lib/myBlueTooth/myBlueTooth.h index 5aed81fd0ab90d24a93cc70f37af31c7c46359ac..cbd3e1daa7c30b484a97e02cf4dc73473995cb38 100644 --- a/PlatformIO_ESP32_oscilloscope/lib/myBlueTooth/myBlueTooth.h +++ b/PlatformIO_ESP32_oscilloscope/lib/myBlueTooth/myBlueTooth.h @@ -12,6 +12,37 @@ #include // 字符串操作库 #include // ESP32蓝牙库 +// 遥控器指令 +enum ORDER +{ + BUTTON_RELEASE = 0X00, + BUTTON_PRESS = 0X01, + + LEFT_DIRECTION_UP = 0X10, + LEFT_DIRECTION_DOWN = 0X20, + LEFT_DIRECTION_LEFT = 0X30, + LEFT_DIRECTION_RIGHT = 0X40, + + RIGHT_DIRECTION_UP = 0X50, + RIGHT_DIRECTION_DOWN = 0X60, + RIGHT_DIRECTION_LEFT = 0X70, + RIGHT_DIRECTION_RIGHT = 0X80, + + LEFT_BUTTON_A = 0XA0, + LEFT_BUTTON_B = 0XB0, + RIGHT_BUTTON_C = 0XC0, + RIGHT_BUTTON_D = 0XD0, + + MIDDLE_SWITCH_E = 0XE0, + MIDDLE_SWITCH_F = 0XF0, + + LEFT_JOYSTICKS_X = 0X10, + LEFT_JOYSTICKS_Y = 0X20, + + RIGHT_JOYSTICKS_X = 0X30, + RIGHT_JOYSTICKS_Y = 0X40, +}; + /************************* 蓝牙功能核心接口 *************************/ // 设定蓝牙名称,默认为"mini_bot"。 @@ -65,4 +96,6 @@ void test_serial_port_sending_and_receiving(); // 学习如何进行基本的串 void test_type_of_output(); // 示例展示发送不同数据类型的使用方法 void test_oscilloscope_input_and_output(); // 示波器输入和输出案例 -#endif /* MYBLUETOOTH_H_ */ +void test_remote_control(const uint8_t *buffer, size_t size); // 遥控器 + +#endif diff --git a/PlatformIO_ESP32_oscilloscope/src/main.cpp b/PlatformIO_ESP32_oscilloscope/src/main.cpp index 57344b35bc333fff590a784b4b6b0bbdce86c20c..df141e8469fed12e81d3ffaad417d41a52c43022 100644 --- a/PlatformIO_ESP32_oscilloscope/src/main.cpp +++ b/PlatformIO_ESP32_oscilloscope/src/main.cpp @@ -7,9 +7,11 @@ select engineering environment: ESP32_WROVER_Kit(all_versions) #include #include "myBlueTooth.h" +BluetoothSerial SerialBlueTooth; + void setup() { - Serial.begin(115200); // 开启串口通信,频率为:115200 + Serial.begin(115200); // 开启串口通信,频率为:115200 initializeBluetooth(); // 默认蓝牙名称:mini_bot @@ -23,4 +25,6 @@ void loop() test_type_of_output(); // 输出指定的数据类型案例 // test_oscilloscope_input_and_output();// 示波器输入和输出案例 + + // SerialBlueTooth.printf("hello world!\r\n"); } diff --git a/red.txt b/red.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000