-
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.
Następne wpisy z tego wątku
- 06.05.12 16:10 Andrzej Ekiert
- 06.05.12 16:24 Jacek Domański
- 06.05.12 16:28 Zbych
- 06.05.12 16:42 Sebastian Biały
- 06.05.12 16:50 Andrzej Ekiert
- 06.05.12 16:55 Michoo
- 06.05.12 17:08 Andrzej Ekiert
- 06.05.12 17:21 mk
- 06.05.12 17:35 Sebastian Biały
- 06.05.12 17:41 marek
- 06.05.12 17:41 Andrzej Ekiert
- 06.05.12 18:18 mk
- 06.05.12 18:32 Zbych
- 06.05.12 19:00 Sebastian Biały
- 06.05.12 21:32 mk
Najnowsze wątki z tej grupy
- Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
- Odkurzacz Smapp Dynamic - dawny Zelmer
- Nagra IV i zewnętrzny pilot
- Fejk muzyczny czy nie fejk
- Raspberry Pi 3 Model B+
- Kuchenka elektryczna
- test
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
Najnowsze wątki
- 2025-03-20 Grubość socketa AM4+procesor
- 2025-03-20 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-03-20 Warszawa => Senior Programmer C <=
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-20 Greenpeace została zobowiązana do zapłaty niemal 667 mln dolarów [USA,wyrok sądu]
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-19 Brak ograniczeń dla chińskiego kapitału - wam nie do rządu, tylko na zmywak do chińskiej knajpy!!!
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 szal-Unia == federacja policyjna
- 2025-03-19 Polsza == państwo policyjne
- 2025-03-19 Grzegorz Płaczek o programie szczepień dzieci. ,,Stworzono eldorado dla firm farmaceutycznych"
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 Gemini
- 2025-03-19 Mokry sen Zenka :)
- 2025-03-19 Re: Dlaczego tak odstają od Tesli?