G92 doku & E-Stop-Doku

This commit is contained in:
chk
2026-06-25 19:20:14 +02:00
parent b96a538b89
commit 497d0fbc7b
7 changed files with 711 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
\relax
\providecommand \babel@aux [2]{\global \let \babel@toc \@gobbletwo }
\@nameuse{bbl@beforestart}
\catcode `"\active
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\babel@aux{ngerman}{}
\@writefile{toc}{\contentsline {section}{\numberline {1}Ziel und Anforderungen}{2}{section.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2}Architekturentscheidung}{2}{section.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Bewertete Optionen}{2}{subsection.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Entscheidung: WiFi Light Sleep}{2}{subsection.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3}WiFi Light Sleep -- Funktionsprinzip}{2}{section.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}DTIM-Einstellung und Stromverbrauch}{3}{subsection.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Akkulaufzeit (2000 mAh LiPo)}{3}{subsection.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4}Latenzbudget}{3}{section.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5}Hardware}{3}{section.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Empfohlene Boards}{3}{subsection.5.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Akku-Spezifikation}{3}{subsection.5.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Schaltung}{4}{subsection.5.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6}Software}{4}{section.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Abhängigkeiten (Arduino IDE)}{4}{subsection.6.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Konfiguration in \texttt {EmergencyStopButton.ino}}{4}{subsection.6.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}Ablauf}{4}{subsection.6.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4}Kritische API-Funktion}{5}{subsection.6.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7}Deployment-Hinweise}{5}{section.7}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {8}Dateien}{5}{section.8}\protected@file@percent }
\gdef \@abspage@last{5}

View File

@@ -0,0 +1,529 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (MiKTeX 25.4) (preloaded format=pdflatex 2025.6.3) 25 JUN 2026 19:13
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**./eStopESP32.tex
(eStopESP32.tex
LaTeX2e <2024-11-01> patch level 2
L3 programming layer <2025-04-29>
(C:\Program Files\MiKTeX\tex/latex/base\article.cls
Document Class: article 2024/06/29 v1.4n Standard LaTeX document class
(C:\Program Files\MiKTeX\tex/latex/base\size11.clo
File: size11.clo 2024/06/29 v1.4n Standard LaTeX file (size option)
)
\c@part=\count272
\c@section=\count273
\c@subsection=\count274
\c@subsubsection=\count275
\c@paragraph=\count276
\c@subparagraph=\count277
\c@figure=\count278
\c@table=\count279
\abovecaptionskip=\skip49
\belowcaptionskip=\skip50
\bibindent=\dimen146
)
(C:\Program Files\MiKTeX\tex/latex/base\inputenc.sty
Package: inputenc 2024/02/08 v1.3d Input encoding file
\inpenc@prehook=\toks17
\inpenc@posthook=\toks18
)
(C:\Program Files\MiKTeX\tex/latex/base\fontenc.sty
Package: fontenc 2021/04/29 v2.0v Standard LaTeX package
)
(C:\Program Files\MiKTeX\tex/generic/babel\babel.sty
Package: babel 2025/05/14 v25.9 The multilingual framework for pdfLaTeX, LuaLaT
eX and XeLaTeX
\babel@savecnt=\count280
\U@D=\dimen147
\l@unhyphenated=\language79
(C:\Program Files\MiKTeX\tex/generic/babel\txtbabel.def)
\bbl@readstream=\read2
\bbl@dirlevel=\count281
*************************************
* Local config file bblopts.cfg used
*
(C:\Program Files\MiKTeX\tex/latex/arabi\bblopts.cfg
File: bblopts.cfg 2005/09/08 v0.1 add Arabic and Farsi to "declared" options of
babel
)
(C:\Program Files\MiKTeX\tex/latex/babel-german\ngerman.ldf
Language: ngerman 2024/12/10 v2.15 German support for babel (post-1996 orthogra
phy)
(C:\Program Files\MiKTeX\tex/generic/babel/locale/de\babel-ngerman.tex
Package babel Info: Importing font and identification data for ngerman
(babel) from babel-de.ini. Reported on input line 11.
)
(C:\Program Files\MiKTeX\tex/latex/babel-german\ngermanb.ldf
Language: ngermanb 2024/12/10 v2.15 German support for babel (post-1996 orthogr
aphy)
Package babel Info: Making " an active character on input line 122.
)))
(C:\Program Files\MiKTeX\tex/latex/geometry\geometry.sty
Package: geometry 2020/01/02 v5.9 Page Geometry
(C:\Program Files\MiKTeX\tex/latex/graphics\keyval.sty
Package: keyval 2022/05/29 v1.15 key=value parser (DPC)
\KV@toks@=\toks19
)
(C:\Program Files\MiKTeX\tex/generic/iftex\ifvtex.sty
Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead.
(C:\Program Files\MiKTeX\tex/generic/iftex\iftex.sty
Package: iftex 2024/12/12 v1.0g TeX engine tests
))
\Gm@cnth=\count282
\Gm@cntv=\count283
\c@Gm@tempcnt=\count284
\Gm@bindingoffset=\dimen148
\Gm@wd@mp=\dimen149
\Gm@odd@mp=\dimen150
\Gm@even@mp=\dimen151
\Gm@layoutwidth=\dimen152
\Gm@layoutheight=\dimen153
\Gm@layouthoffset=\dimen154
\Gm@layoutvoffset=\dimen155
\Gm@dimlist=\toks20
(C:\Program Files\MiKTeX\tex/latex/geometry\geometry.cfg))
(C:\Program Files\MiKTeX\tex/latex/amsmath\amsmath.sty
Package: amsmath 2024/11/05 v2.17t AMS math features
\@mathmargin=\skip51
For additional information on amsmath, use the `?' option.
(C:\Program Files\MiKTeX\tex/latex/amsmath\amstext.sty
Package: amstext 2021/08/26 v2.01 AMS text
(C:\Program Files\MiKTeX\tex/latex/amsmath\amsgen.sty
File: amsgen.sty 1999/11/30 v2.0 generic functions
\@emptytoks=\toks21
\ex@=\dimen156
))
(C:\Program Files\MiKTeX\tex/latex/amsmath\amsbsy.sty
Package: amsbsy 1999/11/29 v1.2d Bold Symbols
\pmbraise@=\dimen157
)
(C:\Program Files\MiKTeX\tex/latex/amsmath\amsopn.sty
Package: amsopn 2022/04/08 v2.04 operator names
)
\inf@bad=\count285
LaTeX Info: Redefining \frac on input line 233.
\uproot@=\count286
\leftroot@=\count287
LaTeX Info: Redefining \overline on input line 398.
LaTeX Info: Redefining \colon on input line 409.
\classnum@=\count288
\DOTSCASE@=\count289
LaTeX Info: Redefining \ldots on input line 495.
LaTeX Info: Redefining \dots on input line 498.
LaTeX Info: Redefining \cdots on input line 619.
\Mathstrutbox@=\box53
\strutbox@=\box54
LaTeX Info: Redefining \big on input line 721.
LaTeX Info: Redefining \Big on input line 722.
LaTeX Info: Redefining \bigg on input line 723.
LaTeX Info: Redefining \Bigg on input line 724.
\big@size=\dimen158
LaTeX Font Info: Redeclaring font encoding OML on input line 742.
LaTeX Font Info: Redeclaring font encoding OMS on input line 743.
\macc@depth=\count290
LaTeX Info: Redefining \bmod on input line 904.
LaTeX Info: Redefining \pmod on input line 909.
LaTeX Info: Redefining \smash on input line 939.
LaTeX Info: Redefining \relbar on input line 969.
LaTeX Info: Redefining \Relbar on input line 970.
\c@MaxMatrixCols=\count291
\dotsspace@=\muskip17
\c@parentequation=\count292
\dspbrk@lvl=\count293
\tag@help=\toks22
\row@=\count294
\column@=\count295
\maxfields@=\count296
\andhelp@=\toks23
\eqnshift@=\dimen159
\alignsep@=\dimen160
\tagshift@=\dimen161
\tagwidth@=\dimen162
\totwidth@=\dimen163
\lineht@=\dimen164
\@envbody=\toks24
\multlinegap=\skip52
\multlinetaggap=\skip53
\mathdisplay@stack=\toks25
LaTeX Info: Redefining \[ on input line 2953.
LaTeX Info: Redefining \] on input line 2954.
)
(C:\Program Files\MiKTeX\tex/latex/booktabs\booktabs.sty
Package: booktabs 2020/01/12 v1.61803398 Publication quality tables
\heavyrulewidth=\dimen165
\lightrulewidth=\dimen166
\cmidrulewidth=\dimen167
\belowrulesep=\dimen168
\belowbottomsep=\dimen169
\aboverulesep=\dimen170
\abovetopsep=\dimen171
\cmidrulesep=\dimen172
\cmidrulekern=\dimen173
\defaultaddspace=\dimen174
\@cmidla=\count297
\@cmidlb=\count298
\@aboverulesep=\dimen175
\@belowrulesep=\dimen176
\@thisruleclass=\count299
\@lastruleclass=\count300
\@thisrulewidth=\dimen177
)
(C:\Program Files\MiKTeX\tex/latex/listings\listings.sty
\lst@mode=\count301
\lst@gtempboxa=\box55
\lst@token=\toks26
\lst@length=\count302
\lst@currlwidth=\dimen178
\lst@column=\count303
\lst@pos=\count304
\lst@lostspace=\dimen179
\lst@width=\dimen180
\lst@newlines=\count305
\lst@lineno=\count306
\lst@maxwidth=\dimen181
(C:\Program Files\MiKTeX\tex/latex/listings\lstpatch.sty
File: lstpatch.sty 2024/09/23 1.10c (Carsten Heinz)
)
(C:\Program Files\MiKTeX\tex/latex/listings\lstmisc.sty
File: lstmisc.sty 2024/09/23 1.10c (Carsten Heinz)
\c@lstnumber=\count307
\lst@skipnumbers=\count308
\lst@framebox=\box56
)
(C:\Program Files\MiKTeX\tex/latex/listings\listings.cfg
File: listings.cfg 2024/09/23 1.10c listings configuration
))
Package: listings 2024/09/23 1.10c (Carsten Heinz)
(C:\Program Files\MiKTeX\tex/latex/xcolor\xcolor.sty
Package: xcolor 2024/09/29 v3.02 LaTeX color extensions (UK)
(C:\Program Files\MiKTeX\tex/latex/graphics-cfg\color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration
)
Package xcolor Info: Driver file: pdftex.def on input line 274.
(C:\Program Files\MiKTeX\tex/latex/graphics-def\pdftex.def
File: pdftex.def 2024/04/13 v1.2c Graphics/color driver for pdftex
)
(C:\Program Files\MiKTeX\tex/latex/graphics\mathcolor.ltx)
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1349.
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1353.
Package xcolor Info: Model `RGB' extended on input line 1365.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1367.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1368.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1369.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1370.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1371.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1372.
)
(C:\Program Files\MiKTeX\tex/latex/hyperref\hyperref.sty
Package: hyperref 2025-05-20 v7.01m Hypertext links for LaTeX
(C:\Program Files\MiKTeX\tex/latex/kvsetkeys\kvsetkeys.sty
Package: kvsetkeys 2022-10-05 v1.19 Key value parser (HO)
)
(C:\Program Files\MiKTeX\tex/generic/kvdefinekeys\kvdefinekeys.sty
Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO)
)
(C:\Program Files\MiKTeX\tex/generic/pdfescape\pdfescape.sty
Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO)
(C:\Program Files\MiKTeX\tex/generic/ltxcmds\ltxcmds.sty
Package: ltxcmds 2023-12-04 v1.26 LaTeX kernel commands for general use (HO)
)
(C:\Program Files\MiKTeX\tex/generic/pdftexcmds\pdftexcmds.sty
Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO
)
(C:\Program Files\MiKTeX\tex/generic/infwarerr\infwarerr.sty
Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO)
)
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
))
(C:\Program Files\MiKTeX\tex/latex/hycolor\hycolor.sty
Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO)
)
(C:\Program Files\MiKTeX\tex/latex/hyperref\nameref.sty
Package: nameref 2023-11-26 v2.56 Cross-referencing by name of section
(C:\Program Files\MiKTeX\tex/latex/refcount\refcount.sty
Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO)
)
(C:\Program Files\MiKTeX\tex/generic/gettitlestring\gettitlestring.sty
Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO)
(C:\Program Files\MiKTeX\tex/latex/kvoptions\kvoptions.sty
Package: kvoptions 2022-06-15 v3.15 Key value format for package options (HO)
))
\c@section@level=\count309
)
(C:\Program Files\MiKTeX\tex/latex/etoolbox\etoolbox.sty
Package: etoolbox 2025/02/11 v2.5l e-TeX tools for LaTeX (JAW)
\etb@tempcnta=\count310
)
(C:\Program Files\MiKTeX\tex/generic/stringenc\stringenc.sty
Package: stringenc 2019/11/29 v1.12 Convert strings between diff. encodings (HO
)
)
\@linkdim=\dimen182
\Hy@linkcounter=\count311
\Hy@pagecounter=\count312
(C:\Program Files\MiKTeX\tex/latex/hyperref\pd1enc.def
File: pd1enc.def 2025-05-20 v7.01m Hyperref: PDFDocEncoding definition (HO)
Now handling font encoding PD1 ...
... no UTF-8 mapping file for font encoding PD1
)
(C:\Program Files\MiKTeX\tex/generic/intcalc\intcalc.sty
Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO)
)
\Hy@SavedSpaceFactor=\count313
(C:\Program Files\MiKTeX\tex/latex/hyperref\puenc.def
File: puenc.def 2025-05-20 v7.01m Hyperref: PDF Unicode definition (HO)
Now handling font encoding PU ...
... no UTF-8 mapping file for font encoding PU
)
Package hyperref Info: Option `unicode' set `true' on input line 4040.
Package hyperref Info: Hyper figures OFF on input line 4157.
Package hyperref Info: Link nesting OFF on input line 4162.
Package hyperref Info: Hyper index ON on input line 4165.
Package hyperref Info: Plain pages OFF on input line 4172.
Package hyperref Info: Backreferencing OFF on input line 4177.
Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
Package hyperref Info: Bookmarks ON on input line 4424.
\c@Hy@tempcnt=\count314
(C:\Program Files\MiKTeX\tex/latex/url\url.sty
\Urlmuskip=\muskip18
Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc.
)
LaTeX Info: Redefining \url on input line 4763.
\XeTeXLinkMargin=\dimen183
(C:\Program Files\MiKTeX\tex/generic/bitset\bitset.sty
Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO)
(C:\Program Files\MiKTeX\tex/generic/bigintcalc\bigintcalc.sty
Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO
)
))
\Fld@menulength=\count315
\Field@Width=\dimen184
\Fld@charsize=\dimen185
Package hyperref Info: Hyper figures OFF on input line 6042.
Package hyperref Info: Link nesting OFF on input line 6047.
Package hyperref Info: Hyper index ON on input line 6050.
Package hyperref Info: backreferencing OFF on input line 6057.
Package hyperref Info: Link coloring OFF on input line 6062.
Package hyperref Info: Link coloring with OCG OFF on input line 6067.
Package hyperref Info: PDF/A mode OFF on input line 6072.
(C:\Program Files\MiKTeX\tex/latex/base\atbegshi-ltx.sty
Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi
package with kernel methods
)
\Hy@abspage=\count316
\c@Item=\count317
\c@Hfootnote=\count318
)
Package hyperref Info: Driver (autodetected): hpdftex.
(C:\Program Files\MiKTeX\tex/latex/hyperref\hpdftex.def
File: hpdftex.def 2025-05-20 v7.01m Hyperref driver for pdfTeX
\Fld@listcount=\count319
\c@bookmark@seq@number=\count320
(C:\Program Files\MiKTeX\tex/latex/rerunfilecheck\rerunfilecheck.sty
Package: rerunfilecheck 2022-07-10 v1.10 Rerun checks for auxiliary files (HO)
(C:\Program Files\MiKTeX\tex/latex/base\atveryend-ltx.sty
Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend pac
kage
with kernel methods
)
(C:\Program Files\MiKTeX\tex/generic/uniquecounter\uniquecounter.sty
Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO)
)
Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
85.
)
\Hy@SectionHShift=\skip54
)
(C:\Program Files\MiKTeX\tex/latex/enumitem\enumitem.sty
Package: enumitem 2025/02/06 v3.11 Customized lists
\labelindent=\skip55
\enit@outerparindent=\dimen186
\enit@toks=\toks27
\enit@inbox=\box57
\enit@count@id=\count321
\enitdp@description=\count322
)
(C:\Program Files\MiKTeX\tex/latex/l3backend\l3backend-pdftex.def
File: l3backend-pdftex.def 2025-04-14 L3 backend support: PDF output (pdfTeX)
\l__color_backend_stack_int=\count323
)
(eStopESP32.aux)
\openout1 = `eStopESP32.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 30.
LaTeX Font Info: ... okay on input line 30.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 30.
LaTeX Font Info: ... okay on input line 30.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 30.
LaTeX Font Info: ... okay on input line 30.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 30.
LaTeX Font Info: ... okay on input line 30.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 30.
LaTeX Font Info: ... okay on input line 30.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 30.
LaTeX Font Info: ... okay on input line 30.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 30.
LaTeX Font Info: ... okay on input line 30.
LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 30.
LaTeX Font Info: ... okay on input line 30.
LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 30.
LaTeX Font Info: ... okay on input line 30.
Package babel Info: 'ngerman' activates 'ngerman' shorthands.
(babel) Reported on input line 30.
*geometry* driver: auto-detecting
*geometry* detected driver: pdftex
*geometry* verbose mode - [ preamble ] result:
* driver: pdftex
* paper: a4paper
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* modes:
* h-part:(L,W,R)=(89.62709pt, 418.25368pt, 89.6271pt)
* v-part:(T,H,B)=(101.40665pt, 591.5302pt, 152.11pt)
* \paperwidth=597.50787pt
* \paperheight=845.04684pt
* \textwidth=418.25368pt
* \textheight=591.5302pt
* \oddsidemargin=17.3571pt
* \evensidemargin=17.3571pt
* \topmargin=-7.86334pt
* \headheight=12.0pt
* \headsep=25.0pt
* \topskip=11.0pt
* \footskip=30.0pt
* \marginparwidth=50.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
\c@lstlisting=\count324
(C:\Program Files\MiKTeX\tex/context/base/mkii\supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count325
\scratchdimen=\dimen187
\scratchbox=\box58
\nofMPsegments=\count326
\nofMParguments=\count327
\everyMPshowfont=\toks28
\MPscratchCnt=\count328
\MPscratchDim=\dimen188
\MPnumerator=\count329
\makeMPintoPDFobject=\count330
\everyMPtoPDFconversion=\toks29
)
Package hyperref Info: Link coloring OFF on input line 30.
(eStopESP32.out) (eStopESP32.out)
\@outlinefile=\write3
\openout3 = `eStopESP32.out'.
No file eStopESP32.toc.
\tf@toc=\write4
\openout4 = `eStopESP32.toc'.
[1
{C:/Users/kech/AppData/Local/MiKTeX/fonts/map/pdftex/pdftex.map}]
Overfull \hbox (52.44191pt too wide) in paragraph at lines 55--64
[]
[]
[2]
[3]
LaTeX Font Info: Font shape `T1/cmtt/bx/n' in size <12> not available
(Font) Font shape `T1/cmtt/m/n' tried instead on input line 198.
(C:\Program Files\MiKTeX\tex/latex/listings\lstlang1.sty
File: lstlang1.sty 2024/09/23 1.10c listings language file
)
(C:\Program Files\MiKTeX\tex/latex/listings\lstmisc.sty
File: lstmisc.sty 2024/09/23 1.10c (Carsten Heinz)
)
[4]
[5] (eStopESP32.aux)
***********
LaTeX2e <2024-11-01> patch level 2
L3 programming layer <2025-04-29>
***********
Package rerunfilecheck Warning: File `eStopESP32.out' has changed.
(rerunfilecheck) Rerun to get outlines right
(rerunfilecheck) or use package `bookmark'.
Package rerunfilecheck Info: Checksums for `eStopESP32.out':
(rerunfilecheck) Before: D41D8CD98F00B204E9800998ECF8427E;0
(rerunfilecheck) After: 64D67ACE6A872D194C01934CCEAACD2A;2987.
)
Here is how much of TeX's memory you used:
13330 strings out of 469923
201990 string characters out of 5479241
876616 words of memory out of 5000000
39954 multiletter control sequences out of 15000+600000
640366 words of font info for 70 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
75i,7n,79p,259b,1262s stack positions out of 10000i,1000n,20000p,200000b,200000s
<C:\Users\kech\AppData\Local\MiKTeX\fonts/pk/ljfour/jknappen/ec/dpi600\ectt1
200.pk> <C:\Users\kech\AppData\Local\MiKTeX\fonts/pk/ljfour/jknappen/ec/dpi600\
ectt1000.pk> <C:\Users\kech\AppData\Local\MiKTeX\fonts/pk/ljfour/jknappen/ec/dp
i600\ectt1095.pk> <C:\Users\kech\AppData\Local\MiKTeX\fonts/pk/ljfour/jknappen/
ec/dpi600\ecbx1200.pk> <C:\Users\kech\AppData\Local\MiKTeX\fonts/pk/ljfour/jkna
ppen/ec/dpi600\ecbx1095.pk> <C:\Users\kech\AppData\Local\MiKTeX\fonts/pk/ljfour
/jknappen/ec/dpi600\tcrm1095.pk> <C:\Users\kech\AppData\Local\MiKTeX\fonts/pk/l
jfour/jknappen/ec/dpi600\ecrm1095.pk> <C:\Users\kech\AppData\Local\MiKTeX\fonts
/pk/ljfour/jknappen/ec/dpi600\ecbx1440.pk> <C:\Users\kech\AppData\Local\MiKTeX\
fonts/pk/ljfour/jknappen/ec/dpi600\ecrm1200.pk> <C:\Users\kech\AppData\Local\Mi
KTeX\fonts/pk/ljfour/jknappen/ec/dpi600\ecbx1728.pk><C:/Program Files/MiKTeX/fo
nts/type1/public/amsfonts/cm/cmmi10.pfb><C:/Program Files/MiKTeX/fonts/type1/pu
blic/amsfonts/cm/cmr10.pfb><C:/Program Files/MiKTeX/fonts/type1/public/amsfonts
/cm/cmsy10.pfb>
Output written on eStopESP32.pdf (5 pages, 181387 bytes).
PDF statistics:
526 PDF objects out of 1000 (max. 8388607)
54 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)

View File

@@ -0,0 +1,19 @@
\BOOKMARK [1][-]{section.1}{\376\377\000Z\000i\000e\000l\000\040\000u\000n\000d\000\040\000A\000n\000f\000o\000r\000d\000e\000r\000u\000n\000g\000e\000n}{}% 1
\BOOKMARK [1][-]{section.2}{\376\377\000A\000r\000c\000h\000i\000t\000e\000k\000t\000u\000r\000e\000n\000t\000s\000c\000h\000e\000i\000d\000u\000n\000g}{}% 2
\BOOKMARK [2][-]{subsection.2.1}{\376\377\000B\000e\000w\000e\000r\000t\000e\000t\000e\000\040\000O\000p\000t\000i\000o\000n\000e\000n}{section.2}% 3
\BOOKMARK [2][-]{subsection.2.2}{\376\377\000E\000n\000t\000s\000c\000h\000e\000i\000d\000u\000n\000g\000:\000\040\000W\000i\000F\000i\000\040\000L\000i\000g\000h\000t\000\040\000S\000l\000e\000e\000p}{section.2}% 4
\BOOKMARK [1][-]{section.3}{\376\377\000W\000i\000F\000i\000\040\000L\000i\000g\000h\000t\000\040\000S\000l\000e\000e\000p\000\040\040\023\000\040\000F\000u\000n\000k\000t\000i\000o\000n\000s\000p\000r\000i\000n\000z\000i\000p}{}% 5
\BOOKMARK [2][-]{subsection.3.1}{\376\377\000D\000T\000I\000M\000-\000E\000i\000n\000s\000t\000e\000l\000l\000u\000n\000g\000\040\000u\000n\000d\000\040\000S\000t\000r\000o\000m\000v\000e\000r\000b\000r\000a\000u\000c\000h}{section.3}% 6
\BOOKMARK [2][-]{subsection.3.2}{\376\377\000A\000k\000k\000u\000l\000a\000u\000f\000z\000e\000i\000t\000\040\000\050\0002\0000\0000\0000\000\040\000m\000A\000h\000\040\000L\000i\000P\000o\000\051}{section.3}% 7
\BOOKMARK [1][-]{section.4}{\376\377\000L\000a\000t\000e\000n\000z\000b\000u\000d\000g\000e\000t}{}% 8
\BOOKMARK [1][-]{section.5}{\376\377\000H\000a\000r\000d\000w\000a\000r\000e}{}% 9
\BOOKMARK [2][-]{subsection.5.1}{\376\377\000E\000m\000p\000f\000o\000h\000l\000e\000n\000e\000\040\000B\000o\000a\000r\000d\000s}{section.5}% 10
\BOOKMARK [2][-]{subsection.5.2}{\376\377\000A\000k\000k\000u\000-\000S\000p\000e\000z\000i\000f\000i\000k\000a\000t\000i\000o\000n}{section.5}% 11
\BOOKMARK [2][-]{subsection.5.3}{\376\377\000S\000c\000h\000a\000l\000t\000u\000n\000g}{section.5}% 12
\BOOKMARK [1][-]{section.6}{\376\377\000S\000o\000f\000t\000w\000a\000r\000e}{}% 13
\BOOKMARK [2][-]{subsection.6.1}{\376\377\000A\000b\000h\000\344\000n\000g\000i\000g\000k\000e\000i\000t\000e\000n\000\040\000\050\000A\000r\000d\000u\000i\000n\000o\000\040\000I\000D\000E\000\051}{section.6}% 14
\BOOKMARK [2][-]{subsection.6.2}{\376\377\000K\000o\000n\000f\000i\000g\000u\000r\000a\000t\000i\000o\000n\000\040\000i\000n\000\040\000E\000m\000e\000r\000g\000e\000n\000c\000y\000S\000t\000o\000p\000B\000u\000t\000t\000o\000n\000.\000i\000n\000o}{section.6}% 15
\BOOKMARK [2][-]{subsection.6.3}{\376\377\000A\000b\000l\000a\000u\000f}{section.6}% 16
\BOOKMARK [2][-]{subsection.6.4}{\376\377\000K\000r\000i\000t\000i\000s\000c\000h\000e\000\040\000A\000P\000I\000-\000F\000u\000n\000k\000t\000i\000o\000n}{section.6}% 17
\BOOKMARK [1][-]{section.7}{\376\377\000D\000e\000p\000l\000o\000y\000m\000e\000n\000t\000-\000H\000i\000n\000w\000e\000i\000s\000e}{}% 18
\BOOKMARK [1][-]{section.8}{\376\377\000D\000a\000t\000e\000i\000e\000n}{}% 19

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,20 @@
\babel@toc {ngerman}{}\relax
\contentsline {section}{\numberline {1}Ziel und Anforderungen}{2}{section.1}%
\contentsline {section}{\numberline {2}Architekturentscheidung}{2}{section.2}%
\contentsline {subsection}{\numberline {2.1}Bewertete Optionen}{2}{subsection.2.1}%
\contentsline {subsection}{\numberline {2.2}Entscheidung: WiFi Light Sleep}{2}{subsection.2.2}%
\contentsline {section}{\numberline {3}WiFi Light Sleep -- Funktionsprinzip}{2}{section.3}%
\contentsline {subsection}{\numberline {3.1}DTIM-Einstellung und Stromverbrauch}{3}{subsection.3.1}%
\contentsline {subsection}{\numberline {3.2}Akkulaufzeit (2000 mAh LiPo)}{3}{subsection.3.2}%
\contentsline {section}{\numberline {4}Latenzbudget}{3}{section.4}%
\contentsline {section}{\numberline {5}Hardware}{3}{section.5}%
\contentsline {subsection}{\numberline {5.1}Empfohlene Boards}{3}{subsection.5.1}%
\contentsline {subsection}{\numberline {5.2}Akku-Spezifikation}{3}{subsection.5.2}%
\contentsline {subsection}{\numberline {5.3}Schaltung}{4}{subsection.5.3}%
\contentsline {section}{\numberline {6}Software}{4}{section.6}%
\contentsline {subsection}{\numberline {6.1}Abhängigkeiten (Arduino IDE)}{4}{subsection.6.1}%
\contentsline {subsection}{\numberline {6.2}Konfiguration in \texttt {EmergencyStopButton.ino}}{4}{subsection.6.2}%
\contentsline {subsection}{\numberline {6.3}Ablauf}{4}{subsection.6.3}%
\contentsline {subsection}{\numberline {6.4}Kritische API-Funktion}{5}{subsection.6.4}%
\contentsline {section}{\numberline {7}Deployment-Hinweise}{5}{section.7}%
\contentsline {section}{\numberline {8}Dateien}{5}{section.8}%

115
doc/Info_G92.md Normal file
View File

@@ -0,0 +1,115 @@
# G92 - Homing
die appRobotHoming ermittelt die Position der Gelenke (per Foto oder sonstigen Infos).
Diese werden wie folgt behandelt und umgerechnet.
---
## Befehlsformat
```
G92 X<mm> Y<°> Z<°> A<°> B<°> C<°> E<mm>
```
| Achse | Bedeutung | Einheit |
|-------|-----------------------------------|---------|
| X | Lineare Schiene (xMotor) | mm |
| Y | Schulterwinkel α (alpha) | Grad |
| Z | Ellenbogenwinkel β (beta) | Grad |
| A | Handgelenk 1 (a) | Grad |
| B | Handgelenk 2 (b) | Grad |
| C | Handgelenk 3 (c) | Grad |
| E | Greifer-Öffnung (ein Finger) | mm |
**Beispiel (tatsächlicher Homing-Aufruf):**
```
G92 X158.14 Y4.19 Z57.74 A91.85 B-45.46 C-69.92 E21.20
```
→ Y = 4,19°, Z = 57,74° usw. — alle Winkel direkt in Grad wie in FluidNC/GCode-Konvention.
---
## Interne Verarbeitung (`RobotController.js`)
Winkel-Achsen werden von Grad nach Radiant umgerechnet (D = 180/π):
```
robot.alpha = Y / D (intern: Radiant)
robot.beta = Z / D
robot.a = A / D
robot.b = B / D
robot.c = C / D
```
X bleibt mm, keine Umrechnung.
**Greifer E** wird **nach** B und C gesetzt, damit die kinematische Kopplung stimmt:
```
robot.e = E (Finger-Öffnung, mm)
robot.eMotor = gripperMotorFromOpening(e) (abgeleiteter Motorwert)
```
Bei `Arm3SegmentLinearX`: `eMotor = e b c` (Sehnenkompensation durch Handgelenk).
Bei `Arm3SegmentRotaryBase`: `eMotor = e` (keine Kopplung).
---
## Variante M92 (intern / Test)
```
M92 X<mm> Y<rad> Z<rad> A<rad> B<rad> C<rad> E<mm>
```
Winkel werden **roh als Radiant** übernommen. Für Skripte und Tests, nicht für Homing aus appRobotHoming.
---
## Weiterleitung an FluidNC-Instanzen
Nach dem Setzen der internen Motorslots ruft `robot.sendCommand('G92')` auf jedem registrierten `TelnetSenderGRBL` `execCommand('G92', mOld, mNew)` auf.
Jede Instanz bekommt ihren eigenen `G92`-Befehl mit den Port-Inverse-Achswerten (Rückumrechnung Radiant → Grad, mit Kopplung):
| Instanz | FluidNC-Achsen | Formel |
|---------|----------------------------|-----------------------------------------------------------|
| base | x = xMotor | direkt mm |
| | y = α → Grad | `alpha × D` |
| | z = β−α → Grad | `(beta alpha) × D` |
| elbow | x = a → Grad | `a × D` |
| hand | x = cb → Grad | `(c b) × D` |
| | y = eMotor | direkt (mm oder gekoppelter Motorwert) |
| | z = b → Grad | `b × D` |
`G92` bekommt **kein** `G90`-Prefix und keinen Vorschub — nur die geänderten Achsen werden angehängt. Jede Instanz übernimmt den Werkstück-Koordinaten-Offset (WPos) ohne Bewegung.
**Hinweis:** Nur Achsen mit gesetztem `*MotorChanged`-Flag werden gesendet. Bleibt ein Wert gegenüber dem letzten Driver-Zustand unverändert, schickt die jeweilige Instanz keinen G92 für diese Achse. Nach einem Neustart des Drivers sind alle Flags gesetzt → alle Achsen werden gesendet.
---
## Reporting (`M114` / Web-UI)
| Feld | Quelle | Einheit | Anzeige in public/app.js |
|--------------------|----------------|---------|------------------------------------------|
| `position.x/y/z` | Workspace | mm | direkt |
| `position.a/b/c` | phi/theta/psi | rad | `× 180/π` → Grad |
| `position.e` | `robot.e` | mm | direkt (Greifer-Öffnung) |
| `motorCounts.x` | xMotor | mm | direkt |
| `motorCounts.y/z` | alpha/beta | rad | `× 180/π` → Grad |
| `motorCounts.a/b/c`| a/b/c | rad | `× 180/π` → Grad |
| `motorCounts.e` | `robot.eMotor` | mm | direkt (abgeleiteter Motorwert) |
---
## Behobene Fehler (Kontext)
**Ursprüngliches Problem:** `G92 X158.14 Y4.19 Z57.74 …` lieferte korrekte X-Werte, aber Y≈240 und Z≈3308 im Ergebnis. Ursache: Winkel wurden als Radiant interpretiert, intern aber mit `× D` auf Grad umgerechnet — doppelte Skalierung.
**Drei Korrekturen:**
1. **Grad-Interpretation:** G92 rechnet Eingabe-Winkel jetzt mit `÷ D` in Radiant um (statt roh zu übernehmen).
2. **Greifer-Motorwert:** `robot.e` (Öffnung) wurde gesetzt, aber `sendCommand()` überträgt `robot.eMotor`. Fix: `eMotor = gripperMotorFromOpening(e)` direkt im G92-Zweig, nach dem Setzen von B/C.
3. **Web-UI-Anzeige:** `state-e` zeigte `motorCounts.e × 180/π` (mm × 57,3 = Unsinn). Fix: zeigt jetzt `position.e` (mm direkt).