ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Atlverse Simulation is a discrete-event simulation engine written in Python (package
simcore) with a web editor on top. The engine implements the SIMAN modelling language —
entities flowing through blocks, resources and queues, schedules, transfer (stations, routes,
transporters, conveyors, guided vehicles), combined discrete/continuous models and
batch-means statistics — and the editor offers the familiar Basic Process, Advanced Process
and Advanced Transfer modules. The whole thing also runs inside the browser (Pyodide), so
a class can use it from a link, each student's laptop doing its own simulation.
Results are statistically comparable to Arena, not digit-for-digit identical (event ordering
on ties differs). COVERAGE.md lists every SIMAN block and element and its status.
Runs anywhere — a local server (python -m simcore.web) or a static site (python -m simcore.web.build) for GitHub Pages, Cloudflare Pages, Netlify or a campus web server; works offline after the first visit.
In the browser: open https://simulation.atlverse.xyz, or host your own copy (see In the browser).
On your computer (Python 3.10+, no other packages needed; PyYAML only for YAML files):
git clone https://github.com/andrewtliem/atlverse-simulation.git
cd atlverse-simulation
python -m simcore.web # opens http://127.0.0.1:8765, models saved in ./models
Example models from Altiok & Melamed, Simulation Modeling and Analysis with Arena, chapter 5 (5-2 workstation, 5-6 two processes, 5-7 emergency room) are under File → Open….
1. Web editor — as above. Shortcuts: Del, Ctrl+Z/Y, Ctrl+C/V/D, Ctrl+A, Ctrl+S, F5 (Go), F10 (Step), Esc (Pause), Shift+F5 (End), F1 (Help).
2. YAML — the engine's own model format (simcore/loader.py documents every key):
python -m simcore examples/bank.yaml --reps 10
3. Python API:
from simcore import *
m = Model("M/M/1", time_units="minutes")
m.resource("Server")
m.add(Create(interval="EXPO(1)"), Queue("Server.Queue"), Seize(resources=[("Server", 1)]),
Delay(duration="EXPO(0.8)"), Release(resources=[("Server", 1)]), Dispose())
m.replicate(replications=5, length=10_000)
res = m.run()
print(res.report())
print(res.across("queues.Server.Queue.waiting_time.average"))
Any operand also accepts a Python callable fn(entity, model), and Call(fn=...) runs Python
code in the flow.
Expressions use SIMAN syntax, e.g. TRIA(1, 2, 4), NQ(Triage.Queue) > 3 .AND. Size == 2,
TNOW - ArrTime. Every expression field has an ƒx Expression Builder (also on right-click,
like Arena's Build Expression): pick a distribution, a variable, attribute, resource, queue,
statistic or function from lists of the model's own names and fill in its parameters; DISC and
CONT are built from a table of values and percentages, cumulative probabilities included.
Named expressions go in the Expression data module (the replacement for SIMAN's obsolete
DISTRIBUTIONS/DIST).
| Group | Supported |
|---|---|
| Distributions | EXPO UNIF TRIA NORM LOGN GAMM ERLA BETA WEIB POIS DISC CONT JOHN (and the two-letter forms EX UN TR …), optional stream argument |
| Math | ABS SQRT EXP LN LOG SIN COS TAN ASIN ACOS ATAN HSIN HCOS HTAN INT NINT AINT ANINT MOD AMOD MN MX AMIN1 AMAX1 |
| Time and run | TNOW TFIN NREP MREP J |
| Queues | NQ AQUE ENTATRANK |
| Resources and sets | NR MR IRF STATE RESUTIL RESSEIZES MEMBER MEMIDX NUMMEM |
| Statistics | TAVG TMAX TMIN TNUM TSTD THALF DAVG DMAX DMIN NC |
| Entities | Entity.Type Entity.SerialNumber Entity.Picture Entity.CreateTime IDENT EntitiesIn EntitiesOut EntitiesWIP NE NG NSG NB NSTO |
| Schedules |
python -m simcore.web.build dist # static site: editor + engine (Pyodide) + example models
python -m http.server -d dist 8000 # try it at http://localhost:8000/
dist/ runs entirely in the browser: the engine is this package running in Pyodide inside a
Web Worker, loaded from cdn.jsdelivr.net on the first visit and then cached by sw.js for
offline use. Put the folder on any static host — GitHub Pages (.nojekyll included), Netlify
or Cloudflare Pages (_headers included):
npx wrangler pages deploy dist --project-name <your-project> # Cloudflare Pages
Saved models stay in each browser; File → Export JSON gives students a file to hand in.
The End button keeps partial results when the page is cross-origin isolated (_headers on
Netlify/Cloudflare, sw.js elsewhere). Long runs are slower in the browser than in
CPython; a progress panel shows how far a run is.
model.rng_mode = "arena" (default) uses L'Ecuyer's MRG32k3a streams and substreams (legacy
16807 streams when SEEDS are given) with fast classic samplers; "exact" uses statistically
exact samplers on the same streams. model.disable_randomness = True replaces every
distribution by its mean.
| Path | Contents |
|---|---|
simcore/core.py | entities, queues, resources, variables, simulation loop |
simcore/blocks.py | SIMAN blocks |
simcore/model.py | elements, expression resolver, replication runner, statistics collection |
simcore/transfer.py, guided.py | free-path transporters, conveyors, guided vehicles |
simcore/continuous.py | levels, rates, CSTATS, DETECT |
simcore/rng.py, stats.py | random numbers and distributions, tallies, half widths |
simcore/loader.py | YAML format and Arena-style modules (process, decide, batch, …) |
simcore/web/ | editor: api.py (shared by server and browser), server.py, build.py (static site), static/ (page, worker.js, browser.js, learn.js, report.js, scenarios.js, analyzer.js, plots.js) |
branding/ | logo (SVG and PNG) |
python -m unittest discover -s tests # engine, loader, editor graph conversion, build
# browser tests (headless Chrome; set PLAYWRIGHT_CORE to playwright-core's index.mjs if needed),
# with `python -m simcore.web --no-browser` running:
node tests/ui/editor.test.mjs
node tests/ui/learn.test.mjs
node tests/ui/tutorials.test.mjs
node tests/ui/tools.test.mjs
# the static build across several visits (serve dist/ first):
BASE=http://127.0.0.1:8790/ node tests/ui/revisit.test.mjs
Atlverse Simulation adalah aplikasi simulasi sistem diskrit untuk perkuliahan. Mahasiswa cukup membuka https://simulation.atlverse.xyz di browser — tidak perlu instalasi; simulasi berjalan di laptop masing-masing. Fitur untuk kelas:
DISC/CONT cukup diisi tabel nilai dan peluang (%).MIT © 2026 Andrew Tanny Liem.
Atlverse Simulation is an independent project. It is not affiliated with, endorsed by or sponsored by Rockwell Automation. Arena and SIMAN are trademarks of Rockwell Automation, used here only to describe compatibility. The example models are built from the exercises in Altiok & Melamed, Simulation Modeling and Analysis with Arena (Academic Press, 2007).
SchedValue| Logic | == <> < <= > >= && || and .EQ. .NE. .LT. .LE. .GT. .GE. .AND. .OR. .NOT. |