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
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
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?
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
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.
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 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
>
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.
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.
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?
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 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.