Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Csak télen ciki, mikor befagy a víz....
A pálinka nem fagy be.
De télen madarak sem rajcsúroznak..
El tudnád küldeni a videó linkjét? Megnézném
Nem találtam, de youtubeon "Automated Pigeon Defense System"
LCD image converterÜdv! Ismeri, jobb esetben esetleg használja e valaki a címben említett programot?Képből lehet vele C tömböt generálni, amit arduinoval meg lehet jeleníteni LCD/TFT kijelzőn. Próbálnám legenerálni a szükséges képből a C töböt, de az a gyanúm, hogy valamit rosszul csinálok. Nekem R1G2B1 színformátumú, tehát 16 színű piktogramot kellene készítenem, de ilyen formátum alapból nem választható. Namár most, elvileg, a mátrix fülön valahogy meg lehetne komponálni ezt a formátumú kimeneti fájlt is, csak nem tudom hogyan. Tudna ebben valaki segíteni nekem? Amit legeneráltam, és megpróbáltam megjeleníteni, elég csíkozott piktogram lett, maga az eredeti kép teljesen felismerhetetlen. Ui.: Inverter.cpp = a generált C tömb. Icons.cpp és Icons.h = A kép kicsomagoló rész, ezeket az AI generálta. A program kódban csak a függvényt hívom meg ahol szükséges:
A fényképen az eredmény látható.
Valaha én is próbálkoztam ezzel a programmal, de ilyen R1G2B1 formátumra nem vagyok benne biztos, hogy alkalmas lenne (nekem csak az R5G6B5 formátum kellett, azt ugye tudja). A 60x80 pixeles képed az ugye 480 képpont, 4 bites módban 240 bájtos tömböt kellene kapnod ehhez. A 931 bájt nem értem hogy jött ki, 16 bitesben is 960 bájtnak kellene lennie. Amúgy miért nem használsz 16 bites módot? A kijelződ is ebben működik, a rajzoló függvények is 16 bites módban rajzolnak, A drawRLEImage helyett a sima könyvtári drawImage függvénnyt kellene használnod a programodban és a 16 bitesre konvertált 960 bájtos tömböt kellene neki odaadni.
Az előbb egy nullával sikerült elszámolnom magam. Szóval 4800 pixel, 4 bites módban 2400 bájt, 16 bites módban 9600 bájt lenne az ikonod. Megnéztem újra a programot, úgy tűnik mégis tud 4 bites módot. Ezzel a beállítással a tömb hossza már stimmel, a tartalma meg ki tudja. Arra nem sikerült rájönnöm, hogy az Operation 1 és 2 sorban hogyan tudom kikapcsolni az R6...R4-t, és a G5-t. Ettől függetlenül én továbbra is a 16 bites módot javasolnám.
Kicsit még játszottam ezzel a programmal mert hamarosan nekem is szükségem lesz rá, egy kis AI segítséget is kértem hozzá. Arra is rájöttem, hogy nálad az RLE tömörítés bekapcsolása miatt lett ekkora (a kódodban benne is van a kitömörítés). Tehát kb. ez lesz a jó beállításod hozzá. Az operation sorban nem lehet utólag a nem használt biteket törölni, hanem az egész sort kell törölni, és a source sorban csak a felhasznált biteket kijelölve újra létre kell hozni.
Köszi, hogy ránéztél. Közben már nekem is sikerült megoldani, az AI segítségével. Bár velem kitöröltette az Operation sorokat, és az Used sorban a szükséges biteket kellett bekapcsolni csak. A fénykép nem adja vissza rendesen a látványt, de elég jó lett. A színeken még variálok szerintem, mert ha az eredeti forrásfájlból kimentem a palettát, és azt használnám fel, szebb lenne az ikon úgy gondolom. Legalább is ez a terv. Egyébként az RLE tömörítés is jól működik. Bár lehet még azon is módosítok, van még avval kapcsolatban is ötletem, ha a pásztázási irányt megváltoztatom, kisebb fájlméret is lehetséges.
A hozzászólás módosítva: Júl 7, 2026
Esp-Now, MacAddr cím kinyerése, blokkolás nélküli adásSziasztok!Ismerkedek az Esp-Now kommunikációval Arduino rendszerben. Egy pont-multipont struktúrájú hálózatban kétirányú kommunikációt akarok megvalósítani. 1.) Amin meglepődtem, hogy a példákban megadott kódok futása során a vevő callback rutin nem adja meg a küldő (jelen esetben a bázis) Mac Address kódsorát. Van valakinek erre működő példája, vagy engedjem el, és az üzenetbe küldjek el egy saját azonosítót? 2.) Szintén a példákban azt látni, hogy egy-egy adás visszatérési értéket ad a küldés után a továbbítás sikeréről. Kérdésem: Ez azt jelenti, hogy az adás le is foglalja a processzort, és nem fut semmi közben? Megszakítások lefutnak a küldés közben? (Pld. egy BLDC motor HALL állapot váltását tudja kezelni a rendszer?) Vagy van olyan adási mód, amely nem blokkolja a főprogram további működését?
1,) Én saját azonosítót küldtem (Bővebben: Link)
2.) Azt nem tudom, hogy a továbbítás mit és mennyire foglal le. ESP32 esetén elvileg van erőforrás a párhuzamos működéshez.
Adás esetén a tipp:
- ha két magos a processzor, akkor az egyik magon menjen a WiFi kiszolgálás és vonal, az időkritikusak (pl. megszakítás) a másikon. - a WiFi esetén a megszaktások (úgy emlékszem) max sorbaállítódnak. Így nem szakítja meg a kommunikációt.
A megszakítások védelme érdekében:
- Tereld a feladatokat a megfelelő magra! A motorvezérléshez kapcsolódó minden számítást és taszkot futtass a Core 1-en! - Használd az IRAM_ATTR attribútumot a megszakításoknál! |
Bejelentkezés
Hirdetés |




De télen madarak sem rajcsúroznak.. 













