SparkFun RedBoard Artemis ATP на базе SoC Ambiq Apollo3.
Характеристика | Значение |
---|---|
Дисплей | Sharp Memory in Pixel LS044Q7DH01 |
процессор | Arm Cortex-M4F с частотой работы 96 МГЦ. |
ОЗУ | 364 КБ. |
Накопитель | 1 МБ. |
Клавиатура | Happy Hacking Keyboard Lite 2. |
Аккумулятор | 12000 мА*ч. |
Потребление | 13,2 мВт. |
Дополнительные возможности | солнечная батарея, целый ряд коннекторов |
ОС | PotatOS — модифицированный порт uLisp. |
Тащем-та, автор столкнулся с ниипическими проблемами
Проблем изначально было много, но основная — невозможность считывать нажатия кнопок. Откуда проблема? Непонятно. В итоге автор опробовал Arduino pinMode и вызовы digitalWrite / digitalRead, но все это работало медленно, крайне медленно, хотя и верно. В частности, автор планировал сканировать нажатия клавиш с с частотой примерно 500 раз в секунду. Но ничего не получилось.
Сохранение ссылок и прямой их вызов помог решить эту проблему. Так, автор сократил время сканирования до 1 мс на сканирование. Сейчас сканирование занимает примерно 25% загрузки процессора.
Стоит отметить, что с самого начала автору сильно мешало отсутствие проверки ошибок. Если в коде, который он вводил, возникала какая-либо проблема, REPL аварийно завершал работу, и все приходилось перезапускать из консоли. К счастью, он наткнулся на сообщение на форуме uLisp. Там коллектив расширил более раннюю версию uLisp, добавив некоторую базовую обработку ошибок.
И про два года приврал
Изменена схема подачи питания на SD-карту. Для этого используются контактные площадки GPIO Apollo3. Достоинство решения в том, что оно позволяет полностью отключать питание, когда карта не используется, что очень помогает. Это снизило максимальное наблюдаемое среднее энергопотребление до 2 мА, поэтому автор в итоге и заявил о 2 годах автономной работы.
Но, писать заметки и играть в змейку данный калькулятор позволяет.
Линукс здесь при том, что калькулятор опенсурсный.