Sida 1 av 2

Arduino - Lite mer Avancerat

Postat: 24 september 2020, 14:38:59
av 4kTRB
Har efter en del forskning lyckats sätta upp en toolchain för att programmera en Arduino UNO i Eclipse
där jag skapar ett C++ projekt. Lite raketforskning var det allt fråga om.

Jag har följande SOS.cpp program som bygger utan fel och sedan laddar upp fint till UNO-kortet....
SOS_000.png
Jag har satt upp länkade mappar så allt kan hittas, både för AVR kompilatorn och AVR C++ kompilatorn...
SOS_000_Settings.png
Nu till problemet, jag vill inkludera header-filer för att kunna använda mitt Adafruit MAX31865-kort.
Jag har dessa på ett separat ställe under mappen Adafruit_MAX31865_library-1.2.3 (bland mina Hämtade Filer).

Då tänker jag att det ska fungera att länka denna mapp precis som standard- och arduino-mapparna i projektet och även då
tala om i settings för C/C++ Build, Directories AVR kompilatorn och AVR C++ kompilatorn.

Men det fungerar inte för Adafruit_MAX31865.h inkluderar ytterligare .h filer plus att den innehåller en kod som är kopplad till
Arduino IDE beroende på äldre variant eller nyare

Kod: Markera allt

#if (ARDUINO >= 100)
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
Antar att den koden går att modifiera så den alltid väljer Arduino.h för WProgram.h hittas inte.

Någon som har tips vad jag gör för fel när jag länkar till mappen med Adafruit_MAX31865.h och Adafruit_MAX31865.cpp ?

Re: Arduino - Lite mer Avancerat

Postat: 24 september 2020, 14:47:13
av SeniorLemuren
Har inga tips för jag fattar nada av detta. Vill bara fråga vad är fördelen med detta mot att använda Arduino IDE för att programmera Arduino?

Re: Arduino - Lite mer Avancerat

Postat: 24 september 2020, 15:15:29
av 4kTRB
Arduino IDE begränsar dig en del om du vill ha mer kontroll men å andra sidan så blir det så klart mer att kunna.
Exempelvis går det bra att programmera i assembler om man känner för det om man nu kan sätta upp den toolchainen.

Re: Arduino - Lite mer Avancerat

Postat: 24 september 2020, 15:24:35
av 4kTRB
Här har jag länkat till mappen med MAX-headerfilen.
Jag redigerade så det väljer Arduino.h annars blir felet "hittar inte WProgram.h".
Men då blir i stället nästa fel "hittar inte Adafruit_SPIDevice.h"

Och så håller det på om man hittar mappen med Adafruit_SPIDevice.h och länkar till den, då kommer nästa "hittar inte".

Frågan är hur Arduino IDE fixar detta?

Re: Arduino - Lite mer Avancerat

Postat: 24 september 2020, 15:40:37
av sommarlov
SeniorLemuren skrev:
24 september 2020, 14:47:13
Har inga tips för jag fattar nada av detta. Vill bara fråga vad är fördelen med detta mot att använda Arduino IDE för att programmera Arduino?
OT, men jag använder https://www.visualmicro.com/ i Visual Studio. Fungerar fantastiskt.

Re: Arduino - Lite mer Avancerat

Postat: 24 september 2020, 15:46:16
av Klas-Kenny
SeniorLemuren skrev:
24 september 2020, 14:47:13
Har inga tips för jag fattar nada av detta. Vill bara fråga vad är fördelen med detta mot att använda Arduino IDE för att programmera Arduino?
Visst har Arduino IDE fortfarande ingen riktig möjlighet att köra debug?
Det bör man ju rimligen kunna få till om man kör med Eclipse, vilket såklart är en enorm fördel. :)

Re: Arduino - Lite mer Avancerat

Postat: 24 september 2020, 15:49:55
av 4kTRB
Ja Arduino IDE är tänkt för nybörjare. Mycket att kunna ändå om man är ny.
Eclips är inte för nybörjare, alldeles för mycket info och inställningar för att vara nyttigt i det läget.

Re: Arduino - Lite mer Avancerat

Postat: 24 september 2020, 17:15:45
av SeniorLemuren
Ok, för att ha använt Arduino IDE till att ha skrivit program för bland annat trådlös fjärrkontroll av min braskamin och mycket annat som innefattar styrning av stegmotorer, temperaturgivare m.m så tycker jag att det skiljer sig ganska mycket från ett nybörjar-IDE. Jag programmerade tidigare hela styrsystemet till motorerna i båten i MIcrochips MPLAB för PIC och jag ser inget som jag gjorde där som jag inte skulle kunna göra i Arduino IDE.

När det gäller debugging så tycker jag det är överreklamerat. Jag använde det visserligen när jag programmerade Assembler i PIC i början när jag var osäker. Nu använder jag Arduinos seriella monitor via USB om jag behöver debugga något. Det går alldeles utmärkt. Annars kan väl Atmel Studion vara ett alternativ. Det är ju relativt lätt att få igång till Arduino där finns väl alla möjligheten till debugging och Assembler?

Re: Arduino - Lite mer Avancerat

Postat: 24 september 2020, 17:51:32
av 4kTRB
Nej nej Arduino IDE är inte i närheten av Eclipse.
Tex kan du ha content assist, bara ett exempel i raden av överlägset bra saker.
Eclipse_Exempel_000.png

Re: Arduino - Lite mer Avancerat

Postat: 24 september 2020, 21:12:08
av SeniorLemuren
Ok. Så vad skiljer det sig mellan Atmel Studion för Arduino och den där raketforskningen som du lagt ned en massa jobb på då? Atmel Studion är ju ingen raketforskning utan ganska simpelt att installera och använda. Lite intresserad är jag för självklart är det positivt med bra verktyg. Jag använder Visual Studio Code till mina hemsidesbyggen och jag gillar speciellt content assist eller vad det kallas i Visual Studio Code.

Re: Arduino - Lite mer Avancerat

Postat: 24 september 2020, 21:23:11
av 4kTRB
Vet inte vad som skiljer men man får ta reda på vilka gnu- och avr-prylar som behövs, MinGW i mitt fall och AVR-biblioteken i Arduino IDE-nedladdningen
och sedan ange sökvägar och även ha med rätt inställning till ARVDUDE plus lite annat. Har man aldrig utfört detta innan så är det ganska mycket letande
så det blir rätt inställningar och man börjar hänga med på hur det hänger ihop.

Re: Arduino - Lite mer Avancerat

Postat: 24 september 2020, 21:29:28
av 4kTRB
Nu fick jag det att fungera! :)

Via felmeddelande då jag inkluderade en .h fil i taget tills det inte protesterade mer.
Placerade alla nödvändiga header-filer i samma mapp (förtom arduino.h).
Ska försöka länka till SPI-, Wire och twi- i Arduino IDE-installationen då ju de faktiskt
finns där redan.
SOS_002.png
SOS_002_Settings.png

Re: Arduino - Lite mer Avancerat

Postat: 24 september 2020, 21:30:19
av Icecap
Jag använder Eclipse till bl.a. programskrivning till Renesas RX210.

Till den har jag en uppsjö funktioner som jag har liggande i ett gemensamt bibliotek, i detta fall C:\Workspace\Functions.

När jag skapar ett projekt i Eclipse lägger jag till lite saker i sökvägen:

Högerklick på projektet (i Eclipse) o välj "Properties"("Egenskaper" på Svensk).
Gå in på "C/C++ Build" -> "Settings". Detta öppnar Pandoras box typ.

I fliken "Tool Settings" -> "Compiler" -> "Source" lägger jag till (i mitt fall) "C:\Workspace\Functions".

När det hela kompileras ingår hela biblioteket med dessa rutiner i kompilerings-sökvägen och allt fungerar (utom om jag klantar mig...)

Re: Arduino - Lite mer Avancerat

Postat: 24 september 2020, 21:39:24
av 4kTRB
Samma som jag utfört med andra ord fast sökväg till mappen HeaderFiles.

Re: Arduino - Lite mer Avancerat

Postat: 24 september 2020, 21:43:46
av 4kTRB
Open Declaration tycker jag är smidigt.
Man får direkt svaret på mycket.
Eclipse_Exempel_001.png