Bitlash — командная оболочка (shell) для Arduino. Шелл запускается на контроллере Arduino и поддерживает некоторые функции Arduino:
bitlash here! v2.0 RC4 (c) 2011 Bill Roy -type HELP- 1017 bytes free
> print «Hello!»
Hello!
>
Оболочка Bitlash поддерживает большинство плат Arduino и их клоны: Arduino Diecimila, Duemilanove, UNO, Stickduino, Sparkfun Wee, Pro Mini, Sanguino и др. платы.
Особенностью Bitlash является то, что он поддерживает функции. Само Bitlash-приложение хранится в EEPROM контроллера. В последних версиях Bitlash возможно хранение функций на SD-карте. В случае, если нужно исполнение нативного Си кода, к примеру для доступа к периферии или для обеспечения высокой скорости работы, то возможно совмещение Си кода с Bitlash функциями при помощи пользовательских функций (см. раздел User Function)
Кстати, последняя версия Bitlash поддерживает Arduino 1.0 Beta!
Начать работать с оболочкой Bitlash очень просто. Для начала, необходимо скачать последнюю версию с сайта Bitlash Online.
Затем, разархивируйте архив в папку Librariesbitlash. Должно получиться что-то воде этого:
Перезапустите среду разработки Arduino. Проверьте, чтобы в меню Sketch->Import Library и в File->Examples появилось bitlash. Если не появилось, то проверяйте пути.
Теперь загрузите в среду разработки пример File->Examples->bitlash->bitlashdemo и загрузите скетч в контроллер.
Теперь можно открыть Serial Monitor или любой другой терминал. Если будете использовать стандартный Serial Monitor то не забудьте внизу окошка переключить возврат каретки на Both NL & CR и скорость передачи на 57600 Baud.
Я предпочитаю использовать терминальный клиент PuTTy. Перед тем, как запустить терминал, вы должны узнать COM-порт на котором у вас висит Arduino. Это можно посмотреть в среде разработки Arduino: Tools->Serial Port. К примеру у меня это COM12. Итак мои настройки PuTTy:
Чтобы каждый раз не вводить настройки COM-порта я их сохранил. Теперь, двойной щелчок по сессии Arduino сразу же открывает терминал и начинает соединение:
Если соединение с Arduino прошло успешно, то появится окно, как на рисунке выше. Теперь вы можете вводить команды. К примеру:
bitlash here! v2.0 RC4 (c) 2011 Bill Roy -type HELP- 1017 bytes free
> print «Привет от BESTSCHEMES.RU»
Привет от BESTSCHEMES.RU
> print 5*5+2
27
> print free()
1013
> print millis()
317175
> print random(100)
78
Как было сказано выше, bitlash поддерживает работу с функциями. Разберем простой скрипт bitlash:
> function toggle13 {d13 = !d13;};
saved
> function startup {pinmode(13,1); run toggle13,1000;}
saved
> startup
> boot
bitlash here! v2.0 RC4 (c) 2011 Bill Roy -type HELP- 1017 bytes free
> ls
function toggle13 {d13 = !d13;};
function startup {pinmode(13,1); run toggle13,1000;};
> ps
0: toggle13
Строка function toggle13 {d13 = !d13;}; записывает в EEPROM функцию toggle13, которая инвертирует цифровой выход d13.
Строка function startup {pinmode(13,1); run toggle13,1000;} определяет специальную функцию startup, которая запускается каждый раз при рестарте контроллера. Здесь, данная функция во первых определяет выход 13 и каждые 1000 мс запускает функцию toggle13.
Команда ls просматривает список функций в памяти.
Команда ps просматривает список выполняющихся функций.
Более подробная документация находится на официальном сайте: Bitlash Online