www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Command line interface parser

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Jan
Član
Član



Pridružen-a: Sob 10 Jun 2006 14:19
Prispevkov: 313
Aktiv.: 1.44
Kraj: Dolenjska

PrispevekObjavljeno: Pet Jun 27, 2014 10:05 pm    Naslov sporočila:  Command line interface parser Odgovori s citatom

Pozdravljeni,

ker nikjer nisem našel primernega parserja za ukaze v mikrokontrolerskih aplikacijah,
sem se malo poigral in sam napisal en tak enostaven parser. Koda je napisana v C-ju.

Program deluje po podobnem principu kot FreeRTOS+CLI.

V osnovi registriraš vsak željen ukaz z imenom ukaza, kazalcem na funkcijo ukaza in številom parametrov.
Nato samo še kličeš funkcijo za prepoznavo ukazov.

Program vam dajem v uporabo in se priporočam za predloge za izboljašavo ali odpravo morebitnih napak.
Primer je napisan v Visual Studio 2013, z manjšimi popravki (_snprintf -> snprintf) pa preverjeno deluje tudi na ATMEGA mikroprocesorju.

Datoteke so tukaj.

Jan
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 75553.99

PrispevekObjavljeno: Sob Jun 28, 2014 12:38 am    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Musty
Član
Član



Pridružen-a: Sob 28 Apr 2007 8:54
Prispevkov: 1575
Aktiv.: 7.65
Kraj: Rače

PrispevekObjavljeno: Sob Jun 28, 2014 8:24 am    Naslov sporočila:   Odgovori s citatom

Jaz pa v arduino okolju uporabljam sledeč parser: https://github.com/SloMusti/sensgw/blob/master/sensgw.ino

Deluje zelo preprosto. Pošlješ ukaz ACOM /x ali ACOM /x v, glede na vrednost x in če obstaja argument v pokliče določeno funkcijo. Funkcije so zbrane v array pointerju:

Koda:

int GETfunctions[4]={(int)testGET,(int)readPressure,(int)readTemp,(int)read1Wtemp};
int SETfunctions[2]={(int)testSET,(int)setLED};


Tole se da še seveda razdelati na bolj kompleksni del, vendar je za večinoa plikacij povsem dovolj.

Za vse skupaj so pripravljene še skripte za openwrt, ki omogočajo komunikacijo iz wifi routerja.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group