Программируемый калькулятор DM42

Создал тему для обсуждения калькулятора DM42 швейцарского производителя DM SwissMicros.

Ссылка на мой блог Приехал DM42 - первые впечатления.

nqueens

DM42 Beta firmware V2.10.14 available.

Release notes:
"SETUP -> File -> Load program" now sorts the available programs alphabetically and the list wraps if you scroll downwards from the last program or upwards from the first.
"SETUP -> System -> Disk check" has been renamed "FAT Disk Media Test" and the associated screens have been re-worded in order to indicate more explicitly that the test is destructive.
Alpha input mode is completely overhauled. Further notes below explain how to use it.
Custom "OFF" screen image support. See notes below.

New Alpha input mode
Upon entering Alpha input mode you will now see a new annunciator on the screen:
"[ ]" denotes original HP-42S input mode. This is the mode that Alpha input starts with.
"[a]" denotes lower case DM42 input mode.
"[A]" denotes upper case DM42 input mode.
[SHIFT] followed by [UP] and [DOWN] allow you to cycle through the modes.

Original HP-42S mode:
Function keys work as expected for standard characters.
ASTO (STO) and ARCL (RCL) work as expected.
"%", "pi" and "E" work as expected.
[SHIFT] [.] (SHOW) works as expected.
Local labels LBL 01, LBL A and LBL a work as expected.
Global labels LBL "ABC", LBL "123" and LBL "A123" work as expected.
Unshifted [R/S] works as expected and [SHIFT] [R/S] enters/leaves Prgm mode as expected.
Lower and upper case DM42 modes:
The function keys still allow input in HP-42S mode.
All alpha keys A-Z give the expected characters.
[SHIFT] [A] to [SHIFT] [O] give the same characters.
[SHIFT] [0] (zero) to [SHIFT] [9] give the digits 0-9 instead of the alpha characters.
Shifted [/], [x], [-] and [+] give '/', 'x', '-' and '+' instead of the alpha characters.
Shifted [R/S] gives '?' instead of entering/leaving Prgm mode.
ASTO, ARCL, '%', 'pi' and 'E' (exponent) are not available. Switch to standard HP-42S mode to get them.
[SHIFT] [.] (SHOW) is not available. Use standard HP-42S mode.
Two-digit local labels LBL 01 are not available. Use standard HP-42S mode, which is the default mode enterd after pressing [LBL] anyway.
Local labels LBL A and LBL a and global labels LBL "ABC", LBL "123" and LBL "A123" work as expected.
Unshifted [R/S] still behaves as usual allowing program execution to resume after inputting alpha data to a program.
Function arguments (eg. STO* "h") work as expected

"OFF" screen images
Images placed in the OFFIMG directory of the FAT disk are displayed on the LCD when the DM42 is switched off. They replace the "sleeping owl" image in the DM42's ROM. If this directory doesn't already exist then create it yourself when the DM42 is connected to your computer in USB Disk mode.

If there are multiple images in the directory, the DM42 cycles through them each time it is switched off.

The images must be in Windows NT bitmap format (.bmp files) at resolution 400x240, 1 bit per pixel.

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

С новой прошивкой .14 стало возможным делать свои экраны выключенного состояния:
Kontiki on DM42

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

Это просто здорово. Начинаю думать над покупкой. Придется продать HP 50g тогда.

А еще там на форуме ходят слухи, что функциональность "чистого HP42s" поместят под конфигурационный флаг в системном меню, а те, кому не важна "чистокровность", могут наслаждаться командой PIXEL на всей красоте графического экрана 400x240

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

Результаты теста Счастливые билеты на DM42 (без алгоритмической оптимизации, прошивка Beta V2.10.17):
- Питание от батареи: 31 мин 40 сек
- Питание от USB: 12 мин 35 сек

Программа:

00 { 91-Byte Prgm }  21 RCL 04      42 RCL 01
01▸LBL "TICKETS"     22 IP          43 STO 03
02 901ᴇ-5            23 RCL 05      44 ISG 06
03 STO 01            24 IP          45 GTO 01
04 STO 02            25 +           46 RCL 01
05 STO 03            26 RCL 07      47 STO 06
06 STO 04            27 IP          48 ISG 04
07 STO 05            28 +           49 GTO 01
08 STO 06            29 X≠Y?        50 RCL 01
09 STO 07            30 GTO 02      51 STO 04
10 0                 31 RCL 00      52 ISG 05
11 STO 00            32 1           53 GTO 01
12▸LBL 01            33 +           54 RCL 01
13 RCL 02            34 STO 00      55 STO 05
14 IP                35▸LBL 02      56 ISG 07
15 RCL 03            36 ISG 02      57 GTO 01
16 IP                37 GTO 01      58 VIEW 00
17 +                 38 RCL 01      59 BEEP
18 RCL 06            39 STO 02      60 END
19 IP                40 ISG 03
20 +                 41 GTO 01    

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

Как то не впечатляет результат по скорости в сравнении
с уже приводимыми ранее результатами этого теста на STM32 контроллерах
с использованием Форт систем.

P.S. Похоже не лучший дизайн внутренней виртуальной машины, даже если она написана на С (С++)
GForth (реализация на С) тоже существенно проигрывает некоторым Форт системам (не только коммерческим)

Ну, видимо, потому что сравнивать вычисления целочисленного Форта с вычислениями с библиотекой повышенной точности не совсем корректно. Даже 16-битный микроконтроллер msp430g2553 отщелкал билеты за 29 секунд.

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

Почему по переменным цикла - целочисленным (по диапазону и приращению)
"делается вывод" что использовать их нужно как с плавающей запятой?

P.S. Отсутствие типизации это не аргумент для понимания данного вопроса и как его решить
и точно не повод считать все числа программы плавающими :)
В Форте, например, операции вычисления плавучих аргументов имеют преффикс F и данные для вычистения уже рассматриваются в этом формате.
Могли бы добавить, например I переменную понимаемую как целочисленный индекс.
В Фортране было правило, что переменные начинающиеся с букв I, J, K целочисленные (вроде)

Почему по переменным цикла - целочисленным (по диапазону и приращению)
"делается вывод" что использовать их нужно как с плавающей запятой?

Это про DM42? Я не знаю, как там реализованы циклы, в регистры загоняется не целочисленное число.
Арифметические операции точно с повышенной точностью.

Вообще было бы здорово иметь типизацию в RPN калькуляторах.

А 4E4th целочисленный, и на 16-битном RISC процессоре, работающем на 16 МГц частоте, этот Форт выдал по максимуму.

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

Плавучка везде, корректная реализация ею целочисленных вычислений — особенность калькуляторов. Они проигрывают на трудозатратных целочисленных задачах. На МК-161 тест занимает 1 час 32 минуты.

Каллисто тоже затачивается не под обработку больших объёмов целочисленных данных (для этого есть низкий уровень), а под математические расчёты с «плавучкой».

Thomas, автор Free42, выложил пример графической программы для Free42/DM42:
Circle

На швейцарском форуме проскакивает инфа о том, что команда работает над поддержкой всего разрешения экрана. Жду с нетерпением.

Исходный текст программы:

00 { 103-Byte Prgm }
01▸LBL "CIRCLE"
02 "CIRCLE[LF]  CIRCLE"
03 AVIEW
04 DEG
05 0.36
06 STO 00
07▸LBL 00
08 RCL 00
09 IP
10 7.5
11 →REC
12 8
13 +
14 X<>Y
15 48
16 +
17 PIXEL
18 ISG 00
19 GTO 00
20 SF 34
21 SF 35
22 44
23 255
24▸LBL 01
25 XTOA
26 DSE ST Y
27 GTO 01
28 1.00908
29▸LBL 02
30 1.13144
31▸LBL 03
32 AGRAPH
33 ISG ST X
34 GTO 03
35 R↓
36 ISG ST X
37 GTO 02
38 END

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

Тут тестируют DM42 против оригинального HP42s и DM41L:

"These two machines plus a DM41L are crunching numbers, using a kind of brute force method of finding a specific pythagorean triple."

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

Народ с форума протестировал DM42 на предмет Calculator Permormance Index:

Running on battery power I do 100 iterations of the calculation in 2.87 seconds. Connected to USB the 100 iterations are performed in 0.85 seconds.

I believe that gives the DM42 a performance index of 1185 or 4000 depending on the CPU speed, which means that it is outstripped only by the HP Prime if you're looking at physical calculators rather than emulators or desktop PCs.

Это означает, что DM42 на сегодня самый быстрый на планете Земля из калькуляторов в физическом виде, который программируется на RPN

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

Неплохо бы использовать в этом тесте "Коэффициент использования", как это было в тесте "Пустой цикл"

Это типа такого?

00 { 24-Byte Prgm }
01▸LBL "BB"
02 3000.00001
03 STO 00
04▸LBL 00
05 DSE 00
06 GTO 00
07 RTN
08 END

Померял: питание от батареи: 2.9 секунды, от USB: 1 секунда

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

Не плохо, но я имел в виду что в тесте Calculator Permormance Index:,необходимо добавить еще одну колонку ( коэффициент использования) , которая учитывает еще тактовую частоту процессора.

Совершенно непрактичная величина, которая была введена эксклюзивно на этом сайте с единственной целью унизить «Электронику МК-161» — показавшую в тестах высокий результат. Что автору материала сильно не понравилось.

Практичней было бы, например, учесть время работы. Объём вычислений, который можно выполнить без подзарядки или смены батареек.

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

На практике калькулятор — (взаимозаменяемый) чёрный ящик. Важнее всего в тестах производительности, сколько секунд вычислений займёт верное решение. От этого и зависит выбор, какие калькуляторы «потянут» поставленную задачу.

Частота камня (внутренняя величина, которую часто именно по этой причине скрывают от дураков) влияет на две внешние вещи: (1) цена калькулятора и (2) время автономной работы. Хотя производительность это главное, стоимость этой производительности в рублях или «прожорливость» по электричеству также могут повлиять на выбор «чёрного ящика».

Увидев, что Каллисто, за счёт хорошо реализованного входного языка МК-161, «вылизывания» адресного интерпретатора и (да!) частоты камня, по производительности в 18 раз превосходит советские ПМК (51,7 vs 2,75 цикла/с), Арбинада мгновенно высосал из пальца абсолютно бесполезный на практике «коэффициент», который подтасовывает данные к предвзятому результату, который ему хотелось видеть и разрекламировать пожирней. Попытавшись выставить разработку альтернативных входных языков для ЭКВМ менее привлекательной. Хотя большой запас производительности, заложенный в МК-161, вполне позволяет разрабатывать такие входные языки.

Ни в одном из западных тестов калькуляторов нет подобных подтасовок, с делением производительности на мегагерцы. Это именно отечественное know how, вызванное желанием помешать развитию отечественной «Электроники».

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

В тестах калькуляторов такой подход — обычное дело. Позволяет увидеть, где достаточно гужевого транспорта, а где потребуются самолёты. Удивительно, что для некоторых задач советских МК-61 достаточно. Есть более сложные задачи, где сработает Каллисто. Есть задачи, где потребуется переходить на входной язык МК-161 или даже ассемблер.

Во всех других тестах калькуляторов — не только зарубежных, но даже на этом сайте — тактовая частота не учитывается. Только в том единственном(!) тесте, куда я передал данные по Каллисто (Форте на МК-161) частоту процессора внезапно использовали, как делитель. И «результатом» сделали не полезную для решения задач производительность, а странный бесполезный индекс, на котором системе двойной интерпретации выиграть трудно — принижающий значение моей разработки.

Хотя данный тест, предложенный в журнале «Байт» умными людьми и упомянутый мною здесь, ничего подобного не включал. Там просто пустой цикл, который выполнялся ровно 30000 раз (видимо из-за переполнения signed integer на 40000 в некоторых системах) — и на основе скорости его исполнения сравнивались различные системы программирования.

Применяя вашу аналогию — можно увидеть, например, «мерседесу» какого года интересующий вас автомобиль соответствует. :-) Мне было интересно, насколько Форт с десятичной «плавучкой» на портативном МК-161 образца 2009 года быстрее / медленнее целочисленного Форта для настольных ПК 1980 года.

Глупости, в тестах производительности (benchmark) всегда указывается частота процессора, как минимум. Если тесты проводятся на разном оборудовании, то используются различные коэффициенты и методики приведения к общему индексу. Даже для СУБД существует такой показатель, как "N тысяч транзакций в секунду", приводимый к стоимости одной транзакции (в расчете на стоимость оборудования).

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

24 и 80 МГц соответственно.

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

Да, это самый быстрый калькулятор.

Забавно, если применить коэффициент использования к DM42 , то получится 49 и 50 соответственно ( может быть и есть в этом какой то смысл).

Vitasam wrote: 24 и 80 МГц соответственно.

Добавил результат в таблицу, посмотри, пожалуйста, все ли верно?

Вроде, все правильно. И да, у мк161 неплохой результат

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

Изменения UI в новой прошивке DM42 Beta Firmware V2.11.1 меня радуют:
UI 1UI 2

Из Release Notes:
...New screen layout
The DM42 has broken out of the traditional 2-line display jail imposed by the HP-42S and by Free42!

We can now take advantage of the LCD's resolution and we are no longer limited to the clunky 7x5 font in menu labels, which also means that lower case letters appear in them.

The full stack is now shown in the same font. There is no separation between the Free42-managed display and the DM42-managed part because all of it is now managed by the DM42. The stack is also updated periodically during program execution and stack values are right-aligned.

Up to 9 lines of program are now displayed in PRGM mode.

Graphics display is still restricted to the old 132x16 window (for now...) but that appears at the top of the screen above the stack, so you get to see graphics information and the stack now.

A few extras...
Some of the function keys in the top row now have functions assigned to them that work only when there is no HP-42S menu showing. They originally started out as debugging aids but we got so used to having them that we decided that they should be features in their own right and be included in beta and production firmware when the time comes.

F4 key
This toggles a faint horizontal line that appears below each stack level.

F5 key
This key toggles an overlay showing the display of the original HP-42S.

F6 key
Cycles through 6 available font sizes from smallest to largest. You get 9 rows of text on-screen at the smallest size down to 5 at the largest size.

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

Обновил прошивку до 11.1
new fw

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

Vitasam wrote: Обновил прошивку до 11.1
new fw

Удобно.
Жаль, что в оригинальном Free42 автор так и не добавил многострочный экран.
Кроме этого мне (после современных калькуляторов) в 42-ом еще недостает флага, включающего бесконечный стек, пусть и в ущерб обратной совместимости.
Это, если не ошибаюсь, вместе с многострочностью, давно реализовано во Free42 для iPhone-a, но почему-то не в версиях для андроида или PC :(

Thomas активно участвует в форуме про DM42, но, такой экран - это intellectual property SWissMicro, так что сложно сказать, появится что-то во Free42

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

Я и не надеюсь уже. Развитие Free42 давно остановилось, автор только баги подчищает.
А этой функции на яблоках сто лет уже, так что с "intellectual property SWissMicro" - это перебор ;)
42s

Вполне возможно, я не знаю, где там у них сейчас проходит граница между Free42 и закрытым кодом SwissMicro

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

На форуме появились дразнилки грядущей прошивки DM42:

PIXEL and AGRAPH are receiving a bit of a makeover at the moment and 3 resolutions will be supported: 131x16 (original HP-42S screen resolution), 200x120 and 400x240. Exactly how the resolution will be switched is still being worked on. Stay tuned...

dm42dm42 1dm42 2

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

Надо попробовать Лунолет в высоком разрешении отрисовать :)

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

Сидя в кафешке, начал писать подпрограмму рисования линий на DM42. Первые строки пользовательского меню тестовой оболочки.
user menu

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

Брутальное программирование! :)

Можно вообще не пользоваться бумагой при написании программы, метки таки сильная вещь. И очень импонирует мысль, что, по сравнению с HP35s, программу не придется руками переписывать из калькулятора :)

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

Метки - вещь нужная и даже где-то сильная, но конструкции if-then или while-end гораздо сильнее, утверждаю, как бухгалтер реализатор компиляции этих конструкций в код виртуальной стековой машины :)

Да, прошла эпоха. Вот сижу и смотрю как легко выглядящий код на Питоне тяжело и со скрипом влезает в RPN 42s.

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

Создаёт иллюзию простоты и расхолаживает. В итоге уровень абстракции микроскопический и куча копи пасты. Форт - это вещь в этом плане. Глянул исходники Форта для софт-процессора J1 (тот что в Gameduino), там в очень коротком тексте реализован TCP/IP и протоколы над ним. Вот где офигеть можно.

мог придти в очень странную голову :)
С другой стороны - быстро проверить алгоритм на Питоне можно на любой кофеварке, куда есть SSH доступ. А вместе с Numpy это вообще замена Матлабу почти.

J1 интересно. Какой минимальный FPGA камень нужен для него?

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

Вообще там
http://microsin.net/programming/avr/gameduino-game-adapter.html
стоит какой то скромный Xilinx XC3S200A 4032 логических ячеек. И J1 наверное занимает не больше 1500 штук. Есть документы по дизайну этого J1 и все исходники.

Синтаксис зависящий от табуляции вполне нормальное дело, это не главный
аргумент против пистона. Мне больше не нравится, что его синтаксис высосан
по произволу из того же места, что и перловский :-)

Перл...

Хорошо, на чем можно быстро проверить алгоритм с графикой? Отрисовкой линий, окружностей и т.п.?
Python + Pygame дают мне это легко. Можно, к примеру, ресечить очередной миф о том, что на Луну не летали.

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

Ну какой питон и пигейм в калькуляторе ! :-) Как программу то набирать ?
Форт, Лисп - минималистичные в плане синтаксиса языки со богатыми возможностями рисовать любой синтаксис, если очень сильно надо.
10 10 100 100 LINE
10 10 100 CIRCLE
Или (LINE 10 10 100 100) (CIRCLE 10 10 100 :COLOR :RED)
Чем плохо ?

Другой вопрос когда там кучи циклов замешиваются и алгебраические формулы, вроде
как в постфиксной и префиксной нотации оно страшно смотрится. В Лиспе лазейка есть, макросы loop и infix. В Форте наверное тоже.

В общем RPL и его среда были концептуально правильными, но неудобными. Чтобы было удобно, надо окультуривать, добавить сахару, но чтобы не скатилось до Питона.
Например можно сразу сделать мощные средства итерации по коллекциям, которые будут эффективно компилироваться, чтобы у юзера не было соблазна писать мерзкий запутанный императивный код.
В общем аля фильтры списков и т.п. как в функциональных языках. Сразу оснастить язык структурами, чтобы их не пришлось встраивать насильно. Для калькулятора конечно и спец.таблица как в Lua и JavaScript с прототипной моделью наследования в нагрузку.
В общем я надеюсь у меня руки дойдут и я смогу выкатить этот самый RPL мечты, о котором уже давно болит голова :-)

Не, я не про калькулятор выше говорил, а про ПЦ - на чем на ПЦ можно быстро набросать что-нибудь графическое удобоваримым способом.

В калькуляторе, конечно же, Питон нафиг не сдался

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

По хорошему ПМК мечты должен подхватывать основные беспроводные клавиатуры и дисплеи — помимо «родных», разработанных специально для него. Такой ПМК сможет потянуть любые языки программирования.

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

Должен подхватывать (если BT включен). Кстати к TI-89 можно же подрубить спец. клавиатуру через COM порт.
Беспроводная ещё лучше будет. Но в плане портативности, энергосбережения и специализированности (на встроенной клавиатуре могут быть специализированные для быстрого ввода символы) - встроенная клавитура всё равно должна быть. А если делать упор на разработку на коленке, то есть ПМК или ЭКВМ - это средство малой автоматизации в том числе на случай когда большие компы поднять уже невозможно - то должен быть и "малый" компактный язык вроде Форта, чтобы можно было жить на коленке, когда всё остальное уже не запускается. Это даже не ситуация фаллаута, а любой сбой системы энергообеспечения. Как бы всё не сбивалось, надо иметь удобные и специализированные для вычислений и работы с периферией средства. На том и стоять :-) СЕМИКО кстати не мешало бы подкинуть апокалиптические идеи для раскрутки, может быть выживальщики начнут девайсы скупать бочками, оно и как оружие ближнего боя сойдёт :-)

СЕМИКО кстати не мешало бы подкинуть апокалиптические идеи для раскрутки, может быть выживальщики начнут девайсы скупать бочками, оно и как оружие ближнего боя сойдёт :-)

Хахаха! Да, это было в Правилах настоящего бруталиста:

70. Пользуйся калькулятором МК-152 и всегда носи его на шее.
...
87. Выучи ассемблер калькулятора МК-152, читай программы вслух брутальным гроулом.
...
88. Видишь компьютер - разбей его с размаху калькулятором МК-152.
...
108 МК-152 становится еще полезней если его привязать к резинке от трусов и крутить над головой во время давки в метро
...
109 МК-152 заставляет бруталиста думать поэтому при его использовании бруталист орет (см. пункт 4)
...
129. Если МК-152 поломался, настоящий бруталист использует для ремонта гаечный ключ на 48 и электросварку.
...
150 Для выхода в интернет надо написать на МК-152 браузер для МК-152

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

Вышла новая прошивка для DM42: beta V2.11.3.

Release notes:
F1 toggles permanent menu
Date and Time settings screens improved
Faster scrolling in PRGM mode (auto-repeat)
Raw printing support
Standby current reduced from 10μA to 3μA
Speed increase

Из важного: увеличили скорость работы (убраны отладочные трейсы) и уменьшен ток потребления в режиме standby:

Lower standby current

Standby current was around 10μA until now. Something that had been on the TO-DO list for a while was the programmatic shutdown of the QSPI chip upon power-down. Well, it's no longer on the TO-DO list, it's done. This has brought the standby current down to about 3μA. It just takes a few milliseconds more to power up the DM42, and I'm sure we're all going to be losing sleep over that...

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

Прошивки выходят для товара, которого ещё нет :-)

Прошивки бета - они для бета девайсов ;)

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

Похоже, при прошивке 2.11.3 бета DM42 у меня превратился в тыкву :( Мораль - нефиг страдать фигней и прошивать из-под VirtualBox

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

Прям как в анекдоте про японскую бензопилу и суровых сибирских мужиков. :-)

Мои соболезнования. Надеюсь, получится его оживить. Красивая игрушка, развивающая линию HP в правильном направлении. Что-нибудь из неё может оказаться полезным для прекрасной «Электроники» будущего.

Ага, подсунул лом бензопиле :)

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

Написал на швейцарский форум, жду ответа.

P.S. Если бы была МК161 в таком же корпусе!

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

Корпус хороший сделаем, со временем. Лиха беда начало. Предыдущее десятилетие, до 2007 года, было скучней. :-) А швейцарцам правильно сделали, что написали. Вдруг там действительно какой-то недостаток в схемотехнике выявится? На то и бета-тестинг. Могут бесплатным DM42 за багрепорт вознаградить.

Но чуть более толстый вполне можно было бы сделать и кнопки заменить на мембраны или низкопрофильные и сделать толкатели как "у них", убрать гигантский разъем, добавить SD карту.

Может предложить СЕМИКО совместное предприятие по переработке МК-161 в нормальные калькуляторы ? То есть они официально добавят переработанную версию на свой сайт с таким же ценником, а кто то будет брать у них МК-161, переделывать кнопочки, ставить другой корпус и разъемы и посылать покупателю :-) Хотелось бы причинить пользу отечественной промышленности, но я думаю СЕМИКО уже скисло, и к тому же озлоблено на весь мир.

У нас есть исходники WP-34s, и там кстати используется эта библиотека decNumber, как минимум там можно увидеть как реализуется большая часть функционала, связанного с расчётами. Для 8-битных и 16-битных - это наверное недостаточно оптимально, а для STM32 там всё очень прямолинейно. Они кстати грозились выпустить WP-34s на железе DM42.

Я думаю что некоторое заимствование кодов и идей в расчётной (но не программно-архитектурной) части не повлияет на "отечественность" разработки выполненной для зарубежного же железа :-)

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

Но чуть более толстый вполне можно было бы сделать и кнопки заменить на мембраны или низкопрофильные и сделать толкатели как "у них", убрать гигантский разъем, добавить SD карту.

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

Предложить Семико можно, конечно, но думаю, это глухой номер.

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

Можно сделать МК-161 примерно вдвое тоньше. Только нет стимула с ним связываться, т.к. это тупиковая ветвь эволюции.

Замена корпуса в уже существующем многоплатном МК-161 ради уменьшения размера не перспективна. Я писал про будущие модели — их можно делать, как первые калькуляторы — с учётом размера кармана.

Литературы на тему вычисления матфункций много... Тема перенесена

Просто прошить через SWD нельзя ?

В общем, все оказалось проще. На калькуляторе есть железная кнопка PRG под скрепку (рядом с RST кнопкой, которая тоже под скрепку). При нажатии ее калькулятор переходит в режим прошивки через бутлоадер, после чего dfu-util видит кальк и дальше по сценарию. Я так понимаю, из любого состояния калькулятора можно прошить. DM42 оказался достаточно brick-free

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

Проэкспериментировал с занесением текста программы в QR код. Для примера взял N-Queens, текст программы в ASCII кодировке прогнал через QR утилиту, создал BMP файл 400х240 и положил в качестве off-экрана:
QR code

Телефон распознал текст программы непосредственно с экрана калькулятора:

00 { 59-Byte Prgm }
01 LBL "NQUEENS"
02 CLRG
03 8
04 STO 11
05 LBL 00
06 RCL 00
07 RCL 11
08 X=Y?
09 GTO 04
10 ISG 00
11 DEG
12 STO IND 00
13 LBL 01
14 ISG 10
15 DEG
16 RCL 00
17 STO 09
18 X=0?
19 GTO 00
20 RCL IND 00
21 RCL IND 09
22 -
23 X=0?
24 GTO 03
25 ABS
26 RCL 00
27 RCL 09
28 -
29 X\#Y?
30 GTO 02
31 LBL 03
32 DSE IND 00
33 GTO 01
34 DSE 00
35 GTO 03

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

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

Вот и возникло объяснение, зачем нам камера в ПМК — обмениваться программами. :-) На айфонах есть такое приложение, для обмена текстом через QR и камеру.

Этим вряд ли кто-нибудь занимался, но в теории можно сделать QR-видео для передачи больших объёмов информации без проводов и радиоволн.

Ну, я давно думал, если не о встроенном, то внешнем устройстве для калькуляторов - комбинация термопринтера и камеры для макросъёмки. Термопринтер печатает на полоски бумаги, которые можно вклеивать в блокнот, дарить в виде бизнес-карточки и т.п. А камера считывает обратно

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

Постоянная камера IMHO усложнит устройство и удорожит его.

Но как аксессуар для модульного калькулятора - почему бы и нет?

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

Можно всё распознающее устройство с микроконтроллером встроить в этот модуль, так чтобы с него прямо шли данные по UART (SPI,I2C,etc). Это будет вдвое дороже, но сколько можно сразу зайцев перебить :-)

:)

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

Несколько вкусностей в новой DM42 прошивке 2.11.5 Бета:

HP-42S "винтажный" шрифт:
font
Тизер нового функционала:
тизер

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

я уже все бабки потратил, наскребу на DM42 разве что в декабре.
Или наконец рожу свой калк с блекджеком и кухонной раковиной :-)

все-таки не самый дешевый кальк, не хочется возвратов от покупателей.
А так да, выглядит очень клево. Я поставил винтажный шрифт - ощущения от калькулятора в руке стали более теплые и более ламповые :)

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

Сделал тот HW workaround для борьбы с сильным падением показателя напряжения батарейки при включении. Честно признаться, напрягает, когда калькулятор сбрасывается (при этом память программ чистится, если не сохранил до этого в файловую систему - потерял). При этом сброс происходит задолго до того как калькулятор будет говорить, что батарейка "плохо".

Думаю, пока это не пофиксят, не будут релизить в продажу.

Еще на форуме плотные слухи о "Landscape format DM42". Я не совсем понимаю, какой экран тогда там будет

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

Что за обходной способ ? Кондёр приделали :-) ?

Там два кондера на плате, перемычкой что-то шунтируется, с ними связанное. Видимо, какая-то RC цепочка в цепи контроля батарейки шунтировалась. Должно помочь с "соображением", что батарейка Ок

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

Вышла новая DM42 прошивка 2.11.6 "бета"
Ярких вкусностей нет:

Release notes:
Multiple state-files
Changes in date/time setting screen
Changes in Program Save
Format FAT Disk moved from File menu to System menu
Bootloader now requires USB to be connected

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