A Scheme Interpreter for ARM Microcontrollers: ChangeLog for Version 00.0065
Changes from version 00.0036:
Armpit Scheme now includes r5rs file support (open-input-file, open-output-file, ...). Files are
stored in the MCU's onboard FLASH memory. File names can be listed with (files). All files are erased
using (erase). Individual files can be deleted using the function: (define (delete fnamestring)
(let ((fport (open-output-file fnamestring))) (close-input-port fport))).
Armpit Scheme now includes I2C (TWI) support on Atmel ARM MCUs, expecially the AT91SAM7S256
(I2C Master only, no clock stretching).
The function 'display now differs from the function 'write (eg. it doesn't write double-quotes around strings).
The functions 'reduce and 'flash have been removed. Instead of using 'flash, a startup Scheme
program is now to be written by the user to a FLASH file named "boot" using 'open-output-file ...
The functions 'pack and 'unpack are now part of all implementations. The I2C subsystem now automatically packs and
unpacks non-immediate objects for transmission/reception. The function 'packed? can be used to identify a
Floating point functions have been rewritten to be more compact and robust. They should now return nan
when applied to non-numeric data, as in (cos "hello").
Potential support for multidimensional vectors has been removed from the garbage collector and other
code segments to save space but is still part of the internal representation of sized objects. The internal
representation of sized objects will be updated in a future release to reflect the deprecation of potential
internal multidimensional items (this will save one 32-bit word of memory per sized object,
like strings and symbols).
The source code now uses arm assembly language macros that implement scheme-like functions or
scheme-like function calls.
Updated program examples have been developed to illustrate these changes and the use of the SPI interface.
Last updated June 7, 2007