releasehistory - billroy/bitlash GitHub Wiki

Release History

Bitlash 2.0 on GitHub

As of 2012, Bitlash 2.0 development is hosted at GitHub

The code is available here.

The documentation is available here.

Bitlash 2.0 - RC4 available for download

September 29, 2011

This update includes these changes:

  • Preliminary support for Arduino 1.0 (examples still need rework)
  • SD Card support is, by default, disabled. See the README.
  • Nanode Web server support - see README.
  • You can add "Built-in PROGMEM functions" - see src/bitlash-builtins.c
  • You can give your pins symbolic names - see PIN_ALIASES at line 401 in src/bitlash-parser.c

Bitlash 2.0 - Run script from SD Card - RC3d available for download

June 5, 2011

I'm making an early version of Bitlash with SD Card support available for testing and use by people who can tolerate the early state of the code and the documentation. I'm hoping to get feedback on how it works, and on some of the open issues.

Here's the big news: This version runs Bitlash functions from an SD Card file system. EEPROM space is no longer a limiting factor for Bitlash applications.

You can invoke a file function by mentioning the filename from the command line or from any other function (in EEPROM or a user function) as usual.

You can pass arguments to the function using the arg(n) mechanism from the earlier beta. And those arguments can now be string arguments, too:

printf("The time is %u\n", millis)

(And there's printf()...)

Functions in files can use functions in other files, which in turn can use functions defined interchangeably with scripts from EEPROM.

These file system functions are included in the bitlashsd demo; they provide bare bones support for building file-based applications in Bitlash, or just messing around from the command line:

dir
exists("filename") 
del("filename") 
create("filename", "first line\nsecondline\n")
append("filename", "another line\n")
type("filename") 
cd("dirname")
md("dirname")

You can write to the SD card, too, using fprintf():

fprintf("mylog.dat", "The time is %u\n", millis)

I'm looking for feedback on bugs and problems, irritations and the language design, and hardware combinations that work or don't.

Please note: SD Card support requires the SdFatBeta library by William Greiman. You need to install this library, as well as Bitlash. Instructions in the README.

Bitlash 2.0 Release Candidate 2 (RC2) Available for Download

March 6, 2011

Bitlash 2.0 RC2 is available for download.

This release fixes a bug which caused functions to be saved to EEPROM with extra, spurious characters at the end. See the RELEASE notes file for details.

All users are encouraged to update to this version. Please report any new bugs and issues.

Bitlash 2.0 Release Candidate 1 (RC1) Available for Download

February 5, 2011

Bitlash 2.0 RC1 is available for download.

Here is a summary of changes; detailed documentation is available at Bitlash Online.

  • Syntax overhaul

    • Bitlash 2.0 language is considerably different
    • Macros from Bitlash 1.1 will need to be updated to run in 2.0
    • Key changes:
      • if (expression) { stmt;...;stmt;} else {stmt;...;stmt;}
      • while (expression) { stmt; }
      • switch (expression) { stmt0; stmt1; ... stmtN; }
      • function hello {print "Hello, world!";}
  • Macros are now Functions, they take arguments and can return a value

    • arg(0) is the count of args you got
    • arg(1..n) are the args
    • return expression; to return a value; zero is assumed
    • User Functions in C use this same scheme now

    function printargs {i=0; while ++i<arg(0) {print arg(i);}}

  • New Built-In Functions

    • bc: bitclear
    • bs: bitset
    • br: bitread
    • bw: bitwrite
  • New API calls

    • setOutputHandler() api allows capture of serial output
    • doCharacter() api allows char-at-a-time input to Bitlash
  • New Examples

    • BitChi web and telnet server
  • Small Beans

    • Input buffer is 140 characters, up from 80. twitter is the new Hollerith
    • Binary constants of the form 0b01010101 are supported

Bitlash 1.1 Documentation Archive

Bitlash 1.1 was the mainline Bitlash release in 2010. It will be replaced by Bitlash 2 during 2011.

The documentation wiki for Bitlash 1.1 is archived for reference at the Bitlash v1.1 Site Archive

Bitlash 1.1 Release Announcement 2010

February 4, 2010

These features were announced in Bitlash 1.1:

  • User Functions: This release is mainly about the new userfunctions feature, which makes it Really Easy to add your C function to Bitlash. You'll find some new examples of this feature in the Arduino IDE at the File -> Examples -> bitlash menu item, and documentation at the

  • **New Functions inb() and outb(): ** Read and write the AVR registers from your Bitlash scripts. Details on the functions page.

  • Deprecated Functions: These functions didn't make the cut at spring cleaning time and are no longer supported in the Bitlash core: du(), map(), shiftout(), sa(), sr() and usr().

Bitlash 1.0 Release 2009

January 17, 2009

After over a year in development Bitlash 1.0 is available for download.

There is one bug fix since the RC2 version, renaming the folders and files in the /examples tree to remove the '-' which became deprecated in Arduino 0017.

Bitlash 1.0 is tested on Arduino 0017 and

Documentation Overhaul

The Bitlash documentation is now hosted in this wiki. Please send comments to the Author.