trochę zaczyna mnie męczyć słaby rynek embedded i chcę powoli się zacząć uczyć czegoś innego by mieć alternatywę w razie czego. na ten moment 2 lata doświadczenia w C++ przy pracy w projekcie LTE. w żaden front nie chcę iść, chcę pozostać przy backendzie ale by to było trochę coś bardziej ambitnego niż jakieś CRUDy i podobne. co polecacie? myślałem nad Rustem trochę

#programista15k #programowanie #pracait
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć,
Projektuję aktualnie urządzenie w oparciu o mikrokontroler STM32, które odbiera w przerwaniu pojedyncze bajty, które są zapisywane do bufora. Piszę teraz parser, który miałby operować na tym buforze. Jeśli pojawi się w nim jedna z komend, to musi zostać wykonana jakaś akcja. Mam zagwostkę dotyczącą przetwarzania danych przechowywanych w buforze przez parser, tak żeby nie obciążać nadmiarowo procka. Czy sprawdzenie zawartości bufora musi się odbywać za każdym razem po odebraniu znaku?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@r00ti: no wyobraź sobie, że nie wszyscy stawiają pieniądze jako najwyższy priorytet w życiu. Zresztą w embedded też się zdarzają oferty po 20k. Poza tym, idąc twoim tokiem myślenia, to dlaczego nie zostałeś jakimś konsultantem w big4 czy coś, zarabiałbyś jeszcze więcej. Albo dlaczego ludzie zostają na uczelni mimo tego, że z ich wiedzą mogliby zarabiać 5 razy więcej xD
  • Odpowiedz
Ściągnąłem sobie CMSIS 5 ze strony Keila, utworzyłem repozytorium gita itd itp, odpaliłem skrypt gen-pack.bat i coś tam porobiło i po cichu się zakończyło.
Na stronie keila jest tabelka, z której wynika, że moje repo powinno zawierać pliki .lib na przykład taki plik:

arm_cortexM7lfsp_math.lib
Oczywiście u mnie w repozytorium akurat pliku CMSIS/DSP/Lib zabrakło. Są źródła ale nie ma binarek, a bez tego ani rusz.
Co robić, jak żyć?
#programowanie #
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Siema mireczki mam pytanie czy ktoś z was pisał swój Driver pod malinkę? Generalnie chce takowy napisać w celach edukacyjnych. Na chwilę obecną konsoliduję wiedzę bazując głownie na https://lwn.net/Kernel/LDD3/ ale jeśli ktoś coś ma na swoim #github albo jakiś artykuł który taki temat porusza to proszę podzielcie się.
Proszę mnie nie przekonywać że pisanie drivera nie ma sensu bo zdaje sorię z tego sprawę, ale chciałbym się czegoś nauczyć a
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@printf: Daaawno temu pisałem w ramach nauki prosty driver USB na linuksa (nie polecam XD). Pamiętam, że w trakcie przewinęło się kilka artykułów i tutoriali m.in. przynajmniej jeden z poniższych (ale nie wiem czy obecnie są one jeszcze coś warte [2004 i 2006 r. xd]):

https://www.linuxjournal.com/article/7353?page=0,1
http://freesoftwaremagazine.com/articles/drivers_linux/

Nie wiem też, czy w ogóle będą one pomocne w kontekście twojego pytania.
  • Odpowiedz
@printf: @hitherto: @MyNameIsJefff:
Elo mirasy. Wpadłem an tego posta przypadkiem.
Umiem kucować w miarę proste drivery na Linuksa(w sensie kernel modules)

Pisałem takie:
- urządzenie w FPGA -> Linux. Character device który zwracał wyniki szybkich
  • Odpowiedz
Cześć Mirki, próbuję opanować transmisję 433 MHz za pomocą biblioteki RCSwitch dla #arduino. Podpatrzyłem analizatorem takie dwa sygnały. Prawdopodobnie problem jest taki, że pilot zaczyna transmisję długą jedynką (pierwszy wykres) a arduino długim zerem (drugi wykres). Arduino nie widzi kodu przekazywanego przez pilota. Ktoś wie jak to pogodzić? Jak się nazywa takie kodowanie? #embedded #pytanie
piwuch - Cześć Mirki, próbuję opanować transmisję 433 MHz za pomocą biblioteki RCSwit...

źródło: comment_1598708175buiueYJ0d9b0bP5ZPEgIHC.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Ithan: a i dla jasności ` to jest konwencja mówiąca zastąp przez wartość liczbową. czyli b 0x00` to breakpoint przy power on reset o ile twoja architektura ma tablicę wektorów na adresie 0
  • Odpowiedz
@Ithan: Ale ty chcesz postawić breakpoint na danej linii czy na instrukcji o danym adresie? Jeżeli na adresie to wpisz najpierw "disass", wtedy zobacz na jakim adresie leży interesująca cię instrukcja i wpisz "break *0x1337" (w przypadku gdy adres to 0x1337)
  • Odpowiedz
Mirki mam dziwny problem. Kod po otrzymaniu danych przez UART ma je odesłać. Przygotowałem dwie wersje kodu:
- wersja 1 - w main wołam serverrun(), który posiada swoją nieskończoną pętlę.
- wersja 2 - w main w pętli wołam funkcję server
task(), która sprawdza warunek, jeżeli spełniony to odsyła dane. Jedyna różnica co do funkcji server_run() to taka, że tutaj nie ma pętli nieskończonej.

Zresztą zobaczcie sami, kod jest bardzo
  • 33
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@bielu000: dodam jeszcze, że atomic również dotyczy problemów z równoległością (przerwania, wątki), ale innych niż volatile. Przykładem może być zmienna typu int na 8-bitowych AVRach. Tam int ma 16 bitów. Ponieważ architektura jest 8-bitowa, operacje na intach muszą być wykonywane etapami, czyli nie atomowo. Wyobraźmy sobie, że zmienną int inicjujemy wartością 1000 i sprawdzamy w pętli, czy jest ona większa od zera. W przerwaniu zmniejszamy zmienną o 1. W pewnym
  • Odpowiedz
W tym tygodniu nie zabraknie także ofert z kategorii Mobile, Embedded, Testing, DevOps i Security!

MOBILE JOBS

- [REMOTE] Remote Android Developer @ geminidesign.pl 11.0k-17.0k (B2B), 9.6k-12.8k (UoD)
- [REMOTE] iOS Developer @ norbsoft.com 9.0k-14.0k (B2B), 8.0k-12.0k
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Macie jakieś dobre materiały na temat tego jak handlować komunikację poprzez układ UART? Nie mam na myśli konfiguracji samego układu bo to sobie znajdę w manualu. Mam na myśli coś innego - jakieś dobre praktyki, może jak zaprojektować warstwy od tych wysokopoziomowych do niskopoziomowych (ale bez szaleństw, celuje w MCU). Tak swoją drogą materiały nie muszą być oczywiście stricte związane z programowaniem MCU, ale może coś związanego z embedded Linux ,w końcu
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@bielu000: pytanie odnośnie UART jest dosyć szerokie, więc nie wiem od czego zacząć. Do głowy przychodzi mi:
- odbiornik nie może gubić bajtów. Zwykle więc dane odbiera się tle, np. w przerwaniu albo za pomocą DMA i przechowuje się je w buforze
- główny kod zagląda do bufora i sprawdza czy jest pełna ramka, wtedy ją dekoduje i usuwa z bufora
- warto pomyśleć o CRC
- stosujemy timeouty, dzięki temu jak np. dostaniemy
  • Odpowiedz
@pepepanpatryk: Możesz w swoim protokole na samym początku zdefiniować pole (np na dwóch bajtach) określające długość ramki, wiesz ile nasłuchiwać i masz elastyczność.

Inna sprawa - czy na pewno potrzebujesz to robić po HTTP? Mam wrażenie, że chcesz go wykorzystać tylko jako warstwę transportową. Wystarczyłoby otwarcie zwykłego socketa TCP i na nim działać swoim protokołem jeśli nie chcesz korzystać z dobrodziejstw HTTP.
  • Odpowiedz
#stm32 #embedded #programowanie

Czy da się jakoś sprawdzić, które zbocze - opadające czy narastające - wyzwoliło przerwanie Input Capture w timerze? Przejrzałem datasheeta, ale nic nie wskórałem, ale może jakoś się da?
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czy da się jakoś sprawdzić, które zbocze - opadające czy narastające - wyzwoliło przerwanie Input Capture w timerze?


@zwei: możesz w locie zmieniać konfigurację input capture w przerwaniu. Jak złapiesz zbocze narastające to przestaw input capture, żeby łapało zbocze opadające, a jak złapiesz opadające to przestaw na czekanie na narastające.

Opcja druga to tryb MasterSlave, jeśli kombinujesz z pomiarem wypełnienia PWMa:
https://github.com/yhyuan/STM32-Examples/tree/master/6-M3-PWM%20Input%20Capture/USER
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#stm32 #embedded #mikrokontrolery śmieszny bug jest w CubeMX Jak kliknie się na jakiś pin i pojawia się ta lista wyboru Reset State/Output/Input i tak dalej, i się zapomni o tym i zostawi otwarte, to nagle Cube zaczyna zżerać 100% CPU xD
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MrDarkenRahl:
gcc
make
vscode (z wtyczko neovim)
openocd+gdb (czasem na żywca, ale zazwyczaj przez plugin w vscode - cortex debug czy jakoś tak, bo szybciej wyklikać te breakpointy w gui), wcześniej używałem texane/st-link zamiast openocd, ale zaczęło się chrzanić nie wiem czemu
+ własne skrypty jakieś, żeby za dużo się nie naklepać w klawiaturę
  • Odpowiedz
@MrDarkenRahl: gcc, make, Emacs, st-link albo OpenOCD (to drugie zwłaszcza jak nie pracuję na demoboardzie od ST i trzeba użyć np. SWD). Nie lubię GUI i klikania myszą, wolę command line, gdb i git też, próbowałem użyć jakichś IDE-like helperów w Emacsie ale mi to nie podchodzi
  • Odpowiedz
@keton22: jak znajdujesz klientów? W jaki sposób przekonujesz ich, że będziesz lepszy od kogoś lokalnego albo taniego Hindusa? Jak rozwiązujesz logistykę (wysyłka sprzętu, testowanie na odległość)?
  • Odpowiedz
@zarowka12: są wszystkim znane i mniej znane portale. To na początek i wtedy rzeczywiście jest ciężko i ściga się z Ukraińcami (Dindu już tam znają). Problemem jest brak reputacji czyli po kilku projektach dostaje się lepsze zlecenia bo widać że się dowozi projekty. Potem wbija się tam bordo (na praktycznie każdym są jakieś programy VIP jak się odpowiednio dużo kasy zarobi) i zyskuje dostęp do pracy po ludzkich stawkach. Potem
  • Odpowiedz
Trafiły do nas kolejne oferty z kategorii Mobile, Embedded, Testing, DevOps i Security! Jesteście ciekawi? Sprawdźcie najnowszą listę.

MOBILE JOBS

- [REMOTE] Senior IOS Developer @ alsoft.pl 16.0k-22.0k (B2B), 13.5k-19.5k (UoP)
- [REMOTE] Senior Android Developer @ alsoft.pl 16.0k-22.0k (B2B), 13.5k-19.5k
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki jakie narzędzia polecacie do stacji pogodowej / #smarthome na #nodemcu? Mogłbym też użyć raspberry 3. Jak na razie śmigam na Blynk ale to rozwiązanie umożliwia odczyt tylko przez androida. Gdyby nie to, to byłoby super. Próbowałem stawiać stronkę lokalnie ale to bardzo żmudne i chciałbym mieć dostęp z zewnątrz. Ewentualnie mógłbym na Pi postawić teamviewer. #iot #embedded
piwuch - Mirki jakie narzędzia polecacie do stacji pogodowej / #smarthome na #nodemcu...

źródło: comment_15950520302ODMxCxCV8RWtvEdYlN9XV.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Przyszłość jest taka, że PCty będą jak routery i wszystko będzie przez sieć działało (w końcu mamy te SmartTV i może robić za monitor) XD
https://www.elektroda.pl/rtvforum/topic3712479.html
RemoteFX przeszło do mainstreamu, więc dzisiaj każdy dzieciak może mieć w miarę sensowną emulację GPU, zaś patrząc na to co potrafi docker i #linux, to pewnie i do gier się nadadzą za chwilę.
Gdyby do tego maleństwa wpakować GTXa 1050 i oszczędnego Xeona
majsterV2 - Przyszłość jest taka, że PCty będą jak routery i wszystko będzie przez si...

źródło: comment_1594850644Hj6jhBBEvMP7x1iQv6twZn.jpg

Pobierz
  • 25
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@fervi: Zaś deweloperzy robią dymy o urazy, kolor skóry i to co kto lubi w miejsca intymne XD
Pietrek Kogucik to prorok kierunku rozwoju tej durnej cywilizacji.
majsterV2 - @fervi: Zaś deweloperzy robią dymy o urazy, kolor skóry i to co kto lubi ...
  • Odpowiedz