Posts Tagged “guile”

The Clashing Rocks

This project is about using embedded Linux devices to detect, record and react to seismic events. The idea is to use accelerometers to detect shaking and then communicate this event to all other devices connected to the same broadcast group. We are developing the technology using OpenWrt which allows us to use a range of [...]

Read more »

GNU Guile on a Ben NanoNote with command line history (readline support)

I have been hacking at the OpenWrt Makefile and now have command line history working within the REPL. opkg install http://zedstar.org/guile/libgmp_4.3.1-2_xburst.ipk opkg install http://zedstar.org/guile/libltdl_1.5.26-1_xburst.ipk opkg install http://zedstar.org/guile/guile_1.8.7_xburst.ipk Once installed setup a .guile file: root@BenNanoNote:~# cat /root/.guile (use-modules (ice-9 readline)) (activate-readline) When you run guile now you should be able to use the up and down [...]

Read more »

A minimal OpenWrt image for the Openmoko Freerunner containing GNU Guile

To experiment some more with OpenWrt I dusted out a Freerunner and built a minimal image containing GNU Guile. The image is built with glibc and an IP 192.168.254.101 to match my Nanonote settings. ** UPDATE: GNU Guile now has readline support and root image now contains GLib ** Flash the following: http://zedstar.org/freerunner/openwrt-s3c24xx-2.6-uImage http://zedstar.org/freerunner/openwrt-s3c24xx-root.jffs2-128k Boot [...]

Read more »

A dynamic data encoder for embedded systems

I personally view Scheme as a good extension language. Something that can be embedded into C code to ease the pain of doing everything in C. I am interested in exploiting this concept on embedded systems where there is a lot of fooling about to make a binary. I still intend to produce binaries and [...]

Read more »

Guile on a Ben NanoNote

Received a Ben NanoNote today. It is a really natty little device with a lot of potential. My standard test on how hackable a device is involves getting Guile running. Anyway, it was pretty easy to accomplish this despite not using openWrt before. root@BenNanoNote:~# root@BenNanoNote:~# guile guile> (map (lambda (x) (+ x 1)) ‘(1 2 [...]

Read more »

Scripting with Guile on Openmoko

Having Guile running on an embedded device is very powerful. You can add scripting capabilities to a C program and avoid some of the cross compilation -> deploy cycles by simply editing the script to change some functionality. As an example I have taken the code from the excellent introductory article Scripting with Guile. I [...]

Read more »

Guile on an Openmoko Freerunner

I recently got hold of a bunch of Openmoko Freerunners. I needed a distribution which installs to Flash (NAND) so I chose SHR. I am very impressed how things have progressed especially in terms of being a phone! Anyway, this gave me a chance to try out some Guile packages I built. If you have [...]

Read more »

Tweeting from an IRC bot

I have made a Guile module which is capable of being used by the IRC bot bobot++. The code is available here: http://zedstar.org/tarballs/sneektweet-0.1.tar.gz The readme: sneektweet 0.1: Wraps some C/GLib code which posts to Twitter. setup: Edit configure.ac to set twitter account details. from REPL: john@thinkpad:~/workspace/sneektweet$ guile guile> (use-modules (twitter sneektweet)) guile> (tweet “foobar”) guile> [...]

Read more »

geotwitta

geotwitta lets you see how far you are from other twitter users running the program. It will post to your twitter account letting you know the distance in kilometers from those users. It is based on a bunch of technologies I wanted to try out. As a result it is somewhat over-engineered for what it [...]

Read more »

Building a Guile extension on an embedded device

Thanks to OpenEmbedded building extensions for Guile that run on embedded devices such as the BeagleBoard is fairly painless. As I have previously mentioned, Guile is already supported by OpenEmbedded. If you have an extension which is made up of some C code and some Scheme code you first should automate building it with autoconf. [...]

Read more »