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

6.6 KiB
Raw Blame History

项目开发日志

此文件用于记录本项目开发过程中所一步步完成的事情,以及遇到的一些问题及其对应的解决方案

2025.8.22 ~ 8.24 官方驱动测试

Day1 2025.8.22

主要目标:测试开发板官方提供的例程中的驱动能否使用

实际完成任务:

  • 1. 实现了Linux下的esp idf的一键编译,烧录,与监视,并且监视具有交互能力
  • 2. 测试了QMI8658的驱动,正常读出x,y,z轴数据,得到的pitch, roll, yaw正常

Day2 2025.8.23

主要目标:测试开发板官方提供的例程中的驱动能否使用

实际完成任务:

  • 1. 测试了电池adc的驱动,正常读出数据,且电压与万用表示一致,测试通过
  • 2. 测试了wifi的驱动,连带着蓝牙一同测试,带着蓝牙则测试不通过,需要重写蓝牙驱动代码

Day3 2025.8.24

主要目标:测试开发板官方提供的例程中的驱动能否使用

实际完成任务:

  • 1. 修改wifi的驱动代码,并且进行了测试,测试通过

    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
    
  • 2. 蓝牙,wifi测试成功

    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
    
  • 3. 新增分区表,为板载16M的flash作分区规划,预留ota

    # 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,
    
  • 4. 测试了SD卡的驱动,正常读出数据,测试通过

    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卡模块测试完成 ===
    
  • 5. 新增了CMake配置,just_monitor(monitor_only.sh),只监视,无编译,无烧录

    # 只监视,而不做编译与烧录
    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)"
    )
    
  • 6. 测试了外部高精度RTC(PCF85063)的驱动,时钟功能正常,测试通过

    驱动位置位于:Lib/PCF85063
    
  • 7. 测试了IO拓展芯片TCA9554PWR,测试结果正常,测试通过

    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)
    
  • 8. 添加了esp-idf的几个组件,基于main/idf_component.yml的配置,用于应用层快速开发

    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"
    
  • 9. 测试了音频播放功能,测试通过

Day4 2025.8.25

主要目标:测试开发板官方提供的例程中的驱动能否使用

实际完成任务:

  • 1. 测试了屏幕驱动,lvgl,触摸,驱动文件在Lib/Display当中。全部通过(修改了sdkconfig,以适配lvgl)

  • 2. 新增了优雅的C语言错误处理

  • 3. 完成了gif的显示测试(使用lvgl当中的gif解码器),测试通过

Day4 2025.8.26

主要目标:测试开发板官方提供的例程中的驱动能否使用

实际完成任务:

  • 1. 优化了项目结构

Day4 2025.8.27

主要目标:测试开发板官方提供的例程中的驱动能否使用

实际完成任务:

  • 1. 完成了SDMMC的超频,从20MHz提升到40MHz,测试通过