Hirdetés
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy A54 - türelemjáték
- Okosóra és okoskiegészítő topik
- OnePlus Nord 5 - lehűti a kedélyeket
- MIUI / HyperOS topik
- iPhone topik
- Magisk
- Honor Magic6 Pro - kör közepén számok
- Milyen okostelefont vegyek?
-
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
-
válasz
razorbenke92
#16225
üzenetére
Na szóval belenéztem újra, átnéztem a vegyes kódot, meg kipróbáltam Tankblock legutóbbi tanácsait (amit ezúton is köszönök)
Íme a tapasztalataim:
- Kivettem a digitalWrite() / digitalRead() / pinMode() függvényeket, helyettesítettem őket regiszter piszkálással. Ez némi helyet felszabadított, nem világmegváltó, de közelebb vitt a célhoz.
- Átírtam FastLED-el a kódot - sajnos több helyet foglal. Hozzátartozik az igazsághoz, hogy a FastLED gyárilag tud néhány színkezelési effektet, amivel helyettesíthetném a saját kódomat, de akkor lennék kb. ugyanott, mint a Neopixel könyvtárral.
- Ezután a ws2812b kezelését könyvtár helyett kiváltottam egy tömbbel ami a LED színeket tárolja, és egy eljárással, ami kibillegteti az outputra a dolgokat szabvány időzítés szerint.
Ezzel a 4000 byte körüli overflowból lett 800 byte, szóval ez nagyot hozott.- Ezután kivettem (kompletten, helyettesítés nélkül) az EEPROM kezelési műveleteket, és így sikerült befordítani a kódot színekkel, effektekkel.
- Ekkor átnéztem decompiled kódot, és kilóra bizony ennyi az annyi. Lehet még összevonni ismétléseket, meg is csináltam a nagyon nyilvánvalóakat, de minimális a csökkenés, és a további reszelés munka/nyereség aránya nem konvergál az elégséges kódcsökkenéshez.
Amivel tovább fogok menni:
- Újraírom az effekteket, az általam írt ws2812b kezelésre optimalizálva. Például dim esetén nem osztok szorzok, hanem meghatározok dim szinteket, amiket bitműveletekkel meg tudok oldani. Pl 50% esetén eltolás egy bittel. Áttűnések esetén bitmaszkokon keresztül összevagyolás, stb.
- Ha marad még hely, akkor visszaépítem a menürendszert
- Ha még mindig marad akkor pedig az EEPROM-ba mentést is visszarakom
- Ha az előző kettőnél valahol kifogyok a helyből, akkor felveszek sok effektet sok színnel, és szimplán csak végig lehet menni rajtok gombnyomással.
(Majd bedobom, ha sikerült megoldanom, hátha érdekel valakit)
Új hozzászólás Aktív témák
- Horgász topik
- Azonnali alaplapos kérdések órája
- Projektor topic
- Kecskemét és környéke adok-veszek-beszélgetek
- Nem tudom a dal címét, előadóját
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Azonnali fáradt gőzös kérdések órája
- Veszprém és környéke adok-veszek-beszélgetek
- Hardcore café
- További aktív témák...
- Asus RTX 4070 SUPER Dual OC, 2 év bolti garival
- SkyWatcher AZ-Goto 130/650 Newton távcső Wifi modullal eladó
- Crucial Pro 48GB (2x24GB) DDR5 5600MHz CL46 - XMP/EXPO - 120 hó garancia
- Corsair VENGEANCE RGB 64GB (2x32GB) DDR5 6000MHz CL30 - XMP/EXPO - 120 hó garancia
- Kingston FURY Beast 64GB (2x32GB) DDR5 5200MHz CL40 - XMP - 99 hó garancia
- 13-14" Új és használt laptopok , üzletitől a gamerig , kedvező áron. Garanciával !
- Telefon felvásárlás!! Xiaomi Redmi Note 13, Xiaomi Redmi Note 13 Pro, Xiaomi Redmi Note 13 Pro+
- MacBook Air M1 13" 16GB RAM 256GB SSD 27% áfás számla, (0226)
- Bomba ár! HP Probook 440 G10 - i3-1315U I 16GB I 256SSD I 14" FHD I W11 I Cam I Garancia!
- Apple iPhone 15 Pro - Black Titanium - 128GB - Akku: 87% - Megkímélt állapot!
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
ekkold

