Dzięki. Wykorzystałem patcha od vocore2 board i ruszyło.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Posty przez r00ti
Dzięki. Wykorzystałem patcha od vocore2 board i ruszyło.
Dla bezpieczeństwa wolałbym jednak używać openWRT w wersji stabilnej. Chyba, że masz odmienne zdanie na ten temat?
Skylab SKW92 board.
Magistrala wbudowana (i2c0).
Cześć,
Chce uruchomić I2C na openWRT.
Jeżeli używam openWRT z mastera to wszystko działa, a jak te same ustawienia wrzucam na wersje stabilna openWRT v19.04 to już te i2c nie działa tak jak powinno.
Nie wykrywa mi układu i w zasadzie po komendzie i2cdetect -y 0 wyrzuca mi jakieś śmieci.
Gdzie szukać przyczyny? Różnicy w device tree czy to nie tędy droga?
r00ti napisał/a:czy w przypadku nagrywania dźwięku powinienem o czymś pamiętać ? Bo aktualnie to nagrywają się same "trzaski" ...
Co nagrywasz? Jakie jest źródło dźwięku? Jaki masz frontend analogowy?
Od tego zależy o czym powinieneś pamiętać.
mikrofony dwa, które podpięte są pod LINE1 i LINE2. Wcześnie przetestowałem je na płytce lyrat i tam nagrywało bardzo ładnie, dlatego wydaje mi się że część sprzętowa jest ok, zmienił się tylko procek z esp32 na układ mt7628.
czy w przypadku nagrywania dźwięku powinienem o czymś pamiętać ? Bo aktualnie to nagrywają się same "trzaski" ...
r00ti napisał/a:bardzo dziękuje każdemu za pomoc, udało się uruchomić.
Napisz czego brakowało by ktoś następny miał całą odpowiedź na problem.
Brakowało master clocka, który trzeba wygenerować zewnętrznie lub za pomoca np. refclk ![]()
bardzo dziękuje każdemu za pomoc, udało się uruchomić.
Pytanie dodatkowe, czy jakieś dodatkowe zmiany w .dts trzeba robić dla np. nagrywania dźwięku za pomocą mikrofonu metoda arecord ? Czy skoro działa odtwarzanie, to nagrywanie też powinno działac ?
w vocore2 Master clock wpięty jest zgodnie ze schematem do UART_TXD0. A w dts znalazłem takie coś:
uart2 {
uart2 {
ralink,group = "uart2";
ralink,function = "pwm";
};
};
Więc rozumiem, ze master clock wpięty jest pod PWM, ale dlaczego schemat jest podpięty niby pod UART0, a w dts uart2 ?!
Tak, ale to są 4 piny, a codec potrzebuje 5. Czyli brakuje pinu do master clocka
gpio4 to ktory pin w MT7628 ? Bo ja jako GPO4 znalazlem ale I2C_CLOCK, a nie I2S
To jest dokładnie ten pin i chciałbym, żeby spełniał właśnie rolę tego MCLK.
WDT_RST_N/I2S_MCLK
To wiem, że w DTS tylko nie wiem w jaki sposób. Próbowałem tak:
wdt {
ralink,group = "wdt";
ralink,function = "i2s";
};
ale przez to ciąglę się resetuje.
Faktycznie 4 piny mam:
pin 0 (io0): pinctrl (GPIO UNCLAIMED) function i2s group i2s
pin 1 (io1): pinctrl (GPIO UNCLAIMED) function i2s group i2s
pin 2 (io2): pinctrl (GPIO UNCLAIMED) function i2s group i2s
pin 3 (io3): pinctrl (GPIO UNCLAIMED) function i2s group i2s
ale co z MCLK...
bo wygląda, że:
pin 38 (io38): (MUX UNCLAIMED) (GPIO UNCLAIMED)
Jak moge to zmienić ?
pin38 tez ma funkcje wdt reset
####################UPDATE#######################
Wygląda na to, że pin i2s_mclk nie jest uruchomiony, a jak wiadomo codec ES8388 potrzebuje master clocka. Pytanie dlaczego pin w mt7628 MCLK nie jest uruchomiony mimo tego, że pozostałe piny i2s dzialaja poprawnie. Jakieś pomysły ?
wysylalem meila do nich, ale dostalem informację że supportują tylko ich hardware... i nie są w stanie mi pomóc jak mam inna płytkę niż VoCore2
Cały mój .dts był tworzony w oparciu oten vocore2. Wszystko wygląda dobrze, nawet I2C do codeca wysyła odpowiednie ramki, ale mimo wszystko na i2s cisza... Co mógłbym jeszcze zrobić, żeby zweryfikowac te i2s?
Cześć,
próbuje odpalić I2S na układzie MT7628.
Plik .dts
&i2s {
#sound-dai-cells = <0>;
status = "okay";
};Podczas uruchamianiu kernela widac, ze cos sie dzieje:
[ 11.977342] ralink-i2s 10000a00.i2s: mclk 480KHz
[ 12.031073] asoc-simple-card sound: es8328-hifi-analog <-> 10000a00.i2s mapping okCzy ktoś uruchamiał już i2s w openwrt ?
UPDATE.
Uruchomiłem, przynajmniej tak mi się wydaje uklad es8388. I mam problem z madplayem, niby zmniejszam samplowanie, ale nie do konca ? Co moze byc przyczyna ?

hej,
czy uruchamiał ktoś z Was codac ES8388 na OpenWRT wykorzystując układ MT7628 ? Szukam jakiejś biblioteki/exampli jak wykorzystać ten układ.
Mam kolejne pytanie. Tworze projekt clienta, który odbiera dane od servera i to mi działa super. Kolejnym krokiem jakim chce zrobić to, że ja wysyłam coś na server ale tylko raz i w konkretnym momencie. Program wykorzysutje posix, mam stworzony osobny watek do wysylania danych i zabezpieczony sem_wait. Jak dostane semaphor to chce wyslac TYLKO raz dane do serwera. Aktualnie jak przychodzi mi request od serwera zebym wyslal mu dane to za pomocą tego sem_post działa, ale jak wysyłam sem_post z innego threada zeby mi wyslal te dane to juz dziwne ale nie .
Thread od wysylania, ktory działa na odpowiedz requesta (teoretycznie wyglada to tak smao, tylko wysylany jest z innego watku):
while (1)
{
sem_wait(&xMutexUbusSenderData);
uloop_timeout_add(&_xCountTimeForData);
usleep(10000);
}Mam pytanie. W kodzie tworze sobie plik json z mojej struktury, którą chce wyslać przez UBUS.
Więc tak :
blobmsg_buf_init(&buf);
temps=blobmsg_add_json_from_file(&buf,"settings3.json");
log_info("%d",temps);
if (!temps) {
log_info("failed to load %s\n",filename);
//return -1;
}
else{
log_info("succesful");
}Wczytałem json poprawnie do bufora. I jaki jest kolejny krok ? Jak moglę wyslać tak ibufor jsona za pomocą ubus ? Wyrzkostuje do tego funkcje ubus_invoke ?
Co to znaczy "eclipse nie widzi"? Nie linkujesz z libubox?
ok zlinkowałem tylko z ubusem, zapomniałem o ubox.
Ok, rozpocząłem pracę nad tym ubusem. Mimo tego, że zaincludowalem "libubus" i <libubox/blob.h> to eclipse nie widzi mi blob_buf_init. Mógłbym pomóc ?
EDIT
po dodaniu patha do lib -> staging_dir/target/usr/lib i jako biblioteka podanie ubus
dostaje
Description Resource Path Location Type
libubox.so, needed by /home/xxx/opW/openwrt/staging_dir/target-mipsel_24kc_musl/usr/lib/libubus.so, not found (try using -rpath or -rpath-link) tass C/C++ Problem
eko.one.pl → Posty przez r00ti
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc