{"id":15164072,"url":"https://github.com/davang/esp-davang","last_synced_at":"2026-02-09T04:37:50.373Z","repository":{"id":243549180,"uuid":"804022704","full_name":"Davang/esp-davang","owner":"Davang","description":"My esp-idf libraries","archived":false,"fork":false,"pushed_at":"2025-05-04T16:24:28.000Z","size":102,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-05-04T17:32:08.018Z","etag":null,"topics":["adc","dac","esp-idf","esp-idf-component","esp32","gpio","i2c","linux","microcontroller","pwm","spi","uart","windows-10"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Davang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-05-21T20:04:10.000Z","updated_at":"2025-02-22T11:01:51.000Z","dependencies_parsed_at":"2024-09-22T17:02:13.751Z","dependency_job_id":"29d232f2-a8d2-4f94-adba-65588064295c","html_url":"https://github.com/Davang/esp-davang","commit_stats":{"total_commits":30,"total_committers":1,"mean_commits":30.0,"dds":0.0,"last_synced_commit":"c4263de27895650b4fdc42540976fc8cca7d1ab8"},"previous_names":["davang/esp-davang"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Davang/esp-davang","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Davang%2Fesp-davang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Davang%2Fesp-davang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Davang%2Fesp-davang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Davang%2Fesp-davang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Davang","download_url":"https://codeload.github.com/Davang/esp-davang/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Davang%2Fesp-davang/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268290741,"owners_count":24226646,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adc","dac","esp-idf","esp-idf-component","esp32","gpio","i2c","linux","microcontroller","pwm","spi","uart","windows-10"],"created_at":"2024-09-27T03:01:16.351Z","updated_at":"2026-02-09T04:37:50.357Z","avatar_url":"https://github.com/Davang.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# esp-davang\n\nCustom classes to wrap around esp-idf. The main idea is not make it faster neither lighter but try to use `c++` features to ease future implementations.\nFor example compile checking validity of peripherals configurations. Avoid using raw pointers and use the Standard Template Library and custom classes as parameters.\n\nAs with esp-idf an export script is given to ease its use. It exports two variables, `DAVANG_ESP` and `DAVANG_COMPONENT_DIRS`.\n\n* `DAVANG_ESP` : the path to the esp-davang directory base of the repository.\n* `DAVANG_COMPONENT_DIRS` : the path to the components directory base of the.\n\nIt also add the tools directory to you path so you may run any tool within it.\n\nI know writting a warp over an already HAL/BSP libary makes no sense, as for that reason you may use the existing one already.\nMy classes remove some funciontality, will ad some overhead to the code, and not be as tested as esp-idf.\nSo why did I do it? beacuase I do not use all the functionlay mos of the time, and run time errors are a pain in the ass.\nI used this classes for a few time, and they are helpfull to me, I hope they to you too.\n\n## Components\n\nThis directory has all componets, each have a unique folder with _dvng\\__ as prefix this way they may nor result in conflict with any other component.\nCheck [esp-idf explanantion](https://docs.espressif.com/projects/esp-idf/en/v5.4.1/esp32/migration-guides/release-5.x/5.0/build-system.html#setting-component-dirs-and-extra-component-dirs-variables) on how to add extra directories for component search. Then it is possible to list any of this components as it were one from the esp-idf.\n\n## Style\n\nI use uncrustify for styling. Check the [configuration file](tools/etc/uncrustify.cfg). Run [`dvng_format.sh`](tools/dvng_format.sh) for formatting the files.\n\n## Linux\n\nSource [export.sh](./export.sh). Then try to compile one of the [examples](examples/). \n\nESP-IDF recommends setting the [get_idf alias](https://docs.espressif.com/projects/esp-idf/en/v5.4.1/esp32/get-started/linux-macos-setup.html#step-3-set-up-the-tools). It can expanded to export all required developement enviroments.\n\n```bash\nalias get_idf='\n. $HOME/esp/esp-idf/export.sh\n. $HOME/esp/esp-davang/export.sh\n'\n```\n\n---\n\nDavang","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavang%2Fesp-davang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavang%2Fesp-davang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavang%2Fesp-davang/lists"}