-
Data: 2012-05-06 15:59:13
Temat: Re: [OT] Zarządzanie konfiguracją modułów kodu źródłowego
Od: Zbych <z...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
Najnowsze wątki
- 2025-07-18 celnicy pobili policjanta
- 2025-07-18 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-18 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=
- 2025-07-18 Białystok => Kotlin Developer <=
- 2025-07-18 Warszawa => Sales Director (Cloud solutions) <=
- 2025-07-18 Spalinowa trauma
- 2025-07-18 Polska => Senior Key Account Manager <=
- 2025-07-18 Białystok => Programista Kotlin <=
- 2025-07-18 Szczecin => Key Account Manager IT <=
- 2025-07-18 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-18 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-18 Lublin => Delphi Programmer <=
- 2025-07-18 Lublin => Programista Delphi <=
- 2025-07-17 Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- 2025-07-17 Andrzej Duda ułaskawił Roberta Bąkiewicza od zarzutu zapchnięcia ze schodów aktywistki Babci Kasi