Приехал DM42 - первые впечатления.

Несколько дней назад я получил купленную бета-версию программируемого калькулятора DM42 известного швейцарского производителя DM SwissMicrosi.

DM42 - это самый последний из калькуляторов этого производителя, который основан на коде Free42 и использует Intel Floating Point Library (библиотека повышенной точности).

Некоторые известные на сегодня технические параметры:

  1. UPDATE: тут более подробная информация.
  2. Основан на STM32L476 ARM CPU, к которому дополнительно подключен 8MB чип флеш-памяти (посредством Quad SPI шины).
  3. Дополнительный чип флеш-памяти "проецируется" в адресное пространство CPU, последний работает с ним как с обычной флеш-памятью. Чип понадобился для того, чтобы разместить интеловскую библиотеку повышенной точности, файловую систему, а также другую функциональность, которая не влезла в главную флеш-память CPU.
  4. CPU работает на частоте 24 МГц при работе калькулятора от батарей, если же питание от USB, то CPU работает на частоте 80 МГц. Это позволяет проходить тест 8-Ферзей за 3.6 секунды при питании от батарей и примерно 1.3 секунды при питании от USB.
  5. Дисплей - ultra low-power LCD TFT 2.7" с памятью производства SHARP, разрешение 400 x 240 пикселей; на дисплее при выключении калькулятора остается графическая картинка (см. видео)
  6. Корпус (задняя часть) калькулятора - нержавеющая сталь с вакуумным напылением титана. Калькулятор ощущается в руке как что-то лучшее из советских времен (тяжелое и многоразовое).
  7. Работа калькулятора с портом USB именно так как ты ожидаешь - после подключения калькулятора к USB порту компьютера надо выбрать в меню "Активировать USB диск", после чего калькулятор виден в компьютере как флешка. Можно гонять файлы туда сюда. Файловый менеджер показывает такое количество памяти, для вычислительной системы со средним размером программы 100 байт это неплохо:
    usbmem
  8. Рядом с USB портом находится отверстие ИК-светодиода. Подозреваю, что это для поддержки ИК печати на соответствующие принтеры, но точно не знаю. UPDATE: народ с форума подтвердил,
    что DM42 работает с ИК принтером HP 82240:
    IR printer
  9. Программы, скопированные из калькулятора в формате .raw можно запустить на компьютере на эмуляторе Free42; тоже самое работает в обратную сторону.
  10. Бутлоадер чипа стандартный, прошитый на заводе, средства для прошивки опенсорсные, поэтому те, кто захочет заменить прекрасный функционал Free42 на что-то свое, могут сделать свою собственную прошивку и прошить ее.
  11. В настоящее время идет обсуждение о том, каким образом можно использовать богатые графические возможности дисплея. Вариантов больше, чем два.

Дальше много фото.

Поколения...
MK61 HP35s DM42
Введена программа 8 ферзей:
nqueensnqueens 2
SHIFT -> CATALOG -> MEM
Free mem
USB разъем и отверстие ИК-светодиода для печати на ИК-принтеры типа HP 82240:
usb
Корпус из нержавеющей стали с титановым покрытием:
cover

File attachments: 
Прикрепленный файлРазмер
Image icon sdkdemo_2.png1.2 KB
Метки публикаций: 

Комментарии

Поздравляю с обновкой — а швейцарцев с выпуском новинки! Не знал, что DM42 уже доступна простым смертным «в железе». Экран здесь «электронные чернила»?

Раз возможность прошивки доступна, на DM42 можно помогать в разработке переносимой версии Каллисто. Придётся, конечно, ограничивать себя в объёме используемой памяти, чтобы результат помещался в МК-161.

Для DM42 потребуется уникальный модуль — отдельный форт-ассемблер для примитивов на ARM, зато часть определений высокого уровня будет общая с «Электроникой». Бонусом от дополнительной памяти станет то, что на DM42 Каллисто сможет компилировать саму себя.

Не знаю, насколько имеет смысл переносить на DM42 старые языки МК-61 и МК-161. Я постарался, чтобы в Каллисто была максимальная совместимость «снизу вверх». А если кто найдёт способы улучшить совместимость, буду только рад узнать об этом и внести в общий язык следующего поколения.

Спасибо!
DM42 доступна в качестве бета, этого калькулятора пока нет в общем списке на сайте, чтобы купить, надо написать емейл Майклу, он пришлет ссылку на форму заказа.
Я тоже думал, что это "электронные чернила", но это высококонтрастный LCD с памятью (вроде, от SHARP), в режиме "памяти" он потребляет микроватты, для поддержания картинки на экране. Конечно, не так, как чистые "чернила", те ничего не потребляют вообще.

Было бы интересно, если бы всю прошивку DM42 выложили в опенсорс (на форуме разговоры об этом ведутся, но не очень интенсивно).

Про перенос старых языков туда я тоже не уверен, что это кому-то нужно. А вот Форт в таком карманном мощном железе с прекрасным графическим экраном мог бы быть очень интересным.

Однако написание прошивки для DM42 столкнется с тем же самым препятствием, что и написание прошивки для МК161 - схемотехника (регистры, карта адресов и т.п.) неизвестна. Единственное, что прошить точно можно через USB без всякой разборки "железа". Вот так, к примеру, выглядит залитие прошивки из-под Линукса:

$ dfu-util -D build/DM42_flash.bin -a "@Internal Flash  /0x08000000/512*0002Kg" -s 0x8000000
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash  "
Downloading to address = 0x08000000, size = 756288
Download        [=========================] 100%       756288 bytes
Download done.
File downloaded successfully

real    1m55.929s
user    0m0.044s
sys     0m0.048s

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Общие сложности, общее решение.

Программа-минимум для двух железок — научиться брать код нажатой кнопки и выводить точку на экран. Изучать оборудование можно средствами самого языка. Он же заточен на диалог с человеком, который сперва можно пустить по RS-232. По мере изучения писать примитивы ввода/вывода.

Скорее всего, Майкл лояльнее к сообществу, чем Новосибирск и может ответить на вопросы. Также можно выдрать кусочки кода из прошивки, вроде для DM42 её никто шифровать не должен.

Тут вот дискуссия:
https://forum.swissmicros.com/viewtopic.php?f=7&t=14&start=10#p451

Майкл пишет:

"Of course we will release our changes of Free42 as it is required by GPL, please be patient ...
But we're not going to release the source of the OS / Platform code.
We focused on having the two separate since the beginning.
The idea is to release a statically linked object of the Platform which can be linked together with objects of Free42 or any other program.
David can elaborate more on this if needed, but it's still much too early to expect a working solution ..."

"As I said, that's the idea, currently.
We'll see how things go and how it develops.
I'm sure you understand that we need to protect our effort.
It would be too easy copying everything, if the schematics and the source code is freely available.
Either for a small or a large company, here or far east ..."

Понять можно. Железо скопировать несложно.

Но возможно выйдет PC симулятор DM42, но на каком уровне там можно будет запускать бинарный код, неизвестно

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Значит, изначально это идеологический враг — как Новосибирск, засекретивший прошивку. Но и те, и другие вынуждены использовать свободный софт и подчиняться GPL, благодаря гению Столмана и ценности нашего общего 30+ летнего труда.

Впрочем, -error- прав и здесь случай не так запущен. Когда Майкл выпустит свою операционку в виде объектного кода, никто не помешает свободную Каллисто прилинковывать к уже готовой системно-зависимой библиотеке.

Также вряд ли Майкл настолько отморожен, что начнёт удалять / замалчивать проекты для своего калькулятора, написанные его владельцами. Возможно, он просто запуган собственниками и однажды поймёт выгоду от свободного ПО, перестанет бояться клонов и присоединится к движению.

Столманн, конечно, человек незаурядный. Однако без поддержки корпораций Линукс был бы сейчас в том же месте, где FreeBSD. И то в лучшем случае. И чем дальше от ядра, тем качество ПО хуже, экспоненциально. Чудес не бывает, поддержка системы качества линейки продуктов, как у Microsoft, например, стоит огромных организационных усилий и больших денег. Майкл Шаттлворт - живой свидетель, в отчаянии написавший правду о типовом составе сообщества свободных кодописателей, угробивших десктоп Юнити.

Реальные враги. См. например «SCO/Linux controversies» (англ.), где правоторговцы пытались уничтожить сообщество Линукса и заставить платить им дань. См. историю с нападением на группу в жж, где сразу после моей публикации под свободной лицензией драйвера алфавитной клавиатуры Каллисто Степанищев удалил все записи группы до дветысячи-лохматого года. Смотри историю с DeCSS, где пытались запретить проигрывание DVD-дисков из свободного ПО. Это война. На кону большие деньги, направление развития и принадлежность средств производства.

Торвальдс, кстати, это союзник — но до конца идеи свободного ПО он не разделяет. Столману пришлось большую работу с ним провести, чтобы ядро Линукса было под Гну GPL. И вряд ли Торвальдс понял до сих пор, зачем это нужно и почему свободы важны. Он вообще не понял и не оценил роль проекта Гну в создании Гну-Линукса. Ценности свободного ПО вроде GCC, bash он воспринимает, как с неба свалившиеся и использует, не понимая стоящих за ними великих идей.

Поддержки корпораций важны, конечно. Именно это и есть гениальное нововведение Столмана — позволить использовать свободное ПО в коммерческих целях, перепродавать и прочее. Чётко описав критерий свободы и заставляя передавать свои изменения, дополнения свободных программ также в сферу свободного ПО.

Большинство корпораций и буржуазных производителей это именно норовистые кони, которые были бы рады всё засекретить и скрыть, получая от нас деньги, готовое свободное ПО и не раскрывая свой код — но вынуждены подчиняться закону и соблюдать лицензию. Гну GPL сдерживает их стремление к собственничеству и заставляет раскрывать по крайней мере некоторый код.

Я не об этом, а о том, что без вклада корпораций не было бы никакого нынешнего Линукса. Какая под ним лицензия - дело десятое. У FreeBSD лицензия гораздо лучше с точки зрения твоих "врагов", можно закрывать код и не делиться им. Однако, это не принималось в расчет при выборе платформы, как объекта инвестиций. Принималось во внимание сообщество и возможности контролировать ситуацию. Я уж не говорю о конечных профессиональных пользователях, для которых лицензии и выплаты по нем стоят на десятом месте.
Недавний опыт, PostgreSQL, лицензия также позволяет делать свои закрытые форки. Один уже тихо живет в виде LinterSQL, другой PostgresProfessional имеет часть кода закрытым.
Не надо впадать в религию. СПО - сугубо утилитарная вещь.

Утилитарный подход к свободному ПО это «открытые исходники» (OSS). См. матчасть про свободное ПО:

Эти свободы жизненно важны. Они имеют значение не только для отдельных пользователей, но и для всего общества в целом, потому что они способствуют развитию общественной солидарности — то есть обмена и сотрудничества. Они становятся еще важнее оттого, что цифровая техника все больше входит в нашу культуру и жизнедеятельность.

Если бы нынешнего «Линукса» не было, это не повлияло бы особенно ни на что. Цель Free Software Foundation сделать свободную операционку была объявлена ещё в 1984-85 годах. Сегодня свободная операционка носила бы название «Гну», безо всякого Линукса и финского влияния. :-) Корпорации (для которых ПО это действительно объект инвестиций) вкладывались бы в неё, а не в отсутствовавший Линукс.

Я думаю, подавляющее большинство сторонников свободного программного обеспечения просто не хотят платить за прикладные программы. На мой дилетантский взгляд, по-хорошему в РФ надо бы госфинансирование разработки программ, с копеечным окладом и премиями за выпуск каждой новой программы, с размером премий соразмерных с функциональностью и качеством программ.
Но нельзя, деньги разворуют :) и получится как продукция полумёртвых госзаводов :)
Расскажу интересный случай, у некоего софта 1С закончился срок ломаной лицензии, и фирма за месяц продала чуть ли не годовой объём! А разгадка: месяц кончается бухгалтерию в налоговую сдавать надо :)

Я думаю, далеко не всегда сторонниками открытого ПО движет "жаба". Я - сторонник открытого ПО, но у меня очень много купленного мной коммерческого софта. Увы, зачастую свободного ПО либо нет нужного (например, state-of-art конвертер RAW файлов цифрозеркалок), либо оно (СПО) - унылое гуано

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Не то, чтобы людей прямо "жаба" душит, если программу можно просто скопировать? Ну и наконец, бесплатный софт это ближе к любительскому, а коммерческий это уже больше профессиональное, совсем уж сырую программу приобретать не будут :) На старой работе на компах в заводуправлении наряду с 1С стоял вполне бесплатный опеноффис.
Я вот задумался, написана программа, которая будет актуальна лет 5 и её поставит миллион человек, а продана она будет за 60 рублей? Тогда выручка составит по миллиону в месяц на время актуальности проданной программы и написание новой. Пусть половина денег уйдёт на оборудование и материалы, четверть на налоги, а остальное на чистую зарплату, это получается 250 тысяч рублей, это минимум для найма пятерых профессиональных программистов, это зарплата на уровне разработчиков микроконтроллерной техники.

1. Свобода важней. Люди понимают это, когда теряют свободу. Войны, восстания и революции совершаются ради обретения свободы. Угнетатели ненавидят свободу угнетённых (см. звериную ненависть «господ» из РПЦ к правам человека), но даже они хотят себе свободу угнетать других.

2. Возможность бесплатно скопировать софт соседу, товарищу, другу, близкому — одна из свобод. Не единственная, но важная.

3. Производители, бизнесмены, корпорации обычно не понимают идеи свободы. Им важна выгода, деньги. Чтобы поберечь им нервы и был придуман убогий термин «открытые программы» — позволяющий финансировать свободные программы «без религии».

4. Свободное ПО может быть коммерческим. Фонд FSF тратит средства для найма профессиональных программистов и публикует созданное коммерческое ПО высокого качества, защищённое авторским правом, под свободной лицензией Гну GPL. Компании вроде Red Hat зарабатывают деньги на продаже и поддержке свободного ПО — этот бизнес отличается от «микрософтовского», требуя других знаний и квалификации.

5. Да, на низовом уровне свободные программы привлекательны тем, что их можно скачать бесплатно. Многие непрофессионалы и любители участвуют в разработке свободных программ. С другой стороны, есть много бесплатных программ, не являющихся свободными, с закрытым исходным текстом. От демо-версий до содержащих рекламу приложений.

В теории и бог сотворил Землю на 5 (или сколько там?) дней. На практике это не работает. Работает сложившаяся система: Большие Дяди финансируют открытые разработки в собственных интересах.
Цикл жизни ПО, и СПО в частности, не ограничивается написанием "нетленки". 80% остальной работы - это тяжелый производственный труд, который выполняют профессионалы за тот или иной способ вознаграждения.
Тут не о чем спорить.

Протестую! Креационизм не является теорией, т.к. не подтверждён экспериментально. Даже в качестве гипотезы ваше «бог сотворил Землю» никто из учёных не выдвигал. Будучи атеистом, я утверждаю отсутствие такой сущности, как «бог», а креационизм мы считаем большим заблуждением.

Мне тоже непонятно, с чем вы спорите. Есть практика, вашим языком некоторые из «Больших Дядь финансируют открытые разработки в собственных интересах».

А есть умные парни, которые посидели, подумали, обсудили, разработали, экспериментально проверили теорию — которая делает финансирование FOSS выгодным для ваших «Больших Дядь» — и применили её на практике.

Никто, включая Ричарда Столмана, не собирается лишать профессионалов оплаты за труд. Речь лишь о том, чтобы владельцы, пользователи и покупатели не попадали в вечную кабалу к тем классовым врагам, кто эксплуатирует профессионалов и публикует их труд.

Конкретно для RAW я используют GIMP + UFRaw. Этическая позиция здесь такая — если нужно собственническое ПО (например, свободное отсутствует), пользоваться «пиратским». В идеале несвободное ПО ставится лишь затем, чтобы написать свободный аналог.

Вкладывая деньги в собственническое ПО мы финансируем, в том числе, запретительские законы вроде DMCA и «пакета Яровой». Оплачиваем вражеские действия против себя. И наоборот, покупая коммерческое свободное ПО, финансируешь борьбу с этими законами.

В конечном итоге корпорации будут вынуждены раскрывать исходный код своих программных продуктов. Упёртые правоторговцы разорятся и всё ПО станет свободным по умолчанию — с доступными исходными текстами, возможностью его улучшать и делиться результатом с соседями. Закрытые прошивки станут незаконными и предметом расследования, какой код производитель решил запускать втайне от владельцев и почему.

AtH wrote: Конкретно для RAW я используют GIMP + UFRaw. Этическая позиция здесь такая — если нужно собственническое ПО (например, свободное отсутствует), пользоваться «пиратским». В идеале несвободное ПО ставится лишь затем, чтобы написать свободный аналог.

Я пользуюсь GIMP очень давно, для меня замена Фотошопа полная. Но, к сожалению, UFRaw недотягивает и близко до возможностей DxO OpticsPro image pipe в области конвертирования RAW в RGB и постобработки.

Пиратить софт своих почти коллег у меня рука не поднялась

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Открытый, закрытый, бесплатный, небесплатный... Важно качество, необходимое для выполнения задач. Если при этом еще и бесплатный, то, после проверки сыра, можно попробовать и мышеловку.

Готовил лекции в ОпенОфисе, 10 презентаций по 20 страниц, сложил все маты. "Больше никогда" (с). У китайцев есть закрытый WPS офис, который они пилят уже 30 лет, но так и не могут довести до уровня, близкого к MS. Из нескольких сотен наших клиентов интерес к интеграции проявил 1 (один). Люди соображают, что проще заплатить 300 евро за пакет и не терять время на борьбу с техникой. GIMP заменяет фотошоп только любителям, не встречал ни одного профи, который им пользуется. С десктопами просто беда, мало того, что их много, силы распыляются, все продвигают свои "нетленки", они по качеству далеки даже от Windows, не то что Mac-а.
Короче, бардак. Кроме ядра Линукса и дистрибутива серверной ОС на его основе, которая гонятет стек LAMP - все остальное от "хуже" до "мусор".

работать, особенно с презентациями, сложно.

Про десктопы как-то так и есть, линукс на компах как основная операционка - удел небольшого количества любителей.

Но разрабатывать embedded софт и прошивать разное железо - тут с Линуксами сложно сравниться

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

It depends, как грится. Для каких-то массовых устройств типа роутеров - Линукс, но, опять же, если брендовое устройство, то фактически свой Линукс. И чем критичнее работоспособность, тем более он свой, никаких открытых исходников, ессно, нет, продают же устройство, а не ОС. Если пром.оборудование, то Windows Embedded рулит.

У нас как раз спидмастерах Windows Embedded и Windows Professional, процессор Celeron 800MHz, а жёсткие диски IDE ноутбучные!
Экзотический шлейф от него коротнул, а в продаже нет, сервис-инженер нашёл где-то, правда обжимать пришлось :) Зашёл в копьютерный сервис-центр, директор знает что такие шлейфы есть, но в живую не видел :)
Вообще, в промкомпьютерах ОС вторична, в первую очередь сама программа управления станком, а ОС, та, под которую удобней отдельно взятый софт писать, нередко железo заказное. Высекальный пресс 2007 года работал под управлением компьютера на базе впаяного 80486 66МГц, 32МБ, северный мост ещё стандартный, а вот контроллер шин на базе FPGA!

Вот и я всякий раз, когда сталкивался с промоборудованием (терминалы для самосвалов, блок сбора сведений т датчиков в автобусе, управление видеосъемкой на автопортале), то возникал Windows Compact и Embedded. Главное обоснование - удобно писать софт.

Сейчас, вроде, все промоборудование пишется под линукс, с пользовательским интерфейсом на фреймворках под QT.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Важно качество, необходимое для выполнения задач. Если при этом еще и бесплатный, то, после проверки сыра, можно попробовать и мышеловку.

Твой подход использует лагерь open source software.

Подход free software отличается. Для нас важна свобода, а несвобода перевешивает технический «сыр». Когда задачу можно выполнить в Гимпе, я её делаю в Гимпе. Когда решение достигается только с помощью собственнического софта — возникает задача по поиску другого решения, а также помощи разработчикам Гимпа.

Эти два лагеря сейчас дружат и помогают друг другу. Да и не обязательно быть упёртыми фанатиками. Уровень, когда человек полностью отказывается от собственнического софта (например, не использует смартфоны с закрытой прошивкой) официально объявлен «святостью» в пародийной церкви Emacs'а. Быть святым никто не заставляет.

Vitasam wrote: Спасибо!
DM42 доступна в качестве бета, этого калькулятора пока нет в общем списке на сайте, чтобы купить, надо написать емейл Майклу, он пришлет ссылку на форму заказа.

По крайней мере разработчики данного девайса не будут посылать на три буквы и всячески унижать, при этом ноя как их всех не любят, тех, кто будет пытаться написать прошивку.

https://www.terraelectronica.ru/catalog_info.php?CODE=1930188
Форт на базе существующих решений (например VFX или Mecrisp и др.) ещё не испытал.
есть ещё https://www.terraelectronica.ru/catalog_info.php?CODE=1134110 для вывода картинки на VGA монитор
(там кстати J1 Форт CPU на FPGA) решение запуска Форт должно быть рабочее т.к. на STM32L100-Discovery
VFX Forth уже опробован в рабочем варианте.

P.S. Можно попробовать собрать вариант системы в "нетбучном" исполнении.

Клаааааас, хочу, хочу :)
Интересно, сколько будет стоит в итоге.

Сейчас стоит 137 евро плюс пересылка. Сколько будет финальная цена, не знаю, возможно, так же

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Почти 40% моего сегодняшнего оклада электронщика, премии у нас нет :-) МК-161 в 2011 обошёлся мне как раз в 40% моей тогдашней заводской зряплаты :-) Завтра МК-161 на работу потащу, нужен :-)

и HP50g

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Если не секрет, для чего нужен на работе МК-161 ? Периферией какой рулить ?

В сгоревшем частотнике надо было ёмкость кондюков померить :)

Из трех на фото "швейцарец" смотрится лучше всех. Осталось дождаться стабильной версии и технологии создания пользовательских прошивок или хотя бы дополнений.

Открытость исходников и прочая "швабода" здесь непринципиальны. У того же Касио есть SDK, правда достаточно убогий, у HP тоже. Вопрос именно в возможностях персонализации, а не открытости кода реализации.

монолитным и плотно сбитым.
Функциональность DM42 в текущей версии (DM42 Beta Firmware 2.10.12) очень неплоха, в .13 обещали выкатить несколько вкусностей (вроде, печати скриншотов экрана в файл и еще что-то).
Посмотрим, сможет ли коммьюнити повлиять на что-нибудь (на форуме количество зарегистрированных пользователей уже 133) в плане создания бинарных плагинов.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Размер USB диска 5.95 Мегабайт, для вычислительной системы со среднем размером программы 100 байт это неплохо.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Вышла новая фирмварь. Из главных вкусностей - скриншот экрана сразу в .bmp файл записывается

DM42 Beta firmware V2.10.13 release notes:

- Press SHIFT+DISP to get a screenshot. You will find a .bmp file named according to the current time and date in the SCREENS folder of the FAT drive
- The malloc() error that caused the DM42 to hang has been removed and the condition is now handled gracefully without needing to reset the DM42
- The QSPI contents is checked after a reset. If incorrect contents is found, the user is given the ability to copy the required binary file to the FAT disk and the DM42 will pick it up from there and write it to the QSPI memory
- Added USB MSC Eject handling. After "ejecting" the drive, it should disappear from the system and the DM42 will automatically exit USB FAT mode. When using Windows "Safely remove hardware...", USB mode should be stopped manually on the calculator
- Low battery check (Flag 49) - once the battery gets below 2.2V
- Random number seed is based on RTC reading now
- Flag 26 is now mapped to the "Beep mute" toggle in the DM42's settings
- FAT storage can be checked for errors (SETUP -> System -> Check Disk)
- SETUP -> File -> Show Disk Info displays disk status
- TONE 6 is fixed

Additionally, there are a number of internal fixes:

- Massive amount of disk error handling
- Free42 separation to core_aux.cc
- Fixed release build to use release version of free42 lib (remove some debug output)
- QSPI clock changed several times, should fix occasional QSPI hanging

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Похоже, фича из будущей прошивки тестируется. Пользовательские stand-by экраны
startrek

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Это обнадеживает, платформа хорошая, хотя и не из дешевых.

Да, платформа очень радует, хотя не из дешевых, согласен. И хотелось бы такую графику из своих программ реализовывать (к примеру, заставка "Лунолетов" :)

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

По сравнению с унылым МК-161 - тут есть за что платить такие деньги. Потенциально можно попросить реализовать запуск ассемблерных или сишных добавок с флэшки. Вообще я активно насилую КАД систему и 3д принтер, ЛУТую, экспериментирую, очень хочется запилить вообще собственное творение, не из стали, но не менее изящное. DM42 конечно классно смотрится, но я считаю топовым ретродизайн HP 35s :-) Думаю можно создать полностью открытую платформу гораздо дешевле МК-151, на STM32, которую можно будет пилить всем миром.

3ГГ0Г wrote: По сравнению с унылым МК-161 - тут есть за что платить такие деньги. Потенциально можно попросить реализовать запуск ассемблерных или сишных добавок с флэшки. Вообще я активно насилую КАД систему и 3д принтер, ЛУТую, экспериментирую, очень хочется запилить вообще собственное творение, не из стали, но не менее изящное. DM42 конечно классно смотрится, но я считаю топовым ретродизайн HP 35s :-) Думаю можно создать полностью открытую платформу гораздо дешевле МК-151, на STM32, которую можно будет пилить всем миром.

Про дизайн - да, пожалуй, HP35s более вылизан, но в DM42 сидит просто шикарный экран. Я не могу дождаться, когда запилят PIXEL функцию в расширение языка HP42s, которое позволит обрашаться ко всему экрану. Очень хочется увидеть траектороии Лунолета-2 в большом разрешении.

Что касается запуск своих бинарников:
1) SwissMicro собирается выпустить SDK с расширенной поддержкой железа DM42, на котором можно будет писать свои собственные прошивки.

2) На форуме бета-тестеров DM42 ветка, коммент оттуда:

I wonder if we need to reinvisage the concept of a handheld calculator these days.

I very much look forward to what the DM42 will be, and I think it will be useful for many people, but I can't help thinking we are not taking advantage of modern CPU, connectivity and programming languages.

Can you imagine a machine with the nice buttons and functionality that the DM42 will have, but which syncs with your github account, and is able to run programs written in python, R, julia, Go etc. It'd be great to make use of modern programming languages, with decent flow control, concurrency, packages etc.

The technology is already here, but I don't see any products available.

Сообщество живое, производители адекватно реагируют, может, что и получится.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Я наверняка наскребу на свой экземпляр мегахакерского девайса DM42 :-) Но обращаю внимание на конскую цену 11 тыщ и всякие крутые ништяки, которых можно было бы избежать в универсальных бюджетных моделях - а именно стальной корпус,крутой экран, да и вообще совместимость с HP на бинарном уровне. То есть у DM42 своя ниша, у любительского девайса была бы своя ниша, которую не смог взять МК-161 с его ошибочной концепцией во всех смыслах. В частности любительский девайс должен быть легко сведён к одной очень дешёвой платке, где бы исполнялась введённая на "полном" калькуляторе программа и могла обращаться к разной периферии контроллера.

Что нибудь такое: STM32F103C8T6 (1.72 euro) + 0.91" 128x32 IIC-I2C-Blue-OLED дисплей (2.31 euro). Вместо клавиатуры - UART интерфейс.

Итого: 4.03 евро. Две с половиной чашки кофе у нас

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Кстати только прикупил такой дисплейчик поиграться, платки есть всякие, включая STM8. Но UART не нравится, надо допиливать свою технологию построения клавиатур. В принципе у меня практически получилось, принтер косячит местами, но это решаемо. Получится полностью DIY технология создания приличных клавиатур с HP кнопочками, каждый сможет себе сварганить по экземпляру без проблем. В принципе можно вниз попробовать приделать тактовые с малым ходом, но гемора их паять и они недешёвые, а тут пластик, резина и клей, думаю всё получится.

Какая то мешанина не понятно о чём

Статья, да странная.
Основная идея что на рынке есть уже куча доступных устройств (как пример часы)
с дешёвым и эффективным (ARM?) чипом (56центов) МТК626x со всей открытой документацией и ПО для использования в своих девайсах. Само железо можно уже брать в виде готовых девайсов.

P.S. На автора статьи "набрёл" при чтении заметки 2009 года про ДССП язык программирования
https://habrahabr.ru/post/62589/ Структурированное програмирование.
В комментарии он хотел использовать Форт для "хакинга" разных девайсов. :)

В общем решил попробовать чуть более дорогую комбинацию: E-ink дисплейчик 200x200, и STM32 Nucleo c STM32L432, стоковые железяки, низкое энергопотребление, вроде как больше подходит для калькуляторного девайса. И под STM32L432 есть Форт с кучей примочек, есть шанс не сильно утонуть на нулевом этапе. Думаю 3-4 тыщи за девайс это достойная цена при таком энергопотреблении и параметрах. Можно попробовать у китайцев на алиэкспрессе цену сбить, если будет интерес к девайсу и его наполнению. К тому же можно руку набить, чтобы DM42 программировать, там похожий контроллер. И на Cortex M4 ядре есть плавучка аппаратная, а в F103 Cortex-M3, нифига нет. Напрашиваются две версии, одна под F103 с OLED, которые тоже мало потребляют, вторая с L432 с Eink

А я жду SDK от SwissMicro, попробовать ХеллоВорлд прошивку сделать с выводом символов с клавиатуры на экран

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Можно попробовать доработать до калькуляторного варианта
а так железка с STM476 ждёт своей участи :)

Смущает, что у L432 на плате Nucleo-32 всего 64Кb оперативки и нет контроллера памяти FMC, который бы позволял мапить внешнюю SRAM в адресное пространство чипа. А с другой стороны, для Форта такое отображение по SPI можно и программно слепить, к тому же есть всякие DMA. Привлекательно, что у L432 достаточно низкая цена, у чипов пожирнее с FMC, цены примерно в два раза выше. Если прижмёт можно отладку с L476 купить за 2 тыщи, там сразу 128Kb SRAM и можно отобразить ещё через FMC.

Serguei_Tarassov wrote: Это обнадеживает, платформа хорошая, хотя и не из дешевых.

Вот меня большей частью останавливала клавиатура. На одном из фото разглядел взломанный HP Prime (свой то ломать рука не поднимается). Оказывается все эти кнопки нажиматели с щелчком просто определённым образом выделанный в пространстве пластик, сейчас экспериментирую чтобы воспроизвести то же самое на 3д принтере, надо будет намазать токопроводящим концы и тыкайся в пятаки на плате!!! Для шелкографии пока что приобрёл паяльную маску с УФ отвердителем, 3 цвета у меня есть. Экранчик надо более менее не жрущий, к сожалению на eink цены конские :-(

Тут тоже самое - кнопки "выделаны" из цельного куска пластика.

Eink - тут выше в форуме мой эксперимент с eInk дисплеем на Raspberry Pi Zero. Цены да, конские. Хотя кальк на eInk был бы мечтой

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Прикупил небольшой Eink экранчик и платку на STM32L432, под это дело есть форт. Вот вам и достойная комбинация для старта за 3 тыщи рублей.

А ссылки можно?

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Ссылки можно:
Я ступил взял квадратный, а потом начал думать, что за девайс будет с квадратным мелким экраном, нарисовал много фантастических корпусов, даже нашёл древние TI калькуляторы у которых был квадратный экранчик с большими полями. В итоге скрипя зубами заказал прямоугольный вдогонку.

https://www.terraelectronica.ru/catalog_info.php?CODE=2294549 2.13inch e-Paper HAT – совместимый с Raspberry Pi 2B/3B/Zero/ZeroW дисплей

https://www.terraelectronica.ru/catalog_info.php?CODE=2294550
1.54inch e-Paper Module – дисплейный модуль, выполненный по технологии электронной бумаги

Заметьте оптовые цены у них вполне гуманные.

Производитель написал, что все бета тестерные экземпляры распроданы и что выпуск назначен на 4-тый квартал 2017 года. Цена будет 199.00 CHF Швейцарский Франк = 11 326.88 RUB Российский Рубль. Кусается, но Прайм мне обошёлся дороже. В общем есть стимул пилить своё любительское :-)

Да, это уже кусаче. Ну зато железо, видимо, будет подвылизано.
Насчет стимула пилить любительское - слишком мало количество желающих участвовать. Я насчитаю штук 6 попыток запилить что-то свое, из них 2 - с моим участием :)

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Важно даже не количество участников, а перспективность работы.

Для ПМК важно количество пользователей — оно и привлекает разработчиков ПО, позволяя нам использовать работу друг друга и строить более интересные программы.

Если «запилить» 10 самодельных калькуляторов, несовместимых друг с другом, это совершенно гибельный вариант. Лучше, когда 10 человек работают на одной и той же модели, делясь друг с другом программами. Такого можно добиться либо хорошим финансированием, либо сознательным сотрудничеством.

Несомненно, лучше пилить одно железо и один-два варианта прошивки. "Рапира" и "Каллисто", к примеру :)

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Vitasam wrote: Несомненно, лучше пилить одно железо и один-два варианта прошивки. "Рапира" и "Каллисто", к примеру :)

Каллисто - это хорошо, но насколько я понимаю, это специфичный для МК-161 и его заморочек диалект Форта. Для STM32 надо писать свою версию Каллисто. Но я убеждён, что как язык низкого уровня Форт будет вне конкуренции, т.е. надо попробовать создать свой аналог подъема от SysRPL к UserRPL, но вместо унылого RPL предусмотреть целую платформу для языков, чтобы там для юзера можно было вылепить и Бейсик и Форт, и Пролог, а собиралось бы на низком уровне в этот низовой Форт как SysRPL.

Как насчет Lua?

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

В целом хорошая штука, но мне не нравится что это в целом не "калькуляторный" язык, многословный и замученный всякими штучками с больших компьютеров. Да не суть, на более совершенной платформе вроде STM32 можно сварганить и то и другое и третье, это же убожество как в МК-161.

Ну, есть такое дело с Lua.
Форт выглядит более подходящим, но он таки требует некоего изменения в сознании. А вот чтобы и калькуляторно, и не менять сознание, то ближе всего к идеалу, IMHO, подошли в HP Prime

EXPORT Mul35()
BEGIN
LOCAL n, t;
  t := 0;
  FOR n FROM 3 TO 999 DO
    if n mod 3 = 0 OR n mod 5 = 0 THEN
      t := t + n;
    END;
  END;
  RETURN t;
END;

Ну красота же, не?

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Много лишних слов. Это текст для большого компьютера. К тому же мерзко импертивный,
зачем там лишняя сущность t ??? :-)

Для калькулятора лучше бы повыразительней и покороче, как там читать эти портянки из BEGINов ?

def mul35()
sum n 3 99 where mod(n 3)=0 or mod(n 5)=0
end

В RPL
<< n 3 99 SUM-IF
n 3 MOD 0 =
n 5 MOD 0 = OR
END >>

Навесить на Форт в качестве расширения можно любой дополнительно языковой слой.
Немного про Форт и общую языковую направляющую веду "дискуссию" и в этой теме
http://forum.old-dos.ru/viewtopic.php?f=8&t=603 Языки программирования для непрофессионалов

KPG wrote: Немного про Форт и общую языковую направляющую веду "дискуссию" и в этой теме
http://forum.old-dos.ru/viewtopic.php?f=8&t=603 Языки программирования для непрофессионалов

Мнение профессионала про языки для непрофессионалов: Питон, как реинкарнация Бейсика
Вдруг кому-то поможет.

Питон неплох. В проф.целях используется вполне широко.

Но применительно к калькулятору использование языка, в котором синтаксис сделан табуляцией - как-то все-таки...

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Питон ужасен. В заметке по ссылке я как мог скрывал свой проф.ужас и зубовный скрежет по поводу того, как из говна и палок любители делают системы.

Тем не менее, на нем пилят большие системы, тот же Дропбокс

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Vitasam wrote: Тем не менее, на нем пилят большие системы, тот же Дропбокс

Использование неадекватных задаче средств.
Зачастую этому способствует отсутствие базового проф.образования и технической культуры. На чем научился, на том и пишу.

Большие системы — там другая адекватность.

Для калькуляторов важна компактность как при вводе, так и при отображении программ. Питон многословен, а упомянутые отступы плохо расходуют ограниченный ресурс — площадь индикатора. Эти замечания относятся и к другим языкам настольных компьютеров, они рассчитаны на большие клавиатуры и экраны.

Форт лаконичен. Его каноничный стиль — слова с определениями в две-три строчки. Такой подход изначально идеален для калькуляторов, даже без «родословной» Каллисто от Б3-34/МК-61 через МК-161.

В идеале для ускорения ввода можно сделать сокращения «горячими кнопками» / подсказками для наиболее длинных слов (BEGIN DECIMAL DEFINITIONS и т.п.) по образцу HP 50g, Синклера или Айфона. Но множество слов Форта уже достаточно лаконичны, IF + : ; и прочие.

Даже удивительно, что ни одна фирма не сделал коммерческого калькулятора на Форте

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

https://ru.wikipedia.org/wiki/Canon_Cat :)
Даже были выложены в сеть исходники системы.

P.S. Ну и ближе к Синклеру https://ru.wikipedia.org/wiki/Jupiter_ACE
И вроде больше и вспомнить почти нечего.

SysRPL по сути чуть менее чем полностью Форт.

Много языков - это выход для калькулятора и вот почему. Лично я думаю, что язык для непрофессионалов и язык для калькулятора - это два пересекающихся, но сильно не совпадающих множества. Как правило профессиональный инструмент требует долгого обучения, но в итоге профессионал гораздо производительней новичка. Интуитивно понятные инструменты почти не требуют обучения, но как правило их производительность оставляет желать лучшего. Считаю что в программируемом научном(или бизнес) калькуляторе среди всех других обязательно должен быть язык, который будет может быть и сложен (концепциями), но будет давать профессионалу: 1) Высокую среднюю и предельную производительность 2) Не будет ограничивать выразительную силу абстракций, т.е. будет содержать мощные средства метапрограммирования. В базовом Форте в целом это уже заложено, надо только добавить синтаксического сахарку и реализовать вкусности вроде сборщиков мусора, фильтров коллекций и т.п. - в общем сделать "правильный RPL". А для новичков можно и нужно вылепить какой то BASIC, который собирается в низкоуровневый же Форт, и пускай радуются жизни. Это кстати почти удалось сделать в HP 50g, а потом они сделали шаг назад с "пачкой примы".

Именно такого мнения я придерживаюсь, создать (лучше взять готовый) фортовый рантайм, а на него N скинабельных языков :-) Конечно будет слегка тормознее, чем прямо на Си писать, но дюже "конфигурябельней" и "стыкуемей".

Вообще говоря с открытыми исходниками и возможностью использовать стандартные платки - это имеет большой смысл. Получим платформу, для которой ясно как работать с периферией, можно даже включить туда пользовательский язык низкого уровня аля Форт (как SysRPL), чтобы не париться с программаторами при написании прошивки, а каждый мог бы воплотить свои желания.
Цена будет не 11 тыщ, а вообще может опускаться до 1500 рублей в зависимости от комплектации. СЕМИКО выпустило свой калькулятор в виде контроллера и он стал стоить 4000 рублей (допустим даже у них свои цели были типа релейного ПЛК). А любители просто смогут использовать мелкую платку с STM32 даже без экранчика, написал программу на калькуляторе с экранчиком и клавиатурой или на компе и слил на мини платку ценой в 200-300 рублей.

Есть только проблема корпуса и клавиатуры. Корпус прототипируется на 3д принтере (можно попробовать и фрезерование хоть из стали, если есть STL файл - можно дальше делать что угодно).По цене есть разные варианты и все не такие страшные как ныло СЕМИКО.

Я тут успешно провёл испытания по печати на 3д принтере фирменных с щелчком кнопочек HP слизанный с HP Prime (кнопочка на качалке плюс задевающий хвост для щелчка), осталось освоить производство силиконовых мембран. У меня есть план по мотивам видео одного чувака, думаю всё получится. Теперь я знаю как делать шелкографию для нанесения чётких и красивых надписей. Начинку можно сделать из стандартных платок: STM32, экранчик, держатель SD карты, батарейный отсек или мелкий Li-Po аккумулятор.

IMHО не боги горшки обжигают.

Мотивации пост
To Earth

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Пока что у них на сайте глухо насчёт заказа :-(
А нам всё равно надо пилить дешёвую версию, не у все хватит денег на такие дорогие лунолёты !

А дешевую версию обязательно надо пилить! :)

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Кстати вспомнил что готовую библиотеку BCD раздавали не под MSP, а под STM32, надо будет пошукать, может быть там всё уже готово, это бы сильно облегчило миссию. По идее для начала надо на Си слепить аналог МК-61 с дубово заданным количеством уровней стека, регистров и т.п., а потом двигаться к более фортовской версии. Два e-Ink экранчика у меня уже есть для опытов, из Китая на почтовых черепахах едет ещё побольше размером (почти как экран у МК-161) двухцветный. Вот если этот эмулятор МК-61 завести с экранчиком, то до готового образца рукой подать, скажем на основе платы STM32F103 или энергосберегающей Nucleo-32 STM32L432KC, обе платки очень маленькие и если мне удастся со второй отпаять разъемы то легко влезут в тонкий корпус. STM32F103 уже без торчащих разъемов её или под плату клавиатуры или под экранчик вклячить можно будет. Чёртовы китайцы зажали посылку с SMD мембранами. Но я нашёл довольно плоские тактовые кнопки в местном магазе (дорогие собаки, аж по 10 рублей штука). Может пока их применить, ход такой же как у мембраны, высота 1.5 мм, утопить плату чуть больше относительно корпуса и порядок.

В разделе "Модели" можно ткнуть на DN42 и там предложат ввести email, чтобы вас уведомили, когда он появится в продаже, а также приведены 3 ролика с ютуба с демонстрацией модели. Кстати, уважаемый Vitasam, ваше видео с демонстрацией чего нибудь на DM42 было бы жемчужиной программы, учитывая, что господа из Швейцарии не горят желанием записывать новые ролики :-(
Там речь была про интерфейс с принтером ? На DM42 есть ИК порт ???

Ватник wrote: Кстати, уважаемый Vitasam, ваше видео с демонстрацией чего нибудь на DM42 было бы жемчужиной программы, учитывая, что господа из Швейцарии не горят желанием записывать новые ролики :-(

ну это их проблемы, что они ленятся с нормальным видео. Не хотят, наверное, новых покупателей?

Ватник wrote: Там речь была про интерфейс с принтером ? На DM42 есть ИК порт ???

Да, есть ИК порт - я же выше в этой ветке писал про то, что DM42 работает с ИК принтером HP 82240

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

..двухсторонний ? Можно ли им пользоваться не по назначению ?

Нет, к сожалению, ИК порт односторонний - просто ИК светодиод. Светит в одну сторону - в сторону принтера. Ничего полноценного не сделать

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Там тебе и UART и ИК порт и низкоуровневое программирование. Короче надо создавать малогабаритный аналог HP 50g :-) Хотя если говорить про модульность, но скорее HP 48GX, там то небось и сетевую карту можно было подключить и GPS как модуль. Если фаршировать ПМК модулями, то и смартфоны не сравнятся по удобству применения, там где надо что то набирать на клавиатуре, считать и т.п.

Угу, из DM42 могли бы сделать крутую вещь - HP41c по возможностям подключения периферии и HP42s по функционалу (на форуме там была дискуссия). Но остановились на варианте просто HP42s

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Определённая ниша без прицела во что то большее. Это и преимущество - концентрация проекта и относительно быстрые результаты. Не то что у меня. Только я взялся за дело, моё положение стало нестабильным, вынужден сместить приоритеты на стабилизацию положения, а то можно так и зубы на полку :-(

Но в сердце моём неугасимо горит желание создать, участвовать в создании или приобрести наш "советский" ПМК/ЭКВМ/Наладонник, в котором будут воплощены идеи наращиваемой среды выполнения (высокой масштабируемости и широкого выбора пользовательских языков) и аппаратной модульности (впрочем и программной тоже). И проект этот гораздо интереснее того, чем я занимаюсь для заработка денег (и чем бы хотел заниматься но пока скилов не хватает) :-(

Всё ж таки Сергей прав, что надо выработать какой то чётко определённый план, понедельный что ли. Например надо напечатать корпус в высоком качестве, с толкателями и надо под STM32 адаптировать BCD библиотеку из проекта WP34s, если основные операции заработают, можно уже размышлять как дёрнуть математические функции (там ряды Тейлора используются). И вообще сделать форк и написать свой МК-подобный аналог с теми хотелками, что были озвучены. Два первых шага хоть и небольшие, но требуют определённого времени и скилов (медленно и криво работаю в SolidWorks). Если бы было ясно как монетизировать это предприятие, то конечно дело бы шло веселей, т.к. было бы ясно, что ноги не протянешь и даже наоборот.

Однако не вижу большой "рыночной боли" которую бы устранял этот проект. Замена блоков Ардуины и Lego ? Там и так никто не умирает : -) Калькуляторы современные инженеры редко используют. Ностальгирующие по МК-61,52 - их горсть. Модульные управляющие штуки для умных домов - это тема, но она состоит не только из пульта-контроллера.

Я не думаю, что спроса вообще не будет, особенно если придерживаться тактики минимализма (11 или 14 тыщ за устройство - это нереально продать), но какой он будет при обилии всякой техники - совершенно не очевидно.

Ватник wrote: Калькуляторы современные инженеры редко используют. Ностальгирующие по МК-61,52 - их горсть.

К сожалению, это специфика РФ, по всей видимости. В странах Европы, США и даже Южной Америки калькуляторы активно используются в обучении, начиная со средней школы. Поэтому обученные люди продолжают их использовать в дальнейшем. Не раз видел калькуляторы уровня TI-83 на столах не только инженеров, но и бухгалтеров, финансистов и др.

По крайней мере у софтовых инженеров не найти калькулятора под рукой на столе. Все пользуются либо виндовым калькулятором, либо консолью Питона (я в их числе), потому что удобно копи-пастить из компьютера.
Я какое-то время держал тут на работе МК61 на столе. Смотрелось очень винтажно. Но пользовался все-равно Питоном

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

У софтовых инженеров - ессно, там вся цепочка замкнута в экран. А если человеку приходится использовать бумагу и натурные макеты, как элемент технологии, то лезть в комп для расчетов... А на выезде, например с фин.аудитом - тем более.

Возможно. У меня мало опыта общения с несофтовыми инженерами

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

То у нас нет такой традиции в образовании и инженерной практике, поэтому в этой нише особенно ловить нечего. Надо искать какое то другое смежное применение. Я сам в основном использую эмулятор HP 50g на работе, пользовал бы железный вариант, будь он удобнее и менее громоздкий.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

На швейцарском форуме обсуждение о новой раскладке экрана DM42. Один из предложенных вариантов:
DM42 layout

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

При долгой работе на МК-161 часто приходится сверяться со временем, переключая внимание на другие устройства. Что странно, т.к. часы в МК-161 встроены.

Разрабатывая Каллисто я часто думал о сроке статуса (куда вынести, например, режимы РУС и CAPS) и здесь всё идеально — не только время, но ещё и дата, и уровень заряда. Зародыш такой строки, кстати, на ЭКВМ есть в режиме автоматической работы.

Как время связано с работой на ПМК (ЭКВМ) ? Почему бы и не отвлечься на спец. устройства (типа часы) ?

Ну, мне лично нравится видеть в статус строке время/дату. Дело вкуса, конечно

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Исходники DM42 собираются выложить в открытый доступ.

DM42's source code comprises of several components - Free42 core, a custom DM42 shell developed by SwissMicros, FreeRTOS as a real-time operating system and several components from ST Microelectronics. Each part has a different licensing model. We are currently working hard to understand and correctly determine the proper hierarchy of licenses.

In the next few days, we will be releasing the full source code to be able to build your own DM42 firmware. All components of DM42 will be open-sourced. We think that this is the right thing to do and hopefully with the help from community, we can accelerate the development of DM42's software on Github.

Full source code will be available at: http://github.com/swissmicros/DM42.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

может быть реализована
Например, в uCalc есть для этого определённый функционал
http://www.ucalc.com/programming-language-builder.html

На форуме SwissMicro от Майкла прозвучало, что они делают последние тестирования за эти выходные, и на следующей неделе ожидается выкладывание исходников в открытый доступ.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Гитхаб SwissMicro заработал.

Не 100% исходников DM42 открыты, цитата Майкла из форума в ответ на вопрос о том, что примерно 100+ функций не включены, а вместо них - указатели внутрь бинарных библиотек:

Many different licenses were used for the DM42 and some of the code can not be open sourced, not our decision.
The 100+ functions are system functions which can be called from the loaded program.

Тем не менее, тем же самым тулчейном, которым я собираю Stm32Basic ретро-компьютер, собирается прошивка DM42:

.../DM42PGM$ make
mkdir -p build
arm-none-eabi-gcc -c -mthumb -march=armv7e-m -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DARM -DDM42 -DDECIMAL_CALL_BY_REFERENCE=1 -DDECIMAL_GLOBAL_ROUNDING=1 -DDECIMAL_GLOBAL_ROUNDING_ACCESS_FUNCTIONS=1 -DDECIMAL_GLOBAL_EXCEPTION_FLAGS=1 -DDECIMAL_GLOBAL_EXCEPTION_FLAGS_ACCESS_FUNCTIONS=1 -DBCD_MATH -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -Idm -Idmcp -Ifree42  -Wall -fdata-sections -ffunction-sections -Wno-misleading-indentation -O2 -DFW_RELEASE -g  -MD -MP -MF .dep/pgm_syscalls.o.d -Wa,-a,-ad,-alms=build/pgm_syscalls.lst dmcp/sys/pgm_syscalls.c -o build/pgm_syscalls.o
arm-none-eabi-g++ -c -mthumb -march=armv7e-m -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DARM -DDM42 -DDECIMAL_CALL_BY_REFERENCE=1 -DDECIMAL_GLOBAL_ROUNDING=1 -DDECIMAL_GLOBAL_ROUNDING_ACCESS_FUNCTIONS=1 -DDECIMAL_GLOBAL_EXCEPTION_FLAGS=1 -DDECIMAL_GLOBAL_EXCEPTION_FLAGS_ACCESS_FUNCTIONS=1 -DBCD_MATH -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -Idm -Idmcp -Ifree42  -Wall -fdata-sections -ffunction-sections -Wno-misleading-indentation -O2 -DFW_RELEASE -g  -MD -MP -MF .dep/dm42_fns.o.d -fno-exceptions -fno-rtti -Wa,-a,-ad,-alms=build/dm42_fns.lst dm/dm42_fns.cc -o build/dm42_fns.o
arm-none-eabi-g++ -c -mthumb -march=armv7e-m -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DARM -DDM42 -DDECIMAL_CALL_BY_REFERENCE=1 -DDECIMAL_GLOBAL_ROUNDING=1 -DDECIMAL_GLOBAL_ROUNDING_ACCESS_FUNCTIONS=1 -DDECIMAL_GLOBAL_EXCEPTION_FLAGS=1 -DDECIMAL_GLOBAL_EXCEPTION_FLAGS_ACCESS_FUNCTIONS=1 -DBCD_MATH -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -Idm -Idmcp -Ifree42  -Wall -fdata-sections -ffunction-sections -Wno-misleading-indentation -O2 -DFW_RELEASE -g  -MD -MP -MF .dep/dm42_menu.o.d -fno-exceptions -fno-rtti -Wa,-a,-ad,-alms=build/dm42_menu.lst dm/dm42_menu.cc -o build/dm42_menu.o
arm-none-eabi-gcc -x assembler-with-cpp -c -mthumb -march=armv7e-m -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DARM -DDM42 -DDECIMAL_CALL_BY_REFERENCE=1 -DDECIMAL_GLOBAL_ROUNDING=1 -DDECIMAL_GLOBAL_ROUNDING_ACCESS_FUNCTIONS=1 -DDECIMAL_GLOBAL_EXCEPTION_FLAGS=1 -DDECIMAL_GLOBAL_EXCEPTION_FLAGS_ACCESS_FUNCTIONS=1 -DBCD_MATH -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -Idm -Idmcp -Ifree42  -Wall -fdata-sections -ffunction-sections -Wno-misleading-indentation -O2 -DFW_RELEASE -g  -MD -MP -MF .dep/startup_pgm.o.d dmcp/startup_pgm.s -o build/startup_pgm.o
arm-none-eabi-gcc build/pgm_syscalls.o build/dm42_fns.o build/dm42_menu.o build/startup_pgm.o -mthumb -march=armv7e-m -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Tstm32_program.ld  lib/libfree42_bcd_rel.a lib/gcc111libbid_hard.a -Wl,-Map=build/DM42PGM.map,--cref -Wl,--gc-sections -Wl,--wrap=_malloc_r -o build/DM42PGM.elf
arm-none-eabi-objcopy --remove-section .qspi -O ihex    build/DM42PGM.elf  build/DM42PGM_flash.hex
arm-none-eabi-objcopy --remove-section .qspi -O binary  build/DM42PGM.elf  build/DM42PGM_flash.bin
arm-none-eabi-objcopy --only-section   .qspi -O ihex    build/DM42PGM.elf  build/DM42PGM_qspi.hex
arm-none-eabi-objcopy --only-section   .qspi -O binary  build/DM42PGM.elf  build/DM42PGM_qspi.bin
bin/check_qspi_crc DM42PGM dm/qspi_crc.h || ( make clean && false )
bin/add_pgm_chsum build/DM42PGM_flash.bin build/DM42PGM.pgm
SHA1: 8fc7253dc7a4df9b4fe46630efae0d91d66362f5
arm-none-eabi-size build/DM42PGM.elf
   text    data     bss     dec     hex filename
2030704    2208    4272 2037184  1f15c0 build/DM42PGM.elf

Бинарные файлы прошивки:

.../DM42PGM$ cd build/
.../DM42PGM/build$ ls -l
total 13656
...
-rwxrwxr-x 1 vitadmin vitadmin 3641064 Jun  4 19:31 DM42PGM.elf
-rwxrwxr-x 1 vitadmin vitadmin  662048 Jun  4 19:31 DM42PGM_flash.bin
-rw-rw-r-- 1 vitadmin vitadmin 1862270 Jun  4 19:31 DM42PGM_flash.hex
-rw-rw-r-- 1 vitadmin vitadmin  934154 Jun  4 19:31 DM42PGM.map
-rw-rw-r-- 1 vitadmin vitadmin  662068 Jun  4 19:31 DM42PGM.pgm
-rwxrwxr-x 1 vitadmin vitadmin 1370864 Jun  4 19:31 DM42PGM_qspi.bin
-rw-rw-r-- 1 vitadmin vitadmin 3855946 Jun  4 19:31 DM42PGM_qspi.hex
...

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

сообщество DM42 выдало коллекцию offline-экранов с историческими космическими фото:
Space on DM42

P.S. Поставил на DM42 Гагарина

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Сбилдил и залил новую прошивку в DM42. Теперь это называется DM Calculator Platform:
dmcp371

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Мечты о платформе, похоже, сбываются? Осталось ценник уговорить снизить :)

Да, понемногу идет к тому, что появляется платформа для калькуляторных экспериментов. К примеру, в самом калькуляторе теперь появилось новое системное меню, из которого можно "прошивать" свои бинарные образы (.pgm файл):
dmpc menu

Ценник да, кусач, кусач.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

А вот опубликовали Hello World reference приложение для DM42 SDK.

#include _main.h_
#include _dmcp.h_

void program_main() {
  lcd_clear_buf();
  lcd_writeClr(t24);
  lcd_putsR(t24, "TEST PROGRAM");
  lcd_putsAt(t24, 4, "Hello World!");
  lcd_refresh();

  wait_for_key_press();
}

Строим приложение:

./DMCP_SDK$ make
...
bin/add_pgm_chsum build/TESTPGM_flash.bin build/TESTPGM.pgm
SHA1: d49985543a5e0c9fa496228a0fd9c6e6c1478804
arm-none-eabi-size build/TESTPGM.elf
   text    data     bss     dec     hex filename
    816    1080      28    1924     784 build/TESTPGM.elf

Заливаем загружаем через системное меню бинарный файл TESTPGM.pgm в DM42:
zaliv

и запускаем программу:
Hello World FW

Можно начинать портировать Каллисто.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Я на DM42 форуме ответил про то, как установить тулчейн и собирать DM42 Hello World под Windows. Может, кому пригодится. Правда, там бинарные тулзы DM42 надо перекомпилировать под Windows тоже

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Отличная новость, SDK есть, осталось найти время и мотивацию уровня 2009 года с бурными дискуссиями вокруг МК-161.

Скорее всего, той мотивации уже не достичь. Даже слово "Каллисто" в новости выше не помогло :)

Хотя DM42 форум вполне живой нынче.
И вот, в дополнение к hello world приложению Майкл обещал выложить в гитхаб

"A simple RPN calculator demo application will follow."

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Если речь про меня, то DM42 не слишком мотивирует. То, что иностранцы способны выпускать достойную электронику — очевидно. Помогать им делать ПО тоже есть кому. 99,99% русских программеров день и ночь программируют зарубежные устройства.

Сейчас мне интересней развить Каллисто-2 для МК-161, на основе черновиков и Каллисто Классик. Здесь мало кто другой справится. Но если кто захочет расходовать собственные силы для переноса Каллисто на DM42 или iOS, поддержать и помогать справляться с возникающими трудностями могу.

ИМХО, здесь проще всего написать на Си загрузчик двоичного образа. А сам образ делать на SP Forth по технологии Каллисто-2. При этом есть два пути. Либо примитивы переводятся на ассемблер DM42, при этом на SP Forth пишется или заимствуется форт-ассемблер. Либо загрузчик содержит виртуальную машину МК-161. Как она делается, см. исходники ВК-6.

Виртуальная машина интересней. Каллисто под DOS я ещё не начинал писать. Но склоняюсь к идее сделать уровень языка МК доступным не только на МК-161.

На Гитхабе выложили новое демо для DM42 SDK - простой RPN калькулятор.
Я еще не пробовал собрать и прошить свой DM42.

P.S. А во Вселенной Вещей выложили 3D-файл подставки для DM42.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Все-таки DM42 не очень тянет на калькулятор мечты. Устаревший и убогий (скажем честно) язык программирования, отсутствие графики, разряд батарейки CR2032 (даже в выключенном состоянии).

Хочется что-то высокоуровневое, и с питанием от солнечной батареи. Где вменяемые маркетологи? А инженеры подтянутся

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Существует конвертер Питона в RPN:
https://pyrpn.herokuapp.com/

Например:

 def demo():
    total = 0
    for i in range(10):
        result = calc_something(i, 5)
        print('Counter', i, 'result=', total)
        total += result
    print('Final total was:', total)
 
def calc_something(a,b):
    # adds two numbers then squares them
    return (a + b)**2

Полученный RPN:

 01 LBL "demo"
02 0
03 STO 00          // total 
04 -1.009
05 STO 01          // range i
06 LBL 00          // for
07 ISG 01          // i
08 GTO 01          // for body
09 GTO 02          // resume
10 LBL 01          // for body
11 RCL 01          // i
12 IP
13 5
14 XEQ A           // calc_something()
15 STO 02          // result 
16 "Counter"
17" "
18 RCL 01          // i
19 IP
20 ARCL ST X
21" "
22"result="
23" "
24 ARCL 00         // total
25 AVIEW
26 RCL 02          // result
27 STO+ 00
28 GTO 00          // for
29 LBL 02          // resume
30 "Final total was"
31":"
32" "
33 ARCL 00         // total
34 AVIEW
35 RTN             // end def demo
36 LBL A           // def calc_something
37 XEQ "p2Param"   // reorder 2 params for storage
38 STO 03          // param: a
39 RDN
40 STO 04          // param: b
41 RDN
42 RCL 03          // a
43 RCL 04          // b
44 +
46 X↑2
47 RTN             // return

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Руки, наконец, добрались сбилдить SDK demo project - simple scientific RPN calculator и залить в DM42. Скриншоты из калькулятора:

Два числа в стеке:
SDKdemo1
Результат деления:
SDKdemo2

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/