Skocz do zawartości

Elvis

Użytkownicy
  • Zawartość

    2595
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    189

Posty napisane przez Elvis


  1. Autor wątku przecież napisał:

    "Niby wszystko działa poprawnie, to znaczy w STM Studio widzę zmiany wartości w ADC_Value[1] oraz ADC_Value[2],"

    Więc jeśli to prawda, konwersja działa poprawnie. Tak jak napisałem, proponuję dodać, volatile, a jak nie pomoże to można będzie szukać dalej.


  2. Nie wiem o co chodzi z tym "certyfikatem dopuszczenia do obrotu". Deklarację CE w większości przypadków wystawia producent i to producent dopuszcza swój wyrób do obrotu: https://www.ce-polska.pl/deklaracja-zgodnosci-ue

    Natomiast na podstawie jakich przesłanek wystawia deklarację - to sprawa i odpowiedzialność producenta. Ale każdy kto jest odważny może taki papierek podpisać i oznaczyć wyrób jako zgodny z CE. Natomiast jeśli będzie to poświadczenie nieprawdy to już sprawa tego kto nieprawdę napisał.

    Są dziedziny, np. sprzęt medyczny, gdzie konieczny jest zewnętrzny audyt oraz udział jednostki notyfikowanej. Przykład takiej deklaracji: http://ascor.pl/certyfikaty_2020/pl/Dyrektywa 93_42_EEC.pdf

    W przypadku kalkulatora nie ma raczej takiego wymogu. Przykład jak wygląda deklaracja zgodności dla Raspberry Pi: https://www.raspberrypi.org/documentation/hardware/raspberrypi/compliance/rpi_DOC_4b_EU_RED.pdf

    edit: Jeszcze dla ułatwienia deklaracja dla starszego RaspberryPi https://www.raspberrypi.org/documentation/hardware/raspberrypi/compliance/rpi_DOC_bplus_CE.pdf Jest tutaj o tyle łatwiej, że nie ma WiFi czy BT - ale jak widać do badania EMC nie wystarczy stare radio.

     


  3. Nie sprawdzałem jak jest w najnowszych wersjach, ale dawniej takiej opcji nie było - i nie był to błąd, ale raczej założenie projektowe (it's not bug, it's a feature).

    Problemem w przypadku tak skomplikowanych układów jak STM32MP1 jest konieczność współdzielenia peryferiów między równolegle działające rdzenie i systemy. GPIO są dobrym przykładem - projektant musi zadecydować, które piny przydzielić dla Linux-a, a którymi ma sterować rdzeń M4. Ponieważ w wersji "produkcyjnej" najpierw startuje Linux i to on jest głównym systemem, za konfigurację GPIO odpowiada ten system. Dlatego CubeMX nie generuje kodu inicjalizującego GPIO dla M4 - po prostu ma to zrobić A7. CubeMX generuje za to plik konfiguracyjny, czyli device-tree, który należy dodać do jądra linuxa - dzięki czemu piny zostaną skonfigurowane poprawnie jeszcze zanim kod na M4 zacznie działać.

    Niestety takie podejście nie sprawdza się w przypadku trybu inżynierskiego i w nim trzeba konfigurację GPIO napisać samemu. Ale to chyba nie jest zbyt skomplikowane zadanie 🙂

     

    • Lubię! 2

  4. Skoro nie masz jeszcze kopii zapasowej systemu, najwyższy czas ją przygotować: https://forbot.pl/blog/kopia-zapasowa-raspberry-pi-jak-skopiowac-karte-microsd-id29561

    Na szczęście w przypadku RaspberryPi bardzo łatwo jest zachować dane - wystarczy wyjąć kartę microSD, a wszystko od nowa zainstalować na innej. Na koniec można po prostu przekopiować pliki konfiguracyjne, dane, bazy, itd.

    Oczywiście najlepiej byłoby naprawić obecny system, ale i tak lepiej tego nie robić na aktualnej i jedynej kopii. Więc jeśli chcesz poeksperymentować, to najpierw zrób backup, następnie odwiń go na inną kartę i zacznij naprawiać system. Jak coś pójdzie źle to zawsze można próbować jeszcze raz.


  5. 4 minuty temu, fast_rabbit napisał:

    @Elvis, proszę powstrzymać się od hejtu. Nie potrafisz, nie chcesz, daj zrobić innym.

    Nigdzie i nikogo nie hejtowalem, chyba pod hejt znacznie bardziej pasuje zarzucanie komuś braku umiejętności.

    Jedyne co napisałem to ostrzeżenie, bo moim zdaniem w przypadku takich "anonimowych" ogłoszeń trzeba być ostrożnym. Szkoda czasu np. na pisanie oferty skoro ktoś przykładowo chce udowodnić że projekt powinien kosztować daną kwotę, zrobić badanie rynku, albo po prostu zyskać trochę rozgłosu w sieci.

    • Lubię! 2

  6. @atMegaTona nie słyszałeś nigdy o ogłoszeniach dawanych zupełnie nie po to żeby wykonać projekt? O tym właśnie pisałem odnośnie ostrożności - bo wcale nie jestem pewien, czy to ogłoszenie faktycznie ma na celu znalezienie wykonawcy, czy np. sprawdzenie za ile takie projekty są wykonywane, albo po prostu zrobienie komuś reklamy. Oczywiście mogę się mylić, ale jakoś zakres wymagań idealnie pokrywa się z tym co w EP i EdW opisuje jeden z zablokowanych użytkowników tego i innych forów... Więc jak dla mnie to nie ma żadnego budżetu, żadnego projektu, jest ogłoszenie, na które wielu naiwnych może się nabrać.

    • Lubię! 2

  7. @Harnas dziękuję za uwagi. Odczyt z plików, jak i samo przygotowanie danych jest oczywiście zrobione absolutnie nieprofesjonalnie. To co opisałem powstawało jako "dłubanina" metodą prób i błędów, a moim celem było uruchomienie przykładu z X-CUBE-AI, planowałem później wszystko zrobić od początku, ładniej, lepiej, i poprawniej oraz z ciekawszym czujnikiem (chciałem użyć czujnik gestów https://botland.com.pl/pl/czujniki-gestow/3065-apds-9960-czujnik-rgb-i-wykrywacz-gestow-33v-i2c-sparkfun-sen-12787.html). Plan był dobry, ale zabrakło czasu, więc opisałem po prostu to co udało mi się zrobić, za niedoskonałości bardzo przepraszam.


  8. Bez podstaw pythona raczej nie da się używać keras, ani nic sensownego w AI zrobić. Nie musisz być od razu pythonowym guru, ale postawy są niezbędne. Inaczej zostanie tylko uruchamianie gotowców i zabawa przygotowanymi przez kogoś sieciami.


  9. Wydaje mi się, że jeśli ktoś chce poznać lepiej uczenie maszynowe, to do tego przyda się dobra książka i bardzo mocny komputer, najlepiej z solidną kartą graficzną.

    Natomiast użycie AI w systemach embedded to trochę inny temat. I tak trzeba sieć wytrenować na PC, później zostaje już tylko konwersja na mikrokontroler i w tym faktycznie może pomóc AI-CUBE. Miałem o tym napisać artykuł, ale trochę zabrakło czasu.

    • Lubię! 1

  10. Pytanie tylko czy @SOYER jest bardziej zainteresowany nauką budowy frezarek, czy raczej ich wykorzystania. Bo zbudowanie frezarki, czy drukarki to dopiero początek. Ale oczywiście jak ktoś ma mnóstwo wolnego czasu i dużo pieniędzy, to niech buduje od podstaw, w końcu kto bogatemu zabroni 😉


  11. Dyskusja nad wyższością jednego środowiska / procesora / biblioteki nad innym nie ma sensu. Żadne z tych rozwiązań nie jest absolutnie lepsze, ani absolutnie gorsze - gdyby tak było już dawno zostałoby tylko to lepsze.

    Natomiast nie mieszajmy edytora / środowiska z biblioteką. Arduino IDE jest... proste i chyba to wszystko co można napisać. Ale to dla wielu osób, szczególnie początkujących może być zaletą. Powiem więcej - nawet dla dawno temu początkujących może to być zaleta. Jak potrzebuję szybko przetestować np. nowy moduł, do którego mam bibliotekę pod Arduino to używam Arduino IDE. Bo tak jest po prostu najszybciej. Później mogę używać innych środowisk, bibliotek, czy mikrokontrolerów, ale żeby szybko przetestować np. nowy mały wyśwetilacz, albo czujnik użycie Arduino jest po prostu oszczędnością czasu.

    Na koniec jeszcze odnośnie wydajności bibliotek - wcale nie zawsze biblioteki HAL są szybsze od Arduino. Przyznam, że pisząc artykuł o wyświetlaczach przeżyłem ogromne rozczarowanie biblioteką HAL. Jeśli będziemy wysyłać dane w małych paczkach, np. po bajcie, biblioteki Arduino są wydajniejsze niż HAL... Okazuje się, że implementacja od ST jest tak przekombinowana, że zajmuje to mnóstwo czasu. Natomiast Arduino zapisuje od razu do rejestrów. Ot taka ciekawostka.


  12. O stm32mp1 są na Forbocie co najmniej dwa artykuły:

    https://forbot.pl/blog/nowe-stm32-ze-wsparciem-dla-linuksa-cos-dla-fanow-rpi-id33971

    https://forbot.pl/blog/stm32mp1-co-warto-wiedziec-jak-zaczac-id37003

    Ogólnie ten mikroprocesor jest bardziej interesujący, ale raczej ma niewiele wspólnego z instalacją Linux-a na mikrokontrolerach, co było opisane w tym temacie.

    Co do komunikacji między rdzeniami, to używana jest biblioteka OpenAMP (https://github.com/OpenAMP/open-amp/wiki/OpenAMP-Overview), ale najprościej jest użyć wirtualnego uart-a. W przykładach od ST znajdziemy gotowe rozwiązanie, które działa tak jakby oba rdzenie były połączone łączem szeregowym (po stronie linuxa używamy zwykłego urządzenia /dev/tty*, po stronie mikrokontrolera mamy gotowe funkcje do wysyłania i odbierania danych).

    Natomiast przypisanie GPIO i większości modułów peryferyjnych można samemu zmodyfikować, więc jeśli chcemy to rdzeń cortex-m może kontrolować więcej GPIO niż cortex-a. Wszystko zależy od zastosowania. Niektóre moduły oraz ich piny (np. pamięć DDR) są dostępne tylko dla cortex-a, ale na pewno nie jest to większość.

    • Lubię! 2
×
×
  • Utwórz nowe...