Hirdetés
-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Teasüti
nagyúr
válasz
Janos250
#10900
üzenetére
Ez is egy full-fledge firmware, ami rohadt hosszú.
Ráadásul C-ben írták Atmel328-ra.
Nekem kb annyit kéne látnom, hogy hogy írják meg azt az egy ciklust, ami beolvassa a Serial stream-et és kiválogatja a switch case-be a szavakat. Úgy 5-10 sallangmentes sorról lehet szó. Viszont Marlin-ban is ez szanaszét van dobálva. Illetve a parser lib ott is túl van bonyolítva. Mire abból kihámozom a lényeget...
Jelenleg ennyim van:
for (byte i = 0; i <= messageSize; i++) {
if (isAlpha(Message[i]) || isPunct(Message[i])) {
switch (Message[i]) {
case 'R':
parameter = atoi(& Message[i + 1]);Ez elég arra, hogy végig iterálja a stream-et és ahol betűt talál, ott veszi a betű után lévő paramétert. Majd iterálja tovább, amíg a végére nem ér.
Ez így gyönyörűen beolvas egy "R255G255B255\n" üzenetet így egyben vagy elválasztókkal, mindegy.
Viszont nincs annyi betű az ábécében, amennyi nekem kéne. Így kénytelen vagyok átállni vmi G-kódos rendszerre, ahol nem egy szót kell csak értelmezni hanem mondatokat. Tehát mondjuk bejön, hogy "G01", akkor várható, hogy lesz még utána két-három paraméter is: "G01 X0 Y0\n".
És ezt kellene valahogy megoldanom, hogy a parancsszóhoz kapcsoljam a paramétereket is.
Ehhez kell vmi look-ahead parsing algoritmus, ami pár sor lehet, de még nem láttam rá tömör példát.
És ha lehet, akkor nem szeretném órákig bogarászni egy hatalmas forráskódban.
Már rászántam egy kis időt a Marlin elemzésére, és nem jutottam vele messzire.
Ekkora kódban még a kereső se működik, mert annyi találat van mint a qrva élet...
Új hozzászólás Aktív témák
- 5.1, 7.1 és gamer fejhallgatók
- World of Tanks - MMO
- PlayStation 3
- Fejhallgató erősítő és DAC topik
- Hitelkártyák használata, hitelkártya visszatérítés
- Cudy routerek
- Milyen TV-t vegyek?
- One otthoni szolgáltatások (TV, internet, telefon)
- Épített vízhűtés (nem kompakt) topic
- Apple Watch
- További aktív témák...
- G.SKILL Trident Z5 Royal Neo Silver 64GB (2x32GB) DDR5 6000MHz CL30 - Élettartam garancia
- XFX Quicksilver AMD Radeon RX 7800 XT Magnetic Air - Arctic White - Alza garancia 2028.02.25.
- Apple iPhone 15 128GB,Újszerű,Dobozával,12 hónap garanciával
- ASUS Vivobook S14 OLED - Ultra 5 226V - 16/512GB - Garancia
- 32GB DDR5 RAM-ok tesztelve, garanciával, számlával (a Te nevedre kiállítva)!
- Eladó Oppo A78 5G 4/128GB / 12 hó jótállás
- Bomba ár! HP EliteBook 840 G7 - i7-10510U I 16GB I 256SSD I HDMI I 14" FHD I Cam I W11 I Gari!
- HP EliteBook 840 G10 - 14"WUXGA - i7-1360P - 16GB - 512GB - Win11 - MAGYAR - 3 év garancia
- HIBÁTLAN iPhone 14 Pro Max 512GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, 100% Akkumulátor
- HIBÁTLAN iPhone 13 Pro 256GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS4079, 100% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest



ekkold

