Programming the Raspberry Pi GPIO pins using Common Lisp?

This page summarizes the projects mentioned and recommended in the original post on /r/lisp

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • cl-gpio

    A library for the Linux GPIO kernel module as used on hobby kits such as the Raspberry Pi

  • I believe so, the https://github.com/Shinmera/cl-gpio library mentioned above seems to use it as a backend.

  • cffi

    The Common Foreign Function Interface

  • Maybe access the pins using CFFI, https://github.com/cffi/cffi package and one the libraries mentioned here? https://www.bigmessowires.com/2018/05/26/raspberry-pi-gpio-programming-in-c/

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • rpi-sbcl

    Foreign Functions for interfacing Raspberry Pi GPIO from Steel Bank Common Lisp

  • Also this on github might be exactly what you are wanting, https://github.com/LaloHao/rpi-sbcl

  • BBS-BBB-Ada

    A collection of Ada sources for working with Linux based embedded computers, such as the BeagleBone Black or Raspberry Pi

  • I had a similar problem trying to use them using Ada. The solution that I found used the /sys filesystem (though u/excogitatio below says that that's deprecated). The specific paths that I found for the pins are in https://github.com/BrentSeidel/BBS-BBB-Ada/blob/master/src/bbs-embed-rpi.ads and how I used them is in https://github.com/BrentSeidel/BBS-BBB-Ada/blob/master/src/linux/bbs-embed-gpio-linux.adb. If you're willing to wade through Ada code, you may find other interesting things in that project.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts