fratello Postat Martie 10, 2024 Partajează Postat Martie 10, 2024 Am verificat functionarea butoanelor de volum si canal, sunt OK. Atasez codul modificat pt display OLED. radio.zip Link spre comentariu
modoran Postat Martie 19, 2024 Partajează Postat Martie 19, 2024 Daca este cineva interesat de problema cu afisarea diacriticelor in yoRadio ( ă â î ș ț Ă Â Î Ș Ț ) , adica transformarea lor in " a i s t A I S T" ca sa fie afisate corect fara modificarea fonturilor sa posteze aici si va pot spune ce sa modificati in yoRadio\src\displays\tools\utf8RusGFX.h Link spre comentariu
hixpp02 Postat Martie 22, 2024 Partajează Postat Martie 22, 2024 La mine merge bine cu placa NodeMCU ESP-32S, un display de 2.4" cu ST7789 si deocamdata cu un singur MAX98357A. https://imgur.com/a/alSh1fq Pe partea audio o sa incerc cu ceva mai puternic, cu dac i2s separat si un amp diferential cand imi ajung din China. Dupa ce m-am chinuit cu vreo doua placi rosii de VS1053b, care nu prea vroiau sa porneasca de nici un fel... o fi sau no fi ele originale, sau numai eu n-am reusit sa le fac sa functioneze cu acest proiect. Link spre comentariu
val Postat Aprilie 6, 2024 Partajează Postat Aprilie 6, 2024 La 19.03.2024 la 18:45, modoran a spus: Daca este cineva interesat de problema cu afisarea diacriticelor in yoRadio ( ă â î ș ț Ă Â Î Ș Ț ) , adica transformarea lor in " a i s t A I S T" ca sa fie afisate corect fara modificarea fonturilor sa posteze aici si va pot spune ce sa modificati in yoRadio\src\displays\tools\utf8RusGFX.h Un sfat legat de nivelul de ieșire audio, se poate modifica din src? In cazul modulelor simple cu PAM8403 (2 x 3W) trebuie adăugat la intrare atenuare rezistivă. De asemenea, am câteva ci TDA1387 ( dac i2s) și aș vrea să le folosesc dar nivelul audio pe ieșire este foarte mic. Link spre comentariu
modoran Postat Aprilie 6, 2024 Partajează Postat Aprilie 6, 2024 Da, nivelul se iesire se poate regla din soft. In mod default are 256 trepte, dar poti folosi mai putine daca vrei volum maxim mai mic ( se poate modifica prin soft sa nu treaca de o limita maxima care o vrei tu ) Din pacate, daca nivelul este deja prea mic nu vad alta solutie decat sa folosesti amplificare externa. Prin pam8403 te referi la DAC-ul integrat, fara codec pe i2s ? Eu nu m-am complicat cu el. Link spre comentariu
val Postat Aprilie 6, 2024 Partajează Postat Aprilie 6, 2024 (editat) PAM8403 este amplificator audio analogic 2x3 w pe care l-am folosit cu modul i2s PCM5102 sau UDA1334. Modulul Max98357(dac + amplificator mono de 3 W) este in regula întrucât se poate controla câștigul prin pin dedicat. Editat Aprilie 6, 2024 de val Link spre comentariu
just Postat Iulie 5, 2024 Partajează Postat Iulie 5, 2024 La 19.03.2024 la 18:45, modoran a spus: Daca este cineva interesat de problema cu afisarea diacriticelor in yoRadio ( ă â î ș ț Ă Â Î Ș Ț ) , adica transformarea lor in " a i s t A I S T" ca sa fie afisate corect fara modificarea fonturilor sa posteze aici si va pot spune ce sa modificati in yoRadio\src\displays\tools\utf8RusGFX.h Sunt interesat. Care ar fi modificarile respective? Link spre comentariu
dutu590 Postat Iulie 6, 2024 Partajează Postat Iulie 6, 2024 va salut, si eu sunt interesat de modificarile necesare ! Link spre comentariu
modoran Postat Iulie 8, 2024 Partajează Postat Iulie 8, 2024 (editat) Nu o sa dau direct fisierul salvat, ci un exemplu de sine statator, sa poata fi testat de oricine, ar trebui sa mearga pe orice platforma. Adaptarea in yoradio e treaba de copy - paste, dar necesita si putina gandire pe langa ( putina ). Codul face asa: - sterge caracterele Unicode '' si '', in locul lor apare un spatiu gol suplimentar - inlocuieste diacriticele cu analogul lor latin, atat uppercae, cat si lowercase ( yoradio afiseaza toate alea in uppercase, se poate modifica, dar din alta parte, am uitat exact in ce fisier ) #include <iostream> #include <cstring> #include <iomanip> #define BUFLEN 260 size_t strlcpy(char *dst, const char *src, size_t siz) { char *d = dst; const char *s = src; size_t n = siz; /* Copy as many bytes as will fit */ if (n != 0) { while (--n != 0) { if ((*d++ = *s++) == '\0') break; } } /* Not enough room in dst, add NUL and traverse rest of src */ if (n == 0) { if (siz != 0) *d = '\0'; /* NUL-terminate dst */ while (*s++) ; } return(s - src - 1); /* count does not include NUL */ } int main() { char strn[300] = { 0 } ; strlcpy ( strn, "îăâÎÂĂșțȘȚabcdaaaaaaaaa", BUFLEN); int index = 0; static char newStr[BUFLEN]; newStr[0] = '\0'; bool uppercase = false; // ă 0xC4 0x83 // Ă 0xC4 0x82 // â 0xC3 0xA2 //  0xC3 0x82 // î 0xC3 0xAE // Î 0xC3 0x8E // ș 0xC8 0x99 // Ș 0xC8 0x98 // ț 0xC8 0x9B // Ț 0xC8 0x9A // 0xE2 0x9D 0xA4 0xEF 0xB8 0x8F // 0xE2 0x9D 0x8C // 0xF0 0x9F 0x8E 0xA4 // not used yet while ( strn[index] ) { if (strlen(newStr) > BUFLEN - 2) break; // debug check, optional std::cout << std::dec << index << " = " << std::setw (2) << std::hex << "0x" << (int)(unsigned char)strn[index] << std::endl; if ((int)(unsigned char)strn[index] >= 0xC3) { switch ( (int)(unsigned char)strn[index]) { case 0xC3: switch ((int)(unsigned char)strn[index + 1]) { case 0xA2: strcat ( newStr, uppercase ? "A" : "a"); index++; break; case 0x82: strcat ( newStr, "A"); index++; break; case 0xAE: strcat ( newStr, uppercase ? "I" : "i"); index++; break; case 0x8E: strcat ( newStr, "I"); index++; break; } case 0xC4: switch ( (int)(unsigned char)strn[index + 1]) { case 0x83: strcat ( newStr, uppercase ? "A" : "a"); index++; break; case 0x82: strcat ( newStr, "A"); index++; break; } case 0xC8: switch ( (int)(unsigned char)strn[index + 1]) { case 0x99: strcat ( newStr, uppercase ? "S" : "s"); index++; break; case 0x98: strcat ( newStr, "S"); index++; break; case 0x9B: strcat ( newStr, uppercase ? "T" : "t"); index++; break; case 0x9A: strcat ( newStr, "T"); index++; break; } case 0xE2: switch ( (int)(unsigned char)strn[index + 1]) { case 0x9D: if ( strlen ( strn ) - index >= 2) // boundary check { if ( (int)(unsigned char)strn[index + 2] == 0x8C ) // 0xE2 0x9D 0x8C { strcat ( newStr, " "); index += 2; break; } } if ( strlen ( strn ) - index >= 5) // boundary check { // 0xE2 0x9D 0xA4 0xEF 0xB8 0x8F if ( (int)(unsigned char)strn[index + 2] == 0xA4 && (int)(unsigned char)strn[index + 3] == 0xEF && (int)(unsigned char)strn[index + 4] == 0xB8 && (int)(unsigned char)strn[index + 5] == 0x8F ) { strcat ( newStr, " "); index += 5; break; } } break; } } } else { char Temp[2] = {(char) strn[index], 0 } ; strcat(newStr, Temp); } index++; } // debug, optional std::cout << std::endl << "strn ( input string ): " << strn << std::endl; std::cout << "c string result: " << newStr << std::endl; return 0; } Editat Iulie 8, 2024 de modoran Link spre comentariu
Stefan Postat Septembrie 1, 2024 Partajează Postat Septembrie 1, 2024 Ceva fain pentru cine este interesat. Sunt date în descriere toate linkurile. Link spre comentariu
Andrew Postat Septembrie 17, 2024 Partajează Postat Septembrie 17, 2024 La 19.03.2024 la 18:45, modoran a spus: Daca este cineva interesat de problema cu afisarea diacriticelor in yoRadio ( ă â î ș ț Ă Â Î Ș Ț ) , adica transformarea lor in " a i s t A I S T" ca sa fie afisate corect fara modificarea fonturilor sa posteze aici si va pot spune ce sa modificati in yoRadio\src\displays\tools\utf8RusGFX.h Buna! Ma intereseaza modificarea pentru afisarea diacriticelor din limba romana. Am incercat sa traduc o versiune a yoRadio in limba romana, interfata web si afisajul pe ecran etc.. (eu am testat pe un display ILI9488 de 4 inchi, dar se poate adapta la orice display). Momentan singurul lucru care mai lispeste din varianta in limba romana, este afisarea diacriticelor romanesti. Traducerea o puteti descarca pentru teste de aici: https://github.com/DaradiciLevente/yoRadio-mods Link spre comentariu
Andrew Postat Decembrie 27, 2024 Partajează Postat Decembrie 27, 2024 Linkul corect pentru versiunea in limba romana este schimbat. Acesta este linkul corect: https://github.com/DaradiciLevente/yoRadio-in-limba-romana Link spre comentariu
Viorel A Postat Ianuarie 12 Partajează Postat Ianuarie 12 Va salut! Am urmarit subiectul inca de la aparitia lui cu dorinta de a construi si eu candva acest radio. Acel "candva" a venit asa ca am cautat prin cutiile cu diverse si am gasit un ESP32DEVKITV1 cu ESP32-WROOM 32 si un NODEMCU-32 v1 cu ESP-32S, cateva module cu MAX98357a si un afisaj ST7795V de 2.4" asa ca am hotarat sa incep. Am recitit tot topicul si am incercat sa compilez in arduino (1.8.19) versiunea din ultimul link insa fara succes. Am incercat atat cu o versiune mai veche de Arduino(1.8.19) cat si cu Arduino (2.3.4). In primul caz eroarea este : Error compiling for board ESP32 Wrover Module. iar atunci cand compilez cu Arduino 2.3.4 eroarea este: Compilation error: 'Network' does not name a type. Am testat atat cu ESP32 Dev Module cat si cu alte variante de board, dar cu acelasi rezultat. Ar fi de ajutor daca mi-ati indica o versiune pe care ati incercato si eventual versiunea de arduino folosita. Multumesc! Link spre comentariu
hixpp02 Postat Ianuarie 12 Partajează Postat Ianuarie 12 Wroom nu este același cu Wroover, poate ca nu ați selectat corect in Arduino. Merge cu versiunea veche de Arduino,cel puțin la mine așa a mers. Link spre comentariu
modoran Postat Ianuarie 12 Partajează Postat Ianuarie 12 ESP32 Dev Module si arduino 1.8.19 Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum