Commit Graph

42 Commits

Author SHA1 Message Date
Ivan Grokhotkov
a2ca5d03c5
examples, components: remove C/C++ standard overrides
...where they are not necessary after switching to C17 and C++20.
2022-06-17 16:44:17 +02:00
Michael (XIAO Xufeng)
f7be540222 ci: partially enable example build for esp32c2 2022-06-02 14:17:31 +08:00
Djordje Nedic
facab8c5a7 tools: Increase the minimal supported CMake version to 3.16
This updates the minimal supported version of CMake to 3.16, which in turn enables us to use more CMake features and have a cleaner build system.
This is the version that provides most new features and also the one we use in our latest docker image for CI.
2022-06-01 06:35:02 +00:00
Anton Maklakov
9386014201 examples/cxx: add missing header 2022-03-31 15:02:34 +07:00
Anton Maklakov
40d189137e examples/cxx: add explicit-declared copy constructor 2022-03-31 15:02:27 +07:00
Anton Maklakov
47de9e37f3 examples: fix esp_modem_cxx version number reference
see https://devhints.io/semver for syntax
2022-03-10 11:51:44 +07:00
laokaiyao
9ebfd7832d i2c: update legacy name ESP8684 to ESP32C2 2022-03-07 14:59:56 +08:00
laokaiyao
cf353c505a i2c: support esp32h2 2022-02-23 15:19:37 +08:00
Darian Leung
57fd78f5ba freertos: Remove legacy data types
This commit removes the usage of all legacy FreeRTOS data types that
are exposed via configENABLE_BACKWARD_COMPATIBILITY. Legacy types can
still be used by enabling CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY.
2022-02-09 23:05:45 +08:00
laokaiyao
cf049e15ed esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08:00
Jakob Hasse
7572f75d6b refactor (cxx)!: I2C C++ classes use strong value types now
Added host-based I2C C++ unit tests

BREAKING CHANGE: I2C C++ interface changes, raw values for
    arguments are mostly not allowed anymore.
2021-12-17 14:05:52 +08:00
Cao Sen Miao
e81841318f CI: Enable ESP8684 build stage CI on master 2021-12-13 19:18:47 +08:00
Sudeep Mohanty
40c1f3e06e freertos: update module handles to struct type
This commit updates the handles for the timer, task and event_group
modules to struct type. This matches upstream freertos source.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-12-06 08:37:06 +05:30
Jakob Hasse
ce7cdeffb4 bugfix (cxx)!: added missing explicit for some strong value types
BREAKING CHANGE: Users who have been using the GPIO and SPI classes
                 may need to revisit their code as it's now not allowed
                 anymore to pass raw numbers for classes like MOSI
                 or GPIONum.
2021-11-19 16:07:32 +08:00
Jakob Hasse
de6bc33f3c refactor (cxx): C++ I2C example now uses MPU9250 instead of MCP9808
Also fixes the documentation of I2CTransfer::sync_transfer().
2021-11-18 19:07:44 +08:00
Roland Dobai
766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
Jakob Hasse
1eb96cfc79 feat (driver)!: Added mocking for i2c.h
BREAKING CHANGE: removed ringbuf.h from public i2c.h
2021-11-02 14:16:31 +08:00
Jakob Hasse
7efb01846f [cxx]: simple spi master class
* spi cxx unit test (CATCH-based, on host)
* added portmacro.h to driver mocking
* added simple testing app to write/read SPI,
  using an MPU9250
2021-10-25 14:56:59 +08:00
Jakob Hasse
d023036be9 [cxx]: Added virtual desctructor in I2C class
Closes https://github.com/espressif/esp-idf/issues/7435
2021-10-09 14:00:29 +08:00
David Cermak
64419f7247 Examples/esp_modem: Fix broken links, add details on using the example 2021-09-08 09:58:19 +02:00
David Čermák
25e14bd8d9 Merge branch 'feature/esp_netif_ppp_params' into 'master'
Examples: Add esp_modem example to experimental cxx components

Closes IDF-1923, IDFGH-217, IDFGH-2608, IDFGH-4838, IDFGH-1229, IDFGH-3848, and IDFGH-3809

See merge request espressif/esp-idf!13161
2021-09-07 18:16:13 +00:00
David Cermak
6cc07ecd58 examples: Add experimental modem example
* esp_modem cxx example to use esp_event_cxx (using only sync event)
* Use 0.1.9 version of the esp_modem to support CMake 3.5
* Add supported targets ESP32 and ESP32s2

Closes https://github.com/espressif/esp-idf/issues/1847
Closes https://github.com/espressif/esp-idf/issues/4688
Closes https://github.com/espressif/esp-idf/issues/6637
Closes https://github.com/espressif/esp-idf/issues/5754
Closes https://github.com/espressif/esp-idf/issues/5722
2021-09-07 13:27:50 +02:00
Euripedes Rocha Filho
d53f0e074c experimental/mqtt_cxx: Adds a C++ Mqtt client wrapper
- Base class with separated event handlers for each Mqtt client event.
- Topic matcher added to support data events.
- Filter class to allow only mqtt valid topic filters.
- Initial code for unit test on the host.
2021-09-02 11:41:04 -03:00
Jakob Hasse
b3271a51af Merge branch 'bugfix/common_components_linux' into 'master'
[build system]: Fixed common requirement for Linux target

Closes IDF-3638

See merge request espressif/esp-idf!14743
2021-08-17 08:48:38 +00:00
Marius Vikhammer
6fc8c484ea ci: always run check_readme_links 2021-08-16 10:29:20 +08:00
Jakob Hasse
7029f0537e [build system]: Fixed common requirement for Linux 2021-08-13 16:50:29 +08:00
Jakob Hasse
ca12c92877 [esp_timer]: created mock override component 2021-08-13 15:00:39 +08:00
Jakob Hasse
88eb4fa6a6 [mocks]: moved mocks dir to tools/ 2021-08-10 14:45:42 +08:00
Jakob Hasse
c9984faaef [mocks]: freertos mock
[esp_event]: added preliminary host-based tests
2021-08-06 17:08:21 +08:00
Jakob Hasse
06956d46c1 [cxx]: GPIO CXX wrappers, experiemental CI rule
* Wrapper class for simple GPIO interaction
  like read/write without ISRs.
* Added rule to provoke builds after changes in
  the experimental C++ component.
2021-08-03 19:51:21 +08:00
Jakob Hasse
77909446f5 [cxx]: fixed I2C master timeout 2021-07-15 16:44:08 +08:00
Cao Sen Miao
c3da21a93f I2C: enable all unit test for i2c on esp32c3 2021-04-06 17:37:55 +08:00
Marius Vikhammer
9c8e4fd4c5 C3: build and run unit tests
Enable building and running of unit tests in CI for C3 as well as fix
related compile errors

Also enables building of C3 test apps
2021-01-11 11:34:37 +08:00
Jakob Hasse
5b15f37458 fix[cxx]: improve experimental cxx examples
* use std::this_thread::sleep_for instead of
  FreeRTOS sleep functions
* adjusted/added lincense headers in examples
2020-12-16 10:10:20 +08:00
Jakob Hasse
8282b0f9ea esp_timer: added C++ wrapper for esp_timer
Closes IDF-1074
2020-12-14 11:17:56 +08:00
KonstantinKondrashov
aa96c9a4d8 esp_timer: Add an option to skip unhandled events for periodic timers
- Added an option to skip unhandled events for periodic timers. Useful for light sleep.
- Added doc about this case
- Added Test a latency between a call of callback and real event (14-16us). and UT to check skip_unhandled_events.
- Fixed for esp_timer_dump() if name of timer is NULL
- Refactored timer_process_alarm()
- Added the delete function after using in UTs
2020-12-09 17:19:19 +08:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Jakob Hasse
f835bead45 C++: ESP Event wrapper classes
* Provide easy interface to esp_event in C++
* Extended functionality linke synchronous
  waiting for events

* Closes IDF-1048
* Closes IDF-232
2020-10-22 09:56:52 +08:00
morris
9fa06719fa global: enable build uinit test for esp32-s3 2020-09-22 15:15:03 +08:00
Jakob Hasse
20c068ef3b cmock: added cmock as component
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +08:00
Jakob Hasse
25424477f2 C++: I2C API 2020-07-24 08:36:16 +08:00
Jakob Hasse
31edd48b43 C++: Moved all C++ examples to own folder
* moved C++ examples to a new cxx folder in
  examples
* added experimental C++ component
* added ESPException class to the C++ experimental
  component
* added test cases for ESPException and
  corresponding test macros
2020-02-18 12:48:57 +08:00