{"id":16662575,"url":"https://github.com/temporal/cl-wiringpi2","last_synced_at":"2026-04-02T02:07:15.309Z","repository":{"id":136165595,"uuid":"56400521","full_name":"TeMPOraL/cl-wiringpi2","owner":"TeMPOraL","description":"CFFI bindings to WiringPi 2 for Common Lisp.","archived":false,"fork":false,"pushed_at":"2016-11-05T21:30:09.000Z","size":26,"stargazers_count":12,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-19T09:58:35.678Z","etag":null,"topics":["common-lisp","raspberry-pi","wiringpi"],"latest_commit_sha":null,"homepage":"","language":"Common Lisp","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/TeMPOraL.png","metadata":{"files":{"readme":"README.org","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}},"created_at":"2016-04-16T18:54:12.000Z","updated_at":"2024-07-02T22:16:25.000Z","dependencies_parsed_at":"2023-03-21T10:18:18.550Z","dependency_job_id":null,"html_url":"https://github.com/TeMPOraL/cl-wiringpi2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TeMPOraL/cl-wiringpi2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeMPOraL%2Fcl-wiringpi2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeMPOraL%2Fcl-wiringpi2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeMPOraL%2Fcl-wiringpi2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeMPOraL%2Fcl-wiringpi2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TeMPOraL","download_url":"https://codeload.github.com/TeMPOraL/cl-wiringpi2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeMPOraL%2Fcl-wiringpi2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31294398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T01:43:37.129Z","status":"online","status_checked_at":"2026-04-02T02:00:08.535Z","response_time":89,"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":["common-lisp","raspberry-pi","wiringpi"],"created_at":"2024-10-12T10:38:18.711Z","updated_at":"2026-04-02T02:07:15.290Z","avatar_url":"https://github.com/TeMPOraL.png","language":"Common Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+title: CL-WIRINGPI2 - CFFI bindings to WiringPi 2.\n\nA set of lispified bindings to [[http://wiringpi.com/][Wiring Pi 2]] - a popular library for controlling GPIOs\non Raspberry Pi.\n\nThe project intention is to provide a Lisp-friendly version of Wiring Pi 2. That means\nthe library's primary API does not correspond 1 to 1 with Wiring Pi 2. Changes have been made\nto make it follow the Lisp style of things.\n\nNote that the [[https://common-lisp.net/project/cffi/][CFFI]] bindings themselves have been separated to another\npackage (cl-wiringpi2-ffi); you can use them instead if you prefer the\noriginal flavour of the library.\n\n* Installation\n\nThe simplest way is via QuickLisp. Clone the repo somewhere, and then symlink that folder\nin ~/quicklisp/local-projects/. Inside your Lisp run =(ql:register-local-projects)=.\ncl-wiringpi2 should now show on the list outputed by =(ql:list-local-projects)=.\n\nThen, just execute =(ql:quickload :cl-wiringpi2)= and you're good to go.\n\nNote that for most functions, Wiring Pi 2 requires to run with superuser privileges. It means\nyour Lisp image will have to be started as such. For example, I run my CCL with:\n\n#+BEGIN_SRC sh\n  sudo -E /path/to/ccl/armcl\n#+END_SRC\n\n-E ensures that the environmental variables of your user are retained, so you don't have\nto set up separate init file and QuickLisp for the root user.\n\n* Status\n\nSee the package.lisp file in the main folder for the list of exported symbols.\nThose are the functions that currently should work.\n\nAt the moment the bindings are only to the main Wiring Pi 2 functions, i.e. those\ncontained in the wiringPi.h header.\n\n* Documentation\n\nCurrently the documentation is available in docstrings of functions in the source files.\nConsult the [[http://wiringpi.com/reference/][Wiring Pi 2 official documentation]]; most available functions match the originals by name\n(albeit a bit lispified).\n\nThere is an API reference autogenerated by [[https://bitbucket.org/eeeickythump/clod][CLOD]] in [[file:docs/][docs/]] folder.\n\n- [[file:docs/cl-wiringpi2.org][cl-wiringpi2]]\n- [[file:docs/cl-wiringpi2-ffi.org][cl-wiringpi2-ffi]]\n- [[file:docs/cl-wiringpi2-examples.org][cl-wiringpi2-examples]]\n\n* Examples\n\nExamples are contained in cl-wiringpi2-examples system / package.\nA simple blink example is available. More to come.\n\nTo run blink, connect an LED and a 330Ω resistor to the GPIO 0 (physical pin: 11),\nlike on [[http://wiringpi.com/examples/blink/][this image]], and execute:\n#+BEGIN_SRC lisp\n  (wpi2-examples:blink)\n#+END_SRC\n\n* Testing\n\nThe library hasn't been tested very much. The bindings are pretty straightforward though, so there shouldn't be surprises.\nPresent API seems to work, but please report any issues.\n\n* Support\n\nBug reports and pull requests always welcome :).\n\n* Credits\n\nI did take a quick peek at the [[https://github.com/jl2/wpi][bindings to Wiring Pi by Jeremiah LaRocco]].\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftemporal%2Fcl-wiringpi2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftemporal%2Fcl-wiringpi2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftemporal%2Fcl-wiringpi2/lists"}