eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika[OT] Zarządzanie konfiguracją modułów kodu źródłowegoRe: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!news.task.gda.pl!news.mm.pl!.POSTED!not-for-mail
    From: Zbych <z...@o...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
    Date: Sun, 06 May 2012 15:59:13 +0200
    Organization: Multimedia Polska SA
    Lines: 59
    Message-ID: <jo604f$8pe$1@news.mm.pl>
    References: <o...@j...jedi> <jo5q8q$5u9$1@news.mm.pl>
    <o...@j...jedi> <jo5u0n$810$1@news.mm.pl>
    <o...@j...jedi>
    NNTP-Posting-Host: host-62-141-227-0.tomaszow.mm.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.mm.pl 1336312783 9006 62.141.227.0 (6 May 2012 13:59:43 GMT)
    X-Complaints-To: a...@m...pl
    NNTP-Posting-Date: Sun, 6 May 2012 13:59:43 +0000 (UTC)
    User-Agent: Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20120411 Thunderbird/11.0.1
    In-Reply-To: <o...@j...jedi>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:630684
    [ ukryj nagłówki ]

    W dniu 06.05.2012 15:44, Andrzej Ekiert pisze:
    > Dnia 06-05-2012 o 15:23:06 Zbych <z...@o...pl> napisał(a):
    >
    >>>> A to już zwykłe makra, definy, funkcje inline, specjalizacje szablonów
    >>>> nie wystarczą do ukrycia fizycznego położenia pinów?
    >>>
    >>> Wystarczą, ale dla każdego projektu trzeba te define'y inaczej ustawić -
    >>> ta sama nazwa, inna wartość.
    >>
    >> Zgadza się i zakładam, że rzeczy specyficzne dla projektu trzymasz w
    >> osobnym pliku, który leży sobie w katalogu z projektem i jest przez
    >> bibliotekę tylko includowany. Zgadza się?
    >>
    >
    > Tak.

    No to dużo więcej już nie wymyślisz. Co najwyżej możesz w przypadku
    dokładania nowych stałych/parametrów napisać:

    #ifndef XYZ
    #define XYZ 12345
    #endif

    Wtedy biblioteka ze starym programem nie będzie krzyczała, że nie ma
    zdefiniowanych parametrów.

    >
    >> Ja jak na razie na I2c wieszałem jakieś pamięci, RTC itp. badziewie.
    >> Do jego obsługi wystarczały mi 3 funkcje typu wyślij blok danych,
    >> odbierz blok danych, sprawdź gotowość. Współdzielenie zabezpieczałem
    >> mutexami.
    >> Funkcje RTC czy obsługa pamięci wprost wołały te funkcje. W innym
    >> procku dodawałem tylko inną bibliotekę do I2c. Interface zostawał ten
    >> sam. Zero narzutu.
    >
    > Masz driver do RTC w bibliotece. Procesor ma 2 moduły sprzętowe I2C1 i
    > I2C2. Musisz przekazać driverowi RTC informację, funkcje dotyczące
    > którego modułu ma wywołać: odbierz_blok_danych_z_I2C1() czy
    > odbierz_blok_danych_z_I2C2(). Albo to robisz na poziomie #define, albo
    > definiując "driver" do I2C i przekazując modułowi I2C handle do tego
    > drivera (jest narzut). Ja chcę na poziomie #define, ale pragnę sobie
    > usprawnić zarządzanie takimi #define.

    No to użyj tego define. I tak jak podałem wyżej możesz zrobić domyślną
    definicję dla starych programów.

    >>>> Wolę zrobić kopię biblioteki z projektu x-1 i nanieść poprawki.
    >>>
    >>> Wykrywasz błąd albo robisz usprawnienie w x-1 i dopiero masz poprawianie
    >>> wszędzie gdzie ta kopia jest. Brrr...
    >>
    >> To jest niewątpliwie wada. Ale powiedzmy sobie szczerze, ile można
    >> spieprzyć w kodzie obsługi I2C, uarta itp?
    >
    > Spieprzyć zawsze można. Poza tym moduł może być czymś bardziej złożonym.
    > Np. implementacją protokołu sieciowego.

    Takie rzeczy jak protokół to już dla mnie warstwa wyższa :-) i tu nie
    mam obaw o współdzielenie.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: