Dear PicoLisp community,

Greetings! I trust you're all doing well! Thank you for all the
interesting discussions in the mailing list. I have something to share
with you all.

I'd like to announce `Hempl' [1], a software system for programming
(32-bit) machines like (hacker friendly, free as in freedom) Mizar32
[2] in miniPicoLisp.  SimpleMachines [3] produced Mizar32
specifically for virtual machines like PicoLisp and Lua.

Here are the Mizar32 specifications: 66MHz AVR32 CPU, 32MB SDRAM,
I2C, SPI, PWM, ADC, SD card interface, USB with UART, Ethernet (no
Lisp module yet), character LCD and VGA add-on modules.

There are quite a few (I guess a few hundred) Mizar32 boards in the
lab in Sicily waiting to be sold. Every single board can practically
work as a tiny PicoLisp machine (runs Hempl) and can connect to a VGA
interface and a PS/2 keyboard (if that's the configuration you'd like
to use it in).

It can also be used over the USB using an FTDI chip interface [4] or
using a (terribly slow) USB CDC stack running on the chip. (One can
also make it work over Telnet). It comes with support for most HW
peripherals. Here's how a simple PWM looks like on Mizar32:

# Make the LED slowly fade up and down forever
#
# Connect a LED in series with a
# 330 ohm resistor between PWM0 pin
# (BUS4 pin 7) and GND (BUS4 pin 1)

(setq
   pwmid 0 # Which channel to use?
   speed 3000 # PWM frequency in Hz
   fadetime 1 # How many secs to fade up?
   nsteps 100 ) # How many steps in the fade?

(setq delay (/ (* (pwm-getclock tmrid) fadetime)
               nsteps ) )

(pwm-start pwmid)

(loop
   # Fade the LED up
   (for duty nsteps
      (pwm-setup pwmid speed duty)
      (tmr-delay *tmr-sys-timer* delay) )

   # Fade the LED down
   (for (i nsteps (ge0 i) (dec i))
      (pwm-setup pwmid speed i)
      (tmr-delay *tmr-sys-timer* delay) ) )

Here are the key features of Hempl:
1) Full control of the hardware platform (MCU) with miniPicoLisp (*)
2) Shell environment for user interaction
3) FAT file system (for the SD/MMC card interface)
4) XMODEM protocol for convenient sharing of files with PC
5) A tiny (monolithic) vi clone for editing PicoLisp code on-the-fly

The Mizar32 comes with documentation [5] and also provides examples
on how to use the HW peripherals in PicoLisp. Here's an article [6] on
"Reviving Lisp for smaller programmable machines". A lot of Hempl's SW
architecture is discussed there. Thanks again Alex for putting it up!

SimpleMachines can use some of the money from the sales of these
boards for its upcoming HW project - the Avior32. It is another MCU
development board around an ARM Cortex clone from ST. For every
Mizar32 board sold with our beloved PicoLisp, SimpleMachines will
donate a part of the sales money to PicoLisp.

If you feel like giving us a hand, you can write an email to Sergio
Sorrenti (in CC) or order it on 4star [7]. You can then compile the
Hempl sources and type away on the Mizar32 in PicoLisp. This chapter
[8] shows how one can compile Hempl and install the firmware on the
MCU.

Please give us your suggestions. Good day!

R

References:
[1]: https://github.com/simplemachines-italy/hempl
[2]: https://en.wikibooks.org/wiki/Hempl
[3]: http://www.simplemachines.it
[4]: https://www.adafruit.com/products/284
[5]: https://en.wikibooks.org/wiki/Hempl
[6]: http://picolisp.com/wiki/!download?-A300
[7]: http://4star.it
[8]: https://en.wikibooks.org/wiki/Hempl/Compiling_Hempl

Reply via email to