nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Nov 2023 13:34



Reply to topic  [ 338 posts ]  Go to page Previous  1 ... 18, 19, 20, 21, 22, 23  Next
SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра) 
Author Message
Devil

Joined: 06 Oct 2006 03:17
Posts: 840
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
arcachofo wrote:
Попробуйте использовать прикрепленный файл.

Спасибо, работает.


30 Mar 2023 04:14
Profile
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 168
Location: г. Клинцы, Брянская обл.
Reply with quote
Ранее (viewtopic.php?f=81&t=19727&p=159983&hilit=rom+editor#p159824) я выкладывал схему для визуального редактирования знакогенераторов для семисегментного индикатора. Выяснилось, что в новых версиях программы эта схема не работает. Причина неработоспособности в том, что в программе полностью переписан движок симуляции логических микросхем. Добавилось несколько важных возможностей (настраиваемая задержка сигналов, настраиваемые фронты и срезы сигналов, изменилась модель RAM/ROM и др.). В результате некоторые схемы перестали правильно симулироваться.
Выкладываю исправленный вариант для новых версий. Тестировалась схема в версии Trunk. Изменения состоят в том, что пришлось добавлять задержки сигналов для правильного функционирования схемы.
В этой схеме добавлен переключатель, блокирующий случайное стирание информации. После окончания работы со схемой, перед отключением симуляции нужно его включить. В противном случае обнуляется нулевой байт из ROM.
Есть один непонятный косяк: при старте симуляции индикатор светится в половину яркости. После первого изменения (записи) любого сегмента нормальная индикация восстанавливается.

Кстати, не обязательно нажимать кнопки мышкой. Можно нажимать одноименные кнопки на клавиатуре. Результат одинаков.


Attachments:
7SEG_ED.png
7SEG_ED.png [ 106.88 KiB | Viewed 3348 times ]
ROM_Editor_7_seg.zip [7.06 KiB]
Downloaded 156 times
17 Apr 2023 23:14
Profile
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 168
Location: г. Клинцы, Брянская обл.
Reply with quote
От нечего делать решил сделать "бегущую строку" на семисегментных индикаторах...
Получилось прикольно. Единственный недостаток - текст плохо читается (иногда).
Для подготовки текста подойдет схема в посте выше. С начального адреса ПЗУ записывается 8 нулевых байт, затем изображения символов, формирующие текст для индикатора. В конце текста вставляем еще 8 нулевых байт и "Стоп-байт" 0FFh.
Вроде все. Если что-либо непонятно, поясню.
Во вложении 2 варианта шрифтов для семисегментного индикатора.


Attachments:
Hello_world_7seg_rom.zip [4.15 KiB]
Downloaded 161 times
Font12.PNG
Font12.PNG [ 61.62 KiB | Viewed 3262 times ]
Hello.PNG
Hello.PNG [ 128.71 KiB | Viewed 3262 times ]
19 Apr 2023 05:36
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 21742
Location: Silicon Valley
Reply with quote
Не - всё таки 7-сегментов недостаточно чтобы весь алфавит показать - надо 16

_________________
:dj: https://mastodon.social/@Shaos


20 Apr 2023 21:41
Profile WWW
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 168
Location: г. Клинцы, Брянская обл.
Reply with quote
Я помню на АОН-ах часто писали текстовые сообщения. Индикатор там был 7 сегментный.
Знаменитые "error", "3rror" на калькуляторах Б3-34, МК-61 и т.д., всяческие математические примеры на калькуляторах, которые выводили слова на перевернутом калькуляторе...


Attachments:
Rus_AON.png
Rus_AON.png [ 228.8 KiB | Viewed 3191 times ]
text_calk.PNG
text_calk.PNG [ 662.47 KiB | Viewed 3191 times ]
20 Apr 2023 22:41
Profile
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 168
Location: г. Клинцы, Брянская обл.
Reply with quote
Вышло обновление тестовой сборки программы SimulIDE 1.0.0 Rev 1348:
https://simulide.forumotion.com/t390-si ... ter-builds

Список изменений:
Changes from Rev 1334:

Bugs fixed:
- PIC16F630: package error.
- DS1307: Initialization error with current time.
- HD44780: Custom character missing Row 7.
- MCus: Compatibility with latest package file format.
- MCUs: crash calling sleep.
- PICs: Comparator error using Vref.
- PICs: OcUnit "Only interrupt" should not control pin.
- PICs: Errors in xml files PIR1 register mask.
- 7segment BCD: error mapping Component name.
- PICs: Crash at IcUnit Null register.
- 8051: Status flags errors..


23 Apr 2023 00:57
Profile
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 168
Location: г. Клинцы, Брянская обл.
Reply with quote
Отрисовал очередную модельку. Получилось хорошо.
Шестнадцатеричный декодер с защелкой на входе: TIL311.
Планирую еще сделать несколько подобных, поэтому самое место им в категории Display.
Установка:
Распаковать архив в каталог "..\data\led_display\", в файл "led_display.xml" добавить строку:
Code:
  <item name="TIL311" info="Hexadecimal display wich logic" />


Attachments:
TIL311.zip [8.29 KiB]
Downloaded 152 times
TIL311-2.PNG
TIL311-2.PNG [ 107.87 KiB | Viewed 2830 times ]
TIL311-1.PNG
TIL311-1.PNG [ 58.53 KiB | Viewed 2830 times ]
08 May 2023 00:23
Profile
Maniac

Joined: 10 Aug 2022 07:27
Posts: 262
Reply with quote
FizikS, обычно весовые разряды располагают справа-налево. Т.е. старшие слева, младшие справа. Но это так, чисто для удобовосприятия.)


10 May 2023 10:28
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
FizikS wrote:
От нечего делать решил сделать "бегущую строку" на семисегментных индикаторах...
Получилось прикольно. Единственный недостаток - текст плохо читается (иногда).

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

_________________
iLavr


12 May 2023 01:48
Profile
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 168
Location: г. Клинцы, Брянская обл.
Reply with quote
Вышло очередное обновление Trunk версии программы SimulIDE-R1859: https://simulide.forumotion.com/t550-si ... ter-builds
Традиционно: пофиксены баги, добавлены фичи...

 Список изменений
Bug Fixes:
- Crash copy/paste subcircuit with several MainComps.
- CPU Watcher: Var. List not saved.
- MCUs: error loading files with uppercase extension.
- PICs: errors in comparators.
- SPI Module: error in Slave mode.
- PIC SPI: error setting mode.
- IoPin: fix getVoltage() when Pin is not connected.
- Attinyx5: PCINT xml file error.
- 8051: several errors (royqh1979).
- Mcu Monitor: wrong cell in Flash after pause (by royqh1979).
- LEDs: fix colors.
- Fix Label positions after flipped (by royqh1979).
- Reactive: autostep is unstable.

Changes:
- Simulator: several speed optimizations.
- Added Display & ScriptDisplay modules.
- Added SriptTwi.
- Optimize Script engine.
- ScriptModule: Compile msgs to Editor msg Panel.
- IoPort: Added programmed pulse train.
- Added Atmega64.
- Arduino Compiler: add custom Libraries Path.
- Added Simplified Chinese translation (royqh1979).
- Added Slovak translation (tomas714).
- PICs: sleep module basic implementation.
- Editor: implemented config file.
- Save/Load context menu for MemTable (royqh1979).
- SDCC compiler several improvements (by royqh1979).
- Undo/Redo refactored & Copy by drag (by royqh1979).


Last edited by arcachofo on Tue Sep 05, 2023 3:01 am; edited 38 times in total


Появились новые компоненты:
- Atmega64,
- настраиваемая модель динамической памяти Dinamic RAM,
- для поклонников ZX-Spectrum добавлена модель ULA ZX48K (на выбор несколько вариантов из списка). Модель имеет экран, на который выводится картинка. Проектом компьютера еще никто не поделился. Автор ULA показал скриншот своего проекта Спектрума во время тестирования модели: https://simulide.forumotion.com/t1594-zx-spectrum


Attachments:
ULA_DRAM.png
ULA_DRAM.png [ 76.3 KiB | Viewed 1436 times ]
05 Sep 2023 01:24
Profile
Senior

Joined: 12 Jan 2023 07:26
Posts: 163
Reply with quote
FizikS wrote:
Вышло очередное обновление Trunk версии программы SimulIDE-R1859:

Проверил собираемость проекта под Linux32 Puppy. из транка 1863
При сборке проявилась такая ошибка у меня на файле label.cpp
 
Code:
src/gui/circuitwidget/label.cpp:55:31: error: ‘class QFontMetrics’ has no member named ‘horizontalAdvance’
             m_labely = y + fm.horizontalAdvance( text );
                               ^
src/gui/circuitwidget/label.cpp:58:31: error: ‘class QFontMetrics’ has no member named ‘horizontalAdvance’
             m_labely = y + fm.horizontalAdvance( text );
                               ^
src/gui/circuitwidget/label.cpp:69:31: error: ‘class QFontMetrics’ has no member named ‘horizontalAdvance’
             m_labely = y - fm.horizontalAdvance( text );
                               ^
src/gui/circuitwidget/label.cpp:72:31: error: ‘class QFontMetrics’ has no member named ‘horizontalAdvance’
             m_labely = y - fm.horizontalAdvance( text );
                               ^
src/gui/circuitwidget/label.cpp:81:34: error: ‘class QFontMetrics’ has no member named ‘horizontalAdvance’
         m_labelx = hf<0 ? x - fm.horizontalAdvance( text ) : x ;
                                  ^
src/gui/circuitwidget/label.cpp: In member function ‘void Label::updtLabelPos()’:
src/gui/circuitwidget/label.cpp:148:33: error: ‘class QFontMetrics’ has no member named ‘horizontalAdvance’
             setY( m_labely - fm.horizontalAdvance( text ) );
                                 ^
src/gui/circuitwidget/label.cpp:151:33: error: ‘class QFontMetrics’ has no member named ‘horizontalAdvance’
             setY( m_labely - fm.horizontalAdvance( text ) );
                                 ^
src/gui/circuitwidget/label.cpp:162:33: error: ‘class QFontMetrics’ has no member named ‘horizontalAdvance’
             setY( m_labely + fm.horizontalAdvance( text ) );
                                 ^
src/gui/circuitwidget/label.cpp:165:33: error: ‘class QFontMetrics’ has no member named ‘horizontalAdvance’
             setY( m_labely + fm.horizontalAdvance( text ) );
                                 ^
src/gui/circuitwidget/label.cpp:174:36: error: ‘class QFontMetrics’ has no member named ‘horizontalAdvance’
         setX( hf<0 ? m_labelx + fm.horizontalAdvance( text ) : m_labelx );
                                    ^
At global scope:
cc1plus: warning: unrecognized command line option "-Wno-deprecated-copy" [enabled by default]
cc1plus: warning: unrecognized command line option "-Wno-cast-function-type" [enabled by default]
cc1plus: warning: unrecognized command line option "-Wno-implicit-fallthrough" [enabled by default]
make: *** [build/objects/label.o] Error 1

Эти места закоментировал.

Дальше особых сообщений не было, но файл SimulIDE не появился после успешной сборки
т.к. компилятор не нашёл директорию /executables/SimulIDE_ и поэтому команду финанальной компоновки подправил для создания файла simulide в текущей директории.

P.S. Убрал из Мakefile ещё не поддержиаемую у меня опцию -no-pie.
ещё в файле dispinbox символ isnan не оказался в нужном пространстве имён (проявился при сборке на GCC 5.4 - указал std:: , но на GCC 4.8 всё нормально и файл созданный simulide рабочий на проверке симуляции схемы).


06 Sep 2023 02:11
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 21742
Location: Silicon Valley
Reply with quote
У тебя старый Qt по видимому

Попробовал у себя в дебияне:
Code:
> bzr branch lp:simulide
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data.  See "bzr help launchpad-login".
Branched 1866 revisions.
> cd simulide/build_XX
> qmake
Project MESSAGE: -----------------------------------
Project MESSAGE:     
Project MESSAGE:     SimulIDE_ for Linux
Project MESSAGE:     
Project MESSAGE:     Date:      "06-09-23"
Project MESSAGE:     Qt version: 5.11.3
Project MESSAGE:     
Project MESSAGE:     Destination Folder:
Project MESSAGE: /home/shaos/src/OTHER/SimulIDE/simulide/build_XX/executables/SimulIDE_
Project MESSAGE: -----------------------------------
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/simulide_cz.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/simulide_de.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/simulide_en.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/simulide_es.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/simulide_fr.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/simulide_it.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/simulide_nl.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/simulide_pt_BR.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/simulide_pt_PT.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/simulide_ru.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/simulide_tr.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/simulide_zh_CN.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/simulide_sk.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/qt_cz.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/qt_de.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/qt_en.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/qt_es.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/qt_fr.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/qt_it.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/qt_nl.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/qt_pt_BR.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/qt_pt_PT.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/qt_ru.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/qt_tr.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/qt_zh_CN.qm'
RCC: Error in '../src/application.qrc': Cannot find file '../resources/qm/qt_sk.qm'
и там таки действительно пусто:
https://bazaar.launchpad.net/~arcachofo/simulide/trunk/files/head:/resources/qm
а в марте там чего-то было - скопировал вручную и стало меньше ругаться и далее:
Code:
> make
...
In file included from ../src/gui/dialogs/appdialog.h:8,
                 from ../src/gui/circuitwidget/circuitwidget.cpp:17:
./ui_appdialog.h: In member function ‘void Ui_AppDialog::setupUi(QDialog*)’:
./ui_appdialog.h:407:54: error: ‘PlaceholderText’ is not a member of ‘QPalette’
         palette.setBrush(QPalette::Active, QPalette::PlaceholderText, brush);
                                                      ^~~~~~~~~~~~~~~
./ui_appdialog.h:411:56: error: ‘PlaceholderText’ is not a member of ‘QPalette’
         palette.setBrush(QPalette::Inactive, QPalette::PlaceholderText, brush);
                                                        ^~~~~~~~~~~~~~~
./ui_appdialog.h:415:56: error: ‘PlaceholderText’ is not a member of ‘QPalette’
         palette.setBrush(QPalette::Disabled, QPalette::PlaceholderText, brush);
                                                        ^~~~~~~~~~~~~~~
At global scope:
cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-copy’
make: *** [Makefile:4554: build/objects/circuitwidget.o] Error 1
Это несовместимость Qt - несколько страниц назад решалось пересохранением проблемных форм в моей версии Qt-дизайнера (который у меня сейчас 5.11.3+dfsg1-1+deb10u5)

_________________
:dj: https://mastodon.social/@Shaos


06 Sep 2023 20:08
Profile WWW
Senior

Joined: 12 Jan 2023 07:26
Posts: 163
Reply with quote
Shaos wrote:
У тебя старый Qt по видимому

Да, не совсем ещё QT5.9.9 :)
но, правда не установленный, а запускаемый простым копированием бинарных файлов в /usr/lib/qt4/bin (из основного пакета чтобы не прописывать переменную пути или не указывать при запуске), а пакеты куда инсталируются которые прописаны в зависимостях

Quote:
Попробовал у себя в дебияне:

У меня на отсутствие файлов *.qm поначалу тоже ругался, а при сборке проекта он их пересобирает из /tramslate/*.ts с помощью release (достаточно её взять от Qt4.8 т.к., к примеру от Qt5.3 тащит за собой ещё пакет QT5XML и после этого у меня сыплет сообщения, что вообще нет ни QT5.0 ни QT5.9) и собирал для предсказуемости результата под Linux LiveCD Puppy (Tahr), хотя использую в основном Xenial.

Ещё было сообщение на отсутствие русского не моноширного фонта, но здесь скоприровал *mono-R.

А сам проект загружен по bzr но или директория проекта должна иметь название src и рядом находится директория resources, а то как то с путями тоже qmake есть несостыковка, если иное название директории проекта (и тогда дубль-копировние поможет)


Last edited by forthuser on 06 Sep 2023 21:12, edited 1 time in total.



06 Sep 2023 20:50
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 21742
Location: Silicon Valley
Reply with quote
А да - действительно в qm появились файлы :)
Зачем тогда оно так сильно ругалось поначалу ;)
Code:
RCC: Error in '../src/application.qrc': Cannot find file '...

_________________
:dj: https://mastodon.social/@Shaos


06 Sep 2023 21:11
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 21742
Location: Silicon Valley
Reply with quote
Shaos wrote:
Code:
> make
...
In file included from ../src/gui/dialogs/appdialog.h:8,
                 from ../src/gui/circuitwidget/circuitwidget.cpp:17:
./ui_appdialog.h: In member function ‘void Ui_AppDialog::setupUi(QDialog*)’:
./ui_appdialog.h:407:54: error: ‘PlaceholderText’ is not a member of ‘QPalette’
         palette.setBrush(QPalette::Active, QPalette::PlaceholderText, brush);
                                                      ^~~~~~~~~~~~~~~
./ui_appdialog.h:411:56: error: ‘PlaceholderText’ is not a member of ‘QPalette’
         palette.setBrush(QPalette::Inactive, QPalette::PlaceholderText, brush);
                                                        ^~~~~~~~~~~~~~~
./ui_appdialog.h:415:56: error: ‘PlaceholderText’ is not a member of ‘QPalette’
         palette.setBrush(QPalette::Disabled, QPalette::PlaceholderText, brush);
                                                        ^~~~~~~~~~~~~~~
At global scope:
cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-copy’
make: *** [Makefile:4554: build/objects/circuitwidget.o] Error 1
Это несовместимость Qt - несколько страниц назад решалось пересохранением проблемных форм в моей версии Qt-дизайнера (который у меня сейчас 5.11.3+dfsg1-1+deb10u5)

Пересохранил этот диалог - двигаюсь дальше:

Attachment:
Screenshot from 2023-09-08 04-31-35.png
Screenshot from 2023-09-08 04-31-35.png [ 20.25 KiB | Viewed 1265 times ]

Вот теперь собралось :idea:

_________________
:dj: https://mastodon.social/@Shaos


08 Sep 2023 04:41
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 338 posts ]  Go to page Previous  1 ... 18, 19, 20, 21, 22, 23  Next

Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.