i forgot to delete the cameras in the c wrapper code
in sbcl 1.2.0.123-7cdaadc pylon:create fails with

arithmetic error FLOATING-POINT-INVALID-OPERATION signalled
   [Condition of type FLOATING-POINT-INVALID-OPERATION]

Restarts:
 0: [*ABORT] Return to SLIME's top level.
 1: [ABORT] Abort thread (#<THREAD "worker" RUNNING {10030BD233}>)

Backtrace:
  0: ("foreign function: #x2002130532")
  1: (SB-FASL::LOAD-FASL-GROUP #<SB-SYS:FD-STREAM for "file /home/martin/Arduino/arduino_due_lisp/pylon/test-pylon.fasl" {10030D2743}> NIL)
  2: (SB-FASL::LOAD-AS-FASL #<SB-SYS:FD-STREAM for "file /home/martin/Arduino/arduino_due_lisp/pylon/test-pylon.fasl" {10030D2743}> NIL NIL)
  3: ((FLET SB-FASL::LOAD-STREAM :IN LOAD) #<SB-SYS:FD-STREAM for "file /home/martin/Arduino/arduino_due_lisp/pylon/test-pylon.fasl" {10030D2743}> T)
  4: (LOAD #P"/home/martin/Arduino/arduino_due_lisp/pylon/test-pylon.fasl" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)
  5: (SWANK:LOAD-FILE "/home/martin/Arduino/arduino_due_lisp/pylon/test-pylon.fasl")
  6: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK:LOAD-FILE "/home/martin/Arduino/arduino_due_lisp/pylon/test-pylon.fasl") #<NULL-LEXENV>)
  7: (EVAL (SWANK:LOAD-FILE "/home/martin/Arduino/arduino_due_lisp/pylon/test-pylon.fasl"))
  8: (SWANK:EVAL-FOR-EMACS (SWANK:LOAD-FILE "/home/martin/Arduino/arduino_due_lisp/pylon/test-pylon.fasl") ":pylon-test" 5)
  9: ((LAMBDA NIL :IN SWANK::SPAWN-WORKER-THREAD))
 10: (SWANK-BACKEND::CALL-WITH-BREAK-HOOK #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<FUNCTION (LAMBDA NIL :IN SWANK::SPAWN-WORKER-THREAD) {10061D4DBB}>)
 11: ((FLET SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK :IN "/home/martin/quicklisp/dists/quicklisp/software/slime-2.7/swank-sbcl.lisp") #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<FUNCTION (LAMBDA NIL :IN SWANK::SP..
 12: (SWANK::CALL-WITH-BINDINGS ((*STANDARD-OUTPUT* . #1=#<SWANK-BACKEND::SLIME-OUTPUT-STREAM {10036EADA3}>) (*STANDARD-INPUT* . #2=#<SWANK-BACKEND::SLIME-INPUT-STREAM {10059E8083}>) (*TRACE-OUTPUT* . #1#)..
 13: ((LAMBDA NIL :IN SWANK::SPAWN-WORKER-THREAD))
 14: ((FLET #:WITHOUT-INTERRUPTS-BODY-1210 :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
 15: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
 16: ((FLET #:WITHOUT-INTERRUPTS-BODY-645 :IN SB-THREAD::CALL-WITH-MUTEX))
 17: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) {7FFFF577EC2B}> #<SB-THREAD:MUTEX "thread result lock" owner: #<SB-THREAD:THR..
 18: (SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE #<SB-THREAD:THREAD "worker" RUNNING {10030BD233}> #S(SB-THREAD:SEMAPHORE :NAME "Thread setup semaphore" :%COUNT 0 :WAITCOUNT 0 :MUTEX #<SB-THREAD:MUTEX (..
 19: ("foreign function: call_into_lisp")
 20: ("foreign function: new_thread_trampoline")