Hirdetés
- Milyen okostelefont vegyek?
- iPhone topik
- Karácsony másnapján tiszteleg a Honor a Windows RT előtt
- Újra Realme telefont tervezett Fukaszava Naotó
- Megtartotta Európában a 7500 mAh-t az Oppo
- Örömhír: nem spórol Európán a OnePlus
- One mobilszolgáltatások
- Google Pixel topik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Kezünkben a OnePlus 15 és az Oppo Find X9-ek
-
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
- Kerékpárosok, bringások ide!
- Autós topik
- Milyen notebookot vegyek?
- Nikon Z MILC fényképezőgépcsalád
- Kuponkunyeráló
- Utánajártunk, hogy melyik memória mennyire drágulhat
- Milyen TV-t vegyek?
- Derült égből villámcsapás: vége a Ford elektromos kalandjának
- Gitáros topic
- Nintendo Switch 2
- További aktív témák...
- BESZÁMÍTÁS! Gigabyte B550M R7 3700X 32GB DDR4 512GB SSD RTX 3060Ti 8GB Zalman Z1 PLUS CM 700W
- HIBÁTLAN iPhone 15 Pro Max 256GB Black Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3497
- HP EliteOne 800 G5 All-in-One i5-8500 32GB 1000GB 23.8" Érintőkijelző!! 1 év garancia
- ÁRCSÖKKENTÉS Ravpower 6000 mAh-s mégis pici powerbank eladó
- PlayStation 5 FAT Lemezes + kontroller 6 hó garancia, számlával!
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



ekkold

