mirror of
https://github.com/Klipper3d/klipper.git
synced 2025-08-08 22:35:17 -06:00
Deploying to gh-pages from @ Klipper3d/klipper@34870d3e2a 🚀
This commit is contained in:
parent
d11fbf655f
commit
f24019956f
41 changed files with 499 additions and 496 deletions
|
@ -1444,7 +1444,7 @@
|
|||
<p>A következők is hasznosak lehetnek:</p>
|
||||
<ul>
|
||||
<li>A modul végrehajtása a modulszintű <code>load_config()</code> függvényben kezdődik (a [my_module] formájú config szakaszok esetén) vagy a <code>load_config_prefix()</code> függvényben (a [my_module my_name] formájú config szakaszok esetén). Ennek a függvénynek egy "config" objektumot kell átadni, és egy új "printer objektumot" kell visszaadnia, amely az adott config szakaszhoz kapcsolódik.</li>
|
||||
<li>Egy új nyomtatóobjektum példányosítása során a config objektum segítségével paramétereket olvashat be az adott config szakaszból. Erre a <code>config.get()</code>, <code>config.getfloat()</code>, <code>config.getint()</code> stb. metódusok szolgálnak. Ügyeljen arra, hogy a nyomtató objektum felépítése során minden értéket beolvasson a config-ból. Ha a felhasználó olyan config paramétert ad meg, amelyet ebben a fázisban nem olvas be, akkor azt feltételezi, hogy elírás történt a config-ban, és hibaüzenetet ad.</li>
|
||||
<li>Egy új nyomtatóobjektum példányosítása során a config objektum segítségével paramétereket olvashat be az adott config szakaszból. Erre a <code>config.get()</code>, <code>config.getfloat()</code>, <code>config.getint()</code> stb. metódusok szolgálnak. Ügyelj arra, hogy a nyomtató objektum felépítése során minden értéket beolvasson a config-ból. Ha a felhasználó olyan config paramétert ad meg, amelyet ebben a fázisban nem olvas be, akkor azt feltételezi, hogy elírás történt a config-ban, és hibaüzenetet ad.</li>
|
||||
<li>A <code>config.get_printer()</code> metódus segítségével megkapjuk a fő "printer" osztályra való hivatkozást. Ez a "printer" osztály tárolja a hivatkozásokat az összes "nyomtató objektumra", amelyet már példányosítottak. A <code>printer.lookup_object()</code> metódus segítségével megkereshetjük a többi nyomtató objektumra mutató hivatkozásokat. Szinte minden funkció (még az alapvető kinematikai modulok is) egy ilyen nyomtató objektumba vannak kapszulázva. Vegyük azonban figyelembe, hogy egy új modul példányosításakor nem minden más nyomtató objektumot példányosítottunk. A "gcode" és a "pins" modulok mindig elérhetőek lesznek, de a többi modul esetében érdemes elhalasztani a keresést.</li>
|
||||
<li>Az eseménykezelőket a <code>printer.register_event_handler()</code> módszerrel regisztrálhatja, ha a kódot más nyomtató objektumok által kiváltott "events" során kell meghívni. Minden esemény neve egy karakterlánc, és a konvenció szerint az eseményt kiváltó fő forrásmodul neve, valamint az eseményt kiváltó művelet rövid neve (pl. "klippy:connect"). Az egyes eseménykezelőknek átadott paraméterek az adott eseményre jellemzőek (ahogy a kivételkezelés és a végrehajtási kontextus is). Két gyakori indítási esemény a következő:<ul>
|
||||
<li>klippy:connect - Ez az esemény az összes nyomtató objektum példányosítása után generálódik. Általában más nyomtató objektumok keresésére, a konfigurációs beállítások ellenőrzésére és a kezdeti "handshake" végrehajtására használják a nyomtató hardverével.</li>
|
||||
|
@ -1476,7 +1476,7 @@
|
|||
<p>Ez a szakasz néhány tippet ad a Klipper mikrokontroller kódjának új architektúrára történő átviteléhez. Ez a fajta tevékenység jó beágyazott fejlesztési ismereteket és gyakorlati hozzáférést igényel a célmikrokontrollerhez.</p>
|
||||
<p>Hasznos lépések:</p>
|
||||
<ol>
|
||||
<li>Kezd a portolás során használni kívánt harmadik féltől származó könyvtárak azonosításával. Gyakori példa erre a "CMSIS" csomagolások és a gyártó "HAL" könyvtárak. Minden harmadik féltől származó kódnak GNU GPLv3 kompatibilisnek kell lennie. A harmadik féltől származó kódot a Klipper lib/ könyvtárba kell átvinni. Frissítse a lib/README fájlt azzal az információval, hogy hol és mikor szerezte meg a könyvtárat. A kódot lehetőleg változatlanul másolja be a Klipper tárolóba, de ha bármilyen változtatásra van szükség, akkor ezeket a változtatásokat kifejezetten fel kell tüntetni a lib/README fájlban.</li>
|
||||
<li>Kezd a portolás során használni kívánt harmadik féltől származó könyvtárak azonosításával. Gyakori példa erre a "CMSIS" csomagolások és a gyártó "HAL" könyvtárak. Minden harmadik féltől származó kódnak GNU GPLv3 kompatibilisnek kell lennie. A harmadik féltől származó kódot a Klipper lib/ könyvtárba kell átvinni. Frissítse a lib/README fájlt azzal az információval, hogy hol és mikor szerezte meg a könyvtárat. A kódot lehetőleg változatlanul másold be a Klipper tárolóba, de ha bármilyen változtatásra van szükség, akkor ezeket a változtatásokat kifejezetten fel kell tüntetni a lib/README fájlban.</li>
|
||||
<li>Hozzon létre egy új architektúra alkönyvtárat az src/ könyvtárban, és adjon hozzá kezdeti Config és Makefile támogatást. Használja a meglévő architektúrákat útmutatóként. Az src/simulator egy alapvető példát nyújt egy minimális kiindulási pontra.</li>
|
||||
<li>Az első fő kódolási feladat a kommunikációs támogatás felállítása az alaplapnak. Ez a legnehezebb lépés egy új port esetében. Ha az alapvető kommunikáció már működik, a további lépések általában sokkal könnyebbek. A kezdeti fejlesztés során jellemzően UART típusú soros eszközt használunk, mivel az ilyen típusú hardvereszközöket általában könnyebb engedélyezni és vezérelni. Ebben a fázisban bőkezűen használja az src/generic/ könyvtárban található segédkódot (ellenőrizze, hogy az src/simulator/Makefile hogyan tartalmazza a generikus C kódot a felépítésben). Ebben a fázisban szükséges definiálni a timer_read_time() funkciót is (amely visszaadja az aktuális rendszerórát), de nem szükséges a timer irq kezelésének teljes támogatása.</li>
|
||||
<li>Ismerkedjen meg a console.py eszközzel (a <a href="Debugging.html">Hibakeresési dokumentumban</a> leírtak szerint), és ellenőrizze vele a mikrokontrollerrel való kapcsolatot. Ez az eszköz lefordítja az alacsony szintű mikrokontroller kommunikációs protokollt ember által olvasható formára.</li>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue