├── lib ├── .gitignore ├── python_bindings │ ├── espp │ │ ├── py.typed │ │ └── __init__.py │ └── module.cpp ├── requirements.txt ├── espp.cpp ├── build.sh ├── include │ └── wcswidth.h ├── pyproject.toml └── build.ps1 ├── doc ├── .gitignore ├── sphinx-known-warnings.txt ├── en │ ├── cli_example.md │ ├── cobs_example.md │ ├── csv_example.md │ ├── i2c_example.md │ ├── led_example.md │ ├── nvs_example.md │ ├── pid_example.md │ ├── qtpy_example.md │ ├── rmt_example.md │ ├── rtsp_example.md │ ├── task_example.md │ ├── adc │ │ ├── adc_example.md │ │ ├── ads1x15_example.md │ │ ├── ads7138_example.md │ │ ├── tla2528_example.md │ │ ├── index.rst │ │ ├── adc_types.rst │ │ └── ads1x15.rst │ ├── button_example.md │ ├── byte90_example.md │ ├── color_example.md │ ├── esp_box_example.md │ ├── logger_example.md │ ├── monitor_example.md │ ├── network │ │ ├── ping_example.md │ │ ├── socket_example.md │ │ ├── socket.rst │ │ ├── udp_socket.rst │ │ ├── ping.rst │ │ ├── tcp_socket.rst │ │ └── index.rst │ ├── t_deck_example.md │ ├── timer_example.md │ ├── hid │ │ ├── hid-rp_example.md │ │ └── index.rst │ ├── imu │ │ ├── bmi270_example.md │ │ ├── lsm6dso_example.md │ │ ├── qmi8658_example.md │ │ ├── adxl345_example.md │ │ ├── icm20948_example.md │ │ ├── icm42607_example.md │ │ ├── index.rst │ │ ├── qmi8658.rst │ │ ├── icm20948.rst │ │ ├── icm42607.rst │ │ └── lsm6dso.rst │ ├── input │ │ ├── gt911_example.md │ │ ├── chsc6x_example.md │ │ ├── cst816_example.md │ │ ├── ft5x06_example.md │ │ ├── tt21100_example.md │ │ ├── t_keyboard_example.md │ │ ├── index.rst │ │ ├── pointer_input.rst │ │ ├── encoder_input.rst │ │ ├── touchpad_input.rst │ │ ├── gt911.rst │ │ ├── chsc6x.rst │ │ ├── cst816.rst │ │ ├── ft5x06.rst │ │ └── keypad_input.rst │ ├── interrupt_example.md │ ├── joystick_example.md │ ├── led_strip_example.md │ ├── math │ │ ├── math_example.md │ │ ├── index.rst │ │ ├── vector2d.rst │ │ ├── range_mapper.rst │ │ ├── bezier.rst │ │ └── gaussian.rst │ ├── neopixel_example.md │ ├── nfc │ │ ├── st25dv_example.md │ │ ├── index.rst │ │ └── ndef.rst │ ├── qwiicnes_example.md │ ├── rtc │ │ ├── bm8563_example.md │ │ ├── pcf85063_example.md │ │ ├── rx8130ce_example.md │ │ ├── index.rst │ │ ├── pcf85063.rst │ │ └── bm8563.rst │ ├── runqueue_example.md │ ├── tabulate_example.md │ ├── wifi │ │ ├── wifi_example.md │ │ └── index.rst │ ├── binary_log_example.md │ ├── controller_example.md │ ├── encoder │ │ ├── as5600_example.md │ │ ├── mt6701_example.md │ │ ├── encoder_example.md │ │ ├── encoder_types.rst │ │ └── index.rst │ ├── file_system_example.md │ ├── ftp │ │ ├── ftp_server_example.md │ │ └── index.rst │ ├── iperf_menu_example.md │ ├── led_driver │ │ ├── lp5817_example.md │ │ ├── index.rst │ │ └── lp5817.rst │ ├── m5stack_tab5_example.md │ ├── motorgo_mini_example.md │ ├── odrive_ascii_example.md │ ├── t_dongle_s3_example.md │ ├── thermistor_example.md │ ├── wrover_kit_example.md │ ├── ws_s3_geek_example.md │ ├── ws_s3_touch_example.md │ ├── battery │ │ ├── max1704x_example.md │ │ └── index.rst │ ├── bldc │ │ ├── bldc_motor_example.md │ │ ├── bldc_driver.rst │ │ └── index.rst │ ├── ble │ │ ├── hid_service_example.md │ │ ├── gfps_service_example.md │ │ ├── ble_gatt_server_example.md │ │ ├── battery_service.rst │ │ ├── device_info_service.rst │ │ ├── index.rst │ │ └── hid_service.rst │ ├── event_manager_example.md │ ├── filters │ │ ├── filters_example.md │ │ ├── simple_lowpass.rst │ │ ├── transfer_function.rst │ │ ├── index.rst │ │ ├── biquad.rst │ │ ├── butterworth.rst │ │ ├── lowpass.rst │ │ └── sos.rst │ ├── haptics │ │ ├── drv2605_example.md │ │ ├── bldc_haptics_example.md │ │ └── index.rst │ ├── images │ │ └── complex-hfsm.png │ ├── io_expander │ │ ├── aw9523_example.md │ │ ├── kts1622_example.md │ │ ├── mcp23x17_example.md │ │ ├── pi4ioe5v_example.md │ │ ├── index.rst │ │ ├── kts1622.rst │ │ ├── mcp23x17.rst │ │ └── pi4ioe5v.rst │ ├── serialization_example.md │ ├── state_machine_example.md │ ├── ws_s3_lcd_1_47_example.md │ ├── distance_sensors │ │ ├── vl53l_example.md │ │ └── index.rst │ ├── esp32_timer_cam_example.md │ ├── power │ │ ├── ina226_example.md │ │ └── index.rst │ ├── display │ │ ├── display_drivers_example.md │ │ ├── index.rst │ │ └── display.rst │ ├── matouch_rotary_display_example.md │ ├── seeed_studio_round_display_example.md │ ├── qwiicnes.rst │ ├── neopixel.rst │ └── base_component.rst ├── doxygen-known-warnings.txt ├── requirements.txt └── Dockerfile ├── components ├── binary-log │ ├── example │ │ ├── .gitignore │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── partitions.csv │ ├── src │ │ └── binary-log.cpp │ ├── include │ │ └── binary-log.hpp │ └── idf_component.yml ├── file_system │ ├── example │ │ ├── files │ │ │ ├── file1.txt │ │ │ ├── dir1 │ │ │ │ ├── file3.txt │ │ │ │ └── sub1 │ │ │ │ │ └── file2.txt │ │ │ ├── dir2 │ │ │ │ └── file4.txt │ │ │ └── dir3 │ │ │ │ └── file5.txt │ │ ├── partitions.csv │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ └── Kconfig.projbuild ├── i2c │ ├── example │ │ ├── sdkconfig.defaults.new_api │ │ ├── sdkconfig.defaults.legacy_api │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── sdkconfig.defaults │ │ ├── sdkconfig.defaults.esp32s3 │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── idf_component.yml ├── rtsp │ ├── python │ │ ├── requirements.txt │ │ └── opencv_rtsp_client.py │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── partitions.csv │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ └── src │ │ └── rtcp_packet.cpp ├── logger │ ├── example │ │ ├── sdkconfig.defaults │ │ └── main │ │ │ └── CMakeLists.txt │ ├── src │ │ └── logger.cpp │ ├── CMakeLists.txt │ ├── README.md │ └── idf_component.yml ├── ndef │ ├── CMakeLists.txt │ ├── README.md │ └── idf_component.yml ├── utils │ ├── CMakeLists.txt │ ├── README.md │ └── idf_component.yml ├── cobs │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── sdkconfig.defaults │ │ └── CMakeLists.txt │ └── idf_component.yml ├── math │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── include │ │ └── vector2d_formatters.hpp ├── bldc_driver │ ├── src │ │ └── bldc_driver.cpp │ ├── CMakeLists.txt │ ├── idf_component.yml │ └── README.md ├── button │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── idf_component.yml ├── csv │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── sdkconfig.defaults │ │ └── CMakeLists.txt │ └── idf_component.yml ├── format │ ├── CMakeLists.txt │ ├── README.md │ ├── include │ │ └── format.hpp │ └── idf_component.yml ├── pid │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── sdkconfig.defaults │ │ └── CMakeLists.txt │ ├── README.md │ └── idf_component.yml ├── base_component │ ├── CMakeLists.txt │ ├── idf_component.yml │ └── README.md ├── tabulate │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── idf_component.yml ├── adc │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── sdkconfig.defaults │ │ └── CMakeLists.txt │ └── CMakeLists.txt ├── bmi270 │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── idf_component.yml ├── cli │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── sdkconfig.defaults │ │ ├── sdkconfig.defaults.esp32s2 │ │ ├── sdkconfig.defaults.esp32s3 │ │ └── CMakeLists.txt │ ├── src │ │ └── cli.cpp │ └── CMakeLists.txt ├── encoder │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── include │ │ └── encoder_types.hpp ├── ftp │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── partitions.csv │ │ └── sdkconfig.defaults │ └── CMakeLists.txt ├── input_drivers │ └── CMakeLists.txt ├── iperf_menu │ ├── CMakeLists.txt │ └── example │ │ ├── main │ │ └── CMakeLists.txt │ │ └── partitions.csv ├── led │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ └── idf_component.yml ├── lp5817 │ ├── CMakeLists.txt │ └── example │ │ ├── main │ │ └── CMakeLists.txt │ │ ├── sdkconfig.defaults │ │ └── CMakeLists.txt ├── nvs │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── partitions.csv │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ └── idf_component.yml ├── odrive_ascii │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── sdkconfig.defaults │ │ ├── sdkconfig.defaults.esp32s3 │ │ └── CMakeLists.txt │ └── CMakeLists.txt ├── pcf85063 │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ └── README.md ├── ping │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── sdkconfig.defaults.esp32s3 │ │ ├── partitions.csv │ │ ├── sdkconfig.defaults │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── idf_component.yml ├── qtpy │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ └── Kconfig ├── rmt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ └── idf_component.yml ├── serialization │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── idf_component.yml ├── t-deck │ ├── example │ │ └── main │ │ │ ├── click.wav │ │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── Kconfig ├── task │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── sdkconfig.defaults │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── idf_component.yml ├── wifi │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── sdkconfig.defaults.esp32s3 │ │ ├── partitions.csv │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ └── idf_component.yml ├── ads1x15 │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── CMakeLists.txt ├── ads7138 │ ├── CMakeLists.txt │ └── example │ │ ├── main │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults ├── adxl345 │ ├── CMakeLists.txt │ └── example │ │ ├── main │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults ├── as5600 │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── CMakeLists.txt ├── aw9523 │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── idf_component.yml ├── bm8563 │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ ├── README.md │ └── idf_component.yml ├── byte90 │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── Kconfig ├── chsc6x │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── README.md ├── color │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── sdkconfig.defaults │ │ └── CMakeLists.txt │ └── idf_component.yml ├── cst816 │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── README.md ├── drv2605 │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── sdkconfig.defaults │ │ └── sdkconfig.defaults.esp32s3 │ └── CMakeLists.txt ├── esp-box │ ├── example │ │ └── main │ │ │ ├── click.wav │ │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── Kconfig ├── filters │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ └── include │ │ ├── lowpass_filter_formatters.hpp │ │ ├── simple_lowpass_filter_formatters.hpp │ │ └── transfer_function_formatters.hpp ├── ft5x06 │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── README.md ├── gt911 │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── README.md ├── hid-rp │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── partitions.csv │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ ├── include │ │ ├── gamepad_hat.hpp │ │ └── hid │ │ │ └── page │ │ │ └── camera.hpp │ └── idf_component.yml ├── icm20948 │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── CMakeLists.txt ├── icm42607 │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ └── CMakeLists.txt ├── interrupt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ ├── src │ │ └── interrupt.cpp │ ├── CMakeLists.txt │ └── idf_component.yml ├── joystick │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ └── idf_component.yml ├── kts1622 │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── README.md ├── led_strip │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ ├── src │ │ └── led_strip.cpp │ └── idf_component.yml ├── lsm6dso │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── CMakeLists.txt ├── max1704x │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── CMakeLists.txt ├── mcp23x17 │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── README.md ├── monitor │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── CMakeLists.txt ├── mt6701 │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── CMakeLists.txt ├── neopixel │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ └── README.md ├── qmi8658 │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ └── CMakeLists.txt ├── qwiicnes │ ├── CMakeLists.txt │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ ├── README.md │ └── idf_component.yml ├── runqueue │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── CMakeLists.txt ├── rx8130ce │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── idf_component.yml ├── socket │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── partitions.csv │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ └── include │ │ ├── socket_formatters.hpp │ │ └── socket_msvc.hpp ├── st25dv │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── partitions.csv │ │ └── sdkconfig.defaults │ └── CMakeLists.txt ├── thermistor │ ├── CMakeLists.txt │ └── example │ │ ├── main │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults ├── timer │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ ├── CMakeLists.txt │ └── idf_component.yml ├── tla2528 │ ├── CMakeLists.txt │ └── example │ │ ├── main │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults ├── tt21100 │ ├── CMakeLists.txt │ └── example │ │ ├── main │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults ├── vl53l │ ├── CMakeLists.txt │ └── example │ │ ├── main │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults ├── base_peripheral │ ├── CMakeLists.txt │ └── idf_component.yml ├── bldc_haptics │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── include │ │ └── haptic_config.hpp ├── bldc_motor │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ └── CMakeLists.txt ├── controller │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── CMakeLists.txt ├── event_manager │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults │ └── CMakeLists.txt ├── gfps_service │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── partitions.csv │ └── src │ │ ├── gfps_service.cpp │ │ └── nearby_battery.cpp ├── hid_service │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ └── partitions.csv │ └── CMakeLists.txt ├── motorgo-mini │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── Kconfig ├── state_machine │ ├── example │ │ ├── main │ │ │ ├── CMakeLists.txt │ │ │ ├── Complex_metadata.json │ │ │ └── Complex_event_data.hpp │ │ └── sdkconfig.defaults │ └── CMakeLists.txt ├── t-dongle-s3 │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── Kconfig ├── t_keyboard │ ├── CMakeLists.txt │ └── example │ │ ├── main │ │ └── CMakeLists.txt │ │ └── sdkconfig.defaults ├── wrover-kit │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ └── CMakeLists.txt ├── ws-s3-geek │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── Kconfig ├── ws-s3-lcd-1-47 │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── Kconfig ├── ws-s3-touch │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ └── CMakeLists.txt ├── ble_gatt_server │ ├── example │ │ ├── main │ │ │ └── CMakeLists.txt │ │ ├── partitions.csv │ │ └── sdkconfig.defaults.esp32s3 │ └── CMakeLists.txt ├── display_drivers │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ └── CMakeLists.txt ├── esp32-timer-cam │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── Kconfig ├── ina226 │ ├── CMakeLists.txt │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ └── README.md ├── m5stack-tab5 │ ├── example │ │ ├── main │ │ │ ├── click.wav │ │ │ └── CMakeLists.txt │ │ └── partitions.csv │ ├── CMakeLists.txt │ └── Kconfig ├── pi4ioe5v │ ├── CMakeLists.txt │ └── example │ │ └── main │ │ ├── CMakeLists.txt │ │ └── Kconfig.projbuild ├── matouch-rotary-display │ ├── example │ │ └── main │ │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── Kconfig ├── seeed-studio-round-display │ ├── example │ │ └── main │ │ │ ├── CMakeLists.txt │ │ │ └── Kconfig.projbuild │ ├── CMakeLists.txt │ └── Kconfig ├── codec │ ├── CMakeLists.txt │ └── idf_component.yml └── display │ ├── CMakeLists.txt │ └── README.md ├── python ├── requirements.txt ├── support_loader.py └── task.py ├── .gitattributes ├── pc ├── build.sh └── build.ps1 ├── suppressions.txt ├── .pre-commit-config.yaml └── docker_build_docs.sh /lib/.gitignore: -------------------------------------------------------------------------------- 1 | env/ 2 | -------------------------------------------------------------------------------- /lib/python_bindings/espp/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /doc/.gitignore: -------------------------------------------------------------------------------- 1 | _build/ 2 | __pycache__/ 3 | -------------------------------------------------------------------------------- /doc/sphinx-known-warnings.txt: -------------------------------------------------------------------------------- 1 | Duplicate ID 2 | -------------------------------------------------------------------------------- /components/binary-log/example/.gitignore: -------------------------------------------------------------------------------- 1 | log.* 2 | -------------------------------------------------------------------------------- /components/file_system/example/files/file1.txt: -------------------------------------------------------------------------------- 1 | hello world! 2 | -------------------------------------------------------------------------------- /components/file_system/example/files/dir1/file3.txt: -------------------------------------------------------------------------------- 1 | hello world! 2 | -------------------------------------------------------------------------------- /components/file_system/example/files/dir2/file4.txt: -------------------------------------------------------------------------------- 1 | hello world! 2 | -------------------------------------------------------------------------------- /components/file_system/example/files/dir3/file5.txt: -------------------------------------------------------------------------------- 1 | hello world! 2 | -------------------------------------------------------------------------------- /lib/requirements.txt: -------------------------------------------------------------------------------- 1 | litgen@git+https://github.com/pthom/litgen 2 | -------------------------------------------------------------------------------- /components/binary-log/src/binary-log.cpp: -------------------------------------------------------------------------------- 1 | #include "binary-log.hpp" 2 | -------------------------------------------------------------------------------- /components/file_system/example/files/dir1/sub1/file2.txt: -------------------------------------------------------------------------------- 1 | hello world! 2 | -------------------------------------------------------------------------------- /components/i2c/example/sdkconfig.defaults.new_api: -------------------------------------------------------------------------------- 1 | CONFIG_I2C_USE_NEW_API=y 2 | -------------------------------------------------------------------------------- /components/rtsp/python/requirements.txt: -------------------------------------------------------------------------------- 1 | numpy 2 | opencv-python 3 | zeroconf 4 | -------------------------------------------------------------------------------- /components/i2c/example/sdkconfig.defaults.legacy_api: -------------------------------------------------------------------------------- 1 | CONFIG_I2C_USE_LEGACY_API=y 2 | -------------------------------------------------------------------------------- /doc/en/cli_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/cli/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/cobs_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/cobs/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/csv_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/csv/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/i2c_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/i2c/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/led_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/led/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/nvs_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/nvs/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/pid_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/pid/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/qtpy_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/qtpy/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/rmt_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/rmt/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/rtsp_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/rtsp/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/task_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/task/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /python/requirements.txt: -------------------------------------------------------------------------------- 1 | zeroconf 2 | opencv-python 3 | mss 4 | simplejpeg 5 | cobs 6 | -------------------------------------------------------------------------------- /components/logger/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=4096 2 | -------------------------------------------------------------------------------- /doc/en/adc/adc_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/adc/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/button_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/button/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/byte90_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/byte90/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/color_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/color/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/esp_box_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/esp-box/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/logger_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/logger/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/monitor_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/monitor/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/network/ping_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/ping/example/README.md 2 | ``` -------------------------------------------------------------------------------- /doc/en/t_deck_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/t-deck/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/timer_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/timer/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /components/ndef/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | ) 4 | -------------------------------------------------------------------------------- /components/utils/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | ) 4 | -------------------------------------------------------------------------------- /doc/en/hid/hid-rp_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/hid-rp/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/imu/bmi270_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/bmi270/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/imu/lsm6dso_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/lsm6dso/example/README.md 2 | ``` -------------------------------------------------------------------------------- /doc/en/imu/qmi8658_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/qmi8658/example/README.md 2 | ``` -------------------------------------------------------------------------------- /doc/en/input/gt911_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/gt911/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/interrupt_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/interrupt/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/joystick_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/joystick/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/led_strip_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/led_strip/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/math/math_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/math/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/neopixel_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/neopixel/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/nfc/st25dv_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/st25dv/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/qwiicnes_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/qwiicnes/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/rtc/bm8563_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/bm8563/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/rtc/pcf85063_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/pcf85063/example/README.md 2 | ``` -------------------------------------------------------------------------------- /doc/en/runqueue_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/runqueue/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/tabulate_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/tabulate/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/wifi/wifi_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/wifi/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Normalize EOL for all files that Git considers text files. 2 | * text=auto eol=lf 3 | -------------------------------------------------------------------------------- /doc/en/adc/ads1x15_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/ads1x15/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/adc/ads7138_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/ads7138/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/adc/tla2528_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/tla2528/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/binary_log_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/binary-log/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/controller_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/controller/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/encoder/as5600_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/as5600/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/encoder/mt6701_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/mt6701/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/file_system_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/file_system/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/ftp/ftp_server_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/ftp/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/imu/adxl345_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/adxl345/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/imu/icm20948_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/icm20948/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/imu/icm42607_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/icm42607/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/input/chsc6x_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/chsc6x/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/input/cst816_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/cst816/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/input/ft5x06_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/ft5x06/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/input/tt21100_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/tt21100/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/iperf_menu_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/iperf_menu/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/led_driver/lp5817_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/lp5817/example/README.md 2 | ``` -------------------------------------------------------------------------------- /doc/en/m5stack_tab5_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/m5stack-tab5/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/motorgo_mini_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/motorgo-mini/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/network/socket_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/socket/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/odrive_ascii_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/odrive_ascii/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/rtc/rx8130ce_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/rx8130ce/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/t_dongle_s3_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/t-dongle-s3/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/thermistor_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/thermistor/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/wrover_kit_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/wrover-kit/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/ws_s3_geek_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/ws-s3-geek/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/ws_s3_touch_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/ws-s3-touch/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /components/binary-log/include/binary-log.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | -------------------------------------------------------------------------------- /doc/doxygen-known-warnings.txt: -------------------------------------------------------------------------------- 1 | Internal inconsistency 2 | no uniquely matching class member found for 3 | -------------------------------------------------------------------------------- /doc/en/battery/max1704x_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/max1704x/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/bldc/bldc_motor_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/bldc_motor/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/ble/hid_service_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/hid_service/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/encoder/encoder_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/encoder/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/event_manager_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/event_manager/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/filters/filters_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/filters/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/haptics/drv2605_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/drv2605/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/images/complex-hfsm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/esp-cpp/espp/HEAD/doc/en/images/complex-hfsm.png -------------------------------------------------------------------------------- /doc/en/input/t_keyboard_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/t_keyboard/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/io_expander/aw9523_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/aw9523/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/io_expander/kts1622_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/kts1622/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/serialization_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/serialization/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/state_machine_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/state_machine/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/ws_s3_lcd_1_47_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/ws-s3-lcd-1-47/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /components/cobs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src") 4 | -------------------------------------------------------------------------------- /components/math/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES format) 4 | -------------------------------------------------------------------------------- /doc/en/ble/gfps_service_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/gfps_service/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/distance_sensors/vl53l_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/vl53l/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/esp32_timer_cam_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/esp32-timer-cam/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/io_expander/mcp23x17_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/mcp23x17/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/power/ina226_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/ina226/example/README.md 2 | ``` 3 | 4 | 5 | -------------------------------------------------------------------------------- /lib/espp.cpp: -------------------------------------------------------------------------------- 1 | #include "espp.hpp" 2 | 3 | #ifdef _MSC_VER 4 | #pragma comment(lib, "Ws2_32.lib") 5 | #endif 6 | -------------------------------------------------------------------------------- /pc/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | mkdir build 4 | cd build 5 | cmake .. 6 | cmake --build . --config Release 7 | -------------------------------------------------------------------------------- /components/bldc_driver/src/bldc_driver.cpp: -------------------------------------------------------------------------------- 1 | #include "bldc_driver.hpp" 2 | 3 | int espp::BldcDriver::GROUP_ID = 0; 4 | -------------------------------------------------------------------------------- /components/button/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES interrupt) 4 | -------------------------------------------------------------------------------- /components/csv/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "detail/csv2/include" "include" 3 | ) 4 | -------------------------------------------------------------------------------- /components/format/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "detail/fmt/include" "include" 3 | ) 4 | -------------------------------------------------------------------------------- /components/pid/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES base_component) 4 | -------------------------------------------------------------------------------- /doc/en/ble/ble_gatt_server_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/ble_gatt_server/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/haptics/bldc_haptics_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/bldc_haptics/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /components/base_component/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES logger) 4 | -------------------------------------------------------------------------------- /components/tabulate/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "detail/tabulate/include" "include" 3 | ) 4 | -------------------------------------------------------------------------------- /doc/en/display/display_drivers_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/display_drivers/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/io_expander/pi4ioe5v_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../../components/pi4ioe5v/example/README.md 2 | ``` 3 | 4 | 5 | -------------------------------------------------------------------------------- /doc/en/matouch_rotary_display_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/matouch-rotary-display/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /doc/en/nfc/index.rst: -------------------------------------------------------------------------------- 1 | NFC APIs 2 | ******** 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | ndef 8 | st25dv 9 | -------------------------------------------------------------------------------- /components/adc/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/bmi270/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") -------------------------------------------------------------------------------- /components/cli/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/cobs/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/csv/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/encoder/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES base_component driver) 4 | -------------------------------------------------------------------------------- /components/ftp/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/i2c/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/input_drivers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES base_component ) 4 | -------------------------------------------------------------------------------- /components/iperf_menu/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES format cli iperf) 4 | -------------------------------------------------------------------------------- /components/led/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/lp5817/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/math/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/nvs/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/odrive_ascii/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | SRC_DIRS "." 3 | INCLUDE_DIRS "." 4 | ) 5 | -------------------------------------------------------------------------------- /components/pcf85063/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") -------------------------------------------------------------------------------- /components/pid/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/ping/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/qtpy/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/rmt/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/rtsp/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/serialization/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "detail/alpaca/include" "include" 3 | ) 4 | -------------------------------------------------------------------------------- /components/t-deck/example/main/click.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/esp-cpp/espp/HEAD/components/t-deck/example/main/click.wav -------------------------------------------------------------------------------- /components/task/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/wifi/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/adc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES base_component task esp_adc) 4 | -------------------------------------------------------------------------------- /components/ads1x15/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/ads7138/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/ads7138/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/adxl345/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/as5600/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/aw9523/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/aw9523/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/bm8563/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/button/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/byte90/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/chsc6x/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/chsc6x/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/color/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES format) 5 | -------------------------------------------------------------------------------- /components/color/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/cst816/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/cst816/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/drv2605/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/encoder/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/esp-box/example/main/click.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/esp-cpp/espp/HEAD/components/esp-box/example/main/click.wav -------------------------------------------------------------------------------- /components/filters/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/ft5x06/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/ft5x06/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/gt911/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/gt911/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/hid-rp/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/icm20948/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/icm42607/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/interrupt/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/interrupt/src/interrupt.cpp: -------------------------------------------------------------------------------- 1 | #include "interrupt.hpp" 2 | 3 | bool espp::Interrupt::ISR_SERVICE_INSTALLED = false; 4 | -------------------------------------------------------------------------------- /components/joystick/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/kts1622/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/kts1622/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/led_strip/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/logger/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/lp5817/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/lsm6dso/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/max1704x/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/mcp23x17/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/mcp23x17/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/monitor/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/mt6701/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/neopixel/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/qmi8658/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/qwiicnes/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/qwiicnes/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/rmt/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES base_component driver 4 | ) 5 | -------------------------------------------------------------------------------- /components/runqueue/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/rx8130ce/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/socket/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/st25dv/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/tabulate/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/thermistor/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES base_component math) 4 | -------------------------------------------------------------------------------- /components/timer/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/tla2528/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/tla2528/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/tt21100/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/tt21100/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/vl53l/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/vl53l/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /doc/en/seeed_studio_round_display_example.md: -------------------------------------------------------------------------------- 1 | ```{include} ../../components/seeed-studio-round-display/example/README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /components/base_peripheral/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES base_component pthread) 4 | -------------------------------------------------------------------------------- /components/binary-log/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/bldc_haptics/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/bldc_motor/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/bm8563/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" "utils" 4 | ) 5 | -------------------------------------------------------------------------------- /components/controller/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/drv2605/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" "cli" 4 | ) 5 | -------------------------------------------------------------------------------- /components/event_manager/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/gfps_service/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/hid_service/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/iperf_menu/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/motorgo-mini/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/nvs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "nvs_flash base_component" 4 | ) 5 | -------------------------------------------------------------------------------- /components/pcf85063/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" "utils" 4 | ) -------------------------------------------------------------------------------- /components/qmi8658/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" "math" 4 | ) 5 | -------------------------------------------------------------------------------- /components/serialization/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/st25dv/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" "ndef" 4 | ) 5 | -------------------------------------------------------------------------------- /components/state_machine/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/t-dongle-s3/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/t_keyboard/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | -------------------------------------------------------------------------------- /components/t_keyboard/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/thermistor/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/wrover-kit/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/ws-s3-geek/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/ws-s3-lcd-1-47/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/ws-s3-touch/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /lib/python_bindings/espp/__init__.py: -------------------------------------------------------------------------------- 1 | from espp import * # type: ignore # noqa: F403 2 | from espp import __version__ # noqa: F401 3 | -------------------------------------------------------------------------------- /components/ble_gatt_server/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/display_drivers/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/esp32-timer-cam/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/ftp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES base_component file_system task socket) 4 | -------------------------------------------------------------------------------- /components/hid-rp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" "detail/hid-rp/hid-rp" 3 | REQUIRES "format" 4 | ) 5 | -------------------------------------------------------------------------------- /components/icm42607/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" "math" 4 | ) 5 | -------------------------------------------------------------------------------- /components/ina226/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | 6 | 7 | -------------------------------------------------------------------------------- /components/m5stack-tab5/example/main/click.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/esp-cpp/espp/HEAD/components/m5stack-tab5/example/main/click.wav -------------------------------------------------------------------------------- /components/max1704x/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" "math" 4 | ) 5 | -------------------------------------------------------------------------------- /components/pi4ioe5v/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" 4 | ) 5 | 6 | 7 | -------------------------------------------------------------------------------- /doc/en/led_driver/index.rst: -------------------------------------------------------------------------------- 1 | LED Driver Components 2 | ********************** 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | lp5817 8 | -------------------------------------------------------------------------------- /lib/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | mkdir build 4 | cd build 5 | cmake .. 6 | cmake --build . --config Release --target install --parallel 4 7 | -------------------------------------------------------------------------------- /components/as5600/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" "timer" "task" 4 | ) 5 | -------------------------------------------------------------------------------- /components/bldc_motor/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES base_component math pid task 4 | ) 5 | -------------------------------------------------------------------------------- /components/controller/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES driver base_component joystick 4 | ) 5 | -------------------------------------------------------------------------------- /components/display_drivers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES display driver esp_lcd led 4 | ) 5 | -------------------------------------------------------------------------------- /components/joystick/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES base_component math) 5 | -------------------------------------------------------------------------------- /components/matouch-rotary-display/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /components/monitor/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES base_component task) 5 | -------------------------------------------------------------------------------- /components/mt6701/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "base_peripheral" "timer" "task" 4 | ) 5 | -------------------------------------------------------------------------------- /components/pcf85063/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | # set the functions into IRAM 4 | CONFIG_SPI_MASTER_IN_IRAM=y -------------------------------------------------------------------------------- /components/runqueue/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES base_component task) 5 | -------------------------------------------------------------------------------- /components/task/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES base_component pthread) 5 | -------------------------------------------------------------------------------- /components/bldc_driver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES base_component driver) 5 | -------------------------------------------------------------------------------- /components/event_manager/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES base_component task) 5 | -------------------------------------------------------------------------------- /components/hid_service/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES "esp-nimble-cpp" "base_component" 4 | ) 5 | -------------------------------------------------------------------------------- /components/ina226/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "ina226_example.cpp" 2 | INCLUDE_DIRS ".") 3 | 4 | 5 | -------------------------------------------------------------------------------- /components/led/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES base_component driver task) 5 | -------------------------------------------------------------------------------- /components/odrive_ascii/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES base_component 5 | ) 6 | -------------------------------------------------------------------------------- /components/rtsp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES base_component task socket) 5 | -------------------------------------------------------------------------------- /components/seeed-studio-round-display/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | -------------------------------------------------------------------------------- /doc/en/rtc/index.rst: -------------------------------------------------------------------------------- 1 | RTC APIs 2 | ******** 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | bm8563 8 | pcf85063 9 | rx8130ce 10 | -------------------------------------------------------------------------------- /components/bldc_haptics/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES base_component math pid task bldc_motor 4 | ) 5 | -------------------------------------------------------------------------------- /components/bmi270/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES "base_peripheral" "math" 5 | ) 6 | -------------------------------------------------------------------------------- /components/filters/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES esp_timer format esp-dsp math) 5 | -------------------------------------------------------------------------------- /components/interrupt/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES driver base_component task) 5 | -------------------------------------------------------------------------------- /components/pi4ioe5v/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "pi4ioe5v_example.cpp" 2 | INCLUDE_DIRS ".") 3 | 4 | 5 | -------------------------------------------------------------------------------- /components/socket/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | PRIV_REQUIRES base_component task lwip) 5 | -------------------------------------------------------------------------------- /components/timer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES esp_timer base_component task) 5 | -------------------------------------------------------------------------------- /components/adc/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/ads1x15/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES "base_peripheral" "pthread" 5 | ) 6 | -------------------------------------------------------------------------------- /components/cli/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/cobs/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/csv/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/led/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/led_strip/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES "base_component" "color" 5 | ) 6 | -------------------------------------------------------------------------------- /components/led_strip/src/led_strip.cpp: -------------------------------------------------------------------------------- 1 | #include "led_strip.hpp" 2 | 3 | const std::vector espp::LedStrip::APA102_START_FRAME{0x00, 0x00, 0x00, 0x00}; 4 | -------------------------------------------------------------------------------- /components/lp5817/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_FREERTOS_HZ=1000 2 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 3 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 4 | -------------------------------------------------------------------------------- /components/lsm6dso/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES "base_peripheral" "math" 5 | ) 6 | -------------------------------------------------------------------------------- /components/neopixel/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES base_component color rmt 5 | ) 6 | -------------------------------------------------------------------------------- /components/pid/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/ping/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES "base_component" "cli" "lwip" 5 | ) 6 | -------------------------------------------------------------------------------- /components/state_machine/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "detail/magic_enum/include/magic_enum" "include" 3 | SRC_DIRS "src" 4 | ) 5 | -------------------------------------------------------------------------------- /components/task/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/ads1x15/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/bm8563/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/button/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/color/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/drv2605/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/encoder/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/file_system/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES base_component littlefs spi_flash) 5 | -------------------------------------------------------------------------------- /components/i2c/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | 6 | -------------------------------------------------------------------------------- /components/icm20948/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES "base_peripheral" "math" "utils" 5 | ) 6 | -------------------------------------------------------------------------------- /components/interrupt/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/joystick/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/qwiicnes/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/runqueue/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/rx8130ce/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(INCLUDE_DIRS "include" 2 | REQUIRES base_peripheral 3 | ) 4 | -------------------------------------------------------------------------------- /components/wifi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | PRIV_REQUIRES esp_wifi nvs_flash base_component cli) 5 | -------------------------------------------------------------------------------- /lib/include/wcswidth.h: -------------------------------------------------------------------------------- 1 | #ifndef _WCWIDTH_H 2 | #include 3 | 4 | int wcwidth(wchar_t wc); 5 | int wcswidth(const wchar_t *pwcs, size_t n); 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /components/i2c/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES "driver" "base_component" "cli" "task" 5 | ) 6 | -------------------------------------------------------------------------------- /components/odrive_ascii/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/serialization/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/state_machine/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | -------------------------------------------------------------------------------- /components/cli/src/cli.cpp: -------------------------------------------------------------------------------- 1 | #include "cli.hpp" 2 | 3 | bool espp::Cli::configured_ = false; 4 | espp::Cli::console_handle_t espp::Cli::console_ = {nullptr, nullptr, nullptr}; 5 | -------------------------------------------------------------------------------- /components/ble_gatt_server/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES "esp-nimble-cpp" "base_component" "cli" 5 | ) 6 | -------------------------------------------------------------------------------- /components/esp-box/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS "." 3 | EMBED_TXTFILES click.wav) 4 | -------------------------------------------------------------------------------- /components/state_machine/example/main/Complex_metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "projectID": "guest+Examples", 3 | "timeStamp": "2023-08-08T19:38:25.130Z", 4 | "pluginVersion": "0.1.0" 5 | } -------------------------------------------------------------------------------- /components/t-deck/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS "." 3 | EMBED_TXTFILES click.wav) 4 | -------------------------------------------------------------------------------- /components/m5stack-tab5/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS "." 3 | EMBED_TXTFILES click.wav) -------------------------------------------------------------------------------- /components/logger/src/logger.cpp: -------------------------------------------------------------------------------- 1 | #include "logger.hpp" 2 | 3 | using namespace espp; 4 | 5 | std::chrono::steady_clock::time_point Logger::start_time_ = std::chrono::steady_clock::now(); 6 | -------------------------------------------------------------------------------- /lib/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["scikit-build-core", "pybind11"] 3 | build-backend = "scikit_build_core.build" 4 | 5 | [project] 6 | name = "espp" 7 | version = "0.1.0" 8 | -------------------------------------------------------------------------------- /components/chsc6x/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | # Common ESP-related 4 | # 5 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 6 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 7 | -------------------------------------------------------------------------------- /components/cst816/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | # Common ESP-related 4 | # 5 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 6 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 7 | -------------------------------------------------------------------------------- /components/filters/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | 6 | CONFIG_FREERTOS_HZ=1000 7 | -------------------------------------------------------------------------------- /components/ft5x06/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | # Common ESP-related 4 | # 5 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 6 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 7 | -------------------------------------------------------------------------------- /components/gt911/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | # Common ESP-related 4 | # 5 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 6 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 7 | -------------------------------------------------------------------------------- /components/tt21100/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | # Common ESP-related 4 | # 5 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 6 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 7 | -------------------------------------------------------------------------------- /components/cli/example/sdkconfig.defaults.esp32s2: -------------------------------------------------------------------------------- 1 | # on the ESP32S2, which has native USB, we need to set the console so that the 2 | # CLI can be configured correctly: 3 | CONFIG_ESP_CONSOLE_USB_CDC=y 4 | -------------------------------------------------------------------------------- /components/controller/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | # Common ESP-related 4 | # 5 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 6 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 7 | -------------------------------------------------------------------------------- /components/t_keyboard/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | # Common ESP-related 4 | # 5 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 6 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 7 | -------------------------------------------------------------------------------- /components/cli/example/sdkconfig.defaults.esp32s3: -------------------------------------------------------------------------------- 1 | # on the ESP32S3, which has native USB, we need to set the console so that the 2 | # CLI can be configured correctly: 3 | CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y 4 | -------------------------------------------------------------------------------- /components/i2c/example/sdkconfig.defaults.esp32s3: -------------------------------------------------------------------------------- 1 | # on the ESP32S3, which has native USB, we need to set the console so that the 2 | # CLI can be configured correctly: 3 | CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y 4 | -------------------------------------------------------------------------------- /components/nvs/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | nvs, data, nvs, 0x9000, 0x6000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | factory, app, factory, 0x10000, 1M 5 | -------------------------------------------------------------------------------- /components/ping/example/sdkconfig.defaults.esp32s3: -------------------------------------------------------------------------------- 1 | # on the ESP32S3, which has native USB, we need to set the console so that the 2 | # CLI can be configured correctly: 3 | CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y 4 | -------------------------------------------------------------------------------- /components/wifi/example/sdkconfig.defaults.esp32s3: -------------------------------------------------------------------------------- 1 | # on the ESP32S3, which has native USB, we need to set the console so that the 2 | # CLI can be configured correctly: 3 | CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y 4 | -------------------------------------------------------------------------------- /doc/requirements.txt: -------------------------------------------------------------------------------- 1 | # This is a list of python packages used to generate documentation. This file is used with pip: 2 | # pip install --user -r requirements.txt 3 | # 4 | cairosvg 5 | esp-docs 6 | myst-parser 7 | -------------------------------------------------------------------------------- /components/drv2605/example/sdkconfig.defaults.esp32s3: -------------------------------------------------------------------------------- 1 | # on the ESP32S3, which has native USB, we need to set the console so that the 2 | # CLI can be configured correctly: 3 | CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y 4 | -------------------------------------------------------------------------------- /components/st25dv/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | nvs, data, nvs, 0x9000, 0x6000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | factory, app, factory, 0x10000, 2M 5 | -------------------------------------------------------------------------------- /components/adxl345/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "adxl345_example.cpp" 2 | INCLUDE_DIRS "../../include" "../../../i2c/include" "../../../logger/include" "../../../task/include") -------------------------------------------------------------------------------- /components/ble_gatt_server/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | nvs, data, nvs, 0x9000, 0x6000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | factory, app, factory, 0x10000, 2M 5 | -------------------------------------------------------------------------------- /components/cli/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" "detail/cli/include" 3 | SRC_DIRS "src" 4 | REQUIRES driver esp_driver_uart esp_driver_usb_serial_jtag vfs esp_vfs_console logger) 5 | -------------------------------------------------------------------------------- /components/odrive_ascii/example/sdkconfig.defaults.esp32s3: -------------------------------------------------------------------------------- 1 | # on the ESP32S3, which has native USB, we need to set the console so that the 2 | # CLI can be configured correctly: 3 | CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y 4 | -------------------------------------------------------------------------------- /components/wrover-kit/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES driver base_component display display_drivers task 5 | REQUIRED_IDF_TARGETS "esp32" 6 | ) 7 | -------------------------------------------------------------------------------- /doc/en/math/index.rst: -------------------------------------------------------------------------------- 1 | Math APIs 2 | ********* 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | math_example 8 | bezier 9 | fast_math 10 | gaussian 11 | range_mapper 12 | vector2d 13 | -------------------------------------------------------------------------------- /components/ble_gatt_server/example/sdkconfig.defaults.esp32s3: -------------------------------------------------------------------------------- 1 | # on the ESP32S3, which has native USB, we need to set the console so that the 2 | # CLI can be configured correctly: 3 | CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y 4 | -------------------------------------------------------------------------------- /doc/en/hid/index.rst: -------------------------------------------------------------------------------- 1 | HID APIs 2 | ******** 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | hid-rp 8 | 9 | These components provide interfaces for creating and managing HID reports, 10 | report maps, etc. 11 | -------------------------------------------------------------------------------- /components/adxl345/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_FREERTOS_HZ=1000 2 | 3 | # ESP32-specific 4 | # 5 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 6 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 7 | 8 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 9 | -------------------------------------------------------------------------------- /components/esp32-timer-cam/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES driver adc base_component bm8563 i2c interrupt led math task 5 | REQUIRED_IDF_TARGETS "esp32" 6 | ) 7 | -------------------------------------------------------------------------------- /components/rtsp/src/rtcp_packet.cpp: -------------------------------------------------------------------------------- 1 | #include "rtcp_packet.hpp" 2 | 3 | using namespace espp; 4 | 5 | std::string_view RtcpPacket::get_data() const { 6 | return std::string_view(reinterpret_cast(m_buffer), m_bufferSize); 7 | } 8 | -------------------------------------------------------------------------------- /components/ftp/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | nvs, data, nvs, 0x9000, 0x6000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | factory, app, factory, 0x10000, 2M 5 | littlefs, data, littlefs, , 1M 6 | -------------------------------------------------------------------------------- /components/rtsp/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | nvs, data, nvs, 0x9000, 0x6000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | factory, app, factory, 0x10000, 2M 5 | littlefs, data, spiffs, , 1M 6 | -------------------------------------------------------------------------------- /components/hid-rp/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | nvs, data, nvs, 0x9000, 0x6000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | factory, app, factory, 0x10000, 2M 5 | littlefs, data, spiffs, , 1M 6 | -------------------------------------------------------------------------------- /components/ping/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # ESP-IDF Partition Table 2 | # Name, Type, SubType, Offset, Size, Flags 3 | nvs, data, nvs, 0x9000, 0x6000, 4 | phy_init, data, phy, 0xf000, 0x1000, 5 | factory, app, factory, 0x10000, 1800K, 6 | -------------------------------------------------------------------------------- /components/socket/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # ESP-IDF Partition Table 2 | # Name, Type, SubType, Offset, Size, Flags 3 | nvs, data, nvs, 0x9000, 0x6000, 4 | phy_init, data, phy, 0xf000, 0x1000, 5 | factory, app, factory, 0x10000, 1500K, 6 | -------------------------------------------------------------------------------- /components/wifi/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # ESP-IDF Partition Table 2 | # Name, Type, SubType, Offset, Size, Flags 3 | nvs, data, nvs, 0x9000, 0x6000, 4 | phy_init, data, phy, 0xf000, 0x1000, 5 | factory, app, factory, 0x10000, 1500K, 6 | -------------------------------------------------------------------------------- /doc/en/distance_sensors/index.rst: -------------------------------------------------------------------------------- 1 | Distance Sensor APIs 2 | ******************** 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | vl53l 8 | 9 | Code examples for the Distance Sensor APIs are provided in the respective component folders. 10 | -------------------------------------------------------------------------------- /components/file_system/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | nvs, data, nvs, 0x9000, 0x6000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | factory, app, factory, 0x10000, 2M 5 | littlefs, data, spiffs, , 1M 6 | -------------------------------------------------------------------------------- /components/gfps_service/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | nvs, data, nvs, 0x9000, 0x6000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | factory, app, factory, 0x10000, 2M 5 | littlefs, data, spiffs, , 1M 6 | -------------------------------------------------------------------------------- /components/hid_service/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | nvs, data, nvs, 0x9000, 0x6000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | factory, app, factory, 0x10000, 2M 5 | littlefs, data, spiffs, , 1M 6 | -------------------------------------------------------------------------------- /components/iperf_menu/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # ESP-IDF Partition Table 2 | # Name, Type, SubType, Offset, Size, Flags 3 | nvs, data, nvs, 0x9000, 0x6000, 4 | phy_init, data, phy, 0xf000, 0x1000, 5 | factory, app, factory, 0x10000, 2000K, 6 | -------------------------------------------------------------------------------- /components/m5stack-tab5/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | nvs, data, nvs, 0xa000, 0x6000 3 | phy_init, data, phy, , 0x1000 4 | factory, app, factory, , 4M 5 | littlefs, data, littlefs, , 4M 6 | -------------------------------------------------------------------------------- /doc/en/display/index.rst: -------------------------------------------------------------------------------- 1 | Display APIs 2 | ************ 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | display 8 | display_drivers 9 | 10 | Code examples for the display API are provided in the `display_drivers` example 11 | folder.. 12 | -------------------------------------------------------------------------------- /doc/en/wifi/index.rst: -------------------------------------------------------------------------------- 1 | WiFi APIs 2 | ********* 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | wifi 8 | wifi_ap 9 | wifi_sta 10 | wifi_example 11 | 12 | Code examples for the wifi API are provided in the `wifi` example folder. 13 | -------------------------------------------------------------------------------- /components/motorgo-mini/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES base_component interrupt filters led math mt6701 pid task bldc_driver bldc_motor i2c adc 5 | REQUIRED_IDF_TARGETS "esp32s3" 6 | ) 7 | -------------------------------------------------------------------------------- /components/seeed-studio-round-display/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES driver base_component display display_drivers i2c input_drivers interrupt task chsc6x 5 | REQUIRED_IDF_TARGETS "esp32s3" 6 | ) 7 | -------------------------------------------------------------------------------- /components/esp-box/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES driver base_component codec display display_drivers i2c input_drivers interrupt gt911 task tt21100 icm42607 5 | REQUIRED_IDF_TARGETS "esp32s3" 6 | ) 7 | -------------------------------------------------------------------------------- /components/esp32-timer-cam/Kconfig: -------------------------------------------------------------------------------- 1 | menu "Esp32 TimerCam Configuration" 2 | config ESP_TIMER_CAM_INTERRUPT_STACK_SIZE 3 | int "Interrupt stack size" 4 | default 4096 5 | help 6 | Size of the stack used for the interrupt handler. 7 | endmenu 8 | -------------------------------------------------------------------------------- /components/ws-s3-touch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES driver base_component display display_drivers i2c input_drivers interrupt led cst816 task qmi8658 pcf85063 5 | REQUIRED_IDF_TARGETS "esp32s3" 6 | ) 7 | -------------------------------------------------------------------------------- /components/qtpy/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # only register the component if the target is esp32s3 or esp32 2 | idf_component_register( 3 | INCLUDE_DIRS "include" 4 | SRC_DIRS "src" 5 | REQUIRES base_component i2c neopixel task interrupt 6 | REQUIRED_IDF_TARGETS "esp32s3" "esp32" 7 | ) 8 | -------------------------------------------------------------------------------- /doc/en/power/index.rst: -------------------------------------------------------------------------------- 1 | Power Monitoring APIs 2 | ********************* 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | ina226 8 | 9 | The power monitoring section contains components related to measuring voltage, 10 | current, and power on a system. 11 | 12 | 13 | -------------------------------------------------------------------------------- /components/qtpy/Kconfig: -------------------------------------------------------------------------------- 1 | menu "QtPy Configuration" 2 | config QTPY_INTERRUPT_STACK_SIZE 3 | int "Interrupt stack size" 4 | default 4096 5 | help 6 | Size of the stack used for the interrupt handler. Used by the 7 | button callback. 8 | endmenu 9 | -------------------------------------------------------------------------------- /doc/en/imu/index.rst: -------------------------------------------------------------------------------- 1 | IMU APIs 2 | ******** 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | adxl345 8 | bmi270 9 | icm20948 10 | icm42607 11 | lsm6dso 12 | qmi8658 13 | 14 | Code examples for the IMU APIs are provided in the respective component folders. 15 | -------------------------------------------------------------------------------- /components/binary-log/example/partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size 2 | nvs, data, nvs, 0x9000, 0x6000 3 | phy_init, data, phy, 0xf000, 0x1000 4 | factory, app, factory, 0x10000, 2M 5 | coredump, data, coredump, , 256K 6 | littlefs, data, spiffs, , 1M 7 | -------------------------------------------------------------------------------- /components/byte90/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # only register the component if the target is esp32s3 2 | idf_component_register( 3 | INCLUDE_DIRS "include" 4 | SRC_DIRS "src" 5 | REQUIRES driver adxl345 base_component display display_drivers i2c interrupt task 6 | REQUIRED_IDF_TARGETS "esp32s3" 7 | ) 8 | -------------------------------------------------------------------------------- /doc/en/input/index.rst: -------------------------------------------------------------------------------- 1 | Input APIs 2 | ********** 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | chsc6x 8 | cst816 9 | ft5x06 10 | gt911 11 | tt21100 12 | t_keyboard 13 | encoder_input 14 | keypad_input 15 | pointer_input 16 | touchpad_input 17 | -------------------------------------------------------------------------------- /components/esp-box/Kconfig: -------------------------------------------------------------------------------- 1 | menu "Esp-Box Configuration" 2 | config ESP_BOX_INTERRUPT_STACK_SIZE 3 | int "Interrupt stack size" 4 | default 4096 5 | help 6 | Size of the stack used for the interrupt handler. Used by the touch 7 | callback. 8 | endmenu 9 | -------------------------------------------------------------------------------- /components/format/README.md: -------------------------------------------------------------------------------- 1 | # Format Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/format/badge.svg)](https://components.espressif.com/components/espp/format) 4 | 5 | Format is a simple component which exposes `libfmt` for use within esp-idf as a 6 | single include. 7 | 8 | -------------------------------------------------------------------------------- /components/ws-s3-geek/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # only register the component if the target is esp32s3 2 | idf_component_register( 3 | INCLUDE_DIRS "include" 4 | SRC_DIRS "src" 5 | REQUIRES driver fatfs base_component display display_drivers i2c interrupt task 6 | REQUIRED_IDF_TARGETS "esp32s3" 7 | ) 8 | -------------------------------------------------------------------------------- /doc/en/adc/index.rst: -------------------------------------------------------------------------------- 1 | ADC APIs 2 | ******** 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | ads1x15 8 | ads7138 9 | oneshot_adc 10 | continuous_adc 11 | tla2528 12 | adc_types 13 | 14 | Code examples for the ADC API are provided in the respective component folders. 15 | -------------------------------------------------------------------------------- /doc/en/ftp/index.rst: -------------------------------------------------------------------------------- 1 | FTP APIs 2 | ******** 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | ftp_server 8 | 9 | FTP can be used to transfer files between computers. ESPP currently provides an 10 | implementation of the FTP server side. The FTP client side is not yet 11 | implemented. 12 | -------------------------------------------------------------------------------- /suppressions.txt: -------------------------------------------------------------------------------- 1 | // category of errors to suppress, e.g. unusedFunction 2 | missingInclude 3 | missingIncludeSystem 4 | unusedFunction 5 | unusedStructMember 6 | functionStatic 7 | cstyleCast 8 | 9 | // Specific suppressions of the form: 10 | // [error id]:[filename]:[line] 11 | *:lib/* 12 | -------------------------------------------------------------------------------- /components/codec/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | SRC_DIRS 3 | "es7210" 4 | "es8311" 5 | "es8388" 6 | INCLUDE_DIRS 7 | "es7210" 8 | "es8311" 9 | "es8388" 10 | "include" 11 | REQUIRES 12 | driver 13 | ) 14 | -------------------------------------------------------------------------------- /components/m5stack-tab5/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | SRC_DIRS "src" 4 | REQUIRES driver esp_lcd fatfs base_component bmi270 codec display display_drivers gt911 i2c ina226 input_drivers interrupt pi4ioe5v rx8130ce task 5 | REQUIRED_IDF_TARGETS "esp32p4" 6 | ) 7 | -------------------------------------------------------------------------------- /components/t-dongle-s3/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # only register the component if the target is esp32s3 2 | idf_component_register( 3 | INCLUDE_DIRS "include" 4 | SRC_DIRS "src" 5 | REQUIRES driver fatfs base_component display display_drivers i2c interrupt led_strip task 6 | REQUIRED_IDF_TARGETS "esp32s3" 7 | ) 8 | -------------------------------------------------------------------------------- /components/ws-s3-lcd-1-47/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # only register the component if the target is esp32s3 2 | idf_component_register( 3 | INCLUDE_DIRS "include" 4 | SRC_DIRS "src" 5 | REQUIRES driver fatfs base_component display display_drivers i2c interrupt task neopixel 6 | REQUIRED_IDF_TARGETS "esp32s3" 7 | ) 8 | -------------------------------------------------------------------------------- /components/format/include/format.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #define FMT_HEADER_ONLY 6 | #include 7 | #include 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | -------------------------------------------------------------------------------- /components/math/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_FREERTOS_HZ=1000 2 | 3 | # ESP32-specific 4 | # 5 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 6 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 7 | 8 | # Common ESP-related 9 | # 10 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 11 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 12 | -------------------------------------------------------------------------------- /components/motorgo-mini/Kconfig: -------------------------------------------------------------------------------- 1 | menu "MotorGo Mini Configuration" 2 | config MOTORGO_MINI_INTERRUPT_STACK_SIZE 3 | int "Interrupt stack size" 4 | default 4096 5 | help 6 | Size of the stack used for the interrupt handler. Used by the 7 | button callback. 8 | endmenu 9 | -------------------------------------------------------------------------------- /components/t-dongle-s3/Kconfig: -------------------------------------------------------------------------------- 1 | menu "T-Dongle-S3 Configuration" 2 | config T_DONGLE_S3_INTERRUPT_STACK_SIZE 3 | int "Interrupt stack size" 4 | default 4096 5 | help 6 | Size of the stack used for the interrupt handler. Used by the 7 | button callback. 8 | endmenu 9 | -------------------------------------------------------------------------------- /components/ws-s3-geek/Kconfig: -------------------------------------------------------------------------------- 1 | menu "Waveshare S3 Geek Configuration" 2 | config WS_S3_GEEK_INTERRUPT_STACK_SIZE 3 | int "Interrupt stack size" 4 | default 4096 5 | help 6 | Size of the stack used for the interrupt handler. Used by the 7 | button callback. 8 | endmenu 9 | -------------------------------------------------------------------------------- /components/aw9523/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_FREERTOS_HZ=1000 2 | 3 | # ESP32-specific 4 | # 5 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 6 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 7 | 8 | # Common ESP-related 9 | # 10 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 11 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 12 | -------------------------------------------------------------------------------- /components/kts1622/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_FREERTOS_HZ=1000 2 | 3 | # ESP32-specific 4 | # 5 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 6 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 7 | 8 | # Common ESP-related 9 | # 10 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 11 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 12 | -------------------------------------------------------------------------------- /components/max1704x/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_FREERTOS_HZ=1000 2 | 3 | # ESP32-specific 4 | # 5 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 6 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 7 | 8 | # Common ESP-related 9 | # 10 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 11 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 12 | -------------------------------------------------------------------------------- /components/nvs/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | # Common ESP-related 3 | # 4 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 5 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 6 | 7 | # Partition Table 8 | CONFIG_PARTITION_TABLE_CUSTOM=y 9 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 10 | -------------------------------------------------------------------------------- /components/pi4ioe5v/example/main/Kconfig.projbuild: -------------------------------------------------------------------------------- 1 | menu "PI4IOE5V Example Configuration" 2 | 3 | config EXAMPLE_I2C_SDA_GPIO 4 | int "I2C SDA GPIO" 5 | range 0 50 6 | default 21 7 | 8 | config EXAMPLE_I2C_SCL_GPIO 9 | int "I2C SCL GPIO" 10 | range 0 50 11 | default 22 12 | 13 | endmenu 14 | 15 | 16 | -------------------------------------------------------------------------------- /components/thermistor/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | 6 | CONFIG_FREERTOS_HZ=1000 7 | 8 | # ESP32-specific 9 | # 10 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 11 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 12 | -------------------------------------------------------------------------------- /components/byte90/Kconfig: -------------------------------------------------------------------------------- 1 | menu "Byte90 Configuration" 2 | config BYTE90_INTERRUPT_STACK_SIZE 3 | int "Interrupt stack size" 4 | default 4096 5 | help 6 | Size of the stack used for the interrupt handler. Shared by the 7 | keyboard callback and the touch callback. 8 | endmenu 9 | -------------------------------------------------------------------------------- /components/t-deck/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # only register the component if the target is esp32s3 2 | idf_component_register( 3 | INCLUDE_DIRS "include" 4 | SRC_DIRS "src" 5 | REQUIRES driver base_component display display_drivers fatfs i2c input_drivers interrupt gt911 task t_keyboard 6 | REQUIRED_IDF_TARGETS "esp32s3" 7 | ) 8 | -------------------------------------------------------------------------------- /components/t-deck/Kconfig: -------------------------------------------------------------------------------- 1 | menu "T-Deck Configuration" 2 | config TDECK_INTERRUPT_STACK_SIZE 3 | int "Interrupt stack size" 4 | default 4096 5 | help 6 | Size of the stack used for the interrupt handler. Shared by the 7 | keyboard callback and the touch callback. 8 | endmenu 9 | -------------------------------------------------------------------------------- /components/event_manager/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_FREERTOS_HZ=1000 2 | 3 | # ESP32-specific 4 | # 5 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 6 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 7 | 8 | 9 | # Common ESP-related 10 | # 11 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 12 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 13 | -------------------------------------------------------------------------------- /components/file_system/example/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRC_DIRS "." 2 | INCLUDE_DIRS ".") 3 | 4 | # Note: you must have a partition named the first argument (here it's "littlefs") 5 | # in your partition table csv file. 6 | littlefs_create_partition_image(littlefs ../files FLASH_IN_PROJECT) 7 | -------------------------------------------------------------------------------- /components/ws-s3-lcd-1-47/Kconfig: -------------------------------------------------------------------------------- 1 | menu "Waveshare S3 LCD 1.47 Configuration" 2 | config WS_S3_LCD_1_47_INTERRUPT_STACK_SIZE 3 | int "Interrupt stack size" 4 | default 4096 5 | help 6 | Size of the stack used for the interrupt handler. Used by the 7 | button callback. 8 | endmenu 9 | -------------------------------------------------------------------------------- /components/matouch-rotary-display/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # only register the component if the target is esp32s3 2 | idf_component_register( 3 | INCLUDE_DIRS "include" 4 | SRC_DIRS "src" 5 | REQUIRES driver base_component cst816 encoder display display_drivers i2c input_drivers interrupt task 6 | REQUIRED_IDF_TARGETS "esp32s3" 7 | ) 8 | -------------------------------------------------------------------------------- /components/file_system/Kconfig.projbuild: -------------------------------------------------------------------------------- 1 | menu "ESPP File System Configuration" 2 | 3 | config ESPP_FILE_SYSTEM_PARTITION_LABEL 4 | string "Partition Label" 5 | default "littlefs" 6 | help 7 | The partition label of the littlefs file system as configured in partitions.csv. 8 | 9 | endmenu 10 | -------------------------------------------------------------------------------- /doc/en/battery/index.rst: -------------------------------------------------------------------------------- 1 | Battery APIs 2 | ************ 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | max1704x 8 | 9 | These components provide a common interface to battery devices. They provide 10 | functions for monitoring the battery level and charging status, and for 11 | configuring the battery charging parameters. 12 | -------------------------------------------------------------------------------- /components/ftp/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | 6 | CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y 7 | 8 | # 9 | # Partition Table 10 | # 11 | CONFIG_PARTITION_TABLE_CUSTOM=y 12 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 13 | -------------------------------------------------------------------------------- /components/rtsp/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | 6 | CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y 7 | 8 | # 9 | # Partition Table 10 | # 11 | CONFIG_PARTITION_TABLE_CUSTOM=y 12 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 13 | -------------------------------------------------------------------------------- /components/state_machine/example/main/Complex_event_data.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace espp::state_machine::Complex { 4 | struct ENDEVENTEventData {}; 5 | struct EVENT1EventData {}; 6 | struct EVENT2EventData {}; 7 | struct EVENT3EventData {}; 8 | struct EVENT4EventData {}; 9 | 10 | }; // namespace espp::state_machine::Complex 11 | -------------------------------------------------------------------------------- /python/support_loader.py: -------------------------------------------------------------------------------- 1 | try: 2 | import espp 3 | except ImportError: 4 | import os 5 | import sys 6 | dirpath = os.path.dirname(os.path.realpath(__file__)) 7 | sys.path.append(dirpath + "/../lib/pc") 8 | import espp 9 | else: 10 | print("espp imported") 11 | 12 | print("Imported espp from: ", espp.__file__) 13 | -------------------------------------------------------------------------------- /components/as5600/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | CONFIG_FREERTOS_HZ=1000 4 | 5 | # ESP32-specific 6 | # 7 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 8 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 9 | 10 | # Common ESP-related 11 | # 12 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 13 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 14 | -------------------------------------------------------------------------------- /components/file_system/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | 6 | CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y 7 | 8 | # 9 | # Partition Table 10 | # 11 | CONFIG_PARTITION_TABLE_CUSTOM=y 12 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 13 | -------------------------------------------------------------------------------- /components/matouch-rotary-display/Kconfig: -------------------------------------------------------------------------------- 1 | menu "Matouch Rotary Display Configuration" 2 | config MATOUCH_INTERRUPT_STACK_SIZE 3 | int "Interrupt stack size" 4 | default 4096 5 | help 6 | Size of the stack used for the interrupt handler. Shared by the 7 | button callback and the touch callbacks. 8 | endmenu 9 | -------------------------------------------------------------------------------- /components/mt6701/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | CONFIG_FREERTOS_HZ=1000 4 | 5 | # ESP32-specific 6 | # 7 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 8 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 9 | 10 | # Common ESP-related 11 | # 12 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 13 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 14 | -------------------------------------------------------------------------------- /components/ndef/README.md: -------------------------------------------------------------------------------- 1 | # NDEF (NFC Data Exchange Format) Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/ndef/badge.svg)](https://components.espressif.com/components/espp/ndef) 4 | 5 | The `NDEF` component provides a utility class for dealing with NFC Data Exchange 6 | Format (NDEF) records, which are used by NFC Tags. 7 | 8 | -------------------------------------------------------------------------------- /components/rmt/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | CONFIG_FREERTOS_HZ=1000 4 | 5 | # ESP32-specific 6 | # 7 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 8 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 9 | 10 | # Common ESP-related 11 | # 12 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 13 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 14 | -------------------------------------------------------------------------------- /components/seeed-studio-round-display/Kconfig: -------------------------------------------------------------------------------- 1 | menu "Seeed Studio Round Display Configuration" 2 | config SEEED_STUDIO_ROUND_DISPLAY_INTERRUPT_STACK_SIZE 3 | int "Interrupt stack size" 4 | default 4096 5 | help 6 | Size of the stack used for the interrupt handler. Used by the touch 7 | callback. 8 | endmenu 9 | -------------------------------------------------------------------------------- /components/tla2528/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32" 2 | 3 | # Common ESP-related 4 | # 5 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 6 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 7 | 8 | CONFIG_FREERTOS_HZ=1000 9 | 10 | # ESP32-specific 11 | # 12 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 13 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 14 | -------------------------------------------------------------------------------- /components/utils/README.md: -------------------------------------------------------------------------------- 1 | # Utilities Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/utils/badge.svg)](https://components.espressif.com/components/espp/utils) 4 | 5 | The `utils` component provides some small, independent utilities which can help 6 | reduce boilerplate code and provide functionality not present in std c++. 7 | -------------------------------------------------------------------------------- /components/ads7138/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | # Common ESP-related 4 | # 5 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 6 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 7 | 8 | CONFIG_FREERTOS_HZ=1000 9 | 10 | # ESP32-specific 11 | # 12 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 13 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 14 | -------------------------------------------------------------------------------- /components/mcp23x17/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | CONFIG_FREERTOS_HZ=1000 4 | 5 | # ESP32-specific 6 | # 7 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 8 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 9 | 10 | # Common ESP-related 11 | # 12 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 13 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 14 | -------------------------------------------------------------------------------- /doc/en/math/vector2d.rst: -------------------------------------------------------------------------------- 1 | Vector2d 2 | ******** 3 | 4 | The `Vector2d` provides a container for a 2-dimensional vector with associated 5 | math operations implemented. 6 | 7 | .. ---------------------------- API Reference ---------------------------------- 8 | 9 | API Reference 10 | ------------- 11 | 12 | .. include-build-file:: inc/vector2d.inc 13 | -------------------------------------------------------------------------------- /doc/en/nfc/ndef.rst: -------------------------------------------------------------------------------- 1 | NDEF 2 | **** 3 | 4 | The `NDEF` component provides a utility class for dealing with NFC Data Exchange 5 | Format (NDEF) records, which are used by NFC Tags. 6 | 7 | .. ---------------------------- API Reference ---------------------------------- 8 | 9 | API Reference 10 | ------------- 11 | 12 | .. include-build-file:: inc/ndef.inc 13 | -------------------------------------------------------------------------------- /doc/en/io_expander/index.rst: -------------------------------------------------------------------------------- 1 | IO Expander APIs 2 | **************** 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | aw9523 8 | pi4ioe5v 9 | kts1622 10 | mcp23x17 11 | 12 | There are several different types of I/O expanders provided which are standalone 13 | components for interacting with I/O expander chips over a serial interface such 14 | as I2C. 15 | -------------------------------------------------------------------------------- /components/display/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | INCLUDE_DIRS "include" 3 | REQUIRES driver led lvgl base_component task) 4 | # lvgl generates deprecated enum-enum conversion warnings, suppress them 5 | target_compile_options(${COMPONENT_LIB} INTERFACE "-Wno-deprecated-enum-enum-conversion") 6 | add_definitions(-DLV_CONF_INCLUDE_SIMPLE) 7 | include_directories(include) 8 | -------------------------------------------------------------------------------- /components/display/README.md: -------------------------------------------------------------------------------- 1 | # Display Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/display/badge.svg)](https://components.espressif.com/components/espp/display) 4 | 5 | The `display` component is responsible for managing the memory associated the 6 | display buffer / video RAM (vram). It ensures that the LVGL subsystem is 7 | configured appropriately. 8 | -------------------------------------------------------------------------------- /components/logger/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if (ESP_PLATFORM) 2 | # set component requirements for ESP32 3 | set(COMPONENT_REQUIRES "format esp_timer log") 4 | else() 5 | # set component requirements for generic 6 | set(COMPONENT_REQUIRES "format") 7 | endif() 8 | 9 | idf_component_register( 10 | INCLUDE_DIRS "include" 11 | SRC_DIRS "src" 12 | REQUIRES ${COMPONENT_REQUIRES}) 13 | -------------------------------------------------------------------------------- /doc/en/adc/adc_types.rst: -------------------------------------------------------------------------------- 1 | ADC Types 2 | ********* 3 | 4 | Simple container for data associated with an ADC channel configuration, 5 | including the unit, the channel, and the attenuation desired. 6 | 7 | .. ---------------------------- API Reference ---------------------------------- 8 | 9 | API Reference 10 | ------------- 11 | 12 | .. include-build-file:: inc/adc_types.inc 13 | -------------------------------------------------------------------------------- /doc/en/math/range_mapper.rst: -------------------------------------------------------------------------------- 1 | Range Mapper 2 | ************ 3 | 4 | The `RangeMapper` provides a class which allows you to map from a configurable 5 | input range to a standardized output range of [-1,1]. 6 | 7 | .. ---------------------------- API Reference ---------------------------------- 8 | 9 | API Reference 10 | ------------- 11 | 12 | .. include-build-file:: inc/range_mapper.inc 13 | -------------------------------------------------------------------------------- /doc/Dockerfile: -------------------------------------------------------------------------------- 1 | # esp-docs doesn't currently support 3.12 (see https://github.com/espressif/esp-docs/issues/9) 2 | FROM python:3.13 3 | 4 | WORKDIR /usr/src/app 5 | 6 | # update apt-get 7 | RUN apt-get update 8 | 9 | # install doxygen 10 | RUN apt-get install -y doxygen graphviz texlive-full pandoc 11 | 12 | COPY requirements.txt ./ 13 | 14 | RUN pip install --no-cache-dir -r requirements.txt 15 | -------------------------------------------------------------------------------- /doc/en/encoder/encoder_types.rst: -------------------------------------------------------------------------------- 1 | Encoder Types 2 | ************* 3 | 4 | Type definitions for the different kinds of encoders supported. Used as template 5 | specialization parameters when constructing encoders. 6 | 7 | .. ---------------------------- API Reference ---------------------------------- 8 | 9 | API Reference 10 | ------------- 11 | 12 | .. include-build-file:: inc/encoder_types.inc 13 | -------------------------------------------------------------------------------- /components/tabulate/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_COMPILER_OPTIMIZATION_PERF=y 2 | # CONFIG_COMPILER_OPTIMIZATION_SIZE=y 3 | 4 | CONFIG_FREERTOS_HZ=1000 5 | 6 | # ESP32-specific 7 | # 8 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 9 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 10 | 11 | 12 | # Common ESP-related 13 | # 14 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 15 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=10240 16 | -------------------------------------------------------------------------------- /doc/en/ble/battery_service.rst: -------------------------------------------------------------------------------- 1 | Battery Service 2 | *************** 3 | 4 | The `BatteryService` implements the standard BLE battery service, providing 5 | battery state information from a BLE peripheral to a BLE central. 6 | 7 | .. ---------------------------- API Reference ---------------------------------- 8 | 9 | API Reference 10 | ------------- 11 | 12 | .. include-build-file:: inc/battery_service.inc 13 | -------------------------------------------------------------------------------- /components/ft5x06/README.md: -------------------------------------------------------------------------------- 1 | # FT5x06 I2C Touch Controller Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/ft5x06/badge.svg)](https://components.espressif.com/components/espp/ft5x06) 4 | 5 | The FT5x06 is a capacitive touch controller that supports up to 5 touch points. 6 | 7 | ## Example 8 | 9 | This [example](./example) demonstrates how to use the FT5x06 touch controller driver. 10 | -------------------------------------------------------------------------------- /doc/en/encoder/index.rst: -------------------------------------------------------------------------------- 1 | Encoder APIs 2 | ************ 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | abi_encoder 8 | encoder_types 9 | as5600 10 | mt6701 11 | 12 | There are several different types of encoders provided, some within the encoder 13 | component directly, as well as some that are standalone components for 14 | interacting with encoder chips over a serial interface such as I2C. 15 | -------------------------------------------------------------------------------- /doc/en/filters/simple_lowpass.rst: -------------------------------------------------------------------------------- 1 | Simple Lowpass Filter 2 | ********************* 3 | 4 | The `SimpleLowpassFilter` class provides an implementation of a simple moving 5 | average filter with a configurable time constant. 6 | 7 | .. ---------------------------- API Reference ---------------------------------- 8 | 9 | API Reference 10 | ------------- 11 | 12 | .. include-build-file:: inc/simple_lowpass_filter.inc 13 | -------------------------------------------------------------------------------- /doc/en/input/pointer_input.rst: -------------------------------------------------------------------------------- 1 | Pointer Input 2 | ************* 3 | 4 | Pointer input provides a light and configurable wrapper around lvgl input device 5 | driver - specifically designed for mice, with configurable cursor icons. 6 | 7 | .. ---------------------------- API Reference ---------------------------------- 8 | 9 | API Reference 10 | ------------- 11 | 12 | .. include-build-file:: inc/pointer_input.inc 13 | -------------------------------------------------------------------------------- /doc/en/display/display.rst: -------------------------------------------------------------------------------- 1 | Display 2 | ******* 3 | 4 | The `display` component is responsible for managing the memory associated the 5 | display buffer / video RAM (vram). It ensures that the LVGL subsystem is 6 | configured appropriately. 7 | 8 | .. ---------------------------- API Reference ---------------------------------- 9 | 10 | API Reference 11 | ------------- 12 | 13 | .. include-build-file:: inc/display.inc 14 | -------------------------------------------------------------------------------- /doc/en/filters/transfer_function.rst: -------------------------------------------------------------------------------- 1 | Transfer Function API 2 | ********************* 3 | 4 | The `TransferFunction` struct provides a simple container for storing the A and 5 | B coefficients for an N-th order transfer function. 6 | 7 | .. ---------------------------- API Reference ---------------------------------- 8 | 9 | API Reference 10 | ------------- 11 | 12 | .. include-build-file:: inc/transfer_function.inc 13 | -------------------------------------------------------------------------------- /components/qtpy/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | CONFIG_FREERTOS_HZ=1000 4 | 5 | # ESP32-specific 6 | # 7 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 8 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 9 | 10 | CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y 11 | CONFIG_ESPTOOLPY_FLASHSIZE="4MB" 12 | 13 | # Common ESP-related 14 | # 15 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 16 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 17 | -------------------------------------------------------------------------------- /doc/en/haptics/index.rst: -------------------------------------------------------------------------------- 1 | Haptics APIs 2 | ************ 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | bldc_haptics 8 | drv2605 9 | 10 | There are multiple components which provide haptic feedback functionality, 11 | ranging from haptics driven using BLDC motors to specific peripheral drivers 12 | designed for directly driving ERM (eccentric rotating mass) and LRA (linear 13 | resonant actuator) haptic motors. 14 | -------------------------------------------------------------------------------- /components/led_strip/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | CONFIG_FREERTOS_HZ=1000 4 | 5 | # ESP32-specific 6 | # 7 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 8 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 9 | 10 | CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y 11 | CONFIG_ESPTOOLPY_FLASHSIZE="4MB" 12 | 13 | # Common ESP-related 14 | # 15 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 16 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 17 | -------------------------------------------------------------------------------- /components/neopixel/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | CONFIG_FREERTOS_HZ=1000 4 | 5 | # ESP32-specific 6 | # 7 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 8 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 9 | 10 | CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y 11 | CONFIG_ESPTOOLPY_FLASHSIZE="4MB" 12 | 13 | # Common ESP-related 14 | # 15 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 16 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 17 | -------------------------------------------------------------------------------- /components/ping/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # CONFIG_ESP32_WIFI_NVS_ENABLED=n 2 | 3 | CONFIG_PARTITION_TABLE_CUSTOM=y 4 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 5 | CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" 6 | CONFIG_PARTITION_TABLE_OFFSET=0x8000 7 | CONFIG_PARTITION_TABLE_MD5=y 8 | 9 | # Common ESP-related 10 | # 11 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 12 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 13 | -------------------------------------------------------------------------------- /components/wifi/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # CONFIG_ESP32_WIFI_NVS_ENABLED=n 2 | 3 | CONFIG_PARTITION_TABLE_CUSTOM=y 4 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 5 | CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" 6 | CONFIG_PARTITION_TABLE_OFFSET=0x8000 7 | CONFIG_PARTITION_TABLE_MD5=y 8 | 9 | # Common ESP-related 10 | # 11 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 12 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 13 | -------------------------------------------------------------------------------- /components/socket/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # CONFIG_ESP32_WIFI_NVS_ENABLED=n 2 | 3 | CONFIG_PARTITION_TABLE_CUSTOM=y 4 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 5 | CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" 6 | CONFIG_PARTITION_TABLE_OFFSET=0x8000 7 | CONFIG_PARTITION_TABLE_MD5=y 8 | 9 | # Common ESP-related 10 | # 11 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 12 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 13 | -------------------------------------------------------------------------------- /doc/en/ble/device_info_service.rst: -------------------------------------------------------------------------------- 1 | Device Info Service 2 | ******************* 3 | 4 | The `DeviceInfoService` implements the standard BLE device information service, 5 | providing device information from a BLE peripheral to a BLE central. 6 | 7 | .. ---------------------------- API Reference ---------------------------------- 8 | 9 | API Reference 10 | ------------- 11 | 12 | .. include-build-file:: inc/device_info_service.inc 13 | -------------------------------------------------------------------------------- /doc/en/filters/index.rst: -------------------------------------------------------------------------------- 1 | Filter APIs 2 | *********** 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | filters_example 8 | biquad 9 | butterworth 10 | complementary 11 | kalman 12 | lowpass 13 | madgwick 14 | simple_lowpass 15 | sos 16 | transfer_function 17 | 18 | There are several different types of filters provided, as well as some base 19 | classes from which to build more generic filters. 20 | -------------------------------------------------------------------------------- /components/hid-rp/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | # on the ESP32S3, which has native USB, we need to set the console so that the 4 | # CLI can be configured correctly: 5 | CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y 6 | 7 | # Common ESP-related 8 | # 9 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 10 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 11 | 12 | CONFIG_FREERTOS_HZ=1000 13 | 14 | CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y 15 | -------------------------------------------------------------------------------- /components/utils/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "Utilities component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/utils" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | tags: 9 | - cpp 10 | - Component 11 | - Utilities 12 | dependencies: 13 | idf: 14 | version: '>=5.0' 15 | -------------------------------------------------------------------------------- /components/hid-rp/include/gamepad_hat.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace espp { 6 | namespace gamepad { 7 | /// Possible Hat switch directions 8 | enum class Hat : std::uint8_t { 9 | CENTERED = 0x0f, ///< Centered, no direction pressed. 10 | UP = 1, 11 | UP_RIGHT, 12 | RIGHT, 13 | DOWN_RIGHT, 14 | DOWN, 15 | DOWN_LEFT, 16 | LEFT, 17 | UP_LEFT 18 | }; 19 | } // namespace gamepad 20 | } // namespace espp 21 | -------------------------------------------------------------------------------- /components/ping/example/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.20) 2 | 3 | set(ENV{IDF_COMPONENT_MANAGER} "0") 4 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 5 | 6 | set(EXTRA_COMPONENT_DIRS 7 | "../../../components/" 8 | ) 9 | 10 | set( 11 | COMPONENTS 12 | "main esptool_py cli ping wifi" 13 | CACHE STRING 14 | "List of components to include" 15 | ) 16 | 17 | project(ping_example) 18 | 19 | set(CMAKE_CXX_STANDARD 20) 20 | -------------------------------------------------------------------------------- /doc/en/input/encoder_input.rst: -------------------------------------------------------------------------------- 1 | Encoder Input 2 | ************* 3 | 4 | Encoder input provides a light and configurable wrapper around lvgl input 5 | device driver - specifically designed for encoders, which have a single 6 | incremental input and a single button. 7 | 8 | .. ---------------------------- API Reference ---------------------------------- 9 | 10 | API Reference 11 | ------------- 12 | 13 | .. include-build-file:: inc/encoder_input.inc 14 | -------------------------------------------------------------------------------- /doc/en/network/socket.rst: -------------------------------------------------------------------------------- 1 | Sockets 2 | ******* 3 | 4 | The socket provides the base abstraction around the socket file descriptor and 5 | includes some initialization, cleanup, and conversion utilities. 6 | 7 | The socket class is subclassed into UdpSocket and TcpSocket. 8 | 9 | .. ---------------------------- API Reference ---------------------------------- 10 | 11 | API Reference 12 | ------------- 13 | 14 | .. include-build-file:: inc/socket.inc 15 | -------------------------------------------------------------------------------- /components/lp5817/example/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.20) 2 | 3 | set(ENV{IDF_COMPONENT_MANAGER} "0") 4 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 5 | 6 | set(EXTRA_COMPONENT_DIRS 7 | "../../../components/" 8 | ) 9 | 10 | set( 11 | COMPONENTS 12 | "main esptool_py task i2c lp5817" 13 | CACHE STRING 14 | "List of components to include" 15 | ) 16 | 17 | project(lp5817_example) 18 | 19 | set(CMAKE_CXX_STANDARD 20) 20 | -------------------------------------------------------------------------------- /doc/en/input/touchpad_input.rst: -------------------------------------------------------------------------------- 1 | Touchpad Input 2 | ************** 3 | 4 | Touchpad input provides a light and configurable wrapper around lvgl input 5 | device driver - specifically designed for touch panels, with an optional home 6 | button (part of the touch panel). 7 | 8 | .. ---------------------------- API Reference ---------------------------------- 9 | 10 | API Reference 11 | ------------- 12 | 13 | .. include-build-file:: inc/touchpad_input.inc 14 | -------------------------------------------------------------------------------- /doc/en/math/bezier.rst: -------------------------------------------------------------------------------- 1 | Bezier 2 | ****** 3 | 4 | The `bezier` header provides a templated implementation of cubic bezier curves 5 | and rational cubic bezier curves. Intended use for these templated functions is 6 | on raw floating point values or on the associated Vector2d class. 7 | 8 | .. ---------------------------- API Reference ---------------------------------- 9 | 10 | API Reference 11 | ------------- 12 | 13 | .. include-build-file:: inc/bezier.inc 14 | -------------------------------------------------------------------------------- /doc/en/filters/biquad.rst: -------------------------------------------------------------------------------- 1 | Biquad Filter 2 | ************* 3 | 4 | The `BiquadFilter` class provides an implementation of a `Digital Biequad Filter 5 | `_ with implementations for 6 | both the `Direct Form 1` and `Direct Form 2`. 7 | 8 | .. ---------------------------- API Reference ---------------------------------- 9 | 10 | API Reference 11 | ------------- 12 | 13 | .. include-build-file:: inc/biquad_filter.inc 14 | -------------------------------------------------------------------------------- /doc/en/network/udp_socket.rst: -------------------------------------------------------------------------------- 1 | UDP Sockets 2 | *********** 3 | 4 | UDP sockets provide unreliable, unordered communication over IP network sockets. 5 | 6 | UDP sockets can be used in unicast (point to point), multicast (one to many and 7 | many to one), and broadcast (one to all). 8 | 9 | .. ---------------------------- API Reference ---------------------------------- 10 | 11 | API Reference 12 | ------------- 13 | 14 | .. include-build-file:: inc/udp_socket.inc 15 | -------------------------------------------------------------------------------- /doc/en/ble/index.rst: -------------------------------------------------------------------------------- 1 | BLE APIs 2 | ******** 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | battery_service 8 | ble_gatt_server 9 | ble_gatt_server_example 10 | device_info_service 11 | generic_access_service 12 | gfps_service 13 | gfps_service_example 14 | hid_service 15 | hid_service_example 16 | 17 | These components provide some interfaces for implementing a BLE peripheral - 18 | namely a BLE GATT Server hosting various services. 19 | -------------------------------------------------------------------------------- /doc/en/input/gt911.rst: -------------------------------------------------------------------------------- 1 | GT911 Touch Controller 2 | ********************** 3 | 4 | The `Gt911` class provides an interface to the GT911 touch controller. 5 | 6 | .. ------------------------------- Example ------------------------------------- 7 | 8 | .. toctree:: 9 | 10 | gt911_example 11 | 12 | .. ---------------------------- API Reference ---------------------------------- 13 | 14 | API Reference 15 | ------------- 16 | 17 | .. include-build-file:: inc/gt911.inc 18 | -------------------------------------------------------------------------------- /doc/en/filters/butterworth.rst: -------------------------------------------------------------------------------- 1 | Butterworth Filter 2 | ****************** 3 | 4 | The `ButterworthFilter` class provides an implementation of a `Digital 5 | Butterworth Filter `_, 6 | implemented as biquad sections (second order sections). 7 | 8 | .. ---------------------------- API Reference ---------------------------------- 9 | 10 | API Reference 11 | ------------- 12 | 13 | .. include-build-file:: inc/butterworth_filter.inc 14 | -------------------------------------------------------------------------------- /doc/en/input/chsc6x.rst: -------------------------------------------------------------------------------- 1 | CHSC6X Touch Controller 2 | *********************** 3 | 4 | The `Chsc6x` class provides an interface to the CHSC6X touch controller. 5 | 6 | .. ------------------------------- Example ------------------------------------- 7 | 8 | .. toctree:: 9 | 10 | chsc6x_example 11 | 12 | .. ---------------------------- API Reference ---------------------------------- 13 | 14 | API Reference 15 | ------------- 16 | 17 | .. include-build-file:: inc/chsc6x.inc 18 | -------------------------------------------------------------------------------- /doc/en/input/cst816.rst: -------------------------------------------------------------------------------- 1 | CST816 Touch Controller 2 | *********************** 3 | 4 | The `Cst816` class provides an interface to the CST816 touch controller. 5 | 6 | .. ------------------------------- Example ------------------------------------- 7 | 8 | .. toctree:: 9 | 10 | cst816_example 11 | 12 | .. ---------------------------- API Reference ---------------------------------- 13 | 14 | API Reference 15 | ------------- 16 | 17 | .. include-build-file:: inc/cst816.inc 18 | -------------------------------------------------------------------------------- /doc/en/network/ping.rst: -------------------------------------------------------------------------------- 1 | Ping 2 | **** 3 | 4 | The `Ping` component provides a C++ wrapper around `esp_ping`, including a simple 5 | CLI menu for running ping tests. 6 | 7 | .. ------------------------------- Example ------------------------------------- 8 | 9 | .. toctree:: 10 | 11 | ping_example 12 | 13 | .. ---------------------------- API Reference ---------------------------------- 14 | 15 | API Reference 16 | ------------- 17 | 18 | .. include-build-file:: inc/ping.inc 19 | -------------------------------------------------------------------------------- /python/task.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import time 3 | 4 | from support_loader import espp 5 | 6 | start = time.time() 7 | def task_func(): 8 | global start 9 | elapsed = time.time() - start 10 | print(f"[{elapsed:.3f}] Hello from task") 11 | time.sleep(.5) 12 | return False # we don't want to stop the task 13 | 14 | task = espp.Task( 15 | task_func, 16 | espp.Task.BaseConfig("test task") 17 | ) 18 | task.start() 19 | 20 | time.sleep(5) 21 | 22 | sys.exit(0) 23 | -------------------------------------------------------------------------------- /components/bldc_haptics/include/haptic_config.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace espp::detail { 6 | /// @brief Configuration for the haptic feedback 7 | struct HapticConfig { 8 | float strength; ///< Strength of the haptic feedback 9 | float frequency; ///< Frequency of the haptic feedback 10 | std::chrono::duration duration; ///< Duration of the haptic feedback 11 | }; 12 | } // namespace espp::detail 13 | -------------------------------------------------------------------------------- /doc/en/bldc/bldc_driver.rst: -------------------------------------------------------------------------------- 1 | BLDC Driver 2 | *********** 3 | 4 | The `BldcDriver` component wraps around the `ESP MCPWM Peripheral 5 | `_ 6 | to provide full 6 PWM control over a 3 phase brushless dc motor. 7 | 8 | .. ---------------------------- API Reference ---------------------------------- 9 | 10 | API Reference 11 | ------------- 12 | 13 | .. include-build-file:: inc/bldc_driver.inc 14 | -------------------------------------------------------------------------------- /doc/en/input/ft5x06.rst: -------------------------------------------------------------------------------- 1 | FT5x06 Touch Controller 2 | *********************** 3 | 4 | The FT5x06 is a capacitive touch controller that supports up to 5 touch points. 5 | 6 | .. ------------------------------- Example ------------------------------------- 7 | 8 | .. toctree:: 9 | 10 | ft5x06_example 11 | 12 | .. ---------------------------- API Reference ---------------------------------- 13 | 14 | API Reference 15 | ------------- 16 | 17 | .. include-build-file:: inc/ft5x06.inc 18 | -------------------------------------------------------------------------------- /components/monitor/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_FREERTOS_USE_TRACE_FACILITY=y 2 | CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y 3 | 4 | CONFIG_COMPILER_OPTIMIZATION_PERF=y 5 | # CONFIG_COMPILER_OPTIMIZATION_SIZE=y 6 | 7 | CONFIG_FREERTOS_HZ=1000 8 | 9 | # ESP32-specific 10 | # 11 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 12 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 13 | 14 | # Common ESP-related 15 | # 16 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 17 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=16384 18 | -------------------------------------------------------------------------------- /components/bm8563/README.md: -------------------------------------------------------------------------------- 1 | # BM8563 Real-Time Clock (RTC) Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/bm8563/badge.svg)](https://components.espressif.com/components/espp/bm8563) 4 | 5 | The `Bm8563` component provides a driver for the Bm8563 RTC chip to be able to 6 | set and query the clock time using a battery-backed up real-time clock (RTC). 7 | 8 | ## Example 9 | 10 | The [example](./example) shows how to use the BM8563 RTC driver to set and get 11 | the time. 12 | -------------------------------------------------------------------------------- /components/kts1622/README.md: -------------------------------------------------------------------------------- 1 | # KTS1622 I2C I/O Expander 2 | 3 | [![Badge](https://components.espressif.com/components/espp/kts1622/badge.svg)](https://components.espressif.com/components/espp/kts1622) 4 | 5 | The `KTS1622` I/O expander component allows the user to configure inputs, 6 | outputs, interrupts, etc. via a serial interface such as I2C. 7 | 8 | ## Example 9 | 10 | This example shows how to use the `Kts1622` component to communicate (via I2C) 11 | with an KTS1622 I2C digital IO expander. 12 | -------------------------------------------------------------------------------- /components/logger/README.md: -------------------------------------------------------------------------------- 1 | # Logger Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/logger/badge.svg)](https://components.espressif.com/components/espp/logger) 4 | 5 | The logger provides a cross-platform wrapper around `libfmt` for providing 6 | configurable log output with different levels that can be turned on / off at 7 | runtime. 8 | 9 | ## Example 10 | 11 | The [example](./example) shows how to use the `logger` component to format and 12 | log data to the console. 13 | 14 | -------------------------------------------------------------------------------- /components/m5stack-tab5/Kconfig: -------------------------------------------------------------------------------- 1 | menu "M5Stack Tab5 Configuration" 2 | config M5STACK_TAB5_INTERRUPT_STACK_SIZE 3 | int "Interrupt stack size" 4 | default 4096 5 | help 6 | Size of the stack used for the interrupt handler. Used by the touch 7 | callback and other interrupt handlers. 8 | 9 | config M5STACK_TAB5_AUDIO_TASK_STACK_SIZE 10 | int "Audio task stack size" 11 | default 8192 12 | help 13 | Size of the stack used for the audio processing task. 14 | 15 | endmenu 16 | -------------------------------------------------------------------------------- /components/neopixel/README.md: -------------------------------------------------------------------------------- 1 | # Neopixel Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/neopixel/badge.svg)](https://components.espressif.com/components/espp/neopixel) 4 | 5 | The `Neopixel` component provides APIs to control Neopixels. It uses an RMT 6 | driver (via the `Rmt` component) to talk to WS2812, WS2811, WS2813, SK6812, etc. 7 | LED strips. 8 | 9 | ## Example 10 | 11 | The [example](./example) shows the use of the `Neopixel` class to control a an RGB 12 | LED (WS2812). 13 | -------------------------------------------------------------------------------- /doc/en/qwiicnes.rst: -------------------------------------------------------------------------------- 1 | QwiicNES 2 | ******** 3 | 4 | The `Qwiicnes` component provides a driver for the `SparkFun Qwiic NES Controller `_. 5 | 6 | .. ------------------------------- Example ------------------------------------- 7 | 8 | .. toctree:: 9 | 10 | qwiicnes_example 11 | 12 | .. ---------------------------- API Reference ---------------------------------- 13 | 14 | API Reference 15 | ------------- 16 | 17 | .. include-build-file:: inc/qwiicnes.inc 18 | -------------------------------------------------------------------------------- /pc/build.ps1: -------------------------------------------------------------------------------- 1 | # powershell script to build the project using cmake 2 | 3 | # Create build directory if it doesn't exist 4 | $buildDir = "build" 5 | if (-not (Test-Path -Path $buildDir)) { 6 | New-Item -ItemType Directory -Path $buildDir 7 | } 8 | 9 | # Change to the build directory 10 | Set-Location -Path $buildDir 11 | 12 | # Run cmake 13 | cmake .. 14 | 15 | # Run cmake --build . --config Release 16 | cmake --build . --config Release 17 | 18 | # Change back to the original directory 19 | Set-Location -Path .. 20 | -------------------------------------------------------------------------------- /components/odrive_ascii/example/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.20) 2 | 3 | set(ENV{IDF_COMPONENT_MANAGER} "0") 4 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 5 | 6 | set(EXTRA_COMPONENT_DIRS 7 | "${CMAKE_CURRENT_LIST_DIR}/../.." 8 | ) 9 | 10 | set( 11 | COMPONENTS 12 | "main esptool_py esp_driver_uart esp_driver_usb_serial_jtag vfs odrive_ascii" 13 | CACHE STRING 14 | "List of components to include" 15 | ) 16 | 17 | project(odrive_ascii_example) 18 | 19 | set(CMAKE_CXX_STANDARD 20) 20 | -------------------------------------------------------------------------------- /doc/en/math/gaussian.rst: -------------------------------------------------------------------------------- 1 | Gaussian 2 | ******** 3 | 4 | The `gaussian` class provides an implementation of the gaussian function: 5 | 6 | .. math:: 7 | 8 | y(t)= \alpha e^{ -\frac{ (t-\beta)^2 }{ 2\gamma^2 } } 9 | 10 | The class allows for dynamically changing the :math:`\alpha`, :math:`\beta`, and 11 | :math:`\gamma` parameters. 12 | 13 | .. ---------------------------- API Reference ---------------------------------- 14 | 15 | API Reference 16 | ------------- 17 | 18 | .. include-build-file:: inc/gaussian.inc 19 | -------------------------------------------------------------------------------- /components/mcp23x17/README.md: -------------------------------------------------------------------------------- 1 | # MCP23x17 I/O Expander 2 | 3 | [![Badge](https://components.espressif.com/components/espp/mcp23x17/badge.svg)](https://components.espressif.com/components/espp/mcp23x17) 4 | 5 | The `MCP23x17` I/O expander component allows the user to configure inputs, 6 | outputs, interrupts, etc. via a serial interface such as SPI or I2C. 7 | 8 | ## Example 9 | 10 | The [example](./example) shows how to communicate with an MCP23017 I2C digital 11 | I/O exapander using the `espp::Mcp23x17` component. 12 | 13 | -------------------------------------------------------------------------------- /doc/en/input/keypad_input.rst: -------------------------------------------------------------------------------- 1 | Keypad Input 2 | ************ 3 | 4 | Keypad input provides a light and configurable wrapper around lvgl input device 5 | driver - specifically designed for use with a keypad, which is typically a 6 | matrix of buttons, typically containing buttons such as LEFT, RIGHT, UP, DOWN, 7 | ENTER, ESCAPE, etc. 8 | 9 | 10 | .. ---------------------------- API Reference ---------------------------------- 11 | 12 | API Reference 13 | ------------- 14 | 15 | .. include-build-file:: inc/keypad_input.inc 16 | -------------------------------------------------------------------------------- /components/qwiicnes/README.md: -------------------------------------------------------------------------------- 1 | # QwiicNES Peripheral Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/qwiicnes/badge.svg)](https://components.espressif.com/components/espp/qwiicnes) 4 | 5 | The `Qwiicnes` component provides a driver for the [SparkFun Qwiic NES 6 | Controller](https://www.sparkfun.com/products/retired/18038). 7 | 8 | ## Example 9 | 10 | The [example](./example) demonstrates the use of the QwiicNES component to read 11 | the state of a NES controller and print it to the serial console. 12 | -------------------------------------------------------------------------------- /doc/en/network/tcp_socket.rst: -------------------------------------------------------------------------------- 1 | TCP Sockets 2 | *********** 3 | 4 | TCP sockets provide reliable, ordered communication over IP network sockets and 5 | have built-in protocols for handling packet acknowledgement as well as 6 | transmission speed / bandwidth adjustment. 7 | 8 | TCP sockets cannot be used with multicast (many to one, one to many). 9 | 10 | .. ---------------------------- API Reference ---------------------------------- 11 | 12 | API Reference 13 | ------------- 14 | 15 | .. include-build-file:: inc/tcp_socket.inc 16 | -------------------------------------------------------------------------------- /components/encoder/include/encoder_types.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace espp { 4 | /** 5 | * @brief The types allowed for encoders. Used as template parameters for 6 | * specialization and some std::enable_if around various encoder 7 | * functionality. 8 | */ 9 | enum class EncoderType { 10 | LINEAR, /**< Linear encoder, can only output raw count values. */ 11 | ROTATIONAL /**< Rotation encoder, can output raw count values as well as rotations, radians, and 12 | degrees. */ 13 | }; 14 | } // namespace espp 15 | -------------------------------------------------------------------------------- /components/ndef/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "NDEF (NFC Data Exchange Format) component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/ndef" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/nfc/ndef.html" 9 | tags: 10 | - cpp 11 | - Component 12 | - NFC 13 | - NDEF 14 | dependencies: 15 | idf: 16 | version: '>=5.0' 17 | -------------------------------------------------------------------------------- /components/timer/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # Common ESP-related 2 | # 3 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 4 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 5 | 6 | # Enable support for power management 7 | # NOTE: if you enable this the USB serial will not work in light sleep mode 8 | # CONFIG_PM_ENABLE=y 9 | # auto configure dynamic frequency scaling on boot (using default freq as max) 10 | # CONFIG_PM_DFS_INIT_AUTO=y 11 | # Enable tickless idle mode (NOTE: this is required for PM_ENABLE) 12 | # CONFIG_FREERTOS_USE_TICKLESS_IDLE=y 13 | -------------------------------------------------------------------------------- /doc/en/bldc/index.rst: -------------------------------------------------------------------------------- 1 | BLDC APIs 2 | ********* 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | bldc_driver 8 | bldc_motor 9 | 10 | These components provide interfaces by which the user can control brushless DC 11 | (BLDC) motors. The driver component(s) implement the low-level voltage / pwm 12 | output to the motor directly, where the motor component(s) implement the 13 | open-loop or closed-loop control algorithms - using the driver. 14 | 15 | Code examples for the BLDC API are provided in the `bldc_motor` example folder. 16 | -------------------------------------------------------------------------------- /components/gfps_service/src/gfps_service.cpp: -------------------------------------------------------------------------------- 1 | #include "gfps_service.hpp" 2 | 3 | #if CONFIG_BT_NIMBLE_ENABLED || defined(_DOXYGEN_) 4 | 5 | const std::string espp::GfpsService::MODEL_ID_UUID = "fe2c1233-8366-4814-8eb0-01de32100bea"; 6 | const std::string espp::GfpsService::KB_PAIRING_UUID = "fe2c1234-8366-4814-8eb0-01de32100bea"; 7 | const std::string espp::GfpsService::PASSKEY_UUID = "fe2c1235-8366-4814-8eb0-01de32100bea"; 8 | const std::string espp::GfpsService::ACCOUNT_KEY_UUID = "fe2c1236-8366-4814-8eb0-01de32100bea"; 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /components/base_component/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "A C++ base component class for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/base_component" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/base_component.html" 9 | tags: 10 | - cpp 11 | - Component 12 | dependencies: 13 | idf: 14 | version: '>=5.0' 15 | espp/logger: '>=1.0' 16 | -------------------------------------------------------------------------------- /doc/en/adc/ads1x15.rst: -------------------------------------------------------------------------------- 1 | ADS1x15 I2C ADC 2 | *************** 3 | 4 | The `ADS1x15` provides a class for communicating with the ADS1x15 (ADS1015 and 5 | ADS1115) family of I2C ADC chips with configurable gain and sampling rate. 6 | 7 | .. ------------------------------- Example ------------------------------------- 8 | 9 | .. toctree:: 10 | 11 | ads1x15_example 12 | 13 | .. ---------------------------- API Reference ---------------------------------- 14 | 15 | API Reference 16 | ------------- 17 | 18 | .. include-build-file:: inc/ads1x15.inc 19 | -------------------------------------------------------------------------------- /doc/en/imu/qmi8658.rst: -------------------------------------------------------------------------------- 1 | QMI8658 6-Axis IMU 2 | ******************* 3 | 4 | The `Qmi8658` component provides a driver for the QMI8658 6-Axis 5 | Inertial Measurement Units (IMUs). 6 | 7 | .. ------------------------------- Example ------------------------------------- 8 | 9 | .. toctree:: 10 | 11 | qmi8658_example 12 | 13 | .. ---------------------------- API Reference ---------------------------------- 14 | 15 | API Reference 16 | ------------- 17 | 18 | .. include-build-file:: inc/qmi8658.inc 19 | .. include-build-file:: inc/qmi8658_detail.inc -------------------------------------------------------------------------------- /doc/en/led_driver/lp5817.rst: -------------------------------------------------------------------------------- 1 | LP5817 RGB LED Driver 2 | ********************* 3 | 4 | The `LP5817` RGB LED driver component allows control of 3 LED channels via I2C 5 | with 8-bit brightness and programmable fade (ramp) timing. 6 | 7 | .. ------------------------------- Example ------------------------------------- 8 | 9 | .. toctree:: 10 | 11 | lp5817_example 12 | 13 | .. ---------------------------- API Reference ---------------------------------- 14 | 15 | API Reference 16 | ------------- 17 | 18 | .. include-build-file:: inc/lp5817.inc 19 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | repos: 2 | - repo: https://github.com/pre-commit/mirrors-clang-format 3 | rev: v14.0.6 4 | hooks: 5 | - id: clang-format 6 | exclude: | 7 | (?x)( 8 | ^components/esp-dsp/| 9 | ^components/esp_littlefs/| 10 | ^components/lvgl/| 11 | ^components/state_machine/include/magic_enum.hpp| 12 | ^external/alpaca/| 13 | ^external/cli/| 14 | ^external/csv2/| 15 | ^external/fmt/ 16 | ) 17 | types_or: [c++, c] 18 | -------------------------------------------------------------------------------- /components/pcf85063/README.md: -------------------------------------------------------------------------------- 1 | # PCF85063 Example 2 | 3 | [![Badge](https://components.espressif.com/components/espp/pcf85063/badge.svg)](https://components.espressif.com/components/espp/pcf85063) 4 | 5 | The `pcf85063` component provides a driver for the PCF85063 Real Time Clock (RTC). 6 | 7 | It supports configuring and reading the time, setting alarms, and using the timer functionality. 8 | 9 | ## Example 10 | 11 | The [example](./example) shows how to use the `espp::Pcf85063` component to initialize and 12 | communicate with the PCF85063 RTC. 13 | -------------------------------------------------------------------------------- /doc/en/io_expander/kts1622.rst: -------------------------------------------------------------------------------- 1 | KTS1622 I/O Expander 2 | ********************* 3 | 4 | The `KTS1622` I/O expander component allows the user to configure inputs, 5 | outputs, interrupts, etc. via a serial interface such as I2C. 6 | 7 | .. ------------------------------- Example ------------------------------------- 8 | 9 | .. toctree:: 10 | 11 | kts1622_example 12 | 13 | .. ---------------------------- API Reference ---------------------------------- 14 | 15 | API Reference 16 | ------------- 17 | 18 | .. include-build-file:: inc/kts1622.inc 19 | -------------------------------------------------------------------------------- /components/vl53l/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | CONFIG_FREERTOS_HZ=1000 4 | 5 | # set compiler optimization level to -O2 (compile for performance) 6 | CONFIG_COMPILER_OPTIMIZATION_PERF=y 7 | 8 | # ESP32-specific 9 | # 10 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 11 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 12 | 13 | # Common ESP-related 14 | # 15 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 16 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=16384 17 | 18 | # Set esp-timer task stack size to 6KB 19 | CONFIG_ESP_TIMER_TASK_STACK_SIZE=6144 20 | -------------------------------------------------------------------------------- /doc/en/filters/lowpass.rst: -------------------------------------------------------------------------------- 1 | Lowpass Filter 2 | ************** 3 | 4 | The `LowpassFilter` class provides an implementation of a digial lowpass 5 | infinite impulse response (IIR) filter, which leverages the hardware 6 | acceleration provided by `esp-dsp `_ and 7 | which leverages the vector instructions on the espressif processors. 8 | 9 | .. ---------------------------- API Reference ---------------------------------- 10 | 11 | API Reference 12 | ------------- 13 | 14 | .. include-build-file:: inc/lowpass_filter.inc 15 | -------------------------------------------------------------------------------- /doc/en/imu/icm20948.rst: -------------------------------------------------------------------------------- 1 | ICM20948 9-Axis IMU 2 | ******************* 3 | 4 | The `Icm20948` component provides a driver for the ICM20948 9-Axis Inertial 5 | Measurement Unit (IMU). 6 | 7 | .. ------------------------------- Example ------------------------------------- 8 | 9 | .. toctree:: 10 | 11 | icm20948_example 12 | 13 | .. ---------------------------- API Reference ---------------------------------- 14 | 15 | API Reference 16 | ------------- 17 | 18 | .. include-build-file:: inc/icm20948.inc 19 | .. include-build-file:: inc/icm20948_detail.inc 20 | -------------------------------------------------------------------------------- /components/chsc6x/README.md: -------------------------------------------------------------------------------- 1 | # CHSC6X I2C Touch Controller Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/chsc6x/badge.svg)](https://components.espressif.com/components/espp/chsc6x) 4 | 5 | The `Chsc6x` class provides an interface to the CHSC6X touch controller. It 6 | provides methods for querying the touchpad data to see where the user is 7 | touching. 8 | 9 | # Example 10 | 11 | The [example](./example) shows how to use the CHSC6X touch controller with ESP32. It is 12 | designed to run on a Seeed Studio Round Display. 13 | 14 | -------------------------------------------------------------------------------- /components/format/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "C++ Component wrapping libfmt for esp-idf" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/format" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/logger.html#format" 9 | tags: 10 | - cpp 11 | - Component 12 | - libfmt 13 | - Formatting 14 | - Logging 15 | dependencies: 16 | idf: 17 | version: '>=5.0' 18 | -------------------------------------------------------------------------------- /doc/en/io_expander/mcp23x17.rst: -------------------------------------------------------------------------------- 1 | MCP23x17 I/O Expander 2 | ********************* 3 | 4 | The `MCP23x17` I/O expander component allows the user to configure inputs, 5 | outputs, interrupts, etc. via a serial interface such as SPI or I2C. 6 | 7 | .. ------------------------------- Example ------------------------------------- 8 | 9 | .. toctree:: 10 | 11 | mcp23x17_example 12 | 13 | .. ---------------------------- API Reference ---------------------------------- 14 | 15 | API Reference 16 | ------------- 17 | 18 | .. include-build-file:: inc/mcp23x17.inc 19 | -------------------------------------------------------------------------------- /doc/en/io_expander/pi4ioe5v.rst: -------------------------------------------------------------------------------- 1 | PI4IOE5V I/O Expander 2 | ********************* 3 | 4 | The `Pi4ioe5v` I/O expander component allows the user to configure inputs, 5 | outputs, polarity inversion, and internal pulls via I2C. 6 | 7 | .. ------------------------------- Example ------------------------------------- 8 | 9 | .. toctree:: 10 | 11 | pi4ioe5v_example 12 | 13 | .. ---------------------------- API Reference ---------------------------------- 14 | 15 | API Reference 16 | ------------- 17 | 18 | .. include-build-file:: inc/pi4ioe5v.inc 19 | 20 | 21 | -------------------------------------------------------------------------------- /lib/python_bindings/module.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define STRINGIFY(x) #x 4 | #define MACRO_STRINGIFY(x) STRINGIFY(x) 5 | 6 | namespace py = pybind11; 7 | 8 | void py_init_module_espp(py::module &m); 9 | 10 | // This builds the native python module `espp` 11 | // it will be wrapped in a standard python module `espp` 12 | PYBIND11_MODULE(espp, m) { 13 | #ifdef VERSION_INFO 14 | m.attr("__version__") = MACRO_STRINGIFY(VERSION_INFO); 15 | #else 16 | m.attr("__version__") = "dev"; 17 | #endif 18 | 19 | py_init_module_espp(m); 20 | } 21 | -------------------------------------------------------------------------------- /components/csv/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "Comma-Separated Value (CSV) component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/csv" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/csv.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - CSV 15 | - Parsing 16 | dependencies: 17 | idf: 18 | version: '>=5.0' 19 | -------------------------------------------------------------------------------- /components/icm20948/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | CONFIG_FREERTOS_HZ=1000 4 | 5 | # set compiler optimization level to -O2 (compile for performance) 6 | CONFIG_COMPILER_OPTIMIZATION_PERF=y 7 | 8 | # ESP32-specific 9 | # 10 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 11 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 12 | 13 | # Common ESP-related 14 | # 15 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 16 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=16384 17 | 18 | # Set esp-timer task stack size to 6KB 19 | CONFIG_ESP_TIMER_TASK_STACK_SIZE=6144 20 | 21 | -------------------------------------------------------------------------------- /components/tabulate/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "Tabulate component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/tabulate" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/tabulate.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - Tabulate 15 | - Tables 16 | dependencies: 17 | idf: 18 | version: '>=5.0' 19 | -------------------------------------------------------------------------------- /doc/en/neopixel.rst: -------------------------------------------------------------------------------- 1 | Neopixel APIs 2 | ************** 3 | 4 | The `Neopixel` component provides APIs to control Neopixels. It uses an RMT 5 | driver (via the `Rmt` component) to talk to WS2812, WS2811, WS2813, SK6812, etc. 6 | LED strips. 7 | 8 | .. ------------------------------- Example ------------------------------------- 9 | 10 | .. toctree:: 11 | 12 | neopixel_example 13 | 14 | .. ---------------------------- API Reference ---------------------------------- 15 | 16 | API Reference 17 | ------------- 18 | 19 | .. include-build-file:: inc/neopixel.inc 20 | -------------------------------------------------------------------------------- /lib/build.ps1: -------------------------------------------------------------------------------- 1 | # powershell script to build the project using cmake 2 | 3 | # Create build directory if it doesn't exist 4 | $buildDir = "build" 5 | if (-not (Test-Path -Path $buildDir)) { 6 | New-Item -ItemType Directory -Path $buildDir 7 | } 8 | 9 | # Change to the build directory 10 | Set-Location -Path $buildDir 11 | 12 | # Run cmake 13 | cmake .. 14 | 15 | # Run cmake --build . --config Release --target install 16 | cmake --build . --config Release --target install --parallel 4 17 | 18 | # Change back to the original directory 19 | Set-Location -Path .. 20 | -------------------------------------------------------------------------------- /components/base_component/README.md: -------------------------------------------------------------------------------- 1 | # Base Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/base_component/badge.svg)](https://components.espressif.com/components/espp/base_component) 4 | 5 | The `espp::BaseComponent` provides a simple base class for all components in the 6 | ESP-CPP package. It provides a simple interface for the component to be 7 | initialized and to be updated. 8 | 9 | It is not required to use the `BaseComponent` class, but it is recommended to 10 | use as it provides a standardized API for logging and log management. 11 | -------------------------------------------------------------------------------- /doc/en/imu/icm42607.rst: -------------------------------------------------------------------------------- 1 | ICM42607 6-Axis IMU 2 | ******************* 3 | 4 | The `Icm42607` component provides a driver for the ICM42607 and ICM42670 6-Axis 5 | Inertial Measurement Units (IMUs). 6 | 7 | .. ------------------------------- Example ------------------------------------- 8 | 9 | .. toctree:: 10 | 11 | icm42607_example 12 | 13 | .. ---------------------------- API Reference ---------------------------------- 14 | 15 | API Reference 16 | ------------- 17 | 18 | .. include-build-file:: inc/icm42607.inc 19 | .. include-build-file:: inc/icm42607_detail.inc 20 | -------------------------------------------------------------------------------- /doc/en/rtc/pcf85063.rst: -------------------------------------------------------------------------------- 1 | PCF85063 2 | ******** 3 | 4 | The `Pcf85063` component provides a driver for the PCF85063 RTC chip. 5 | 6 | This component supports **std::tm based APIs** for easy portability and integration with standard C time functions. 7 | 8 | .. ------------------------------- Example ------------------------------------- 9 | 10 | .. toctree:: 11 | 12 | pcf85063_example 13 | 14 | .. ---------------------------- API Reference ---------------------------------- 15 | 16 | API Reference 17 | ------------- 18 | 19 | .. include-build-file:: inc/pcf85063.inc -------------------------------------------------------------------------------- /components/filters/include/lowpass_filter_formatters.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "format.hpp" 4 | 5 | // for allowing easy serialization/printing of the 6 | // espp::LowpassFilter 7 | template <> struct fmt::formatter { 8 | template constexpr auto parse(ParseContext &ctx) const { 9 | return ctx.begin(); 10 | } 11 | 12 | template 13 | auto format(espp::LowpassFilter const &f, FormatContext &ctx) const { 14 | return fmt::format_to(ctx.out(), "Lowpass - {}", f.coeffs_); 15 | } 16 | }; 17 | -------------------------------------------------------------------------------- /components/gfps_service/src/nearby_battery.cpp: -------------------------------------------------------------------------------- 1 | #include "gfps.hpp" 2 | 3 | // Gets battery and charging info 4 | // 5 | // battery_info - Battery status structure. 6 | nearby_platform_status nearby_platform_GetBatteryInfo(nearby_platform_BatteryInfo *) { 7 | // TODO: Implement 8 | return kNearbyStatusOK; 9 | } 10 | 11 | // Initializes battery module 12 | // 13 | // battery_interface - Battery status callback events. 14 | nearby_platform_status nearby_platform_BatteryInit(nearby_platform_BatteryInterface *) { 15 | // TODO: Implement 16 | return kNearbyStatusOK; 17 | } 18 | -------------------------------------------------------------------------------- /components/ina226/README.md: -------------------------------------------------------------------------------- 1 | # INA226 I2C Current/Power Monitor 2 | 3 | [![Badge](https://components.espressif.com/components/espp/ina226/badge.svg)](https://components.espressif.com/components/espp/ina226) 4 | 5 | The `Ina226` component provides simple APIs to configure and read voltage, 6 | current, and power from a TI INA226 over I2C. It derives from 7 | `espp::BasePeripheral` and uses 8-bit register addressing. 8 | 9 | ## Example 10 | 11 | The [example](./example) shows how to use the `Ina226` component to read bus 12 | voltage, current, and power via I2C. 13 | 14 | 15 | -------------------------------------------------------------------------------- /components/logger/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "Logger component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/logger" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/logger.html#logger" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - Logging 15 | dependencies: 16 | idf: 17 | version: '>=5.0' 18 | espp/format: '>=1.0' 19 | -------------------------------------------------------------------------------- /components/socket/include/socket_formatters.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "format.hpp" 4 | 5 | // for allowing easy serialization/printing of the 6 | // espp::Socket::Info 7 | template <> struct fmt::formatter { 8 | template constexpr auto parse(ParseContext &ctx) const { 9 | return ctx.begin(); 10 | } 11 | 12 | template 13 | auto format(espp::Socket::Info const &info, FormatContext &ctx) const { 14 | return fmt::format_to(ctx.out(), "{}:{}", info.address, info.port); 15 | } 16 | }; 17 | -------------------------------------------------------------------------------- /doc/en/ble/hid_service.rst: -------------------------------------------------------------------------------- 1 | HID Service 2 | *********** 3 | 4 | The `HidService` implements the standard BLE HID service, providing dynamic and 5 | configurable HID input, output, and feature reports from a BLE peripheral to a 6 | BLE central. 7 | 8 | .. ------------------------------- Example ------------------------------------- 9 | 10 | .. toctree:: 11 | 12 | hid_service_example 13 | 14 | .. ---------------------------- API Reference ---------------------------------- 15 | 16 | API Reference 17 | ------------- 18 | 19 | .. include-build-file:: inc/hid_service.inc 20 | -------------------------------------------------------------------------------- /doc/en/imu/lsm6dso.rst: -------------------------------------------------------------------------------- 1 | LSM6DSO 6-Axis IMU 2 | ****************** 3 | 4 | The `Lsm6dso` component provides a driver for the LSM6DSO 6-Axis 5 | Inertial Measurement Unit (IMU) from STMicroelectronics. 6 | 7 | .. ------------------------------- Example ------------------------------------- 8 | 9 | .. toctree:: 10 | 11 | lsm6dso_example 12 | 13 | .. ---------------------------- API Reference ---------------------------------- 14 | 15 | API Reference 16 | ------------- 17 | 18 | .. include-build-file:: inc/lsm6dso.inc 19 | .. include-build-file:: inc/lsm6dso_detail.inc 20 | -------------------------------------------------------------------------------- /doc/en/network/index.rst: -------------------------------------------------------------------------------- 1 | Network APIs 2 | ************ 3 | 4 | .. toctree:: 5 | :maxdepth: 1 6 | 7 | ping 8 | socket_example 9 | socket 10 | tcp_socket 11 | udp_socket 12 | 13 | The network APIs provide a useful abstraction over POSIX sockets enabling easily 14 | starting client/server sockets and allowing their use with std::function 15 | callbacks for servers. 16 | 17 | Currently, UDP and TCP sockets are supported. A simple ICMP `ping` wrapper is also provided. 18 | 19 | Code examples for the network API are provided in the `socket` example folder.. 20 | -------------------------------------------------------------------------------- /components/binary-log/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "Binary Logging component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/binary-log" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/logger.html#binary-log" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - Logging 15 | - Binary 16 | dependencies: 17 | idf: 18 | version: '>=5.0' 19 | -------------------------------------------------------------------------------- /components/led/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "LED component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/led" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/led.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - LED 15 | dependencies: 16 | idf: 17 | version: '>=5.0' 18 | espp/base_component: '>=1.0' 19 | espp/task: '>=1.0' 20 | -------------------------------------------------------------------------------- /components/math/include/vector2d_formatters.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "format.hpp" 4 | 5 | // for allowing easy serialization/printing of the 6 | // espp::Vector2d 7 | template struct fmt::formatter> { 8 | template constexpr auto parse(ParseContext &ctx) const { 9 | return ctx.begin(); 10 | } 11 | 12 | template 13 | auto format(espp::Vector2d const &v, FormatContext &ctx) const { 14 | return fmt::format_to(ctx.out(), "({},{})", v.x(), v.y()); 15 | } 16 | }; 17 | -------------------------------------------------------------------------------- /components/nvs/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "NVS (non-volatile storage) component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/nvs" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/nvs.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - NVS 15 | dependencies: 16 | idf: 17 | version: '>=5.0' 18 | espp/base_component: '>=1.0' 19 | -------------------------------------------------------------------------------- /components/qwiicnes/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "QwiicNES component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/qwiicnes" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/qwiicnes.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - Logging 15 | dependencies: 16 | idf: 17 | version: '>=5.0' 18 | espp/base_peripheral: '>=1.0' 19 | -------------------------------------------------------------------------------- /components/color/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "Color component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/color" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/color.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - Color 15 | - RGB 16 | - HSV 17 | dependencies: 18 | idf: 19 | version: '>=5.0' 20 | espp/format: '>=1.0' 21 | -------------------------------------------------------------------------------- /components/lsm6dso/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_FREERTOS_HZ=1000 2 | 3 | # set compiler optimization level to -O2 (compile for performance) 4 | CONFIG_COMPILER_OPTIMIZATION_PERF=y 5 | 6 | # ESP32-specific 7 | # 8 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 9 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 10 | 11 | # Common ESP-related 12 | # 13 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 14 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=16384 15 | 16 | # Set esp-timer task stack size to 6KB 17 | CONFIG_ESP_TIMER_TASK_STACK_SIZE=6144 18 | 19 | # set the functions into IRAM 20 | CONFIG_SPI_MASTER_IN_IRAM=y 21 | -------------------------------------------------------------------------------- /components/rmt/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "RMT (Remote Control Transceiver) component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/rmt" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/rmt.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - RMT 15 | dependencies: 16 | idf: 17 | version: '>=5.0' 18 | espp/base_component: '>=1.0' 19 | -------------------------------------------------------------------------------- /components/bldc_driver/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "BLDC Motor Drvier component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/bldc_driver" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/bldc/bldc_driver.html" 9 | tags: 10 | - cpp 11 | - Component 12 | - BLDC 13 | - Motor 14 | - Driver 15 | dependencies: 16 | idf: 17 | version: '>=5.0' 18 | espp/base_component: '>=1.0' 19 | -------------------------------------------------------------------------------- /components/codec/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "Audio Codec component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/codec" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | # TODO: refactor this component and add docs for it 9 | # documentation: "https://esp-cpp.github.io/espp/codec.html" 10 | tags: 11 | - cpp 12 | - Component 13 | - Audio 14 | - Codec 15 | - Peripheral 16 | dependencies: 17 | idf: 18 | version: '>=5.0' 19 | -------------------------------------------------------------------------------- /components/hid-rp/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT + MPL-2.0" 3 | description: "HID Report (using hid-rp) component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/hid-rp" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/hid/hid-rp.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - HID 15 | dependencies: 16 | idf: 17 | version: '>=5.0' 18 | espp/format: '>=1.0' 19 | -------------------------------------------------------------------------------- /components/st25dv/example/sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | CONFIG_IDF_TARGET="esp32s3" 2 | 3 | CONFIG_FREERTOS_HZ=1000 4 | 5 | # ESP32-specific 6 | # 7 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 8 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 9 | 10 | CONFIG_BT_ENABLED=y 11 | CONFIG_BT_BLE_ENABLED=y 12 | 13 | # Common ESP-related 14 | # 15 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 16 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192 17 | 18 | # SPI Flash Config: 19 | CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y 20 | 21 | # Partition Table 22 | CONFIG_PARTITION_TABLE_CUSTOM=y 23 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 24 | -------------------------------------------------------------------------------- /components/button/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "Button component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/button" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/button.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - Button 15 | - Interrupt 16 | - Input 17 | dependencies: 18 | idf: 19 | version: '>=5.0' 20 | espp/interrupt: '>=1.0' 21 | -------------------------------------------------------------------------------- /components/seeed-studio-round-display/example/main/Kconfig.projbuild: -------------------------------------------------------------------------------- 1 | menu "Seeed Studio Round Display Example Config" 2 | 3 | choice EXAMPLE_HARDWARE 4 | prompt "Hardware" 5 | default EXAMPLE_HARDWARE_XIAOS3 6 | help 7 | Select the hardware to run this example on. 8 | 9 | config EXAMPLE_HARDWARE_QTPYS3 10 | depends on IDF_TARGET_ESP32S3 11 | bool "Qt Py ESP32 S3" 12 | 13 | config EXAMPLE_HARDWARE_XIAOS3 14 | depends on IDF_TARGET_ESP32S3 15 | bool "XIAO Esp32 S3" 16 | endchoice 17 | 18 | endmenu 19 | -------------------------------------------------------------------------------- /docker_build_docs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # add doc to the python path 3 | export PYTHONPATH=$PYTHONPATH:/project/doc 4 | # ensure we can run git commands 5 | git config --global --add safe.directory /project 6 | # build the docs 7 | build-docs -bs html -t esp32 -l en --project-path /project/ --source-dir /project/doc/ --doxyfile_dir /project/doc/ 8 | mkdir -p /project/docs 9 | # copy the docs to the docs folder 10 | cp -rf /project/_build/en/esp32/html/* /project/docs/. 11 | cp -rf /project/_build/en/esp32/sphinx-warning-log.txt /project/. 12 | cp -rf /project/_build/en/esp32/doxygen-warning-log.txt /project/. 13 | -------------------------------------------------------------------------------- /components/base_peripheral/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "C++ base peripheral component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/base_peripheral" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/base_peripheral.html" 9 | tags: 10 | - cpp 11 | - Component 12 | - Peripherals 13 | - I2C 14 | - SPI 15 | dependencies: 16 | idf: 17 | version: '>=5.0' 18 | espp/base_component: '>=1.0' 19 | -------------------------------------------------------------------------------- /components/hid-rp/include/hid/page/camera.hpp: -------------------------------------------------------------------------------- 1 | #ifndef __HID_PAGE_CAMERA_HPP_ 2 | #define __HID_PAGE_CAMERA_HPP_ 3 | 4 | #include "hid/usage.hpp" 5 | 6 | namespace hid::page { 7 | enum class camera : std::uint8_t; 8 | template <> struct info { 9 | constexpr static page_id_t page_id = 0x0090; 10 | constexpr static usage_id_t max_usage_id = 0x0021; 11 | constexpr static const char *name = "Camera Control"; 12 | }; 13 | enum class camera : std::uint8_t { 14 | CAMERA_AUTO_FOCUS = 0x0020, 15 | CAMERA_SHUTTER = 0x0021, 16 | }; 17 | } // namespace hid::page 18 | 19 | #endif // __HID_PAGE_CAMERA_HPP_ 20 | -------------------------------------------------------------------------------- /components/timer/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "C++ Timers for ESP-IDF which can be started / stopped / resumed." 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/timer" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/timer.hml" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - Timer 15 | - Thread 16 | dependencies: 17 | idf: 18 | version: '>=5.0' 19 | espp/task: '>=1.0' 20 | -------------------------------------------------------------------------------- /doc/en/base_component.rst: -------------------------------------------------------------------------------- 1 | Base Component 2 | ************** 3 | 4 | The `espp::BaseComponent` provides a simple base class for all components in the 5 | ESP-CPP package. It provides a simple interface for the component to be 6 | initialized and to be updated. 7 | 8 | It is not required to use the `BaseComponent` class, but it is recommended to 9 | use as it provides a standardized API for logging and log management. 10 | 11 | .. ---------------------------- API Reference ---------------------------------- 12 | 13 | API Reference 14 | ------------- 15 | 16 | .. include-build-file:: inc/base_component.inc 17 | -------------------------------------------------------------------------------- /components/interrupt/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "Interrupt component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/interrupt" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/interrupt.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - Interrupt 15 | dependencies: 16 | idf: 17 | version: '>=5.0' 18 | espp/base_component: '>=1.0' 19 | espp/task: '>=1.0' 20 | -------------------------------------------------------------------------------- /components/filters/include/simple_lowpass_filter_formatters.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "format.hpp" 4 | 5 | // for allowing easy serialization/printing of the 6 | // espp::SimpleLowpassFilter 7 | template <> struct fmt::formatter { 8 | template constexpr auto parse(ParseContext &ctx) const { 9 | return ctx.begin(); 10 | } 11 | 12 | template 13 | auto format(espp::SimpleLowpassFilter const &f, FormatContext &ctx) const { 14 | return fmt::format_to(ctx.out(), "SimpleLowpassFilter - {}", f.time_constant_); 15 | } 16 | }; 17 | -------------------------------------------------------------------------------- /components/i2c/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "I2C (Legacy) component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/i2c" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/i2c.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - I2C 15 | dependencies: 16 | idf: 17 | version: '>=5.0' 18 | espp/base_component: '>=1.0' 19 | espp/cli: '>=1.0' 20 | espp/task: '>=1.0' 21 | -------------------------------------------------------------------------------- /components/pid/README.md: -------------------------------------------------------------------------------- 1 | # PID (Proportional-Integral-Derivative) Feedback Control Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/pid/badge.svg)](https://components.espressif.com/components/espp/pid) 4 | 5 | The `PID` component provides a simple, thread-safe class representing a PID 6 | controller. It tracks how frequently its `update()` method is called and can 7 | have its gains change dynamically. 8 | 9 | ## Example 10 | 11 | The [example](./example) shows how to use the `espp::Pid` class to perform closed-loop 12 | feedback control using proportional-integral-derivative (PID) control. 13 | -------------------------------------------------------------------------------- /components/rtsp/python/opencv_rtsp_client.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import cv2 3 | 4 | def stream(addr, port): 5 | uri = f"rtsp://{addr}:{port}/mjpeg/1" 6 | print(f"Opening URI: {uri}, press 'q' to quit") 7 | vcap = cv2.VideoCapture(uri) 8 | while(1): 9 | ret, frame = vcap.read() 10 | cv2.imshow('VIDEO', frame) 11 | if cv2.waitKey(1) & 0xFF == ord('q'): 12 | break 13 | 14 | if __name__ == "__main__": 15 | if len(sys.argv) != 3: 16 | print("Usage: python ./opencv_rtsp_client
") 17 | sys.exit(1) 18 | stream(sys.argv[1], sys.argv[2]) 19 | -------------------------------------------------------------------------------- /components/cobs/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "COBS (Consistent Overhead Byte Stuffing) component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/cobs" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - Sam Boegli 8 | documentation: "https://esp-cpp.github.io/espp/cobs.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - COBS 15 | - Encoding 16 | - Decoding 17 | - Packet 18 | - Framing 19 | dependencies: 20 | idf: 21 | version: '>=5.0' 22 | -------------------------------------------------------------------------------- /components/cst816/README.md: -------------------------------------------------------------------------------- 1 | # CST816 I2C Touch Controller Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/cst816/badge.svg)](https://components.espressif.com/components/espp/cst816) 4 | 5 | The `Cst816` class provides an interface to the CST816 touch controller. It 6 | allows you to query the data for the touch points on the touchscreen. 7 | 8 | ## Example 9 | 10 | The [example](./example) shows how to use the CST816 touch controller with 11 | ESP32. It is designed to run on a [Matouch Rotary 12 | Display](https://wiki.makerfabs.com/MaTouch_ESP32_S3_Rotary_IPS_Display_1.28_GC9A01.html). 13 | 14 | -------------------------------------------------------------------------------- /components/joystick/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "Joystick component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/joystick" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/joystick.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - Joystick 15 | - Input 16 | dependencies: 17 | idf: 18 | version: '>=5.0' 19 | espp/base_component: '>=1.0' 20 | espp/math: '>=1.0' 21 | -------------------------------------------------------------------------------- /components/led_strip/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "LED Strip component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/led_strip" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/led_strip.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - LED 15 | - Strip 16 | dependencies: 17 | idf: 18 | version: '>=5.0' 19 | espp/base_component: '>=1.0' 20 | espp/color: '>=1.0' 21 | -------------------------------------------------------------------------------- /components/pid/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "PID (proportional-integral-derivative) component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/pid" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/pid.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - PID 15 | - Math 16 | - Control 17 | dependencies: 18 | idf: 19 | version: '>=5.0' 20 | espp/base_component: '>=1.0' 21 | -------------------------------------------------------------------------------- /components/rx8130ce/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "RX8130CE Real-Time Clock (RTC) component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/rx8130ce" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/rtc/rx8130ce.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - RX8130CE 15 | - RTC 16 | - Peripheral 17 | dependencies: 18 | idf: '>=5.0' 19 | espp/base_peripheral: '>=1.0' 20 | -------------------------------------------------------------------------------- /components/serialization/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "Binary (de-)Serialization (alpaca) component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/serialization" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/serialization.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - Binary 15 | - Serialization 16 | - Alpaca 17 | dependencies: 18 | idf: 19 | version: '>=5.0' 20 | -------------------------------------------------------------------------------- /components/filters/include/transfer_function_formatters.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "format.hpp" 4 | 5 | // for allowing easy serialization/printing of the 6 | // espp::TransferFunction 7 | template struct fmt::formatter> { 8 | template constexpr auto parse(ParseContext &ctx) const { 9 | return ctx.begin(); 10 | } 11 | 12 | template 13 | auto format(espp::TransferFunction const &tf, FormatContext &ctx) const { 14 | return fmt::format_to(ctx.out(), "TransferFunction({}) - B: {}, A: {}", N, tf.b, tf.a); 15 | } 16 | }; 17 | -------------------------------------------------------------------------------- /components/gt911/README.md: -------------------------------------------------------------------------------- 1 | # GT911 I2C Touch Controller Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/gt911/badge.svg)](https://components.espressif.com/components/espp/gt911) 4 | 5 | The `Gt911` class provides an interface to the GT911 touch controller, allowing 6 | the user to query the touch data, including the detection of whether the home 7 | button (if any) is pressed. 8 | 9 | ## Example 10 | 11 | The [example](./example) shows how to use the GT911 touch controller with ESP32. 12 | It is designed to run on a LilyGo T-Deck (no home button) or the ESP32-S3-BOX-3 13 | (with home button). 14 | 15 | -------------------------------------------------------------------------------- /components/task/example/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.20) 4 | 5 | set(ENV{IDF_COMPONENT_MANAGER} "0") 6 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 7 | 8 | # add the component directories that we want to use 9 | set(EXTRA_COMPONENT_DIRS 10 | "../../../components/" 11 | ) 12 | 13 | set( 14 | COMPONENTS 15 | "main esptool_py task" 16 | CACHE STRING 17 | "List of components to include" 18 | ) 19 | 20 | project(task_example) 21 | 22 | set(CMAKE_CXX_STANDARD 20) 23 | -------------------------------------------------------------------------------- /components/task/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "C++ component representing a task which can be started / stopped / resumed." 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/task" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/task.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - Task 15 | - Thread 16 | dependencies: 17 | idf: 18 | version: '>=5.0' 19 | espp/base_component: '>=1.0' 20 | -------------------------------------------------------------------------------- /doc/en/filters/sos.rst: -------------------------------------------------------------------------------- 1 | Second Order Sections (SoS) Filter 2 | ********************************** 3 | 4 | The `SosFilter` class provides an implementation of a Second Order Sections 5 | (SoS) filter. For more information please see `series second-order sections 6 | `_ 7 | as well as `Digital Biquad Filter 8 | `_. 9 | 10 | .. ---------------------------- API Reference ---------------------------------- 11 | 12 | API Reference 13 | ------------- 14 | 15 | .. include-build-file:: inc/sos_filter.inc 16 | -------------------------------------------------------------------------------- /components/cli/example/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.20) 4 | 5 | set(ENV{IDF_COMPONENT_MANAGER} "0") 6 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 7 | 8 | # add the component directories that we want to use 9 | set(EXTRA_COMPONENT_DIRS 10 | "../../../components/" 11 | ) 12 | 13 | set( 14 | COMPONENTS 15 | "main esptool_py format cli" 16 | CACHE STRING 17 | "List of components to include" 18 | ) 19 | 20 | project(cli_example) 21 | 22 | set(CMAKE_CXX_STANDARD 20) 23 | -------------------------------------------------------------------------------- /components/csv/example/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.20) 4 | 5 | set(ENV{IDF_COMPONENT_MANAGER} "0") 6 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 7 | 8 | # add the component directories that we want to use 9 | set(EXTRA_COMPONENT_DIRS 10 | "../../../components/" 11 | ) 12 | 13 | set( 14 | COMPONENTS 15 | "main esptool_py format csv" 16 | CACHE STRING 17 | "List of components to include" 18 | ) 19 | 20 | project(csv_example) 21 | 22 | set(CMAKE_CXX_STANDARD 20) 23 | -------------------------------------------------------------------------------- /components/i2c/example/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.20) 4 | 5 | set(ENV{IDF_COMPONENT_MANAGER} "0") 6 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 7 | 8 | # add the component directories that we want to use 9 | set(EXTRA_COMPONENT_DIRS 10 | "../../../components/" 11 | ) 12 | 13 | set( 14 | COMPONENTS 15 | "main esptool_py i2c logger" 16 | CACHE STRING 17 | "List of components to include" 18 | ) 19 | 20 | project(i2c_example) 21 | 22 | set(CMAKE_CXX_STANDARD 20) 23 | -------------------------------------------------------------------------------- /components/pid/example/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.20) 4 | 5 | set(ENV{IDF_COMPONENT_MANAGER} "0") 6 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 7 | 8 | # add the component directories that we want to use 9 | set(EXTRA_COMPONENT_DIRS 10 | "../../../components/" 11 | ) 12 | 13 | set( 14 | COMPONENTS 15 | "main esptool_py task pid" 16 | CACHE STRING 17 | "List of components to include" 18 | ) 19 | 20 | project(pid_example) 21 | 22 | set(CMAKE_CXX_STANDARD 20) 23 | -------------------------------------------------------------------------------- /components/ping/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "C++ wrapper for esp_ping with CLI integration" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/ping" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/network/ping.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - Network 15 | - Ping 16 | dependencies: 17 | idf: 18 | version: '>=5.0' 19 | espp/cli: '>=1.0' 20 | espp/base_component: '>=1.0' 21 | -------------------------------------------------------------------------------- /components/socket/include/socket_msvc.hpp: -------------------------------------------------------------------------------- 1 | #ifdef _MSC_VER 2 | extern "C" { 3 | // if we don't define NOMINMAX, windows.h will define min and max as macros 4 | // which will conflict with std::min and std::max 5 | #define NOMINMAX \ 6 | // /* See http://stackoverflow.com/questions/12765743/getaddrinfo-on-win32 */ 7 | // #ifndef _WIN32_WINNT 8 | // #define _WIN32_WINNT 0x0501 /* Windows XP. */ 9 | // #endif 10 | #define WIN32_LEAN_AND_MEAN 11 | #include 12 | #include 13 | #include 14 | #include 15 | } 16 | #endif 17 | -------------------------------------------------------------------------------- /components/wifi/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "WiFi component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/wifi" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/wifi/index.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - WiFi 15 | - Station 16 | - Access-Point 17 | dependencies: 18 | idf: 19 | version: '>=5.0' 20 | espp/base_component: '>=1.0' 21 | espp/cli: '>=1.0' 22 | -------------------------------------------------------------------------------- /doc/en/rtc/bm8563.rst: -------------------------------------------------------------------------------- 1 | BM8563 2 | ****** 3 | 4 | The `Bm8563` component provides a driver for the BM8563 RTC chip. 5 | 6 | This component supports both **std::tm based APIs** for portability across different RTC chips, and **device-specific APIs** for backward compatibility and accessing chip-specific features. 7 | 8 | .. ------------------------------- Example ------------------------------------- 9 | 10 | .. toctree:: 11 | 12 | bm8563_example 13 | 14 | .. ---------------------------- API Reference ---------------------------------- 15 | 16 | API Reference 17 | ------------- 18 | 19 | .. include-build-file:: inc/bm8563.inc 20 | -------------------------------------------------------------------------------- /components/adc/example/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.20) 4 | 5 | set(ENV{IDF_COMPONENT_MANAGER} "0") 6 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 7 | 8 | # add the component directories that we want to use 9 | set(EXTRA_COMPONENT_DIRS 10 | "../../../components/" 11 | ) 12 | 13 | set( 14 | COMPONENTS 15 | "main esptool_py logger task adc" 16 | CACHE STRING 17 | "List of components to include" 18 | ) 19 | 20 | project(adc_example) 21 | 22 | set(CMAKE_CXX_STANDARD 20) 23 | -------------------------------------------------------------------------------- /components/aw9523/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "AW9523 I2C I/O Expander component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/aw9523" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/io_expander/aw9523.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - Expander 15 | - I2C 16 | - Peripheral 17 | dependencies: 18 | idf: 19 | version: '>=5.0' 20 | espp/base_peripheral: '>=1.0' 21 | -------------------------------------------------------------------------------- /components/bldc_driver/README.md: -------------------------------------------------------------------------------- 1 | # BLDC (Brushless DC) Motor Driver Component 2 | 3 | [![Badge](https://components.espressif.com/components/espp/bldc_driver/badge.svg)](https://components.espressif.com/components/espp/bldc_driver) 4 | 5 | The `BldcDriver` component wraps around the `ESP MCPWM Peripheral 6 | `_ 7 | to provide full 6 PWM control over a 3 phase brushless dc motor. 8 | 9 | It is designed to be used by the `espp::BldcMotor` class. Code examples for the 10 | `espp::BldcDriver` can be found in the `bldc_motor` component example. 11 | -------------------------------------------------------------------------------- /components/bm8563/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "BM8563 Real-Time Clock (RTC) component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/bm8563" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/rtc/bm8563.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - RTC 15 | - I2C 16 | dependencies: 17 | idf: 18 | version: '>=5.0' 19 | espp/base_peripheral: '>=1.0' 20 | espp/utils: '>=1.0' 21 | -------------------------------------------------------------------------------- /components/bmi270/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | license: "MIT" 3 | description: "BMI270 6-Axis IMU Driver component for ESP-IDF" 4 | url: "https://github.com/esp-cpp/espp/tree/main/components/bmi270" 5 | repository: "git://github.com/esp-cpp/espp.git" 6 | maintainers: 7 | - William Emfinger 8 | documentation: "https://esp-cpp.github.io/espp/imu/bmi270.html" 9 | examples: 10 | - path: example 11 | tags: 12 | - cpp 13 | - Component 14 | - BMI270 15 | - IMU 16 | - Peripheral 17 | dependencies: 18 | idf: ">=5.0" 19 | espp/base_peripheral: ">=1.0" 20 | espp/math: ">=1.0" 21 | -------------------------------------------------------------------------------- /components/byte90/example/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.20) 4 | 5 | set(ENV{IDF_COMPONENT_MANAGER} "0") 6 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 7 | 8 | # add the component directories that we want to use 9 | set(EXTRA_COMPONENT_DIRS 10 | "../../../components/" 11 | ) 12 | 13 | set( 14 | COMPONENTS 15 | "main esptool_py byte90" 16 | CACHE STRING 17 | "List of components to include" 18 | ) 19 | 20 | project(byte90_example) 21 | 22 | set(CMAKE_CXX_STANDARD 20) 23 | -------------------------------------------------------------------------------- /components/cobs/example/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.20) 4 | 5 | set(ENV{IDF_COMPONENT_MANAGER} "0") 6 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 7 | 8 | # add the component directories that we want to use 9 | set(EXTRA_COMPONENT_DIRS 10 | "../../../components/" 11 | ) 12 | 13 | set( 14 | COMPONENTS 15 | "main esptool_py cobs logger" 16 | CACHE STRING 17 | "List of components to include" 18 | ) 19 | 20 | project(cobs_example) 21 | 22 | set(CMAKE_CXX_STANDARD 20) 23 | -------------------------------------------------------------------------------- /components/color/example/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's CMakeLists 2 | # in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.20) 4 | 5 | set(ENV{IDF_COMPONENT_MANAGER} "0") 6 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 7 | 8 | # add the component directories that we want to use 9 | set(EXTRA_COMPONENT_DIRS 10 | "../../../components/" 11 | ) 12 | 13 | set( 14 | COMPONENTS 15 | "main esptool_py format color" 16 | CACHE STRING 17 | "List of components to include" 18 | ) 19 | 20 | project(color_example) 21 | 22 | set(CMAKE_CXX_STANDARD 20) 23 | --------------------------------------------------------------------------------