Bitlash 0.8 is available for download

Hello and good day:

Bitlash 0.8 is now available for download at http://bitlash.net/downloads/bitlash-0.8c.tgz

Bitlash is an open source command line shell for the Arduino serial port. It runs on the Arduino and interprets commands that you type in a terminal window or send programmatically.

Here is a list of updates in Bitlash 0.8:

  • Printed output to any pin: You can direct serial output to any pin using the "print #N:" construct:

baud(4, 4800) // talk at 4800 on pin 4 (9600 default)
print #4: "ATZ LOL RESETZ" // prints the string to pin 4

  • Arduino 0011 compatibility via #define

  • Much improved web site and documentation at http://bitlash.net

  • Space and speed improvements: a little faster, a little more space for your code

  • Serial to Network Proxy: Stealth beta of our new python serial-to-network proxy

Happy hacking,

-br

looks fun but im getting a error on upload:

hardware\libraries\EEPROM\EEPROM.o: In function `eeprom_read_byte':


c:/documents and settings/me/desktop/arduino-0011/hardware/tools/avr/bin/../avr/include/avr/eeprom.h:198: undefined reference to `__eeprom_read_byte_1F2021'


hardware\libraries\EEPROM\EEPROM.o: In function `eeprom_write_byte':


c:/documents and settings/me/desktop/arduino-0011/hardware/tools/avr/bin/../avr/include/avr/eeprom.h:293: undefined reference to `__eeprom_write_byte_1F2021'


Couldn't determine program size: C:\Documents and Settings\me\Desktop\arduino-0012\hardware/tools/avr/bin/avr-size: 'C:\Documents and Settings\me\My Documents\Arduino\bitlash\applet\bitlash.hex': No such file


avrdude: can't open input file C:\Documents and Settings\me\My Documents\Arduino\bitlash\applet\bitlash.hex: No such file or directory
avrdude: write to file 'C:\Documents and Settings\me\My Documents\Arduino\bitlash\applet\bitlash.hex' failed

i am using arduino 0012, dunno why its going on about arduino 0011
it also happens if i use 0011

Hey billroy,

I'm working on a similar project, albeit I was more interested in the actual serial communication than the shell it self.

One problem I had to deal with was syncing of the Adruino and the computer, do you do any flowcontrol or hand shaking to make sure a command that is sent is received?

nice work.

Justin

Hi, Bongmaster: Your problem is interesting. Could you please restart the Arduino software and see if you still get that arduino-0011 message? Alternatively, you could tweak the code at line 43-ish to switch to Arduino 0011 mode. Let me know how it works out for you.

And hello, Justin: Thanks for your kind words. I saw your release with interest. I believe that bitlash may represent a somewhat "thicker client" approach :wink:

Regarding framing and flow control: nothing special. The protocol is line-oriented and straightforward to automate, especially since you can set the prompt to something distinctive if '>' won't work for your application.

Happy to answer follow-ups.

Cheers,

-br

Hi, Bongmaster: Your problem is interesting. Could you please restart the Arduino software and see if you still get that arduino-0011 message? Alternatively, you could tweak the code at line 43-ish to switch to Arduino 0011 mode. Let me know how it works out for you.

yup tried all them still the same message :frowning: cant think why its doing that.

I can't seem to get it to work, here is some output using screen to connect to the Arduino:

> HELP
bitlash is Copyright 2008 by Bill Roy - http://bitlash.net
See LICENSE for license, README for howto
Pins: d0-22,a0-22  Variables: a-z, 32 bit long integers
Operators: + - * / ( ) < <= > >= == != << >> ! ^ & | ++ -- :=
Commands: boot help if ls peep print ps rm run snooze stop while
Functions: analogread analogwrite    digitalread delaymicroseconds digitalwrite
abs ar aw baud constrain delay dr du dw er ew free map max millis min pinmode pulsein rand2 random sa sr usr

> print "something"
something
> digitalWrite(11,1)
;           ^
expected 
pinmode(11, 1)
 ^
unexpected char
>

Do you know what might be going on?

Hi, Justin:

You might have a look at your eeprom with 'peep', just in case there's something there that looks like a corrupted startup macro. But that's a long shot.

I have seen dropped characters before, but not using 'screen'. In those cases, slowing the baud rate to 9600 helped. You might try this startup macro and then connect at 9600:

> startup:="baud(0,9600)"

I will ponder your problem further. Let me know if the baud rate change helps.

Best regards,

-br

tried removing the old arduino 0011 folder but that doesnt change a thing, i even copied the 0012 folder and renamed it to 0011, not that i expected it to work but wat the hey.

i even looked at the eeprom.h file it mentioned in the error and that made no sense to me at all.
its just not compiling. :frowning:

i really would like to try this out, it looks fun and intuitive.

Justin: Is it possible you have another application connected to the serial port at the same time? Perhaps the built-in serial monitor, or another copy of screen?. That is the only case with symptoms similar to yours that has come to mind.

Bongmaster: pondering... Does a small sketch using EEPROM.h compile correctly on your rig?

-br

i hadnt tried anothr eeprom sketch, tho i should have :S

but i renamed my 0012 folder and extracted a new one, and lo it compiled :slight_smile:

so im thinking it may be a conflict with the hardware library i have, maybe there is a eeprom lib in there thats causing the problem.

but i got it uploaded to my board now and i'll let u know how i get on :smiley:

thnx for the help :slight_smile:

I love it when it works. Thanks for the report, and happy hacking.

-br

hehe i got a bit of a prob with the eeprom, i cant stop the mad flashing pin 13 led thing thats in the startup, it just keeps going and i cannot send a ^C command to it cos stupid hyperterminal is stupid, and im not sure how to do it with the arduino serial monitor.

help please XD

[edit]ok false alarm :stuck_out_tongue: i found a term emulator that actually listens to wat i type :)[/edit]

If you do get wedged with a corrupted startup macro that won't take ^C for an answer, there is a weapon of last resort: you can write and upload a little sketch to clear the eeprom and then re-upload bitlash.

But it sounds like you found a workaround. Bravo!

would be nice if the arduino ide had a clear eeprom command :3