Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
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
- AKCIÓ! Lenovo Legion Slim 5 Gamer notebook - R7 7435HS 16GB RAM 1TB SSD RTX 4070 8GB GDDR6 WIN11
- Új és újszerű 13"-14" Gamer, ultrabook, üzleti készülékek nagyon kedvező alkalmi áron Garanciával!
- Bomba ár! Lenovo X1 Yoga 1st - i7-6G I 8GB I 256SSD I 14" WQHD I HDMI I W10 I CAM I Garancia!
- Felújított laptopok számlával, garanciával! Ingyen Foxpost!
- ASUS 18W USB ADAPTER
Állásajánlatok
Cég: FOTC
Város: Budapest