{"id":25604251,"url":"https://github.com/salimterryli/pwe-virtual-driver","last_synced_at":"2025-09-07T15:37:05.400Z","repository":{"id":124346168,"uuid":"411522199","full_name":"SalimTerryLi/pwe-virtual-driver","owner":"SalimTerryLi","description":"Pulse Width Encoding protocol driver for ESP-IDF, supports WS2812 strips, Dshot ESC and so on","archived":false,"fork":false,"pushed_at":"2021-09-29T03:52:39.000Z","size":21,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-21T17:47:13.239Z","etag":null,"topics":["dshot","esp32","esp32-idf","sk6812","ws2812"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SalimTerryLi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2021-09-29T03:52:17.000Z","updated_at":"2022-04-04T09:04:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"d0fa424a-fc02-45e4-8497-d2fc913d218c","html_url":"https://github.com/SalimTerryLi/pwe-virtual-driver","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SalimTerryLi/pwe-virtual-driver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalimTerryLi%2Fpwe-virtual-driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalimTerryLi%2Fpwe-virtual-driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalimTerryLi%2Fpwe-virtual-driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalimTerryLi%2Fpwe-virtual-driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SalimTerryLi","download_url":"https://codeload.github.com/SalimTerryLi/pwe-virtual-driver/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalimTerryLi%2Fpwe-virtual-driver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274058132,"owners_count":25215194,"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-09-07T02:00:09.463Z","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":["dshot","esp32","esp32-idf","sk6812","ws2812"],"created_at":"2025-02-21T17:31:31.284Z","updated_at":"2025-09-07T15:37:05.389Z","avatar_url":"https://github.com/SalimTerryLi.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pulse Width Encoding Protocol\n\nwhich is widely used on led strips.\n\nNamed by me and is not responsible for any thing -.-\n\n## Backend difference\n\n### RMT\n\n- Very very accurate timing. \n- Currently cannot take use of DMA and is heavily depending on ISR routine, which makes it quite unstable when higher proority tasks are running (such as WiFi).\n- Able to simulate Dshot timing.\n\n### SPI\n\n- Minimal step resolution is limited so that it is expected to have some timing difference between real output and desired output.\n\n- Can take use of DMA and is reliable for great amount data to send.\n\n### I2S\n\nTODO\n\n## Examples\n\nThere are currently two examples under the repo:\n\n### Dshot ESC control\n\nin `examples/dshot_esc_ctl`\n\nOnly supports RMT backend\n\n### LED strip\n\nin `examples/led_strip`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalimterryli%2Fpwe-virtual-driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsalimterryli%2Fpwe-virtual-driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalimterryli%2Fpwe-virtual-driver/lists"}