Skip to content

plops/arduino_due_lisp

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.

This is code I use to control my holographic setup to image through multimode fibers.

Photography of the holographic multimode fiber imaging system.

A significant part is a wrapper for the Aravis library to read out multiple GigE Vision cameras. The file dependencies are described in arv.asd. I chose to use Clozure Common Lisp for this library because it comes with a foreign function generator that can parse C header files. To simplify development I added syntax completion for foreign functions to slime.

Realtime control is done with an Arduino Due. To ease development (in particular I don't like the long waiting time when uploading new code to the Arduino) I ported femtolisp to this Arduino. This is sufficient to generate the two DAC channels for my XY-scanning mirror and a bunch of digital trigger signals for the cameras and a shutter. See arduino-femtolisp/. From Clozure Common Lisp I talk to the Arduino using the code in arduino-serial-ccl/.

My main experiment is controlled from test.lisp. I also use the binding for FFTW https://github.com/plops/cl-cffi-fftw3 to do Fourier transforms.

Copyright (c) 2014 Martin Kielhorn kielhorn.martin@gmail.com Licensing: GPL v2

About

(Still very primitive) Port of FemtoLisp https://github.com/JeffBezanson/femtolisp to Arduino Due. A presentation on Google Docs is on https://docs.google.com/presentation/d/11Xp-iVxU3gnEur190BoI_FRhN7zAo0qJezp5BSRVDoM/edit?usp=sharing . I suggest you have a look at this alternative: http://www.ulisp.com

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published