Bitlash 1.1 is available for download...

Hello:

Bitlash 1.1 is available for download at http://bitlash.net

Bitlash is an interactive command shell and application environment for Arduino. It implements a C-like language that can run from macros stored in EEPROM.

This release makes it Really Easy to add your C code as a Bitlash function. If you follow a few rules for setting up your function, you can wrap it in Bitlash without having to write a line of parsing code. You get all the parsing, macros, printing, and the rest of the runtime library for free. Read more about the user functions facility at http://bitlash.net/wiki/userfunctions and see the new examples in the Bitlash 1.1 distribution.

There are also new functions inb() and outb() for access to the AVR registers from Bitlash code. More on the Functions page: http://bitlash.net/wiki/functions

This version is tested with the recently-released Arduino 0018 IDE and works with 0017 as well.

Finally, there's a blog post at http://entropymouse.com with a complete walkthrough of the servo example, showing how add a user function to drive multiple servos with time-driven state machines in Bitlash.

Happy hacking!

-br

Thanks :slight_smile:

PS: I liked the old website a bit more :smiley:

Hello,

Are you able to plan when bitlash can be compatible with xduino or mapple i.e stm32 board.
This board are much more powerfull and fast than arduino and IDE start to work.

What do you think about using such board for bitlash and do you think a year can seems a reasonable delay to achieve such a goal ?

I think using such a board for Bitlash is a great idea and would be very practical. One issue that would need to be addressed is the question of what to use in place of the AVR EEPROM for macro storage. Perhaps an SPI eeprom...

Bitlash is written to be very portable, and the source is open so anyone who pleases can take on a project like this. Bringing up the core on a new chip or platform is usually only a couple days' work, mainly involving thinking through differences like EEPROM, pin mapping, pin configuration models, etc. In this case, since the proposed platform has more generous resources, there would be less struggle with code size.

If someone is sufficiently motivated to take on such a port I am happy to provide support, both moral and technical. For an expert in the platform it would be a short slide of compiler bashing.

-br

eried: thanks for the kind words

One issue that would need to be addressed is the question of what to use in place of the AVR EEPROM for macro storage.

Many of the "more powerful" microcontrollers with no separate eeprom have flash program memory that is more easily writable than the AVR's (ie writable at a much finer granularity than the boot/normal banking of the AVR.) For example, the Stellaris LM3S8971 has flash memory that is protectible in 2k blocks, erasable in 1K blocks, and writable 32bits at a time.

So the flash could be a reasonably workable substitute for EEPROM, it sounds like. Not to mention "vast".

Thanks, westfw.

-br

amazing application!
I think it will be a very good tool to teach Arduino.
I'll try and let you know
thanks.

Have you thought about combining bitlash with Telemate (AVR-generated video)? Scan a PS2 keyboard during horizontal retrace. actually run the script during vertical retrace. Practically stand-alone. (and shades of Sinclair ZX80!)

What a cool idea! Thanks for the pointer to Telemate. It doesn't look like it would be hard at all to do the output-side integration, does it?

Remembering the Sinclair ZX-80 always makes me smile. Thanks.

-br

Very nice.

Thank You very much, exactly what i need.
Hopefully it will grow and prosper
:slight_smile:

Yeah I prefered the old site too. Get back the old bitlash logo at least!

It is really turning into something useful. I can't see myself using it for anything apart from a play around but I can see where it would come in handy now.

Mowcius

Very cool! Bitlash rocks.

I played around with it and now I'm reading commands from a file on an SD card.

Have a look here:

mowcius: you were talking about doing something like this a while ago. Trying to make a C++ interpreter with bitlash might be a bit tough though :slight_smile:

Ooohhh :o

I will have to play with that. Thanks for taking the time to do this!

I'm just about getting the hang of some commands on my rMP3 board but there's so much stuff it can do so it's taking me some time!

Mowcius

Now that is super cool, bhagman. I love to see people developing and publishing extensions like this. And what a great writeup. Thanks.

I have a concern about re-entrancy issues with doCommand() when it is used this way. See the blog post at http://entropymouse.com with some thoughts on the issues and a proposed approach that sidesteps them. Have a look and I'd welcome your feedback.

Cheers, and thanks for sharing,

-br