http://www.ethersex.de/index.php?title=ECMD_(Deutsch)&feed=atom&action=history
ECMD (Deutsch) - Revision history
2024-03-29T10:22:30Z
Revision history for this page on the wiki
MediaWiki 1.30.0
http://www.ethersex.de/index.php?title=ECMD_(Deutsch)&diff=473&oldid=prev
Mgue: /* ECMD Geschwindigkeit */
2012-04-07T16:32:36Z
<p><span dir="auto"><span class="autocomment">ECMD Geschwindigkeit</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 16:32, 7 April 2012</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l72" >Line 72:</td>
<td colspan="2" class="diff-lineno">Line 72:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Eine Untersuchung zur Geschwindigkeit verschiedener Anbindungen und Konfigurationen ist unter [[ECMD Geschwindigkeit]] zu finden.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Eine Untersuchung zur Geschwindigkeit verschiedener Anbindungen und Konfigurationen ist unter [[ECMD Geschwindigkeit]] zu finden.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">[[Kategorie:ECMD]]</del></div></td><td colspan="2"> </td></tr>
<!-- diff cache key sensrjeb_etherwiki:diff:version:1.11a:oldid:467:newid:473 -->
</table>
Mgue
http://www.ethersex.de/index.php?title=ECMD_(Deutsch)&diff=467&oldid=prev
Pirndi at 10:20, 7 April 2012
2012-04-07T10:20:58Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 10:20, 7 April 2012</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">{{i18n|ECMD}}</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">{{Module</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">|NAME=ECMD</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">|MENUCONFIG={{Protocols}}->ECMD (Etherrape Command Interface) support</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">|STATUS={{stable}}</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">|PINNING=no</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">|ECMD={{has_ecmd}}</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">|DEPENDS=</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">|REQUIRES=</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">|CODE=[https://github.com/ethersex/ethersex/tree/master/protocols/ecmd https://github.com/ethersex/ethersex/tree/master/protocols/ecmd]</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">}}</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>= Was ist ECMD? =</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>= Was ist ECMD? =</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>ECMD steht für '''Ethersex Command'''. ECMD ist ein einfaches, textbasiertes Protokoll mit dem mit einem Ethersex-System kommuniziert werden kann. Neben der Konfiguration des Ethersex Systems können auch die Hardware Schnittstellen angesprochen werden. Viele Module bieten ebenfalls ecmd Unterstützung an. Einen Überblick über die implementieren Befehle gibt die [[ECMD Reference]].</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>ECMD steht für '''Ethersex Command'''. ECMD ist ein einfaches, textbasiertes Protokoll mit dem mit einem Ethersex-System kommuniziert werden kann. Neben der Konfiguration des Ethersex Systems können auch die Hardware Schnittstellen angesprochen werden. Viele Module bieten ebenfalls ecmd Unterstützung an. Einen Überblick über die implementieren Befehle gibt die [[ECMD Reference]].</div></td></tr>
</table>
Pirndi
http://www.ethersex.de/index.php?title=ECMD_(Deutsch)&diff=459&oldid=prev
Pirndi: Created page with "= Was ist ECMD? = ECMD steht für '''Ethersex Command'''. ECMD ist ein einfaches, textbasiertes Protokoll mit dem mit einem Ethersex-System kommuniziert werden kann. Neben der Ko…"
2012-04-07T09:10:14Z
<p>Created page with "= Was ist ECMD? = ECMD steht für '''Ethersex Command'''. ECMD ist ein einfaches, textbasiertes Protokoll mit dem mit einem Ethersex-System kommuniziert werden kann. Neben der Ko…"</p>
<p><b>New page</b></p><div>= Was ist ECMD? =<br />
ECMD steht für '''Ethersex Command'''. ECMD ist ein einfaches, textbasiertes Protokoll mit dem mit einem Ethersex-System kommuniziert werden kann. Neben der Konfiguration des Ethersex Systems können auch die Hardware Schnittstellen angesprochen werden. Viele Module bieten ebenfalls ecmd Unterstützung an. Einen Überblick über die implementieren Befehle gibt die [[ECMD Reference]].<br />
<br />
= ECMD Schnittstellen =<br />
Unter [[ECMD Protocols|ECMD Protokolle]] kannst du nachlesen, wie dein ethersex mit ECMD angesprochen werden kann. Wenn du dein ethersex über Shell Scripte oder eigene Programme ansprechen möchtest, empfiehlt sich evtl. die libecmd (geschrieben in C) im contrib Ordner, welche alle [[ECMD Protocols|ECMD Protokolle]] beherrscht.<br />
<br />
= Eigenen ECMD Befehl erstellen =<br />
== Vorbereitung ==<br />
# Wechsel in den Ordner des Moduls, welches ein neues ECMD bekommen soll.<br />
# Erstelle eine Datei <tt>[modulname]_ecmd.c</tt><br />
# Füge <tt>#include "protocols/ecmd/ecmd-base.h</tt> ein<br />
<br />
== Funktionen ==<br />
Baue nun Funktionen mit einer Signatur wie die folgende Funktion hat:<br />
<pre><br />
int16_t parse_cmd_FUNCTIONSNAME (char *cmd, char *output, uint16_t len)<br />
{<br />
zu_was();<br />
return ECMD_FINAL_OK;<br />
}<br />
</pre><br />
ECMD_FINAL_OK bedeutet hier, das der Aufruf ein Erfolg war. Hierrauf wird im http Interface beispielsweise ein OK zurückgegeben.<br />
Wenn etwas schief läuft oder die Argumentanzahl falsch ist, dann kannst du ECMD_ERR_PARSE_ERROR zurückgeben. Wie läuft das eigentlich mit den ecmd Argumenten für dein neues Kommando? Hier siehst du ein kleines Beispiel um 3 Zahlen als Argumente entgegen zunehmen:<br />
<pre><br />
int16_t parse_cmd_FUNCTIONSNAME2 (char *cmd, char *output, uint16_t len)<br />
{<br />
uint8_t val1=0;<br />
uint8_t val2=0;<br />
uint8_t val3 = 0;<br />
ret = sscanf_P(cmd, PSTR("%hhu %hhu %hhu"), &val1, &val2, &val3);<br />
if (ret == 3)<br />
return ECMD_FINAL_OK;<br />
else<br />
return ECMD_ERR_PARSE_ERROR;<br />
}<br />
</pre><br />
Möchtest du auch andere Dinge als OK und PARSE ERROR zurückgeben können, nimmst du folgenden Code:<br />
<pre><br />
return ECMD_FINAL(snprintf_P(output, len, PSTR("%u"), uint_value));<br />
</pre> <br />
Hier wurde ein unsigned int zurückgegeben.<br />
<br />
== Bekanntmachen ==<br />
Nun musst du deine Funktion noch dem Rest der Firmware bekannt machen. Füge daher ganz unten in der Datei<br />
folgendes ein:<br />
<br />
<pre><br />
/*<br />
-- Ethersex META --<br />
block(Cooles Modul)<br />
ecmd_feature(FUNCTIONSNAME, "NEW ECMD COMMAND",, DESCRIPTION)<br />
ecmd_feature(FUNCTIONSNAME2, "NEW ECMD COMMAND2",VAL1 VAL2 VAL3, DESCRIPTION)<br />
*/<br />
</pre><br />
<br />
== Makefile erweitern ==<br />
Läuft analog zu normalen anderen Quellcode Dateien.<br />
<br />
= ECMD Geschwindigkeit =<br />
<br />
Eine Untersuchung zur Geschwindigkeit verschiedener Anbindungen und Konfigurationen ist unter [[ECMD Geschwindigkeit]] zu finden.<br />
<br />
[[Kategorie:ECMD]]</div>
Pirndi