eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › C++ ośla łączka
Ilość wypowiedzi w tym wątku: 91

  • 1. Data: 2023-02-01 17:20:32
    Temat: C++ ośla łączka
    Od: Robert Wańkowski <r...@w...pl>

    Szkic, który wyświetla znaki w nawiasie zawiera:
    Paint_DrawString_EN(123, 123, "XYZ",&Font16, BLACK, GREEN);

    chcę go zmodyfikować, aby wyświetlał zamiast znaków z cudzysłowu wartość
    tej zmiennej
    mpu.getAngleX()
    Da się tak zamiast tego cudzysłowu po prostu coś tam wstawić?

    Czy zmian trzeba dokonać głębiej?
    Paint_DrawString_EN to jest funkcja z biblioteki i tam trzeba coś zmienić?

    Dzieje się to na Arduino, mój poziom to blinking LED++

    Robert


  • 2. Data: 2023-02-01 17:56:11
    Temat: Re: C++ ośla łączka
    Od: "J.F" <j...@p...onet.pl>

    On Wed, 1 Feb 2023 17:20:32 +0100, Robert Wańkowski wrote:
    > Szkic, który wyświetla znaki w nawiasie zawiera:
    > Paint_DrawString_EN(123, 123, "XYZ",&Font16, BLACK, GREEN);
    >
    > chcę go zmodyfikować, aby wyświetlał zamiast znaków z cudzysłowu wartość
    > tej zmiennej
    > mpu.getAngleX()
    > Da się tak zamiast tego cudzysłowu po prostu coś tam wstawić?

    Powinno sie dac ... tylko fajnie by było, zeby to był string.

    A sprintf podobno nie dziala

    https://blog.protoneer.co.nz/arduino-float-to-string
    -that-actually-works/

    czyli jakby

    char fbuf[20];
    dtostrf(mpu.getAngleX(), 8, 3, fbuf) ;
    Paint_DrawString_EN(123, 123, fbuf,&Font16, BLACK, GREEN);


    >
    > Czy zmian trzeba dokonać głębiej?
    > Paint_DrawString_EN to jest funkcja z biblioteki i tam trzeba coś zmienić?
    >
    > Dzieje się to na Arduino, mój poziom to blinking LED++
    >
    > Robert

    J.


  • 3. Data: 2023-02-01 22:05:55
    Temat: Re: C++ ośla łączka
    Od: Robert Wańkowski <r...@w...pl>

    W dniu 2023-02-01 o 17:56, J.F pisze:
    > char fbuf[20];
    > dtostrf(mpu.getAngleX(), 8, 3, fbuf) ;
    > Paint_DrawString_EN(123, 123, fbuf,&Font16, BLACK, GREEN);


    Działa, dziękuję.

    Parametry można ustawić i wyświetlić. Ale jestem trochę rozczarowany
    prędkością działania, no właśnie nie wiem czego. Biblioteki, procesora?
    Gdybym chciał na bieżąco odczytywać wartość i wyświetlać w pętli, to mam
    kilka fps.

    Taki wyświetlacz:
    https://botland.com.pl/wyswietlacze-lcd-tft-i-ips/19
    040-wyswietlacz-general-lcd-ips-128-240-x-240-px-do-
    raspberry-pi-i-arduino-okragly-waveshare-19192-59044
    22371845.html

    Arduino UNO do tego.

    Robert




  • 4. Data: 2023-02-01 22:33:45
    Temat: Re: C++ ośla łączka
    Od: Janusz <j...@o...pl>

    W dniu 2023-02-01 o 22:05, Robert Wańkowski pisze:
    > W dniu 2023-02-01 o 17:56, J.F pisze:
    >> char  fbuf[20];
    >> dtostrf(mpu.getAngleX(), 8, 3,  fbuf) ;
    >> Paint_DrawString_EN(123, 123, fbuf,&Font16,  BLACK, GREEN);
    >
    >
    > Działa, dziękuję.
    >
    > Parametry można ustawić i wyświetlić. Ale jestem trochę rozczarowany
    > prędkością działania, no właśnie nie wiem czego. Biblioteki, procesora?
    Wyświetlacza, graficzny wymaga dużo danych, masz go chociaż podłączony
    pod fizyczne spi czy też jest programowo sterowany na innych pinach niż
    spi?
    Am prędkość możesz sprawdzic podłączając zwykły alfanumeryczny 2*15 z
    odpowiednia biblioteką.

    > Gdybym chciał na bieżąco odczytywać wartość i wyświetlać w pętli, to mam
    > kilka fps.
    >
    > Taki wyświetlacz:
    > https://botland.com.pl/wyswietlacze-lcd-tft-i-ips/19
    040-wyswietlacz-general-lcd-ips-128-240-x-240-px-do-
    raspberry-pi-i-arduino-okragly-waveshare-19192-59044
    22371845.html
    >
    > Arduino UNO do tego.
    Zmień na esp lub arduino ale z arm-em to pójdzie szybciej.


    --
    Janusz


  • 5. Data: 2023-02-01 22:48:47
    Temat: Re: C++ ośla łączka
    Od: Robert Wańkowski <r...@w...pl>

    W dniu 2023-02-01 o 22:33, Janusz pisze:
    >

    >>
    >> Parametry można ustawić i wyświetlić. Ale jestem trochę rozczarowany
    >> prędkością działania, no właśnie nie wiem czego. Biblioteki, procesora?
    > Wyświetlacza,  graficzny wymaga dużo danych, masz go chociaż podłączony
    > pod fizyczne spi czy też jest programowo sterowany na innych  pinach niż
    > spi?

    Podłączyłem jak pokazali
    https://botland.com.pl/img/art/inne/19040_6.jpg

    Robert


  • 6. Data: 2023-02-02 13:51:31
    Temat: Re: C++ ośla łączka
    Od: Piotr Gałka <p...@c...pl>

    W dniu 2023-02-01 o 22:33, Janusz pisze:
    > W dniu 2023-02-01 o 22:05, Robert Wańkowski pisze:
    >> W dniu 2023-02-01 o 17:56, J.F pisze:
    >>> char  fbuf[20];
    >>> dtostrf(mpu.getAngleX(), 8, 3,  fbuf) ;
    >>> Paint_DrawString_EN(123, 123, fbuf,&Font16,  BLACK, GREEN);
    >>
    >>
    >> Działa, dziękuję.
    >>
    >> Parametry można ustawić i wyświetlić. Ale jestem trochę rozczarowany
    >> prędkością działania, no właśnie nie wiem czego. Biblioteki, procesora?
    > Wyświetlacza,  graficzny wymaga dużo danych, masz go chociaż podłączony
    > pod fizyczne spi czy też jest programowo sterowany na innych  pinach niż
    > spi?
    > Am prędkość możesz sprawdzic podłączając zwykły alfanumeryczny 2*15 z
    > odpowiednia biblioteką.
    >

    Nigdy nie napisałem nawet linijki kodu dla mikrokontrolera to pewnie nie
    powinienem się odzywać, ale hasło "z odpowiednią biblioteką" spowodowało
    skojarzenia z ostatnimi wydarzeniami u nas to napiszę parę słów. A nuż
    jakieś konstruktywne wypowiedzi się pojawią.

    Brat opanowuje teraz procesory EFM32... Silabsa.
    Pierwszy na tapecie był EFM32HG309F64G-C-QFN24 podłączony do USB.
    Ichnia biblioteka USB kompilowała się na 35k i się wieszała. To chyba
    też wyjaśnia dlaczego ich systemy uruchomieniowe (podłączane po USB) się
    wieszają.
    Nie spodziewaliśmy się, że obsługa USB wymaga więcej pamięci niż mamy na
    cały program (64k - 4k (bootloader) - 12k (wirtualny EEPROM) = 48k / 2 =
    24k na program).
    Brat napisał to USB od zera 'po swojemu'. Kompiluje się do 5k. Zapewne
    nie jest tak uniwersalne, ale się nie wiesza i urządzenie poszło do
    ludzi. Najbardziej go dziwiło, że u nich wszystko przez DMA i nie da się
    tego wyłączyć. No jak już jest flaga, że przyszła ramka i jest ona
    dostępna to dlaczego on ma jeszcze teraz czekać aż to się z jednego
    miejsca przeniesie do drugiego skoro akurat to jest to, co on chce jak
    najszybciej obsłużyć.
    Przyczyną wieszania jest błąd w hardware, który daje się obejść
    programowo, ale im się widocznie nie chciało.
    Brat mi tłumaczył, ale nie pamiętam dokładnie (było 2 miesiące temu).
    Problem się pojawia, gdy transmisja ma długość wielokrotności 64 bajtów.
    Ogólnie stwierdził, że był dotychczas rozpieszczony modułem USB z
    AtXmega i nie miał pojęcia, że taki moduł da się tak spieprzyć jak to
    jest w tym Silabsie.

    Drugi na tapetę trafił EFM32PG22C200F128IM40-C. Wybraliśmy 128k bo tyle
    pamięci dotychczas starczało. Bilans będzie chyba mniej więcej taki: 128
    - 8(bootloader) - 24 (EEPROM) = 96 /2 = 48 na aplikację, która (w
    AtXmega) ma poniżej 30k.

    Projekty płytek już poszły do produkcji, a brat zgłębia procesor.
    Kilka dni temu mnie zawołał aby mi pokazać głupotę na którą się natknął
    w ref. manualu. No w życiu by nam do głowy nie przyszło, że ktoś, może
    takie kłody rzucać nam pod nogi w tych czasach, kiedy wszystko się wali
    i nie wyrabiamy się z przerabianiem urządzeń na elementy, które akurat
    rzucili na rynek.
    Widziałem na jego komputerze, nie chce mi się szukać gdzie to jest. Jak
    doszedł do rejestrów do używania sprzętowego AES-a to jest tam napisane
    coś w stylu, że procedury krypto mogą używać tylko specjaliści a reszta
    hołoty powinna korzystać z biblioteki i dlatego pomijają opis tych
    rejestrów.
    Nie wiem co dalej. Czy np. jest szansa aby ta ich biblioteka krypto
    zmieściła się w naszym bootloaderze. My potrzebujemy jakieś 4k, czy im
    wystarczy te drugie 4k?
    Na razie brat chyba podszedł do tego według jednej z metod rozwiązywania
    całek - 'przez zaniechanie'. Wrzucił nasze procedury programowego
    liczenia AESów i SHA, a rozpoznanie jak stosować ich moduł krypto
    zostawia sobie na kiedy indziej.

    Nie szukaliśmy (jesteśmy mocno zajęci - ja już robię następną płytkę -
    tym razem z EFM32TG.. bo te PG22 i PG23 mają za mało nóg).
    Może ktoś wie gdzie można znaleźć opis rejestrów pominiętych w manualu?
    P.G.


  • 7. Data: 2023-02-02 14:21:51
    Temat: Re: C++ ośla łączka
    Od: Janusz <j...@o...pl>

    W dniu 2023-02-01 o 22:48, Robert Wańkowski pisze:
    > W dniu 2023-02-01 o 22:33, Janusz pisze:
    >>
    >
    >>>
    >>> Parametry można ustawić i wyświetlić. Ale jestem trochę rozczarowany
    >>> prędkością działania, no właśnie nie wiem czego. Biblioteki, procesora?
    >> Wyświetlacza,  graficzny wymaga dużo danych, masz go chociaż
    >> podłączony pod fizyczne spi czy też jest programowo sterowany na
    >> innych  pinach niż spi?
    >
    > Podłączyłem jak pokazali
    > https://botland.com.pl/img/art/inne/19040_6.jpg
    Wygląda dobrze, pozostaje napisać obsługę samemu albo zmniejszyć ilość
    danych, np ograniczyć zmiany na wyświetlaczu do pojedynczych elementów a
    nie odświeżać całego.
    Tu cykl filmów jak przyspieszyć grafikę
    https://www.youtube.com/watch?v=jYp51pJJfoI

    --
    Janusz


  • 8. Data: 2023-02-02 14:31:19
    Temat: Re: C++ ośla łączka
    Od: Marek <f...@f...com>

    On Thu, 2 Feb 2023 13:51:31 +0100, Piotr
    Gałka<p...@c...pl> wrote:
    > Brat napisał to USB od zera 'po swojemu'. Kompiluje się do 5k.

    A co konkretnie to USB udaje: HID,CDC?

    --
    Marek


  • 9. Data: 2023-02-02 17:29:11
    Temat: Re: C++ ośla łączka
    Od: "J.F" <j...@p...onet.pl>

    On Wed, 1 Feb 2023 22:05:55 +0100, Robert Wańkowski wrote:
    > W dniu 2023-02-01 o 17:56, J.F pisze:
    >> char fbuf[20];
    >> dtostrf(mpu.getAngleX(), 8, 3, fbuf) ;
    >> Paint_DrawString_EN(123, 123, fbuf,&Font16, BLACK, GREEN);
    >
    >
    > Działa, dziękuję.
    >
    > Parametry można ustawić i wyświetlić. Ale jestem trochę rozczarowany
    > prędkością działania, no właśnie nie wiem czego. Biblioteki, procesora?
    > Gdybym chciał na bieżąco odczytywać wartość i wyświetlać w pętli, to mam
    > kilka fps.
    >
    > Taki wyświetlacz:
    > https://botland.com.pl/wyswietlacze-lcd-tft-i-ips/19
    040-wyswietlacz-general-lcd-ips-128-240-x-240-px-do-
    raspberry-pi-i-arduino-okragly-waveshare-19192-59044
    22371845.html

    Pdf nie dali, to niech sp*. Ale - to ma 60k pikseli.
    16 bit/px, okolo 1Mbit.

    A jaką masz predkosc SPI?

    A te piksele tj jak ustawione?
    W kwadrat i rogow nie ma, czy jakos dokola okregu ustawione?

    J,


  • 10. Data: 2023-02-03 10:16:26
    Temat: Re: C++ ośla łączka
    Od: MKi <...@...com>

    W dniu 2023-02-02 o 13:51, Piotr Gałka pisze:
    >
    > Nigdy nie napisałem nawet linijki kodu dla mikrokontrolera to pewnie nie
    > powinienem się odzywać, ale hasło "z odpowiednią biblioteką" spowodowało
    > skojarzenia z ostatnimi wydarzeniami u nas to napiszę parę słów. A nuż
    > jakieś konstruktywne wypowiedzi się pojawią.
    >
    > Brat opanowuje teraz procesory EFM32... Silabsa.
    > Pierwszy na tapecie był EFM32HG309F64G-C-QFN24 podłączony do USB.
    > Ichnia biblioteka USB kompilowała się na 35k i się wieszała. To chyba
    > też wyjaśnia dlaczego ich systemy uruchomieniowe (podłączane po USB) się
    > wieszają.

    Moje doświadczenia z SiLabsem datują się na 2006 rok i procesory 8051.
    Wtedy biblioteka USB była dobrze napisana i używało się
    jej wygodnie. Jak mogli tak spaprać coś co dobrze działało?


    > Może ktoś wie gdzie można znaleźć opis rejestrów pominiętych w manualu?

    Ja bym zaczął od napisania do SiLabs. Wtedy (rok 2006) odpowiadali
    szybko i chętnie.

    > P.G.

strony : [ 1 ] . 2 ... 10


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: