Hirdetés
- Samsung Galaxy S25 - végre van kicsi!
- Milyen robotporszívót vegyek karácsonyra? (2025)
- Vivo X200 Pro - a kétszázát!
- Google Pixel topik
- A Samsung bemutatta a világ első 2 nanométeres mobilchipjét
- Samsung Galaxy A54 - türelemjáték
- Kiszivárogtak a Dreame első telefonjának egyes specifikációi
- MIUI / HyperOS topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
-
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)
-
válasz
razorbenke92
#16225
üzenetére
Szerk: Talán mintha lenne is preview a http szerverben gyárilag is.
Itt a JPEG HTTP Stream rész az, nem?
Új hozzászólás Aktív témák
- Hővezető paszták
- Samsung Galaxy S25 - végre van kicsi!
- Formula-1
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Januártól igényelhető a kiskorúak tartalomvédelme a mobilszolgáltatóknál
- Házimozi belépő szinten
- PH!otósok beszélgetős, offolós topikja
- Netflix
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Amlogic S905, S912 processzoros készülékek
- További aktív témák...
- Stealth 14 AI Studio A1VFG 14" 2.8K OLED Ultra 7 155H RTX 4060 16GB 512GB NVMe magyar vbill gar
- PC bontás - 1STPLAYER RGB ház, be quiet 550w gold, Z790i Plus ITX + i9-13900H ES, 32Gb, RTX 3070
- Hibás Processzorok! 8-14gen, illetve ryzen
- Apple iPhone 15 128GB gyári független szép állapotban GARANCIA: 1hónap DEÁK TÉRNÉL
- X1 Extreme Gen3 15.6" 4K IPS i7-10850H 32GB DDR4 1TB NVMe ujjlolv IR kam gar
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Asus laptop E1504F Ryzen 3
- Telefon felvásárlás!! Samsung Galaxy A70/Samsung Galaxy A71/Samsung Galaxy A72
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
ekkold

