ATNEL tech-forum
https://forum.atnel.pl/

Wiele wersji jednego projektu (Eclipse)
https://forum.atnel.pl/topic1533.html
Strona 1 z 1

Autor:  rezasurmar [ 13 wrz 2012, o 13:23 ]
Tytuł:  Wiele wersji jednego projektu (Eclipse)

Mam pytanie, głównie do Mirka, oraz innych zaawansowanych użytkowników eclipsa.

W jaki sposób sobie radzicie przy projektach wymagających różnych opcji (zależnie od zamówienia np).

Przykład samych bibliotek Mirka do obsługi LCD, po przez włączanie poszczególnych opcji włączamy bądź wyłączamy potrzebne opcje, ale to akurat jest jeszcze w miarę do ogarnięcia. Ale załóżmy, że mamy większy projekt złożony z wielu opcji dodatkowych. Np. jeden klient chce urządzenie po BT, jeden po Lan a jeszcze inny po modbus (co ostatnio próbuję ogarnąć) i teraz główny trzon programu zostaje praktycznie bez zmian, osobno każda biblioteka z LAN, BT, MODBUS itp. jest włączana w opcjach programu, przez co po pierwsze nie jest kompilowana niepotrzebnie, w dodatku w samym urządzeniu jest np. napis BT, LAN itd, ale tylko "zapłacona" opcja jest uaktywniona.

Jak sobie radzicie?, dzielicie cały projekt na wersje w workspace, czy jest jakaś możliwość plik, np. z rozpiską opcji które włączam przy kompilacji? coś na kształt trybu serwisowego. Np. wczytuję plik np. z opcją BT i odpowiednio wszystkie opcje w programie się włączają i nie muszę ręcznie grzebać w opcjach jak w przypadku bibliotek LCD.

Mam nadzieje, że w miarę jasno przedstawiłem problem. W zasadzie zapytanie.

Autor:  rezasurmar [ 13 wrz 2012, o 13:56 ]
Tytuł:  Re: Wiele wersji jednego projektu (Eclipse)

Właśnie to chciał bym jako ostateczność, bo taki pomysł też miałem. Wolał bym to jednak podzielić na 3osobne biblioteki BT.C LAN.C MODBUS.C i kompilować zależnie od tego co akurat potrzebuje, ale nie chciał bym grzebać w kodzie za każdym razem. Tylko by to było w osobnym pliku. Pewnie da się to zrobić w jakiś sposób dyrektywami preprocesora.

Autor:  rezasurmar [ 13 wrz 2012, o 14:17 ]
Tytuł:  Re: Wiele wersji jednego projektu (Eclipse)

W make bym się nie chciał bawić, ale faktycznie z tym config.h może być strzał w dyche. Chociaż musiał bym do edycji tego skrobnąć coś do konfiguracji niezależnie od eclipse, by każdy mógł to skonfigurować a potem zapuścić tylko kompilację i wgrać program. (wiecznie żyć nie będę ;)).

Autor:  mirekk36 [ 13 wrz 2012, o 14:36 ]
Tytuł:  Re: Wiele wersji jednego projektu (Eclipse)

rezasurmar napisał(a):
W make bym się nie chciał bawić, ale faktycznie z tym config.h może być strzał w dyche. Chociaż musiał bym do edycji tego skrobnąć coś do konfiguracji niezależnie od eclipse, by każdy mógł to skonfigurować a potem zapuścić tylko kompilację i wgrać program. (wiecznie żyć nie będę ;)).


Spójrz sobie na jeden z projektów w zielonej książce do podczerwieni, ten w którym można wkompilować sobie w zależności od jednego parametry w pliku nagłówkowym obsługę dowolnego pilota podczerwieni (tzn jednego z kilku dostępnych w programie) ... a do tego jak się jeszcze doda opcjonalnie mapowanie klawiszy pilotów to wychodzi właśnie coś takiego na kształt o czym piszesz dokładnie ;)

Masz więc przykłady jak można posługiwać się w tym celu nie tylko dyrektywami preprocesora - bo to JEDNA strona medalu .... spróbuj sobie przeanalizować jak są konstruowane i powiązane pozostałe pliki .... Myślę że to może się przydać ... i na podstawie tego rozwijać dalej wg własnych potrzeb ;)

Autor:  rezasurmar [ 13 wrz 2012, o 14:39 ]
Tytuł:  Re: Wiele wersji jednego projektu (Eclipse)

Dzięki Mirku, tak przypuszczałem, że gdzieś w książce jest to już opisane ;).

Autor:  mirekk36 [ 13 wrz 2012, o 14:47 ]
Tytuł:  Re: Wiele wersji jednego projektu (Eclipse)

rezasurmar napisał(a):
Dzięki Mirku, tak przypuszczałem, że gdzieś w książce jest to już opisane ;).


dokładniej mówiąc - już zajrzałem - na DVD masz lekcję:

L02_odbiornik_IR_uniwersalny

a w niej w folderze IR_UNI masz obsługę do wyboru pilotów: Sony, Samsiung ;) , JVC i oczywiście RC5

jak mówię troszkę trzeba pożonglować plikami *.h ale daje radę ładnie to porobić wszystko

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/