Hirdetés

Új hozzászólás Aktív témák

  • Teasüti

    nagyúr

    Üdv!
    Kérhetnék egy kis segítséget a led strip vezérléshez?
    Eljutottam odáig, hogy összeraktam egy offset vezérlésű grafikus motort, ami fps-től és timer-től függetlenül dolgozik (delay nélkül ugye), egy előre meghatározott animációs sebességet tartva két képkocka közötti eltolás számolásával a futási idővel korrigálva. Vagyis az fps-re fordítottan arányos az offset. (Hasonlóan, mint a pc játékok, vagyis kicsi fps-nél szaggat, nagy fps-nél megy mint állat, de ugye a játékidő tempója változatlan.)
    Pl. két képkocka között ha +10-et küldök 60 fps-en a renderelő függvény bemenetére - ami a pixeleket számolja -, akkor 600 fps-en +1-et. Így viszonylag állandó animációs sebességet kapok (mondjuk +-10% az offset kerekítésétől függően kicsi értékeknél).

    A gond ott kezdődik, hogy csökkentve a kívánt animációs sebességet az offset nem mehet +1 alá, mert akkor az animáció egyszerűen leáll. Viszont magas fps-nél ez elkerülhetetlen, mivel egy adott aránynál elkezd nullára kerekíteni az offset.

    Nos a kérdésem az, hogy miként lehetne megkerülni ezt a jelenséget úgy, hogy ilyen esetben csak minden második vagy harmadik (és így tovább...) loop() ciklusban legyen +1 az offset, amúgy meg nulla?
    Vagyis a példánál maradva 600 fps felett minden második/harmadik képkockát ismétel.

    Esetleg vmi hasonló technikával jól jönne egy fps limit is. Ha a led szalag pwm frekvenciája 400 hz, akkor teljesen fölösleges 400 fps fölé szaladni.
    (delay? :P )

    (#3024) fpeter84
    (#3025) tvamos

    Igaz, mire való a prescale... :R

    [ Szerkesztve ]

Új hozzászólás Aktív témák