eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Maszyna stanów do obsługi modułu GSM
Ilość wypowiedzi w tym wątku: 19

  • 1. Data: 2015-10-19 09:33:35
    Temat: Maszyna stanów do obsługi modułu GSM
    Od: Atlantis <m...@w...pl>

    Kiedyś zacząłem pisać maszynę stanów do obsługi modułu ESP8266. Nawet to
    zaczynało działać - kod przeprowadzał inicjację modułu i odbierał
    pakiety UDP. Jednak prace przerwałem, bo w międzyczasie przyjrzałem się
    bliżej SDK od Espressif przekonując się, że dużo łatwiej można to
    załatwić pisząc własny soft dla modułu.
    Projekt planowałem wskrzesić z myślą o jakimś module GSM, ale teraz tak
    sobie myślę... Może pisanie tego samemu jest wyważaniem otwartych drzwi?
    Naprawdę nikt do tej pory niczego takiego nie napisał?
    Wszystkie przykłady jakie widzę w sieci to typowe dla środowiska
    użytkowników Arduino operowanie delay'ami i czekanie w pętli na wynik
    działania ostatniej komendy.
    Nikt nie stworzył biblioteki, która obsługiwałaby taki SIM300/SIM900 bez
    blokowania procesora? Trochę to dziwne, biorąc pod uwagę fakt, że
    komendy AT to rozwiązanie stare jak świat. Może ktoś ma namiary na taki kod?


  • 2. Data: 2015-10-19 11:48:09
    Temat: Re: Maszyna stanów do obsługi modułu GSM
    Od: Marek <f...@f...com>

    On Mon, 19 Oct 2015 09:33:35 +0200, Atlantis <m...@w...pl>
    wrote:
    > Naprawdę nikt do tej pory niczego takiego nie napisał?

    Pytałem pół roku o to samo, odpowiedziałeś, że masz przykłady
    nieblokującwgo kod u w książce Kardasia i coś tam sobie
    wykombinujesz.
    W końcu usiadłem i napisałem nieblokujący driver do sim900d,
    obsługuje sms (text/pdu) bez poolingu, komunikaty sieciowe
    (forwarduje na inny nr), udp, tcp.

    --
    Marek


  • 3. Data: 2015-10-19 12:24:41
    Temat: Re: Maszyna stanów do obsługi modułu GSM
    Od: Atlantis <m...@w...pl>

    W dniu 2015-10-19 o 11:48, Marek pisze:

    > Pytałem pół roku o to samo, odpowiedziałeś, że masz przykłady
    > nieblokującwgo kod u w książce Kardasia i coś tam sobie wykombinujesz.

    To musieliśmy się źle zrozumieć. W "greenbooku" Kardasia faktycznie jest
    całkiem fajnie napisania, nieblokująca biblioteka do obsługi komend AT.
    Tyle tylko, że tutaj chodzi o drugą stronę - sterowanie własnym
    projektem za pomocą tych komend.
    Można więc powiedzieć, że jest to "serwer", a nie "klient". Trudno
    byłoby w prosty sposób przerobić to na mechanizm służący do obsługi
    modemu, gdzie trzeba pilnować kontekstu, czekać na kilka linii
    następujących po sobie itp.

    Twój kod jest może gdzieś dostępny, czy to zamknięty projekt?


  • 4. Data: 2015-10-19 12:42:38
    Temat: Re: Maszyna stanów do obsługi modułu GSM
    Od: Marek <f...@f...com>

    On Mon, 19 Oct 2015 12:24:41 +0200, Atlantis <m...@w...pl>
    wrote:
    > Twój kod jest może gdzieś dostępny, czy to zamknięty projekt?

    Specjalnie tajny nie jest, tylko nie wiem czy się w nim połapiesz, bo
    jest mocno "deweloperski", nieelegancki i nie jest udokumentowany.
    Aczkolwiek działa. Mogę Ci go udostępnić jeśli obiecasz, że go
    rozwiniesz, uporządkujesz bez ograniczania aktualnej funkcjonalności
    i będziesz mnie informował o błędach jakie znajdziesz.

    --
    Marek


  • 5. Data: 2015-10-20 01:03:06
    Temat: Re: Maszyna stanów do obsługi modułu GSM
    Od: Marek <f...@f...com>

    I co, widzę że prpozycja nie do zaakceptowania? :-)

    --
    Marek


  • 6. Data: 2015-10-20 10:25:35
    Temat: Re: Maszyna stanów do obsługi modułu GSM
    Od: Atlantis <m...@w...pl>

    W dniu 2015-10-19 o 12:42, Marek pisze:

    > Aczkolwiek działa. Mogę Ci go udostępnić jeśli obiecasz, że go
    > rozwiniesz, uporządkujesz bez ograniczania aktualnej funkcjonalności i
    > będziesz mnie informował o błędach jakie znajdziesz.

    Chętnie rzucę okiem, chociaż pewnie minie jeszcze kilka tygodni, zanim
    będę mógł się zabrać za projekt wykorzystujący ten moduł.
    BTW dla jakiej platformy powstał oryginalny kod? PIC32?


  • 7. Data: 2015-10-20 10:57:39
    Temat: Re: Maszyna stanów do obsługi modułu GSM
    Od: Marek <f...@f...com>

    On Tue, 20 Oct 2015 10:25:35 +0200, Atlantis <m...@w...pl>
    wrote:
    > Chętnie rzucę okiem, chociaż pewnie minie jeszcze kilka tygodni,
    zanim
    > będę mógł się zabrać za projekt wykorzystujący ten moduł.
    > BTW dla jakiej platformy powstał oryginalny kod? PIC32?

    Tak, ale elementy kodu (hal) charakterystyczne dla pic32
    (inicjalizacja uarta) są wydzielone #ifdef więc łatwo je zastąpić
    własnymi, reszta to czyste C. Jeśli to miałoby pójść pod 8 bitowcem
    to
    jedyne co mógłbyś zrobić to pozamieniać int na char w zwrotach
    funkcji oraz argumentach tam gdzie zakres argumentu w kontekście
    funkcji dopuszcza char/unsigned char, coby zaoszczędzić po jednym
    bajcie. Nie chciało mi się pisać kodu przyjaznego do 8 bitowca
    (używać char gdzie jego zakres jest wystający) bo i tak używam ten
    kod tylko z pic32 a int dla arch. pic32 jest wygodniejszy i szybszy.
    Ale z ciekawości dziś skompiluje ten kod pod 8 bitowca, to będzie
    orientacyjnie wiadomo ile flash/ram biblioteka zajmuje.

    Napisałem krótkie howto do tego api, podaj email to Ci je wyślę, na
    podstawie tej lektury zorientujesz się o poziomie trudności i
    przydatności.

    --
    Marek


  • 8. Data: 2015-10-20 13:12:03
    Temat: Re: Maszyna stanów do obsługi modułu GSM
    Od: Marek <f...@f...com>

    Po skompilowaniu na 8 bitowca kod zajął 11kB flash i 1.1kB ram

    --
    Marek


  • 9. Data: 2015-10-21 09:00:24
    Temat: Re: Maszyna stanów do obsługi modułu GSM
    Od: Atlantis <m...@w...pl>

    W dniu 2015-10-20 o 13:12, Marek pisze:

    > Po skompilowaniu na 8 bitowca kod zajął 11kB flash i 1.1kB ram

    To naprawdę niezły wynik. I tak prawdopodobnie użyję xmegi, albo
    przynajmniej którejś z większych atmeg.
    Jeśli możesz, podeślij wspomniane materiały na gmaila: marekw1986.

    BTW, "filozofia" programowania PIC32 bardzo różni się od ośmiobitowych
    kontrolerów z tej rodziny? Czy też należy je traktować jako naturalne
    "rozszerzenie" i sposób korzystania z GPIO albo konfigurowania
    peryferiów jest podobny?


  • 10. Data: 2015-10-21 11:27:28
    Temat: Re: Maszyna stanów do obsługi modułu GSM
    Od: Marek <f...@f...com>

    On Wed, 21 Oct 2015 09:00:24 +0200, Atlantis <m...@w...pl>
    wrote:
    > BTW, "filozofia" programowania PIC32 bardzo różni się od
    ośmiobitowych
    > kontrolerów z tej rodziny? Czy też należy je traktować jako
    naturalne
    > "rozszerzenie" i sposób korzystania z GPIO albo konfigurowania
    > peryferiów jest podobny?


    Są te same nazwy rejestrów specjalnych (GPIO) np. PORTC, TRISC, LATC
    itd. stąd kod jest przenośny. Ze względu na to, że na pic32 dostęp do
    tych "standardowych" rejestrów w trybie kompatybilności wstecznej nie
    jest już atomowy co może być w niektórych przypadkach problematyczne
    (LATC=0 wykona się w kilku rozkazach) to dodano do każdego rejestru 3
    rejestry specjalne, dzięki którym można przestawiać pojedyncze bity
    atomowo, np LATCSET, LATCCLR i LATCINV, np. LATCSET=2 ustawi tylko
    drugi bit na porcie C bez ingerencji w pozostałe (rozwiązuje problem
    z read-modify-write).

    --
    Marek

strony : [ 1 ] . 2


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: