Files
Bionic_sphere/项目开发日志.md
T

154 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 项目开发日志
#### 此文件用于记录本项目开发过程中所一步步完成的事情,以及遇到的一些问题及其对应的解决方案
#### 2025.8.22 ~ 8.24 官方驱动测试
#### Day1 2025.8.22
##### 主要目标:测试开发板官方提供的例程中的驱动能否使用
实际完成任务:
- [x] 1. 实现了Linux下的esp idf的一键编译,烧录,与监视,并且监视具有交互能力
- [x] 2. 测试了QMI8658的驱动,正常读出x,y,z轴数据,得到的pitch, roll, yaw正常
#### Day2 2025.8.23
##### 主要目标:测试开发板官方提供的例程中的驱动能否使用
实际完成任务:
- [x] 1. 测试了电池adc的驱动,正常读出数据,且电压与万用表示一致,测试通过
- [x] 2. 测试了wifi的驱动,连带着蓝牙一同测试,带着蓝牙则测试不通过,需要重写蓝牙驱动代码
#### Day3 2025.8.24
##### 主要目标:测试开发板官方提供的例程中的驱动能否使用
实际完成任务:
- [x] 1. 修改wifi的驱动代码,并且进行了测试,测试通过
```shell
Found 5 WiFi APs:
1: SSID: Misaki-2.4G, BSSID: 14:EA:A1:1C:32:FA, RSSI: -38, Auth: 4
2: SSID: FAST_3711, BSSID: D4:83:04:6C:37:11, RSSI: -81, Auth: 0
3: SSID: Tenda_E25070, BSSID: 08:40:F3:E2:50:74, RSSI: -82, Auth: 3
4: SSID: zhangyanyan, BSSID: 76:54:27:19:5B:D3, RSSI: -90, Auth: 4
5: SSID: zhangyanyan, BSSID: 74:54:27:39:5B:D3, RSSI: -91, Auth: 4
```
- [x] 2. 蓝牙,wifi测试成功
```shell
Found 8 WiFi APs:
1: SSID: sakimi, BSSID: 16:29:EF:3D:0E:9E, RSSI: -26, Auth: 3
2: SSID: Misaki-2.4G, BSSID: 14:EA:A1:1C:32:FA, RSSI: -38, Auth: 4
3: SSID: Tenda_E25070, BSSID: 08:40:F3:E2:50:74, RSSI: -76, Auth: 3
4: SSID: TP-LINK_FCBF, BSSID: 94:D9:B3:1F:FC:BF, RSSI: -87, Auth: 4
5: SSID: FAST_3711, BSSID: D4:83:04:6C:37:11, RSSI: -88, Auth: 0
6: SSID: zhangyanyan, BSSID: 76:54:27:19:5B:D3, RSSI: -91, Auth: 4
7: SSID: MERCURY_2.4G_8192, BSSID: 00:5C:C2:E2:81:92, RSSI: -92, Auth: 4
8: SSID: zhangyanyan, BSSID: 74:54:27:39:5B:D3, RSSI: -93, Auth: 4
Found 3 BLE devices:
1: Name: Unknown, Address: 4C:1F:A1:B9:79:21, RSSI: -59
2: Name: Unknown, Address: 4C:D5:B2:FF:9C:21, RSSI: -65
3: Name: Unknown, Address: 5C:DF:7A:44:9E:95, RSSI: -94
```
- [x] 3. 新增分区表,为板载16M的flash作分区规划,预留ota
```text
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, , 0x6000,
otadata, data, ota, , 0x2000,
phy_init, data, phy, , 0x1000,
ota_0, app, ota_0, , 6M,
ota_1, app, ota_1, , 6M,
storage, data, spiffs, , 3M,
coredump, data, coredump,, 64K,
```
- [x] 4. 测试了SD卡的驱动,正常读出数据,测试通过
```shell
Name: SD32G
Type: SDHC/SDXC
Speed: 20.00 MHz (limit: 20.00 MHz)
Size: 30436MB
CSD: ver=2, sector_size=512, capacity=62333952 read_bl_len=9
SSR: bus_width=1
SD卡初始化成功,容量: 30436 MB
2. 获取Flash大小...
Flash size: 16 MB
Flash大小: 16 MB
3. 测试文件写入...
I (461) SD: Opening file /sdcard/test.txt
I (481) SD: File written
文件写入成功: /sdcard/test.txt
4. 测试文件读取...
I (481) SD: Reading file /sdcard/test.txt
I (491) SD: Read from file: '这是一段测试数据,用于验证SD卡写入功能。'
5. 测试文件打开功能...
I (501) SD: Attempting to open file: /sdcard/test.txt
File /sdcard/test.txt was successfully opened.
文件打开成功
6. 测试文件夹检索功能...
File found: /sdcard/test.txt
I (521) SD: Retrieved 1 files with extension '.txt'
找到 1 个txt文件:
1. test.txt
=== SD卡模块测试完成 ===
```
- [x] 5. 新增了CMake配置,just_monitor(monitor_only.sh),只监视,无编译,无烧录
```cmake
# 只监视,而不做编译与烧录
add_custom_target(just_monitor
COMMAND ${CMAKE_COMMAND} -E env
"IDF_PATH=$ENV{IDF_PATH}"
${CMAKE_SOURCE_DIR}/monitor_only.sh
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
USES_TERMINAL
COMMENT "Launch Konsole with idf.py monitor (no build/flash)"
)
```
- [x] 6. 测试了外部高精度RTC(PCF85063)的驱动,时钟功能正常,测试通过
```text
驱动位置位于:Lib/PCF85063
```
- [x] 7. 测试了IO拓展芯片TCA9554PWR,测试结果正常,测试通过
```shell
I (356) TCA9554PWR_TEST: ====== TCA9554PWR 综合测试开始 ======
I (366) I2C: I2C initialized successfully
I (366) TCA9554PWR_TEST: >> 测试1:输出寄存器读写测试
I (386) TCA9554PWR_TEST: 写入 0xAA,读回 0xAA
I (386) TCA9554PWR_TEST: 测试1 通过
I (386) TCA9554PWR_TEST: >> 测试2:配置寄存器读写测试
I (396) TCA9554PWR_TEST: 写入 0xFF(全输入),读回 0xFF
I (406) TCA9554PWR_TEST: 写入 0x00(全输出),读回 0x00
I (406) TCA9554PWR_TEST: 测试2 通过
I (406) TCA9554PWR_TEST: >> 测试3:单管脚输出翻转测试
I (426) TCA9554PWR_TEST: IO1 置高,请观察电平
I (926) TCA9554PWR_TEST: IO1 置低,请观察电平
I (1426) TCA9554PWR_TEST: IO1 Toggle 1
I (1926) TCA9554PWR_TEST: IO1 Toggle 2
I (2426) TCA9554PWR_TEST: 测试3 完成(请确认 LED/万用表现象)
I (2426) TCA9554PWR_TEST: >> 测试48位整体输出测试
I (2436) TCA9554PWR_TEST: 输出 0x55 (二进制:
01010101)
I (3436) TCA9554PWR_TEST: 输出 0xAA (二进制:
10101010)
I (4436) TCA9554PWR_TEST: 输出 0xFF (二进制:
11111111)
I (5436) TCA9554PWR_TEST: 输出 0x00 (二进制:
00000000)
```
- [x] 8. 添加了esp-idf的几个组件,基于main/idf_component.yml的配置,用于应用层快速开发
```yaml
dependencies:
idf: ">=4.4"
lvgl/lvgl: "~8.3.0"
chmorgan/esp-audio-player: "==1.0.7"
chmorgan/esp-libhelix-mp3: "==1.0.3"
espressif/esp-sr: "~1.9.4"
```
- [x] 9. 测试了音频播放功能,测试通过
#### Day4 2025.8.25
##### 主要目标:测试开发板官方提供的例程中的驱动能否使用
实际完成任务:
- [x] 1. 测试了屏幕驱动,lvgl,触摸,驱动文件在Lib/Display当中。全部通过(修改了sdkconfig,以适配lvgl)
- [x] 2. 新增了优雅的C语言错误处理