bielu000
bielu000
Hej mam pytanie co do RS485. Załóżmy, że z poziomu RaspberryPi chciałbym komunikować się z wieloma urządzeniami podłączonymi do tej samej magistrali. RPI byłoby masterem i to ono inicjowałoby komunikację z innymi urządzeniami. Niemniej jednak nie do końca rozumiem jak te urządzenia powinno się łaczyć. Czy ja dobrze rozumiem, że do każdego urządzenia musiałbym dokupić taki konwerter: klik a następnie stworzyć coś w rodzaju huba? Przygotowałem też schemat jak to sobie wyrobarażam.
  • Najlepsze
  • Wszystkie komentarze
atehxx
@bielu000: Konwertery są do zamiany UARTa na RS485 - musisz je mieć przy MCU, ale w hubie na pewno nie. Możesz je wbudować w płytkę z MCU - to malutki scalaczek - transceiver RS485 - UART
Tymian
@bielu000 mimo wszystko pomysł huba nie jest dobry tak na przyszłość. Magistrala powinna iść sobie a każdy slave powinien być wpięty w nią "jeden za drugim" Jak na rysunkach.
Rozgwiezdzanie magiatrali to proszenie się o kłopoty.
Ofc będzie działać jak to będzie do 5-10m od huba.
Ale powyżej zesra się to.
pepepanpatryk
Hej napisałem już wstępną wersję swojego drivera, więc wróciłem wczoraj do problemu z device tree, który wydawało mi się, że już rozwiązałem. Sprawa wydaje się prosta, a zarazem dziwna.
Potrzebuję dorzucić node do device tree reprezentujący moje urządzenie tak aby odpowiedni driver został załadowany.

Działające device tree
Popsute device tree

Źródło
  • Najlepsze
  • Wszystkie komentarze
pepepanpatryk
pepepanpatryk Autor
0
@pepepanpatryk: ciekawą rzecz znalazłem:
Wpisując print w uboot:

- w przypadku błędnego device tree pokazuje mi się zmienna: devtype=dhcp
- w przypadku dobrego device tree mam w tym samym miejscu: devplist=1

Reszta jest identyczna. Skąd to może wynikać i co to oznacza?
pepepanpatryk
pepepanpatryk Autor
0
@pepepanpatryk: Hmm raczej nie ma to znaczenia bo ta zmienna ustawia się po tym jak proces bootwania się wywalił.
pepepanpatryk
Hej mam mały problem z przerwaniami.

Generalnie chciałbym mieć przerwanie w momencie kiedy zmienia się stan konkretnego GPIO.
GPIO jest skonfigurowane jako active low. W momencie kiedy sensor zmienia swoją wartość stan na gpio zmienia się na zero.

W moim driverze, requestuje sobie o irq - wszystko działa jak należy. Problem w tym, że od momentu zarequestowania o przerwanie, cały czas wołana jest isr. Nie ważne czy sensor jest w pozycji 0 czy
  • Najlepsze
  • Wszystkie komentarze
pepepanpatryk
pepepanpatryk Autor
1
@a231: Szlag.... temat nieaktualny. Nie miałem spiętej masy RPI z masą reszty układu. Dopiero teraz zauważyłem...
a231
a231
0
@pepepanpatryk: sprawdziłeś oscyloskopem albo chociaż multimetrem czy ten sensor rzeczywiście zmienia stan? Tak samo zobacz za R1 czy zmienia ci się tak jak oczekujesz.
pepepanpatryk
Hej mam trochę może głupie pytanie, ale nie mogę tego do końca załapać, a może ktoś akurat zna odpowiedź.
Chcę sobie zaimplementować mój driver, który w swojej logice będzie sterował pwm dla silnika.
Uprzedzając - tak tak to bez sensu i w ogóle, bo mogę sobie skorzystać z sysfs exportując po prostu pwm - wiem robiłem to, wszystko działa jak trzeba. Natomiast nie o to mi chodzi w tym przykładzie.

Nie będę może
  • Najlepsze
  • Wszystkie komentarze
Rosly
Rosly
1
@pepepanpatryk: Cała istota rozbija sie o zrozumienie jak działa device model w Linux.
Każdy device kusi byc przypięty do jakiejś szyny, np pci, usb etc
Podsystem tej szyny enumeruje urządzenia i szuka sterownika który mógłby znalezione urządzenie obsłużyć.
Ty pisząc sterownik musisz wiec zarejestrowac go w odpowiednim podsystemie używając api specyficznego dla tego podsystemu. Przekazujesz wtedy callbacki typu probe które jako parametr maja device struct danego podsystemu, np pci_d3v. W środku jest dev
Rosly
Rosly
1
@pepepanpatryk: tak jak pisałem wcześniej, dtb służy do opisu urządzeń o których system nie jest sie w stanie dowiedzieć przez mechanizmy autoenumeracji.
W dtb mozesz podać dowolne informacje ktorych driver potrzebuje.
Zobacz na api do parsowania DTSa.
Wystarczy ze zdefiniujesz sobie parametry które sa ci potrzebne i przeparsujesz dtb w funkcji probe swojego drivera.
groman43
Szanowne Mirki i Mirabelki, jak wygląda proces wdrożenie nowych kolegów w Waszych projektach. Co się zmieniło w czasach pandemii?
Pytam, ponieważ w pracy mam takich dwóch gagadków - jeden został zatrudniony około roku temu, drugi 6 miesięcy temu. Przez koronawirusa na pewno ich wdrożenie nie było idealne. Sam projekt też jest dość specyficzny. Około miliona linii kodu, bardzo dużo zmian, często presja ze strony managementu, niezbyt mądre procedury. Dodatkowo, przez brak dobrej
  • Najlepsze
  • Wszystkie komentarze
pepepanpatryk
pepepanpatryk
  • adult
0
Treść przeznaczona dla osób powyżej 18 roku życia...
  • Najlepsze
  • Wszystkie komentarze
dantey
Hej, mam pytanie do mirków co siedzą w programowaniu czy nawet w embedded dev. Aktualnie robie studia z mechatroniki i szukam czegoś dla siebie w tej dziedzinie. Aktualnie najbardziej podoba mi sie programowanie w C, które mamy.

Ale do sedna.. Myśląc w kierunku programowania, poczytałem, że jest coś takiego jak Embedded Dev. Jednak grzebiąc w internecie znalazłem taki temat. Po przeczytaniu sam nie wiem, czy to kolejne narzekanie czy serio to
  • Najlepsze
  • Wszystkie komentarze
piwuch
Mirki jakiś czas temu pytałem na tagu #embedded o kodowanie nadmiarowe. Jako, że mam małe doświadczenie proszę o opinie na temat następującego pomysłu na komunikację.
Komunikacja odbywa się przez moduły HC12 na fabrycznych ustawieniach (9600, tryb normalny 3 , 20 dBm). Zamierzam całą komunikację realizować w ASCII. Będzie łatwo podglądać a na prędkości mi nie zależy.
Master odpytuje termometr po ID czyli wysyła jeden bajt. Termometr o zadanym ID wysyła
  • Najlepsze
  • Wszystkie komentarze
piwuch
Hej mirki z #embedded. Pod jakimi hasłami szukać sposobów na zwiększenie wiarygodności UART? Chodzi o to, że wysyłam sobie liczby w postaci tekstowej a na drugim mirku dekoduje i czasem mu się omsknie rząd wielkości.
  • Najlepsze
  • Wszystkie komentarze
bielu000
bielu000
Cześć, patrząc po poradnikach pisania driverów do Linuxa, zauważyłem, że np. w przykładzie jakiegoś drivera, który korzysta z GPIO, numer GPIO jest hardcodowany w źródle drivera. A co jeżeli mam board A, na którym chce wykorzystać GPIO10, oraz board B, na którym ten sam driver chce użyć ale z GPIO25?

#linux #embedded #programowanie
  • Najlepsze
  • Wszystkie komentarze
AnonimoweMirkoWyznania
#anonimowemirkowyznania
Potrzebuje pomysłu na pracę inżynierską. Studiuję elektronikę i interesują mnie tematy związane z branżą #embedded Obecnie jestem na stażu jako programista embedded w automotive, ale raczej wolałbym tematy typu IoT. Planuję zrobić coś w oparciu o STM32. Macie może jakieś pomysły, potrzebuję natchnienia, bo obecnie wszystko co wymyślę za 5 minut stwierdzam że się nie nadaje ( ͡° ʖ̯ ͡°) Smart Home już oklepany, chyba
  • Najlepsze
  • Wszystkie komentarze
pepepanpatryk
Mam problem z komunikają z modułem ESP8266.
Piszę sobie parser do tych komend AT i natrafiłem na coś dziwnego.
Modem domyślnie ma włączone echo co mi akurat odpowiada.
Po wysłaniu przez DMA komendy AT+CWMODE i otrzymaniu danych moje bufory wyglądają tak:

TX[0...n] = AT+CWMODE=1\r\n
  • Najlepsze
  • Wszystkie komentarze
I.....n
I.....n
Jaka jest najlepsza metoda do zapisywania danych do pliku tekstowego na kartę SD? Zakładając, że mam projekt, który
w przerwaniach odczytuje jakąś wartość z sensora co 1 ms.

Miałem pomysł żeby zapisywać dane w pliku tekstowym co jedną linijkę np. usawtić sobie bufor na 30 znaków i za pomocą
funkcji sprintf, a następnie fprintf bądź fwrite zapisywać tą linijkę na kartę
  • Najlepsze
  • Wszystkie komentarze
I.....n
I.....n
Podczas pisania biblioteki w C na pewien moduł napotkałem na taki problem. No więc jest sobie projekt w cmake'u, gdzie
ustawiona jest flaga kompilatora na: -0g, czyli lekka optymalizacja z opcją debuggowania - no i ok.

Mamy taki kod:

void funkcja() {
  • Najlepsze
  • Wszystkie komentarze
mapache
Jakie znacie IDE które ma wtyczki do MDD, by pracować na modelach w UML? Projekt do C++. Coś na styl RSARTE do Eclipse

#programowanie #cpp #embedded
  • Najlepsze
  • Wszystkie komentarze
Rosly
Rosly
6
Chodzi za mną zrobienie kursu/wstępu do kernela Linux, ew jakaś seria filmów entry level z programowania C/Asm na Arm. Podstawowy problem?... Doba ma 24h :|

Natomiast jeśli są tu jacyś początkujący adepci #embedded z Krakowa, którzy szukają monitoringu i przy okazji odbycia stażu/praktyk studenckich to polecam wysłać CV pod inter@semihalf.com
Więcej w ogłoszeniu: https://www.semihalf.com/jobs/#programista-c-stazysta

#arm #embedded #programowanie #programista15k
  • Najlepsze
  • Wszystkie komentarze
mDvMatti
mDvMatti
Gdybyście kończyli szkołę średnią za 1,5 roku, wybralibyście Front-end(JS) czy embedded?

#programowanie #programista15k #embedded

Front-End czy Embedded

  • Front-End 66.2% (51)
  • Embedded 33.8% (26)

77 głosów

  • Najlepsze
  • Wszystkie komentarze
mDvMatti
mDvMatti
Jak to jest? Automatycy dużo czasu spędzają na delegacjach? Naprawdę są tak małe zarobki?
#embedded #automatyka
  • Najlepsze
  • Wszystkie komentarze
mDvMatti
mDvMatti
Jak uczyliście się embedded, co poleciacie dla osoby na początek nauki? Jak coś to jestem w trakcie technikum elektrycznego. Po jakim czasie nauki dostaliście pierwszą pracę?
#embedded #elektryka #elektronika
  • Najlepsze
  • Wszystkie komentarze