Skocz do zawartości

Visual Studio Code biblioteki dla wszystkich projektów


robo1973

Pomocna odpowiedź

Witam !!

W jaki sposób dołączyć do vcs loklaizację bibliotek dla wszystkich projektów ?

Używam wtyczki PlatformIO. Można dostać pojedyncze biblioteki do jednego projektu co jest uciążliwe.

Zależy mi na takiej konfiguracji żebym maił dostęp do C:\Program Files (x86)\Arduino\libraries

pozdrawiam !!

Link do komentarza
Share on other sites

Kiedyś było nawet klikalne dodawanie bibliotek do globalnych zasobów platformio. Z różnych przyczyn stało się "deprecated" i znikło.

Możesz w platformio.ini projektu dać

lib_extra_dirs=/sciezka/do/biblioteki

 

Dużo lepiej dodawać je lokalnie do każdego z projektów przez

lib_deps=

 

Miejsce na dysku w dzisiejszych czasach nie stanowi problemu.

Co np. zrobisz jak np używasz biblioteki do tft i w jednym projekcie masz zupełnie inny wyświetlacz albo piny sterujące niż w drugim? A ustawiasz konfigurację w jakimś conf.h biblioteki?

 

A jak BARDZO chcesz mieć globalnie widoczne biblioteki, to z terminala:
pio lib --global install <your library here>

Tylko po co biedny parser ma przeszukiwać te wszystkie ścieżki, skoro mogą być one zupełnie nie używane w projekcie.

  • Lubię! 1
Link do komentarza
Share on other sites

ok dziękuję

Spytam Jak w programie głównym mam zdefiniowane swoje funkcje np

void jazda_przod(int predkosc) {
  
  //przód 
analogWrite(motor1_predkosc,predkosc);
analogWrite(motor2_predkosc,predkosc);

digitalWrite(motor1_kirunek,0); 
digitalWrite(motor2_kirunek,1);
}

W arduino IDE mogłem wywołać funkcję w loop

jazda_przod(170);

a w platformio. nie widzi funkcji Czy trzeba ją jakoś inaczej zdefiniować ?

Link do komentarza
Share on other sites

Bo arduino uczy lenistwa (czytaj: złych nawyków) - nie musisz deklarować funkcji przed jej użyciem.

Zdefiniuj ją na początku kodu (powyżej loop()) albo zadeklaruj.

 

Potem ludzie wychodza z arduino ide do "poważniejszych" środowisk i wielkie zdziwienie że wszędzie błędy i się nie kompiluje 🙂

 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

No... Piszesz jej deklarację 🙂

#include <arduino.h>

void jazda_przod(int predkosc); // <--To jest deklaracja

void setup()

{}

void loop()

{jazda_przod(100);}


void void jazda_przod(int predkosc) //<--A to jest definicja

{

// kod funkcji

}

 

  • Lubię! 1
Link do komentarza
Share on other sites

22 godziny temu, robo1973 napisał:

ok dziękuję

Spytam Jak w programie głównym mam zdefiniowane swoje funkcje np

void jazda_przod(int predkosc) {
  
  //przód 
analogWrite(motor1_predkosc,predkosc);
analogWrite(motor2_predkosc,predkosc);

digitalWrite(motor1_kirunek,0); 
digitalWrite(motor2_kirunek,1);
}

W arduino IDE mogłem wywołać funkcję w loop

jazda_przod(170);

a w platformio. nie widzi funkcji Czy trzeba ją jakoś inaczej zdefiniować ?

W Pio musisz bodajże dodać deklaracje na górze w części globalnej, czyli przed setup() 

void jazda_przod(int predkosc);

 

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.