KiCad jako aplikacja przenośna

Wstęp

Do dnia w którym pojawiły się pierwsze zalążki wersji 4.0 programu KiCad EDA Suite dla systemu Windows™ mógł on być bez problemu przenoszony na pamięć przenośną (np. pendrive USB) i z tego nośnika uruchamiany na każdym komputerze, który posiada zgodną z programem wersje systemu operacyjnego.

Wystarczyło, by kompletny folder gdzie zainstalowano program KiCad (np. C:\KiCad) po prostu skopiować na pamięć przenośną i stamtąd bezpośrednio uruchamiać Menedżera projektu.

Edycje 4.0.x

Najnowsze wersje programu, które korzystają z ustalonych w zmiennych systemowych ścieżek dostępu oraz z tabel bibliotek aktywnie wykorzystują specjalnie wydzieloną przestrzeń w systemie Windows™ przeznaczoną na ustawienia programów użytkownika.

W takim przypadku zwykłe przeniesienie całej aplikacji będzie skutkować tym, że pliki konfiguracyjne danego użytkownika oraz jego globalna tabela bibliotek nie będzie dostępna na innych komputerach oprócz tego gdzie KiCad był zainstalowany. Uruchomienie programu na każdym innym komputerze z pamięci przenośnej będzie skutkować utworzeniem domyślnych plików konfiguracyjnych oraz domyślnej tabeli bibliotek na takim komputerze.

Gdyby ograniczyć problem tylko do samej tabeli bibliotek, to rozwiązanie wydaje się dość proste: Należy zadbać, by własną tabelę globalną – jeśli została ona tak skonfigurowana by korzystała z bibliotek użytkownika – przekopiować do folderu share/template na pamięci przenośnej w miejsce domyślnej. W ten sposób będzie się ona kopiować automatycznie na każdy komputer na którym KiCad zostanie uruchomiony po raz pierwszy z tej pamięci, w trakcie uruchamiania CvPcb lub Pcbnew.

kp_rys1

Niestety, pomimo iż dostęp do bibliotek będzie zapewniony – zwłaszcza standardowo dołączanych do programu lub z repozytorium zdalnego na platformie GitHub – to w dalszym ciągu będzie trzeba na nowo konfigurować ścieżki dostępu w zmiennych systemowych, ustawienia kolorów czy inne preferencje użytkownika.

Rozwiązanie

Okazuje się, że problem przeniesienia programu KiCad EDA Suite na pamięć przenośną można rozwiązać kompleksowo, ale trzeba stosować pewne zasady:

  • Biblioteki niezależne od projektu, a utworzone przez użytkownika, bądź te nie będące częścią składową pakietu należy trzymać również na pamięci przenośnej w domyślnych lokalizacjach programu: share/library i share/modules. Można ewentualnie umieścić je w dodatkowych folderach aby zachować porządek, lecz wymagać to będzie drobnych modyfikacji w globalnej tabeli bibliotek, po utworzeniu lokalnej przestrzeni użytkownika.
  • Gdy mamy pewność, że komputery na których będziemy uruchamiać program z pamięci przenośnej będą mieć szybki dostęp do sieci Internet (łącza DSL, LAN, LTE), to biblioteki footprintów możemy przenieść do własnego repozytorium na platformie GitHub i przekierować zmienną KIGITHUB na adres naszego repozytorium lub dodać własną, dodatkową zmienną z tym adresem. Tu również wymagane będzie zmodyfikowanie tabeli bibliotek w lokalnej przestrzeni użytkownika.
  • Używać gdzie tylko się da bibliotek lokalnych dla projektu – także dla Eeschema – z odpowiednio skonfigurowaną lokalną tabelą bibliotek footprintów, tak by projekty również stały się jak najbardziej przenośne.

Lokalna przestrzeń użytkownika

W systemie Windows™ istnieje możliwość zmodyfikowania kilku zmiennych systemowych by na dysku wymiennym utworzyć lokalną przestrzeń na dane i ustawienia użytkownika. W tym celu należy utworzyć odpowiedni plik wsadowy, w którym przed uruchomieniem programu zamienione zostaną domyślne ścieżki.

W tym celu należy za pomocą zwykłego edytora tekstu utworzyć plik wsadowy RunKicad.bat

SET USERPROFILE=%CD%Profile\Pendrive
SET APPDATA=%USERPROFILE%\AppData\Roaming
SET CSIDL_APPDATA=%APPDATA%

SET KICAD_ROOT=%CD%KiCad4
CD %KICAD_ROOT%\bin
kicad.exe

W moim przykładzie plik wsadowy oraz potrzebne foldery są tworzone w głównym katalogu pamięci przenośnej, a sam program został umieszczony w folderze KiCad4.

Teraz, by cały system zadziałał, należy utworzyć kilka folderów zgodnie z umieszczonymi w pliku ścieżkami. Cała struktura potrzebnych folderów wygląda w ten sposób:

W przypadku systemu Windows™ 10 najlepiej utworzyć też folder Desktop by pozbyć się dziwnych komunikatów o braku dostępu do tego folderu przy każdej operacji związanej z wyświetleniem standardowego okna dialogowego z wyborem folderu i nazwy pliku.

W tej chwili można już uruchomić program za pomocą utworzonego pliku wsadowego. W tle pojawi się okienko interpretera poleceń, które najlepiej jest pozostawić otwarte podczas działania programu.

Program sam utworzy potrzebne mu pliki konfiguracyjne i przywróci domyślne ustawienia. Dlatego warto swoje własne ustawienia dodatkowo przenieść z komputera na pamięć przenośną.

Kopiowanie własnych ustawień programu

Gdy po pierwszym uruchomieniu lokalna struktura folderów zostanie uaktualniona, to należy przejść do folderu AppData/Roaming/kicad na dysku komputera z którego został skopiowany wcześniej program i skopiować jego zawartość do folderu Profile/Pendrive/AppData/Roaming/kicad na pamięci przenośnej. Wszystkie osobiste ustawienia powinny się przenieść i być używane bez przeszkód na każdym innym komputerze.

kp_rys2

Jeśli postanowimy, że przeprowadzimy pełną konfigurację programu od nowa, zwłaszcza po zmianach w lokalizacji własnych bibliotek opisanych w pierwszych punktach przytoczonych zasad, to krok z kopiowaniem plików ustawień nie będzie konieczny.

Zmienne systemowe

Teraz można już również dokonać finalnego ustawienia odpowiednich ścieżek dostępu w zmiennych systemowych by odnosiły się do nowej lokalizacji programu.

Można to wykonać za pomocą okna Konfiguracji ścieżek dostępu, lub bezpośrednio edytując plik kicad_common w sekcji EnvironmentVariables:

[EnvironmentVariables]
KIGITHUB=https:\\\\github.com\\KiCad
KISYS3DMOD=G:\\KiCad4\\share\\modules\\packages3d\\
KISYSMOD=G:\\KiCad4\\share\\kicad\\modules\\

Należy zwrócić szczególną uwagę na podwójne znaki ukośnika!

Jednak w tym miejscu czai się kolejny problem. Pamięć przenośna nie zawsze musi mieć tą samą literę dysku. Tutaj też można wykorzystać możliwości jakie daje system operacyjny. Wystarczy dodać nowe definicje zmiennych KISYSMOD i KISYS3DMOD z poziomu pliku wsadowego RunKicad.bat. Przykładowo:

SET KICAD_ROOT=%CD%KiCad4
SET KIGITHUB=https://github.com/KiCad
SET KISYSMOD=%KICAD_ROOT%\share\kicad\modules
SET KISYS3DMOD=%KICAD_ROOT%\share\kicad\modules\packages3d
CD %KICAD_ROOT%\bin
kicad.exe

Polecenia te będą pokrywać ustawienia z plików konfiguracyjnych programu.

Gdybyśmy chcieli uruchamiać program Pcbnew bez udziału Menedżera projektu – np. w celu otwarcia plików PCB z innych programów – należy utworzyć tożsamy plik wsadowy RunPcbnew.bat gdzie w ostatniej jego linii zmieniamy tylko nazwę pliku wykonywalnego na pcbnew.exe.

W systemie Linux

Niestety nie jest mi znany sposób na utworzenie programu KiCad EDA Suite jako aplikacji przenośnej w systemach Linux/Unix. Jeśli ktoś jest obeznany w tym temacie i jest w stanie napisać tego typu poradnik to chętnie zapraszam do skorzystania z formularza kontaktowego.

Najlepszym rozwiązaniem wydaje się utworzenie bądź zmodyfikowanie jakiejkolwiek dystrybucji LiveCD tego systemu z preinstalowanym w niej programem KiCad.

Witryna poświęcona aplikacjom KiCad EDA Suite