Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 20 wrz 2019, o 19:04


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 13 wrz 2012, o 13:23 

Pomógł: 0

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.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 13 wrz 2012, o 13:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lis 2011
Posty: 1556
Lokalizacja: Przemyśl / Kraków
Pomógł: 56

Ja widzę 3 opcje:

1. Stworzyć program dla wszystkiego na raz (jak się da), a zapłacone opcje będą tylko wlutowane w płytkę
2. Stworzyć program dla wszystkiego, ale nie na raz :) Odpowiednimi define będziesz włączał/wyłączał kompilację bibliotek do obsługi odpowiedniego modułu + wycinał z pliku main odpowiednie części z nim
3. Stworzyć bibliotekę, która by była spójna dla wszystkich 3ch interfejsów, czyli w samym programie wszystko by wyglądało identycznie dla każdej komunikacji, podmieniałbyś tylko kompilowaną z programem bibliotekę



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 wrz 2012, o 13:56 

Pomógł: 0

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.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 13 wrz 2012, o 14:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lis 2011
Posty: 1556
Lokalizacja: Przemyśl / Kraków
Pomógł: 56

No oczywiście, że się da: includujesz nowy plik o nazwie np config.h i w nim to zmieniasz ;) Możesz też dyrektywy preprocesora dołączać przy kompilacji do ścieżki programu make :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 wrz 2012, o 14:17 

Pomógł: 0

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ę ;)).



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 13 wrz 2012, o 14:36 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 24788
Lokalizacja: Szczecin
Pomógł: 927

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 ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 wrz 2012, o 14:39 

Pomógł: 0

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



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 13 wrz 2012, o 14:47 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 24788
Lokalizacja: Szczecin
Pomógł: 927

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

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO