Skip to content

Commit

Permalink
feature: add sensorless BLDC component
Browse files Browse the repository at this point in the history
1. add BLDC sensorless adc solution
2. add BLDC sensorless comparer solution
3. add BLDC sensorless docs
  • Loading branch information
lijunru-hub committed Nov 29, 2023
1 parent bdb39a4 commit e868885
Show file tree
Hide file tree
Showing 74 changed files with 4,920 additions and 99 deletions.
1 change: 1 addition & 0 deletions .github/workflows/upload_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ jobs:
components/knob;
components/led/led_indicator;
components/led/lightbulb_driver;
components/motor/esp_sensorless_bldc_control;
components/motor/esp_simplefoc;
components/openai;
components/sensors/humiture/aht20;
Expand Down
159 changes: 85 additions & 74 deletions .gitlab/ci/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -511,200 +511,211 @@ build_components_button_test_apps:
variables:
EXAMPLE_DIR: components/button/test_apps

build_components_ir_ir_learn_test_apps:
build_components_display_lcd_esp_lcd_gc9b71_test_apps:
extends:
- .build_examples_template
- .rules:build:components_ir_ir_learn_test_apps
- .rules:build:components_display_lcd_esp_lcd_gc9b71_test_apps
parallel:
matrix:
- IMAGE: espressif/idf:release-v5.0
- IMAGE: espressif/idf:latest
variables:
EXAMPLE_DIR: components/ir/ir_learn/test_apps
EXAMPLE_DIR: components/display/lcd/esp_lcd_gc9b71/test_apps

build_components_knob_test_apps:
build_components_display_lcd_esp_lcd_panel_io_additions_test_apps:
extends:
- .build_examples_template
- .rules:build:components_knob_test
- .rules:build:components_display_lcd_esp_lcd_panel_io_additions_test_apps
parallel:
matrix:
- IMAGE: espressif/idf:release-v4.4
- IMAGE: espressif/idf:release-v5.0
variables:
EXAMPLE_DIR: components/knob/test_apps
EXAMPLE_DIR: components/display/lcd/esp_lcd_panel_io_additions/test_apps

build_components_motor_esp_simplefoc_test_apps:
build_components_display_lcd_esp_lcd_sh8601_test_apps:
extends:
- .build_examples_template
- .rules:build:components_motor_esp_simplefoc_test_apps
- .rules:build:components_display_lcd_esp_lcd_sh8601_test_apps
parallel:
matrix:
- IMAGE: espressif/idf:release-v5.0
- IMAGE: espressif/idf:latest
variables:
EXAMPLE_DIR: components/motor/esp_simplefoc/test_apps
EXAMPLE_DIR: components/display/lcd/esp_lcd_sh8601/test_apps

build_components_openai_test_apps:
build_components_display_lcd_esp_lcd_spd2010_test_apps:
extends:
- .build_examples_template
- .rules:build:components_openai_test_apps
- .rules:build:components_display_lcd_esp_lcd_spd2010_test_apps
parallel:
matrix:
- IMAGE: espressif/idf:release-v4.4
- IMAGE: espressif/idf:release-v5.0
- IMAGE: espressif/idf:latest
variables:
EXAMPLE_DIR: components/openai/test_apps
EXAMPLE_DIR: components/display/lcd/esp_lcd_spd2010/test_apps

build_components_usb_esp_msc_ota_test_apps:
build_components_display_lcd_esp_lcd_st7701_test_apps:
extends:
- .build_examples_template
- .rules:build:components_usb_esp_msc_ota_test_apps
- .rules:build:components_display_lcd_esp_lcd_st7701_test_apps
parallel:
matrix:
- IMAGE: espressif/idf:latest
variables:
IMAGE: espressif/idf:release-v5.1
EXAMPLE_DIR: components/usb/esp_msc_ota/test_apps
EXAMPLE_DIR: components/display/lcd/esp_lcd_st7701/test_apps

build_components_usb_usb_stream_test_apps:
build_components_display_lcd_esp_lcd_st77903_test_apps:
extends:
- .build_examples_template
- .rules:build:components_usb_usb_stream_test
- .rules:build:components_display_lcd_esp_lcd_st77903_test_apps
parallel:
matrix:
- IMAGE: espressif/idf:release-v4.4
- IMAGE: espressif/idf:release-v5.0
- IMAGE: espressif/idf:latest
before_script:
- export PATCH_PATH=${IOT_SOLUTION_PATH}/examples/display/lcd/qspi_without_ram/patch/support_qspi_without_ram_a9349f4ad4.patch
- cd "$(dirname $(whereis idf.py | awk -F ' ' '{print $2}'))/.."
- git checkout a9349f4ad4
- git submodule update --init --recursive
- git apply ${PATCH_PATH}
- cd ${IOT_SOLUTION_PATH}
variables:
EXAMPLE_DIR: components/usb/usb_stream/test_apps
EXAMPLE_DIR: components/display/lcd/esp_lcd_st77903/test_apps

build_components_usb_iot_usbh_test_apps:
build_components_display_lcd_touch_esp_lcd_touch_spd2010_test_apps:
extends:
- .build_examples_template
- .rules:build:components_usb_iot_usbh_test
- .rules:build:components_display_lcd_touch_esp_lcd_touch_spd2010_test_apps
parallel:
matrix:
- IMAGE: espressif/idf:release-v4.4
- IMAGE: espressif/idf:release-v5.0
variables:
EXAMPLE_DIR: components/usb/iot_usbh/test_apps
EXAMPLE_DIR: components/display/lcd_touch/esp_lcd_touch_spd2010/test_apps

build_components_usb_iot_usbh_cdc_test_apps:
build_components_ir_ir_learn_test_apps:
extends:
- .build_examples_template
- .rules:build:components_usb_iot_usbh_cdc_test
- .rules:build:components_ir_ir_learn_test_apps
parallel:
matrix:
- IMAGE: espressif/idf:release-v4.4
- IMAGE: espressif/idf:release-v5.0
variables:
EXAMPLE_DIR: components/usb/iot_usbh_cdc/test_apps
EXAMPLE_DIR: components/ir/ir_learn/test_apps

build_components_display_lcd_esp_lcd_gc9b71_test_apps:
build_components_knob_test_apps:
extends:
- .build_examples_template
- .rules:build:components_display_lcd_esp_lcd_gc9b71_test_apps
- .rules:build:components_knob_test
parallel:
matrix:
- IMAGE: espressif/idf:latest
- IMAGE: espressif/idf:release-v4.4
- IMAGE: espressif/idf:release-v5.0
variables:
EXAMPLE_DIR: components/display/lcd/esp_lcd_gc9b71/test_apps
EXAMPLE_DIR: components/knob/test_apps

build_components_display_lcd_esp_lcd_panel_io_additions_test_apps:
build_components_led_led_indicator_test_apps:
extends:
- .build_examples_template
- .rules:build:components_display_lcd_esp_lcd_panel_io_additions_test_apps
- .rules:build:components_led_led_indicator_test_apps
parallel:
matrix:
- IMAGE: espressif/idf:release-v4.4
- IMAGE: espressif/idf:release-v5.0
variables:
EXAMPLE_DIR: components/display/lcd/esp_lcd_panel_io_additions/test_apps
EXAMPLE_DIR: components/led/led_indicator/test_apps

build_components_display_lcd_esp_lcd_sh8601_test_apps:
build_components_motor_esp_sensorless_bldc_control_test_apps:
extends:
- .build_examples_template
- .rules:build:components_display_lcd_esp_lcd_sh8601_test_apps
- .rules:build:components_motor_esp_sensorless_bldc_control_test_apps
parallel:
matrix:
- IMAGE: espressif/idf:latest
- IMAGE: espressif/idf:release-v5.0
variables:
EXAMPLE_DIR: components/display/lcd/esp_lcd_sh8601/test_apps
EXAMPLE_DIR: components/motor/esp_sensorless_bldc_control/test_apps

build_components_display_lcd_esp_lcd_spd2010_test_apps:
build_components_motor_esp_simplefoc_test_apps:
extends:
- .build_examples_template
- .rules:build:components_display_lcd_esp_lcd_spd2010_test_apps
- .rules:build:components_motor_esp_simplefoc_test_apps
parallel:
matrix:
- IMAGE: espressif/idf:latest
- IMAGE: espressif/idf:release-v5.0
variables:
EXAMPLE_DIR: components/display/lcd/esp_lcd_spd2010/test_apps
EXAMPLE_DIR: components/motor/esp_simplefoc/test_apps

build_components_display_lcd_esp_lcd_st7701_test_apps:
build_components_openai_test_apps:
extends:
- .build_examples_template
- .rules:build:components_display_lcd_esp_lcd_st7701_test_apps
- .rules:build:components_openai_test_apps
parallel:
matrix:
- IMAGE: espressif/idf:latest
- IMAGE: espressif/idf:release-v4.4
- IMAGE: espressif/idf:release-v5.0
variables:
EXAMPLE_DIR: components/display/lcd/esp_lcd_st7701/test_apps
EXAMPLE_DIR: components/openai/test_apps

build_components_display_lcd_esp_lcd_st77903_test_apps:
build_components_sensors_humiture_aht20_test_apps:
extends:
- .build_examples_template
- .rules:build:components_display_lcd_esp_lcd_st77903_test_apps
- .rules:build:components_sensors_humiture_aht20_test_apps
parallel:
matrix:
- IMAGE: espressif/idf:latest
before_script:
- export PATCH_PATH=${IOT_SOLUTION_PATH}/examples/display/lcd/qspi_without_ram/patch/support_qspi_without_ram_a9349f4ad4.patch
- cd "$(dirname $(whereis idf.py | awk -F ' ' '{print $2}'))/.."
- git checkout a9349f4ad4
- git submodule update --init --recursive
- git apply ${PATCH_PATH}
- cd ${IOT_SOLUTION_PATH}
- IMAGE: espressif/idf:release-v4.4
- IMAGE: espressif/idf:release-v5.0
variables:
EXAMPLE_DIR: components/display/lcd/esp_lcd_st77903/test_apps
EXAMPLE_DIR: components/sensors/humiture/aht20/test_apps

build_components_display_lcd_touch_esp_lcd_touch_spd2010_test_apps:
build_components_sensors_radar_at581x_test_apps:
extends:
- .build_examples_template
- .rules:build:components_display_lcd_touch_esp_lcd_touch_spd2010_test_apps
- .rules:build:components_sensors_radar_at581x_test_apps
parallel:
matrix:
- IMAGE: espressif/idf:release-v4.4
- IMAGE: espressif/idf:release-v5.0
variables:
EXAMPLE_DIR: components/display/lcd_touch/esp_lcd_touch_spd2010/test_apps
EXAMPLE_DIR: components/sensors/radar/at581x/test_apps

build_components_led_led_indicator_test_apps:
build_components_usb_esp_msc_ota_test_apps:
extends:
- .build_examples_template
- .rules:build:components_led_led_indicator_test_apps
- .rules:build:components_usb_esp_msc_ota_test_apps
variables:
IMAGE: espressif/idf:release-v5.1
EXAMPLE_DIR: components/usb/esp_msc_ota/test_apps

build_components_usb_usb_stream_test_apps:
extends:
- .build_examples_template
- .rules:build:components_usb_usb_stream_test
parallel:
matrix:
- IMAGE: espressif/idf:release-v4.4
- IMAGE: espressif/idf:release-v5.0
variables:
EXAMPLE_DIR: components/led/led_indicator/test_apps
EXAMPLE_DIR: components/usb/usb_stream/test_apps

build_components_sensors_humiture_aht20_test_apps:
build_components_usb_iot_usbh_test_apps:
extends:
- .build_examples_template
- .rules:build:components_sensors_humiture_aht20_test_apps
- .rules:build:components_usb_iot_usbh_test
parallel:
matrix:
- IMAGE: espressif/idf:release-v4.4
- IMAGE: espressif/idf:release-v5.0
variables:
EXAMPLE_DIR: components/sensors/humiture/aht20/test_apps
EXAMPLE_DIR: components/usb/iot_usbh/test_apps

build_components_sensors_radar_at581x_test_apps:
build_components_usb_iot_usbh_cdc_test_apps:
extends:
- .build_examples_template
- .rules:build:components_sensors_radar_at581x_test_apps
- .rules:build:components_usb_iot_usbh_cdc_test
parallel:
matrix:
- IMAGE: espressif/idf:release-v4.4
- IMAGE: espressif/idf:release-v5.0
variables:
EXAMPLE_DIR: components/sensors/radar/at581x/test_apps
EXAMPLE_DIR: components/usb/iot_usbh_cdc/test_apps

#
# tools build jobs
#
Expand Down
38 changes: 29 additions & 9 deletions .gitlab/ci/rules.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,14 @@
- "components/led/lightbulb_driver/**/*"
- "components/tools/cmake_utilities/package_manager.cmake"

.patterns-components_esp_simplefoc: &patterns-components_esp_simplefoc
.patterns-components_motor_esp_simplefoc: &patterns-components_motor_esp_simplefoc
- "components/motor/esp_simplefoc/**/*"
- "components/tools/cmake_utilities/package_manager.cmake"

.patterns-components_motor_esp_sensorless_bldc_control: &patterns-components_motor_esp_sensorless_bldc_control
- "components/motor/esp_sensorless_bldc_control/**/*"
- "components/tools/cmake_utilities/package_manager.cmake"

.patterns-components_motor_servo: &patterns-components_motor_servo
- "components/motor/servo/**/*"

Expand Down Expand Up @@ -205,20 +209,25 @@
.patterns-docs_inc: &patterns-docs_inc
- "components/audio/dac_audio/include/dac_audio.h"
- "components/audio/pwm_audio/include/pwm_audio.h"
- "components/bluetooth/ble_conn_mgr/include/esp_ble_conn_mgr.h"
- "components/bus/include/i2c_bus.h"
- "components/bus/include/spi_bus.h"
- "components/led/led_indicator/include/led_indicator.h"
- "components/display/screen/screen_driver.h"
- "components/display/screen/interface_driver/scr_interface_driver.h"
- "components/button/include/iot_button.h"
- "components/knob/iot_knob.h"
- "components/display/screen/interface_driver/scr_interface_driver.h"
- "components/display/screen/screen_driver.h"
- "components/display/touch_panel/touch_panel.h"
- "components/knob/iot_knob.h"
- "components/led/led_indicator/include/led_indicator.h"
- "components/motor/esp_sensorless_bldc_control/control/include/bldc_control_param.h"
- "components/motor/esp_sensorless_bldc_control/control/include/bldc_control.h"
- "components/motor/esp_sensorless_bldc_control/user_cfg/bldc_user_cfg.h"
- "components/motor/servo/include/iot_servo.h"
- "components/openai/include/OpenAI.h"
- "components/sensors/sensor_hub/include/hal/humiture_hal.h"
- "components/sensors/sensor_hub/include/hal/imu_hal.h"
- "components/sensors/sensor_hub/include/hal/light_sensor_hal.h"
- "components/sensors/sensor_hub/include/sensor_type.h"
- "components/sensors/sensor_hub/include/iot_sensor_hub.h"
- "components/sensors/sensor_hub/include/sensor_type.h"
- "components/usb/usb_stream/include/usb_stream.h"
- "components/bluetooth/ble_conn_mgr/include/esp_ble_conn_mgr.h"
- "components/zero_detection/include/zero_detection.h"
Expand Down Expand Up @@ -641,7 +650,7 @@
- <<: *if-dev-push
changes: *patterns-build_system
- <<: *if-dev-push
changes: *patterns-components_esp_simplefoc
changes: *patterns-components_motor_esp_simplefoc
- <<: *if-dev-push
changes: *patterns-example_motor_foc_openloop_control

Expand All @@ -653,7 +662,7 @@
- <<: *if-dev-push
changes: *patterns-build_system
- <<: *if-dev-push
changes: *patterns-components_esp_simplefoc
changes: *patterns-components_motor_esp_simplefoc
- <<: *if-dev-push
changes: *patterns-example_motor_foc_velocity_control

Expand Down Expand Up @@ -1167,7 +1176,18 @@
- <<: *if-dev-push
changes: *patterns-build_system
- <<: *if-dev-push
changes: *patterns-components_esp_simplefoc
changes: *patterns-components_motor_esp_simplefoc

.rules:build:components_motor_esp_sensorless_bldc_control_test_apps:
rules:
- <<: *if-protected
- <<: *if-label-build
- <<: *if-label-target_test
- <<: *if-trigger-job
- <<: *if-dev-push
changes: *patterns-build_system
- <<: *if-dev-push
changes: *patterns-components_motor_esp_sensorless_bldc_control

.rules:build:components_motor_servo_test:
rules:
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ The registered components in ESP-IoT-Solution are listed below:
| [esp_lcd_st7701](https://components.espressif.com/components/espressif/esp_lcd_st7701) | [![Component Registry](https://components.espressif.com/components/espressif/esp_lcd_st7701/badge.svg)](https://components.espressif.com/components/espressif/esp_lcd_st7701) |
| [esp_lcd_touch_spd2010](https://components.espressif.com/components/espressif/esp_lcd_touch_spd2010) | [![Component Registry](https://components.espressif.com/components/espressif/esp_lcd_touch_spd2010/badge.svg)](https://components.espressif.com/components/espressif/esp_lcd_touch_spd2010) |
| [esp_simplefoc](https://components.espressif.com/components/espressif/esp_simplefoc) | [![Component Registry](https://components.espressif.com/components/espressif/esp_simplefoc/badge.svg)](https://components.espressif.com/components/espressif/esp_simplefoc) |
| [esp_sensorless_bldc_control](https://components.espressif.com/components/espressif/esp_sensorless_bldc_control) | [![Component Registry](https://components.espressif.com/components/espressif/esp_sensorless_bldc_control/badge.svg)](https://components.espressif.com/components/espressif/esp_sensorless_bldc_control)
| [esp_tinyuf2](https://components.espressif.com/components/espressif/esp_tinyuf2) | [![Component Registry](https://components.espressif.com/components/espressif/esp_tinyuf2/badge.svg)](https://components.espressif.com/components/espressif/esp_tinyuf2) |
| [extended_vfs](https://components.espressif.com/components/espressif/extended_vfs) | [![Component Registry](https://components.espressif.com/components/espressif/extended_vfs/badge.svg)](https://components.espressif.com/components/espressif/extended_vfs) |
| [gprof](https://components.espressif.com/components/espressif/gprof) | [![Component Registry](https://components.espressif.com/components/espressif/gprof/badge.svg)](https://components.espressif.com/components/espressif/gprof) |
Expand Down
1 change: 1 addition & 0 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ ESP-IoT-Solution 中注册的组件如下:
| [esp_lcd_st7701](https://components.espressif.com/components/espressif/esp_lcd_st7701) | [![Component Registry](https://components.espressif.com/components/espressif/esp_lcd_st7701/badge.svg)](https://components.espressif.com/components/espressif/esp_lcd_st7701) |
| [esp_lcd_touch_spd2010](https://components.espressif.com/components/espressif/esp_lcd_touch_spd2010) | [![Component Registry](https://components.espressif.com/components/espressif/esp_lcd_touch_spd2010/badge.svg)](https://components.espressif.com/components/espressif/esp_lcd_touch_spd2010) |
| [esp_simplefoc](https://components.espressif.com/components/espressif/esp_simplefoc) | [![Component Registry](https://components.espressif.com/components/espressif/esp_simplefoc/badge.svg)](https://components.espressif.com/components/espressif/esp_simplefoc) |
| [esp_sensorless_bldc_control](https://components.espressif.com/components/espressif/esp_sensorless_bldc_control) | [![Component Registry](https://components.espressif.com/components/espressif/esp_sensorless_bldc_control/badge.svg)](https://components.espressif.com/components/espressif/esp_sensorless_bldc_control)
| [esp_tinyuf2](https://components.espressif.com/components/espressif/esp_tinyuf2) | [![Component Registry](https://components.espressif.com/components/espressif/esp_tinyuf2/badge.svg)](https://components.espressif.com/components/espressif/esp_tinyuf2) |
| [extended_vfs](https://components.espressif.com/components/espressif/extended_vfs) | [![Component Registry](https://components.espressif.com/components/espressif/extended_vfs/badge.svg)](https://components.espressif.com/components/espressif/extended_vfs) |
| [gprof](https://components.espressif.com/components/espressif/gprof) | [![Component Registry](https://components.espressif.com/components/espressif/gprof/badge.svg)](https://components.espressif.com/components/espressif/gprof) |
Expand Down
Loading

0 comments on commit e868885

Please sign in to comment.