Treść przeznaczona dla osób powyżej 18 roku życia...
Wszystko
Najnowsze
Archiwum
- 15
Hej bielskie mireczki,
przymierzam się do przeprowadzki kraków -> bielsko.
Spowodowane jest to potrzebą zamieszkania bliżej rodzinnych stron i oczekiwaniem życia w mniejszym zagęszczeniu ludzkim/architektonicznym.
planuję ten temat z dłuższym wyprzedzeniem (1.5-2.5 roku), docelowo chciałbym zamieszkać w domu jednorodzinnym z ogrodem (ale takim prawdziwym a nie 5m2 trawnika obok chodnika).
Niestety
przymierzam się do przeprowadzki kraków -> bielsko.
Spowodowane jest to potrzebą zamieszkania bliżej rodzinnych stron i oczekiwaniem życia w mniejszym zagęszczeniu ludzkim/architektonicznym.
planuję ten temat z dłuższym wyprzedzeniem (1.5-2.5 roku), docelowo chciałbym zamieszkać w domu jednorodzinnym z ogrodem (ale takim prawdziwym a nie 5m2 trawnika obok chodnika).
Niestety
@Saganeczek: jesli nie przeszkadza Ci 20 minutowy dojazd to szukaj w osciennych wioskach. Lepiej na tym wyjdziesz.
@Saganeczek: Kamienica jest bardzo droga do wybudowania się no ale płaci się za widoczki i ogólną popularność tej okolicy. Lipnika najlepiej unikać przez smród. Wapienica może być ciekawym pomysłem zamiast wioski oddalonej o ~10km od miasta. Poza tym jak już zostało zauważone nowy odcinek Cieszyńskiej powinien udrożnić podróżowanie pomiędzy Wapienicą i centrum.
Mirko, jako, że już wiele razy mi pomagaliście, na #embedded mało postów to wrzucę coś od siebie. Tj. pewien problem.
Zrobiłem sobie już całą płytkę, przetestowałem z MCU i wszystko działa jak należy. Chciałem teraz podpiąć to pod RPI. Wszystkie połączenia są dobrze, tj. każdy pin jest spięty z tym co powinien. Urządzenie powinno działać jak należy, jako, że na MCU wszystko działa tak jak chciałem.
W takim razie w
Zrobiłem sobie już całą płytkę, przetestowałem z MCU i wszystko działa jak należy. Chciałem teraz podpiąć to pod RPI. Wszystkie połączenia są dobrze, tj. każdy pin jest spięty z tym co powinien. Urządzenie powinno działać jak należy, jako, że na MCU wszystko działa tak jak chciałem.
W takim razie w
źródło: comment_1627555942zlnE0yNEYoE4LB1kwDtpEF.jpg
Pobierz@pepepanpatryk: zmierzyć napięcie? Od tego wypadałoby zacząć :)
@pepepanpatryk: fajnie, że już działa :) Te 3,10V zamiast 3,30V może wynikać z oporu samego miernika, działającego jak pulldown i fałszującego pomiar: 1000/1060*3,3=3,11.
- 53
Mircy eksperci z tego elitarnego forum na którym się znajdujemy odpowiedzcie mi.
Ostatnio miałem taka sytuację że robiłem u pewnego gościa mającego dość spory lokal gastronomiczny pewne urządzenia elektroniczne mające działać w lokalnej sieci.
Sieć w lokalu(piwnice, dużo pomieszczeń) dość rozbudowana - z 7 routerów, pewnie z drugie tyle switchy, monitoring. Właściciel(obcokrajowiec) od początku narzekał na dostawcę internetów że słabo działajo lub wcale mimo że ma łącze światłowodowe.
Przez to że moje urządzenia też miały
Ostatnio miałem taka sytuację że robiłem u pewnego gościa mającego dość spory lokal gastronomiczny pewne urządzenia elektroniczne mające działać w lokalnej sieci.
Sieć w lokalu(piwnice, dużo pomieszczeń) dość rozbudowana - z 7 routerów, pewnie z drugie tyle switchy, monitoring. Właściciel(obcokrajowiec) od początku narzekał na dostawcę internetów że słabo działajo lub wcale mimo że ma łącze światłowodowe.
Przez to że moje urządzenia też miały
źródło: comment_1627452417DsplUxhfEkancuj6SOrXAs.jpg
Pobierz@QBA__: to w ogóle nie jest przystosowane do pracy w sieci komputerowej, przedłużenie kabla musi być punkt punkt
Kabla ethernet używa raczej tylko jako drutów dla własnego protokołu
Kabla ethernet używa raczej tylko jako drutów dla własnego protokołu
- 33
@QBA__: To idzie podobnie jak multicast, można to używać w dużych sieciach pod warunkiem że masz zarządzalne switche, wtedy nie ma problemu że gdzieś kaszani coś dalej. W zwykłych sieciach na niezarządzalnych switchach ruch z tego urządzenia pojawia się na każdym porcie - tak jak multicast.
- 0
Siema,
Mam klasę X, w zakresie której tworzony jest obiekt klasy Y. Ze względu na unit testy, które będą puszczane na maszynie o innej architekturze potrzebuję podmienić implementację klasy Y tworząc jakiegoś stuba. Jedyną rzeczą jaką chciałbym zmienić w kodzie, to stworzenie interfejsu dla klasy Y, a na etapie kompilacji pod unit testy podmieniać tylko plik źródłowy. Żeby to wszystko ogarnąć, trzeba stworzyć 3 headery (InterfaceY.hpp, Y.hpp i YStub.hpp) i dwa pliki
Mam klasę X, w zakresie której tworzony jest obiekt klasy Y. Ze względu na unit testy, które będą puszczane na maszynie o innej architekturze potrzebuję podmienić implementację klasy Y tworząc jakiegoś stuba. Jedyną rzeczą jaką chciałbym zmienić w kodzie, to stworzenie interfejsu dla klasy Y, a na etapie kompilacji pod unit testy podmieniać tylko plik źródłowy. Żeby to wszystko ogarnąć, trzeba stworzyć 3 headery (InterfaceY.hpp, Y.hpp i YStub.hpp) i dwa pliki
- 1
- 1
@Saly: Rozumiem twój punkt widzenia, ale pliki CMake'a to dla mnie też część "kodu" i łączenie różnych targetów z różnych plików obiektowych to normalna praktyka.
Z CMake'iem jest jak z dżinem, tyle lat go człowiek próbuje okiełznać i nagiąć do swojej woli że jak już się uda to będzie go wykorzystywał do wszystkiego z zemsty xD
Z CMake'iem jest jak z dżinem, tyle lat go człowiek próbuje okiełznać i nagiąć do swojej woli że jak już się uda to będzie go wykorzystywał do wszystkiego z zemsty xD
Mirki doświadczone, pomóżcie proszę z C.
Muszę odczytać napięcie, uruchomiłem ADC, wszystko ładnie pięknie do momentu skalowania. Mam takie równanie:
napięcie = wartość_raw * (Vref/2^rozdzielczość_ADC) * dzielnikrezystorowy
wartośćraw przyjmuje stałą wartość 715, Vref to 3,3 V, rozdzielczość mam 10 bitów, dzielnik 4.6.
Podstawiam wartości
Muszę odczytać napięcie, uruchomiłem ADC, wszystko ładnie pięknie do momentu skalowania. Mam takie równanie:
napięcie = wartość_raw * (Vref/2^rozdzielczość_ADC) * dzielnikrezystorowy
wartośćraw przyjmuje stałą wartość 715, Vref to 3,3 V, rozdzielczość mam 10 bitów, dzielnik 4.6.
Podstawiam wartości
Ludzie nie bójcie się pokazywać swojego kodu. I platformy na którą piszecie czy ustawień kompilatora.
przemnożenie
@macgajster: wykonanie iloczynu logicznego (AND), to nie to samo co mnożenie arytmetyczne
- 1
Cześć,
Jak piszecie unit testy pod soft, który jest dedykowany dla innej architektury? W moim przypadku robię development na Ubuntu z x86 pod płytkę ARMową z RTOSem, problem jest taki, że nawet chcąc oddzielić logikę pod unit testy od warstwy RTOSa, to i tak potrzebuję skompilować całość. Czy problem jest głównie w mojej architekturze kodu czy jest na to jakieś sprytne obejście?
#embedded #linux #cpp #
Jak piszecie unit testy pod soft, który jest dedykowany dla innej architektury? W moim przypadku robię development na Ubuntu z x86 pod płytkę ARMową z RTOSem, problem jest taki, że nawet chcąc oddzielić logikę pod unit testy od warstwy RTOSa, to i tak potrzebuję skompilować całość. Czy problem jest głównie w mojej architekturze kodu czy jest na to jakieś sprytne obejście?
#embedded #linux #cpp #
Czy problem jest głównie w mojej architekturze kodu czy jest na to jakieś sprytne obejście?
@Parseval: w architekturze. Nie wydzieliłeś rzeczy specyficznych dla danej platformy. Potem robisz dwie implementacje tej części linux i rtos.
- 2
@Parseval: W architekturze. Kod powinienenś mieć napisany w taki sposób, żeby tylko najniższa warstwa zależała od systemu, a reszta była uniwersalna. Wtedy w testach to co jest "OS specific" mockujesz i jest bajka.
Plus dzięki takiej architekturze raz, że masz łatwiej przenieść kod na inny procesor/system, dwa, że możesz sobie napisać implementację tej najniższej warstwy pod Ubuntu (emulując oczywiście hardwarowe rzeczy), tym samym ułatwiając sobie cały development.
Plus dzięki takiej architekturze raz, że masz łatwiej przenieść kod na inny procesor/system, dwa, że możesz sobie napisać implementację tej najniższej warstwy pod Ubuntu (emulując oczywiście hardwarowe rzeczy), tym samym ułatwiając sobie cały development.
Siema, pytanko mam królu złoty.
Od kilku lat programuję mikroprocesory w języku C i wydaje mi się, że powoli przestaje się rozwijać. Padł pomysł, żeby przebranżowić się w C++ i iść w embedded Linux. Akurat zajmuje się projektem, w którym programuje się GUI w C++, więc mogę się na bieżąco uczyć i jeszcze za to płacą (⌐ ͡■ ͜ʖ ͡■)
Co myślicie o takim przebranżowieniu? Warto?
Ile
Od kilku lat programuję mikroprocesory w języku C i wydaje mi się, że powoli przestaje się rozwijać. Padł pomysł, żeby przebranżowić się w C++ i iść w embedded Linux. Akurat zajmuje się projektem, w którym programuje się GUI w C++, więc mogę się na bieżąco uczyć i jeszcze za to płacą (⌐ ͡■ ͜ʖ ͡■)
Co myślicie o takim przebranżowieniu? Warto?
Ile
Mirki, są jakieś perspektywy dla pracy w #embedded w #lublin? #praca #mikrokontrolery #programowanie #c
@Agent_Dijkstra: lepiej uciekac z embedded do lepiej platnych specjalizacji, w ktorych masz wiecej ofert pracy
- 2
@Agent_Dijkstra: jak embedded to Sii, Mobika to raczej mało stabilna jest z poziomem zatrudnienia ( ͡° ͜ʖ ͡°)
- 0
Z ciekawości, interesował się ktoś kopiowaniem tagów ISO/IEC 18000-6C UHF EPC? Takie jak stosowane są do wjazdu do niektórych garaży w biurowcach? Szukam osób zainteresowanych tematem.
#security #embedded #hacking #bezpieczenstwo
#security #embedded #hacking #bezpieczenstwo
- 0
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.
źródło: comment_1624606334PFCZEj50zRoj6f9KdyJwQc.jpg
Pobierz- 2
@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
@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.
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.
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
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
- 0
@pepepanpatryk: Kolejna ciekawa sprawa - mój /boot/config.txt wygląda tak:
[...]
dtoverlay=vc4-kms-v3d
dtoverlay=pwmctrl
Wywaliłem moje zmiany w device tree do osobnego pliku a teraz /boot/config.txt
[...]
dtoverlay=vc4-kms-v3d
dtoverlay=pwmctrl
Wywaliłem moje zmiany w device tree do osobnego pliku a teraz /boot/config.txt
- 0
@pepepanpatryk: Wstępnie udało mi sie to ogarnąć - w sposób który chciałem to zrobić docelowo ale na potrzeby przyspieszenia developmentu uważałem, że da się pójść na skróty.
A więc dorzuciłem patcha do kernela, który dorzuca moje hatch2sr-overlay.dts do katalogu z overlays (korzystam z linux-raspberrypi)
Następnie wrzuciłem tego patcha tak aby był dodawany(.bbappend dla linux-raspbberypi) przy budowaniu kernela, a następnie dorzuciłem dwa wpisy do pliku z opisem mojej maszyny:
RPIEXTRACONFIGappend = "
A więc dorzuciłem patcha do kernela, który dorzuca moje hatch2sr-overlay.dts do katalogu z overlays (korzystam z linux-raspberrypi)
Następnie wrzuciłem tego patcha tak aby był dodawany(.bbappend dla linux-raspbberypi) przy budowaniu kernela, a następnie dorzuciłem dwa wpisy do pliku z opisem mojej maszyny:
RPIEXTRACONFIGappend = "
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
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
źródło: comment_162333170605F3I86V2hag0fn9OCPHLp.jpg
PobierzHej 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
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
- 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
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
- 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.
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.
- 0
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
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
Komentarz usunięty przez autora
@villager: w korporacji to ty chyba nie byłeś nigdy, albo w jednej byłeś i teraz strugasz experta.
Treść przeznaczona dla osób powyżej 18 roku życia...
- 0
@keton22: Dobra skoro jeszcze odpowidasz to mam kolejne pytanie. Co do tego wyżej to zrobiłem tak jak sugerowałeś: dwie dystrybucje, dwa configi i to jest ok.
Natomiast jeszcze inna sprawa - muszę do mojego obrazu dodać odpowiedni driver do wifi. Już to zrobiłem i działa, ale nie do końca jestem pewien w któym to miejscu powinno zostać dodane.
Chodzi konkretnie o to:
Natomiast jeszcze inna sprawa - muszę do mojego obrazu dodać odpowiedni driver do wifi. Już to zrobiłem i działa, ale nie do końca jestem pewien w któym to miejscu powinno zostać dodane.
Chodzi konkretnie o to:
- 0
@keton22: Dobra sam sobie odpowiem.
Zacznijmy od początku.
w rpi-base.inc mam coś takiego:
MACHINE-EXTRA-RRECOMMENDS += "kernel-modules udev-rules-rpi" - z tego co rozumiem, dla obrazów typu core-image-base to nie ma żadnego wpływu - This variable affects only images based on packagegroup-base, which does not include the core-image-minimal or
Zacznijmy od początku.
w rpi-base.inc mam coś takiego:
MACHINE-EXTRA-RRECOMMENDS += "kernel-modules udev-rules-rpi" - z tego co rozumiem, dla obrazów typu core-image-base to nie ma żadnego wpływu - This variable affects only images based on packagegroup-base, which does not include the core-image-minimal or
- 2
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
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
- 3
@dantey:
- Musisz mieć odpowiednio wysoką znajomość C ( jak nie rozumiesz konstruktów języka z randomowego wycinka kodu kernela nie licząc makr to masz zaległości w temacie języka )
=> Absolutnie nie. Im bardziej egzotycznych konstrukcji używasz, tym gorzej dla Ciebie i Twojego zespołu.
- Bardzo prawdopodobnie pracować w assemblerze
=> Przydaje się do profilowania i debugowania. Średnio zaglądam w assemblera wygenerowanego przez kompilator raz w miesiącu. Nigdy nie pisałem kodu z palca
- Musisz mieć odpowiednio wysoką znajomość C ( jak nie rozumiesz konstruktów języka z randomowego wycinka kodu kernela nie licząc makr to masz zaległości w temacie języka )
=> Absolutnie nie. Im bardziej egzotycznych konstrukcji używasz, tym gorzej dla Ciebie i Twojego zespołu.
- Bardzo prawdopodobnie pracować w assemblerze
=> Przydaje się do profilowania i debugowania. Średnio zaglądam w assemblera wygenerowanego przez kompilator raz w miesiącu. Nigdy nie pisałem kodu z palca
@dantey: to jak masz opcję uciekałbym do Niemiec na studia. Tu jest Januszerka na większości uczelni. Akademicka nauka programowania jest przestarzała i daleko za obecnymi standardami
- 0
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
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
@piwuch: myślę, że jak dodasz jeszcze do zapytania numer sekwencji i sumę kontrolną, to:
- przy zakłóceniu nie odpowie ci inne urządzenie, które przypadkiem się wylosowało przez przekręcenie kilku bitów
- po numerze sekwencji będziesz wiedział, że to odpowiedź na aktualne pytanie, a nie coś starego
Jeśli masz crc, to chyba nie ma sensu żadne porównywanie kilku kolejnych odpowiedzi. Jeśli szansa na niezauważony błąd jest duża, to zwiększ długość crc
- przy zakłóceniu nie odpowie ci inne urządzenie, które przypadkiem się wylosowało przez przekręcenie kilku bitów
- po numerze sekwencji będziesz wiedział, że to odpowiedź na aktualne pytanie, a nie coś starego
Jeśli masz crc, to chyba nie ma sensu żadne porównywanie kilku kolejnych odpowiedzi. Jeśli szansa na niezauważony błąd jest duża, to zwiększ długość crc
- 0
@piwuch: myślę ze niepotrzebnie wynajdujesz kolo od nowa. Ta metoda ma wiele wad i nie bez powodu należy stosować kody FEC.
Dla przykładu sekwencje takich samych bitów czesto beda mialy podobne przekłamania (wynika to z natury transmisji) wiec dość prawdopodobne ze dostaniesz 3x ten sam blad.
Zastosuj po prostu jakas biblioteke do kodów FEC, np Turbokody albo Redsalomon https://github.com/simonyipeter/Arduino-FEC
Ew możesz zastosować kodowanie splotowe np
Dla przykładu sekwencje takich samych bitów czesto beda mialy podobne przekłamania (wynika to z natury transmisji) wiec dość prawdopodobne ze dostaniesz 3x ten sam blad.
Zastosuj po prostu jakas biblioteke do kodów FEC, np Turbokody albo Redsalomon https://github.com/simonyipeter/Arduino-FEC
Ew możesz zastosować kodowanie splotowe np
- 0
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.























Planuję zrobić urządzenie, które na SoC (typu Raspberry Pi albo raczej tańsze/słabsze) z jakimś Linuxem na pokładzie będzie miało postawiony web server z stronką WWW, na której będą wizualizowane i gromadzone dane typu wskazania jakiś pomiarów, wykresy itd. - i będzie całkiem sporo tego.
O ile sprawy niskopoziomowe ogarniam jako tako, to programowanie webowe w ogóle i będę