Hirdetés
- Szívós, szép és kitartó az új OnePlus óra
- Telekom mobilszolgáltatások
- Kapható a strapamobil, aminek kikapcsolása nélkül lehet kicserélni az aksiját
- Új kameramobil és nyers erő a Nubiától
- Xiaomi 15T Pro - a téma nincs lezárva
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy A54 - türelemjáték
- Samsung Galaxy S23 Ultra - non plus ultra
- Motorola Edge 70 - többért kevesebbet
-
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
- Milyen monitort vegyek?
- One otthoni szolgáltatások (TV, internet, telefon)
- Azonnali informatikai kérdések órája
- BestBuy topik
- A Sony megmutatja milyen monitor illik a PlayStation 5-höz
- Call of Duty: Black Ops 6
- Kuponkunyeráló
- Bestbuy játékok
- Milyen alaplapot vegyek?
- LG LCD és LED TV-k
- További aktív témák...
- Legion 5 Pro 16IAH7H Intel Core i7-12700H CPU / 32GB DDR5 RAM / 1TB SSD / Nvidia RTX3070 8GB
- Szép DELL latitude 5420 Tartós Üzleti Laptop 14" -70% i5-1145G7 4Mag 16Gb 256GB SSD FHD IPS
- TP-Link RE700X AX3000 Rage Extender
- Bomba ár! Asus ROG G751JY - i7-4750HQ I 16GB I 256SSD I GTX980M 4G I 17,3" FHD I Cam I Garancia!
- TP-Link Archer AX90 AX6600 Router dobozában
- GYÖNYÖRŰ iPhone SE 2020 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3582, 100% Akksi
- Apple iPhone 12 64GB / Kártyafüggetlen / 12Hó Garancia / 100% akku
- LG 27GR83Q-B - 27" IPS / QHD 2K / 240Hz & 1ms / NVIDIA G-Sync / FreeSync / DisplayHDR 400
- Xbox Series X 1 TB + kontroller 6 hó garancia, számlával!
- GYÖNYÖRŰ APPLE WATCH ULTRA 2 NATURAL TITANIUM 49MM -1 ÉV GARANCIA - MS3715, 98% AKKUMULÁTOR
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
ekkold

