Ez nem semmi

Füzesi Arnold arno at freemail.hu
Mon Feb 16 20:05:51 CET 2004


----- Original Message ----- 
From: "VF" <vf at elte.hu>
To: <elektro at tesla.hu>
Sent: Monday, February 16, 2004 4:51 PM
Subject: Re: Ez nem semmi


> Thus spake Füzesi Arnold <arno at freemail.hu>:
>
> > Az hogy bemasoltam egy kodreszletet, meg semmit nem jelent.
>
> :))

Azon gondolkodom, hogy a legközelebbi melómat odaadom Neked.
Tök jól járnék.
Megcsinálod szebbre/jobbra, én meg leveszem a 10%-ot, meg se kell moccannom,
és dol a pénz.
Nnna?
De ha bebuksz vele, akkor Te viszed el a balhet...

Következo melo LCD-re grafikus interpretert irni. (windows like)
Abban meg nem jutottam dulore, hogy TTF fontokkal dolgozzon, vagy csak 1-2
beepitett tipussal...
Vagy megcsinalod, vagy sajnos nekem kell tovabb szaporitva a gagyit  a
vilagban...

> De tudja. Kiprobaltam, mukodik. Az opciot a setupban nem kell bekapcsolni,
> mert akkor tenyleg kulso memoriaba akarja tenni, meg ha az le is van
> tiltva, en sem ertem miert. Hanem meg kell adni hogy __flash.

Jéééééé....
Ha az eredeti levelembol nem csak annyit banyasznal ki, amennyibe epp bele
akarsz kotni, akkor
most tudnád, hogy ezen már régen túlvagyok.

> Egy ugyes kis prepocesszor makro meg tudja csinalni az altalad irt
> elso, mukodo, de sok gepelest igenylo modszert, ugy, hogy ugyanugy
> nezzen ki mint a nem mukodo, de keves gepelest igenylo.

Ez tiszta sor. Meg is csinaltam de mint a nemsokkal ez utani levelbol
kiderult nem 100%-os
maga az _elve_ sem a dolognak.
Makro ide vagy oda.

> Sajna kicsi az atmega RAM-ja. Az lenne a tuti, ha az egesz struktura
> > beleferne, ami a menut tarolja.
>
> Csak C-bol kicsi, mint emlitettem, a sprintf float support nelkul is
> elhasal 256 bajt stackkel, 512 kell neki. Nem takarekoskodik a memcsivel.

Ha ezen mulik akkor mar regen rossz.
Eleve 5440 byte a formatumstringek merete...

> Asm-bol nem gond.

Ezzel nem vitatkozom, de ha ugy gondolkodok mintha ASM-ben progiznek, akkor
C-ben sem gond.
Megirom a sajat sprintf-emet, és meg van oldva....
De nem akarom megirni, most meg elvagyok a RAM-ban, hatha megjon a
megoldas...
Nameg hasznalok float-ot is. Eppen ki lehetne kerülni, de minek ganyoljak.
Inkább megkeresem a szep megoldast. Mert biztos vagyok benne, hogy van.
Addig meg csinalom a tobbi reszet...

> > Most eppen cache-elem be a flash-bol a menu kivant reszet, es a
cache-elt
> > stringbe irok bele szamolt adatokat.
> > De valszeg igy sem fog beleferni...
>
> Hat ez nagyon kellemetlen. A rohadr forditok nem talaljak ki hogy
> mit akarsz...

Ennek meg ugyan mi koze a forditohoz??

> Pont jokor irod, ugyanis ezt az utolso mondatod pont nem ertem :))
> Most konstans sztring, vagy nem konstans? Egesz eddig arrol volt szo,
> hogy konstanst szeretnel a flashben tarolni. De akkor miert akarsz
> irni bele?

____F O R M A T U M S T R I N G____, nem string.
Nem ugyan az...Javaslom a C konyvet tanulmanyozasra.

> Ugyan! Nem mondtam hogy nem vagy versenykepes. Csak bizonyos projectek
> nem neked valok. Azokat keruld el, mint ordog a tomjent, es akkor meg
> sok sikerelmenyed lehet.

Pontosan milyeneket?
Mert sajna en nem latom milyen melokat kell kerulnom...

> > Van meg egy rakas valtozo, stack, heap bla. Nem sok marad az egyedi
> > formatumstringeknek...
>
> Es miert nem csinalod egysegesen?

????

> > Essek hasra?
> >
> > void kiir(menuszam)
> > {
> >    sprintf(lcd_buf,menuitems[menuszam].sztring[language]);
> >    lcd_pos(menuitems[menuszam].x,menuitems[menuszam].y)
> >    myprintf(LCD,lcd_buf);
> > }
>
> Ez kivalo egy forditoprogramhoz, ha egyszerre tobb nyelven is meg kell
> jeleniteni a szoveget :) Egyebkent csak feleslegesen sokat gepelsz...
> Mellesleg az asm verzio meg forrasban is(!!) rovidebb, kevesebbet
> kell gepelni, es ugyanolyan rugalmas/attekintheto!

Hogyne...ha tudnam a pl. print rutinod honnan dolgozik, hova dolgozik,
mennyit dolgozik stb.
Semmit nem tudok rola.  Ellenben a myprintf(LCD,lcd_buf); nemileg
beszedesebb.
Az meg hogy sokat gepelek, az no comment. Agyrem milyen dolgokkal
probalkozol...
Ez kb olyan, mint a C azert jobb mint a pascal, mert nem kell kiirni, hogy
begin-end...
:-))

> Amire feljebb utaltam: szakadj el a sprintf-tol, csinalj egy sajat
> fuggvenyt, melynek a szoveget nem sztring konstanskent adod meg, hanem
> pl egy azonositoval. Attekintheto is marad, hatekony is lesz.

Amire Te gondolsz, azt most is tudja....

> :)) Igy van, zold vagyok. De nem annyira, mint azt szeretned beallitani.

Osztod az eszt, hogy a C igy szar, a C ugy szar.
Kozben meg egy typedef is idegen...
Hogy varja el az ember, hogy tudj benne ugy programozni, hogy megkozelitse
az asm hatekonysagat.
Igy persze hogy szar. Avatatlan kezekben...

> De ha mar itt tartunk, meg valamivel adosok vagytok!
> Azt allitottatok, hogy lehet prepocesszor makroban if-et csinalni.
> Szeretnem vegre latni. En a C ismereteim alapjan ugy gondoltam hogy
> lehetetlen, ezert utaneneztem konyvben, kerdezoskodtem, es tovabbra is
> ugy tunik hogy lehetetlen. Egyaltalan nem lehet tovabbi prepocesszor
> direktivakat hasznalni egy prepocesszor makroban.
> Nem en talaltam ki, valamelyik C expert volt...

Nem allitotta senki, hogy mit lehet, és mit nem.
Ha ujrafogalmaznad a problemat, akkor rajonnel, hogy eleve nem kell tovabbi
makrokat hasznalni...

Segitek:

const a[5]=12;
bla
bla
if(a[5]==12) helo_vilag();
bla
bla

Ezt a fordito ennek forditja:

bla
bla
helo_vilag();
bla
bla

A prepocesszor nemcsak a #define-okra terjed ki....

Arnold



More information about the Elektro mailing list