Онлайн симулятор Wokwi

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

forthuser
Senior
Posts: 165
Joined: 12 Jan 2023 07:26

Онлайн симулятор Wokwi

Post by forthuser »

Интересно, что на площадке https://wokwi.com/
запустился кем то добавленный код EspForth для ESP32 EspForth on wokwi
и даже можно лицезреть Форт консоль и ввести, к примеру, слово WORDS.
Скопировал вывод слов с консоли wrote: E (772) SPIFFS: spiffs partition could not be found
ESP32forth v7.0.5.4 - rev c7474b756beb296dd1316d241a218cd4e4041b77
ok
-->forth editor list copy thru load flush update empty-buffers buffer block save-buffers
default-use use open-blocks block-id scr block-fid telnetd bterm timers registers
webui login web-interface streams +to to ; { (local) words vlist order see .s
startswith? str= :noname SMUDGE forget dump assert reset revive startup: remember
restore save dump-file include included rtos interrupts sockets Serial ledc
SPIFFS SD_MMC WiFi WebServer Wire resize free allocate ok LED OUTPUT INPUT HIGH
LOW page tone freq duty adc pin ms start-task task pause tasks internals sealed
also only transfer{ }transfer transfer definitions vocabulary [IF] [ELSE] [THEN]
DEFINED? ok quit evaluate prompt refill tib echo fill cmove> cmove z>s s>z r|
r" z" ." s" zplace $place n. ? . u. binary decimal octal hex str #> sign #s
# hold <# extract pad hld cr space emit bye key? key type is defer +to to value-bind
value throw catch handler j i loop +loop leave unloop ?do do next for nest-depth
depth rp0 sp0 variable constant postpone >body >flags >link >link& >name abs
max min recurse aft repeat while else if then ahead until again begin literal
[char] char ['] ' ] [ c, , align aligned allot here context current base state
>in #tib 'tib 2! 2@ 2dup 2drop cell/ cells cell+ +! 4/ 4* 2/ 2* 1- 1+ nl bl
0<> <> = >= <= > < -rot rot - negate invert mod / /mod * */ rdrop nip \ ( ;
EXIT : IMMEDIATE DOES> CREATE S>NUMBER? PARSE FIND CELL EXECUTE R@ R> >R RP!
RP@ SP! SP@ C! L! ! C@ L@ @ DROP OVER SWAP DUP XOR OR AND RSHIFT LSHIFT */MOD
U/MOD + 0< 0= timer_isr_register accept SD_MMC.begin MDNS.begin FILE-SIZE RESIZE-FILE
REPOSITION-FILE FILE-POSITION READ-FILE WRITE-FILE DELETE-FILE CREATE-FILE OPEN-FILE
FLUSH-FILE CLOSE-FILE BIN W/O R/W R/O TERMINATE MS-TICKS dacWrite pulseIn analogRead
digitalRead digitalWrite pinMode
ok
-->
ESP32 FORTH в поисковом запросе с Github
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Онлайн симулятор Wokwi

Post by Shaos »

Wokwi у нас немного затрагивался:
http://www.nedopc.org/forum/viewtopic.php?f=68&t=21972&hilit=wokwi
http://www.nedopc.org/forum/viewtopic.php?f=68&t=21906&hilit=wokwi

Все мои проекты там можно поглядеть вот по этому линку:
https://wokwi.com/makers/shaos
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: а не замутить ли нам недосимулятр?

Post by Shaos »

Пока суть да дело по-быстрому написал wokwi-downloader, который выгружает HTML-страничку Wokwi-проектa по ID и вытаскивает оттуда файлы проекта:

https://gitlab.com/nedopc/nedosim/-/blob/master/converters/from_wokwi/wokwi-downloader.c

Code: Select all

./wokwi-downloader 349736284020802131 

wget -O index.html https://wokwi.com/projects/349736284020802131

--2023-06-05 13:40:23--  https://wokwi.com/projects/349736284020802131
Resolving wokwi.com (wokwi.com)... 2606:4700:20::681a:da6, 2606:4700:20::681a:ca6, 2606:4700:20::ac43:4be6, ...
Connecting to wokwi.com (wokwi.com)|2606:4700:20::681a:da6|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’

index.html                     [ <=>                                    ]  99.20K  --.-KB/s    in 0.03s   

2023-06-05 13:40:23 (3.78 MB/s) - ‘index.html’ saved [101584]

[0] tiny-tapeout-shaos-more-experiments
[1] tiny-tapeout-poc-new-internal-pulls.ino
[2] diagram.json
[3] input-16-pins.chip.json
[4] output-12-pins.chip.json
[5] input-16-pins.chip.c
[6] output-12-pins.chip.c
[7] mux3.chip.json
[8] mux3.chip.v
[9] cgate.chip.v
[10] cgate.chip.json

11 names retrieved
Файлы json это описание схемы (diagram.json) и пользовательских блоков (входы-выходы), а внутренности таких блоков представлены на языках C или Verilog (а внутренние библиотечные блоки наружу не торчат).
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: а не замутить ли нам недосимулятр?

Post by Shaos »

Shaos wrote:Файлы json это описание схемы (diagram.json) и пользовательских блоков (входы-выходы), а внутренности таких блоков представлены на языках C или Verilog (а внутренние библиотечные блоки наружу не торчат).
Вот пример как на сях написать аналоговые ключи 4051 и 4052 для вставки их в свои дизайны Wokwi:

https://blog.wokwi.com/custom-chips-cd4051b-analog-multiplexer/
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Pinokio240
Fanat
Posts: 57
Joined: 23 May 2023 23:14

Re: а не замутить ли нам недосимулятр?

Post by Pinokio240 »

Shaos wrote:
Shaos wrote:Файлы json это описание схемы (diagram.json) и пользовательских блоков (входы-выходы), а внутренности таких блоков представлены на языках C или Verilog (а внутренние библиотечные блоки наружу не торчат).
Вот пример как на сях написать аналоговые ключи 4051 и 4052 для вставки их в свои дизайны Wokwi:

https://blog.wokwi.com/custom-chips-cd4051b-analog-multiplexer/
Тоже встречал эту программку, но мозга работать с ней не хватает(
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Онлайн симулятор Wokwi

Post by Shaos »

Наконец-то авторы Wokwi вняли моим многочисленным просьбам (и после полутора лет ежемесячных донатов на эту тему) и сделали "junction" - возможность ставить точки на проводах для ответвления (раньше можно было только от входов к выходам компонентов одиночные линии проводить) :lol:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Онлайн симулятор Wokwi

Post by Shaos »

Shaos wrote: 06 Jun 2023 00:07 Пока суть да дело по-быстрому написал wokwi-downloader, который выгружает HTML-страничку Wokwi-проектa по ID и вытаскивает оттуда файлы проекта:

https://gitlab.com/nedopc/nedosim/-/blob/master/converters/from_wokwi/wokwi-downloader.c

Code: Select all

./wokwi-downloader 349736284020802131 

wget -O index.html https://wokwi.com/projects/349736284020802131

--2023-06-05 13:40:23--  https://wokwi.com/projects/349736284020802131
Resolving wokwi.com (wokwi.com)... 2606:4700:20::681a:da6, 2606:4700:20::681a:ca6, 2606:4700:20::ac43:4be6, ...
Connecting to wokwi.com (wokwi.com)|2606:4700:20::681a:da6|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’

index.html                     [ <=>                                    ]  99.20K  --.-KB/s    in 0.03s   

2023-06-05 13:40:23 (3.78 MB/s) - ‘index.html’ saved [101584]

[0] tiny-tapeout-shaos-more-experiments
[1] tiny-tapeout-poc-new-internal-pulls.ino
[2] diagram.json
[3] input-16-pins.chip.json
[4] output-12-pins.chip.json
[5] input-16-pins.chip.c
[6] output-12-pins.chip.c
[7] mux3.chip.json
[8] mux3.chip.v
[9] cgate.chip.v
[10] cgate.chip.json

11 names retrieved
Файлы json это описание схемы (diagram.json) и пользовательских блоков (входы-выходы), а внутренности таких блоков представлены на языках C или Verilog (а внутренние библиотечные блоки наружу не торчат).
Тут внезапно выяснилось, что мой wokwi-downloader перестал работать - поменяли чото видать :cry:

P.S. Даунлоадер мне нужен чтобы в наш будущий недосимулятр можно было загонять проекты оттудава, а также чтобы можно было составные многоуровневые проекты делать в том же wokwi переводя в Verilog отдельно лежащие модули...
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mondx
Doomed
Posts: 504
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Онлайн симулятор Wokwi

Post by Mondx »

Всё ничего. Плохо только что с аналогом не работает этот wokwi.(
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Онлайн симулятор Wokwi

Post by Shaos »

Подрихтовал даунлоадер под текущий формат wokwi.com

https://gitlab.com/nedopc/nedosim/-/blob/master/converters/from_wokwi/wokwi-downloader.c

К сожалению C и Rust файлы оно теперь вытащить не может :(

Code: Select all

$ ../wokwi-downloader 349736284020802131

wget -O diagram.json https://wokwi.com/api/projects/349736284020802131/diagram.json

--2025-03-16 02:06:19--  https://wokwi.com/api/projects/349736284020802131/diagram.json
Resolving wokwi.com (wokwi.com)... 2606:4700:20::681a:ca6, 2606:4700:20::681a:da6, 2606:4700:20::ac43:4be6, ...
Connecting to wokwi.com (wokwi.com)|2606:4700:20::681a:ca6|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: ‘diagram.json’

diagram.json                    [ <=>                                        ]  10.73K  --.-KB/s    in 0.004s  

2025-03-16 02:06:19 (2.84 MB/s) - ‘diagram.json’ saved [10986]


wget -O index.html https://wokwi.com/projects/349736284020802131

--2025-03-16 02:06:19--  https://wokwi.com/projects/349736284020802131
Resolving wokwi.com (wokwi.com)... 2606:4700:20::681a:ca6, 2606:4700:20::ac43:4be6, 2606:4700:20::681a:da6, ...
Connecting to wokwi.com (wokwi.com)|2606:4700:20::681a:ca6|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’

index.html                      [ <=>                                        ] 137.44K  --.-KB/s    in 0.04s   

2025-03-16 02:06:20 (3.83 MB/s) - ‘index.html’ saved [140738]

[1] diagram.json
[2] tiny-tapeout-poc-new-internal-pulls.ino
[3] input-16-pins.chip.json
[4] output-12-pins.chip.json
[5] input-16-pins.chip.c
[6] output-12-pins.chip.c
[7] mux3.chip.json
[8] mux3.chip.v
[9] cgate.chip.v
[10] cgate.chip.json

10 names retrieved
Внутри c-файлов теперь записано $18 и $19 - видимо ссылки на внутренние объекты, сохранённые иначе чем остальные файлы. Точно также теперь сохраняется diagram.json и я его из index.html вытащить не могу, однако его можно скачать напрямую по имени, что я теперь и делаю, а остальные файлы скачать напрямую невозможно - я фичуреквест им завёл ещё в июне 2023 года: https://github.com/wokwi/wokwi-features/issues/589

P.S. О - автор сказал как качнуть ZIP-архив проекта по имени!!! :lol:
https://wokwi.com/api/projects/349736284020802131/zip
Добавил это тоже:

Code: Select all

$ ../wokwi-downloader 349736284020802131

wget -O 349736284020802131.zip https://wokwi.com/api/projects/349736284020802131/zip

--2025-03-16 02:31:01--  https://wokwi.com/api/projects/349736284020802131/zip
Resolving wokwi.com (wokwi.com)... 2606:4700:20::ac43:4be6, 2606:4700:20::681a:da6, 2606:4700:20::681a:ca6, ...
Connecting to wokwi.com (wokwi.com)|2606:4700:20::ac43:4be6|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: ‘349736284020802131.zip’

349736284020802131.zip          [ <=>                                        ]   6.49K  38.9KB/s    in 0.2s    

2025-03-16 02:31:01 (38.9 KB/s) - ‘349736284020802131.zip’ saved [6643]


wget -O diagram.json https://wokwi.com/api/projects/349736284020802131/diagram.json

--2025-03-16 02:31:01--  https://wokwi.com/api/projects/349736284020802131/diagram.json
Resolving wokwi.com (wokwi.com)... 2606:4700:20::681a:da6, 2606:4700:20::ac43:4be6, 2606:4700:20::681a:ca6, ...
Connecting to wokwi.com (wokwi.com)|2606:4700:20::681a:da6|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: ‘diagram.json’

diagram.json                    [ <=>                                        ]  10.73K  --.-KB/s    in 0.002s  

2025-03-16 02:31:02 (5.53 MB/s) - ‘diagram.json’ saved [10986]


wget -O index.html https://wokwi.com/projects/349736284020802131

--2025-03-16 02:31:02--  https://wokwi.com/projects/349736284020802131
Resolving wokwi.com (wokwi.com)... 2606:4700:20::ac43:4be6, 2606:4700:20::681a:ca6, 2606:4700:20::681a:da6, ...
Connecting to wokwi.com (wokwi.com)|2606:4700:20::ac43:4be6|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’

index.html                      [ <=>                                        ] 137.44K  --.-KB/s    in 0.06s   

2025-03-16 02:31:02 (2.30 MB/s) - ‘index.html’ saved [140738]

[1] diagram.json
[2] tiny-tapeout-poc-new-internal-pulls.ino
[3] input-16-pins.chip.json
[4] output-12-pins.chip.json
[5] input-16-pins.chip.c
[6] output-12-pins.chip.c
[7] mux3.chip.json
[8] mux3.chip.v
[9] cgate.chip.v
[10] cgate.chip.json

10 names retrieved
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mondx
Doomed
Posts: 504
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Онлайн симулятор Wokwi

Post by Mondx »

А я бы хотел что бы и хекс сохранялся в базе Wokwi. Но автор говорит что нет. "Хотим людей побудить делиться исходниками".)
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Онлайн симулятор Wokwi

Post by Shaos »

Какой такой хекс? В смысле прошивка скомпилированная?
Не - там всё прозрачно и всегда всё перекомпилируется :mrgreen:
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mondx
Doomed
Posts: 504
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Онлайн симулятор Wokwi

Post by Mondx »

Да, именно скомпилированная прошивка. Там есть такая возможность, но не из базы, а из файла.
Всегда!
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Онлайн симулятор Wokwi

Post by Shaos »

А можно ссылку на проект с хексом? Я погляжу как мой даунлоадер его скачивает
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mondx
Doomed
Posts: 504
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Онлайн симулятор Wokwi

Post by Mondx »

Да никак он его не скачает. Я же говорю, hex находится на твоём ПК, а не в базе Wokwi. По F1 Upload Firmware and start Simulation.
Всегда!
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Онлайн симулятор Wokwi

Post by Shaos »

Mondx wrote: 16 Mar 2025 16:47 Да никак он его не скачает. Я же говорю, hex находится на ПК, а не в базе Wokwi. По F1 Upload Firmware and start Simulation.
А - я даже и не знал что так можно :)
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net