Arduino vs. error

Hi,
ich muss gestehen, dass ich das Problem bereits versucht habe im englischen Forum zu posten, dabei aber für mich kein Resultat erhalten, daher hier mein Versuch an die deutschsprachige Elektrotechniker-Elite :slight_smile:

Ich habe folgenden error:

core.a(main.cpp.o): In function `main':
/Users/martha/Desktop/Arduino/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/main.cpp:7: undefined reference to `setup'
/Users/martha/Desktop/Arduino/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/main.cpp:10: undefined reference to `loop'

Ich habe bereits verschiedene Versionen durchgetestet: 0018/ 0019/ 0022/....jede sagt das Gleiche.
Dabei ist es lediglich nur die arduino library vom Quadstepper (sparkfun) - und nichts verändert oder hinzugefügt - bloß übernommen:

kann mir jemand bei diesem Problem helfen? Liegt es möglicherweise an der neuesten Version dss Mega 2560? Gerade vor ner Woche gekauft und offensichtlich ganz neu. Irritierend hierbei ist, dass die Examples funktionieren und compilen. Ich habe selbstverständlich auch das richtige Board unter tools ausgewählt.... und angeschlossen ist das Arduino auch :wink:

Ich würde mich wirklich freuen, wenn ihr mir weiterhelfen könntet, irgendwo muss sich der Fehler doch verstecken,
liebe Grüße, Martha

Zu Weihnachten will ich ne Glaskugel.
Ein bisschen Code wäre echt toll - dann könnte man auch den granzdebilen Vote nach bestem Gewissen beantworten. Wie sollen wir rausfinden, wo sich der Fehler versteckt, wenn du das gesamte Programm versteckst?

Tante EDIT:
Generell würd ich auf einen Semikolon ( ; ) irgentwo, wo er nicht hingehört tippen.

Sorry, ich dachte, dass mittlerweile jeder solche Glaskugeln von SonnenscheinTV besitzt :wink:

ne, entschuldige - ich wollte nicht den ganzen Code hier reinposten, weil ich dachte.... - naja falsch gedacht; hier also:

/*
  SparkFun Electronics 2011
  Aaron Weiss, aaron at sparkfun dot com
  Beer-ware License: You can do whatever you want with this sketch.
                     If we meet someday, you can buy me a beer.
                     
  QuadSetpper Example Sketch. For use with an Arduino Mega2560 and 
  a 1.8 degree bipolar stepper motor.

  You must connect the STP pin for each motor as shown below.
  For rest of the pins, you choose where they go. 

  Motor1 STP pin: mega pin 11
  Motor2 STP pin: meag pin 5
  Motor3 STP pin: meag pin 6
  Motor4 STP pin: mega pin 46
  
  Library Usage: 
  
  motor_pins(x,y,z,l,m,n)
  x: motor channel number
  y: enable pin assignment
  z: direction pin assignment
  l: MS1 pin assignment
  m: MS2 pin assignment
  n: MS3 pin assignment
  
  motor_go(x,y,z,l)
  x: motor channel number
  y: step size: 1, 2, 4, 8, or 16
  z: increments for given step size
     for full step: 1 increment = 1.8deg
     for half step: 1 increment = 0.9deg and so on
     negaitve numbers rotate in the opposite direction
  l: torque/speed (0-10), 0 is high speed/low torque/low current
                          10 is low speed/high torque/high current (2.0A max)
                      
  stall(x)
  x: motor channel number
*/

// include the motor library
#include <quadstep.h>

// create an instance of the class motor
quadstep quadstep;

void setup() {
  
  // assign the pin connections
  quadstep.motor_pins(1,A1,36,A8,A9,A10); //ch 1
  quadstep.motor_pins(2,10,9,8,7,4);      //ch 2
  quadstep.motor_pins(3,22,23,24,25,26);  //ch 3
  quadstep.motor_pins(4,27,28,29,30,31);  //ch 4
 
}

//1.8deg = 1step
void loop() {
  
  // step motor 4 for 200 increments CW
  quadstep.motor_go(2,1,-200,2);
  delay(500);
  // step motor 4 for 200 increments CCW
  quadstep.motor_go(2,1,200,2);
  delay(500);
 
  // holds the motor in one position with full torque/current
  //motor.stall(4);
  //delay(500); 
}

Ach ja, fast hätte ichs vergessen: vielen Dank für die schnelle Antwort.
und quadstep.h:

/*

	created by Aaron Weiss, SparkFun electronics 2011
	
	Beerware - do what you wish with this ish

*/

#ifndef quadstep_h
#define quadstep_h

#include "WProgram.h"

class quadstep
{
  public:
	quadstep();
	void motor_pins(int motnum,int motor_enable,int motor_dir,int motor_ms1, int motor_ms2, int motor_ms3);
    void motor_go(int motnum, int step_size, int number_of_steps, int torque);
	void stall(int motnum);
	//void motor1rpm(int direction,int level);
 
  private:
	void current_control(int step);
	int _torque;
	int step1;
	int step2;
	int step4;
	int step8;
	int step16;
	
	int _motor_enable_1;
	int _motor_dir_1;
	int _motor_ms_11;
	int _motor_ms_12;
	int _motor_ms_13;
	
	int _motor_enable_2;
	int _motor_dir_2;
	int _motor_ms_21;
	int _motor_ms_22;
	int _motor_ms_23;
	
	int _motor_enable_3;
	int _motor_dir_3;
	int _motor_ms_31;
	int _motor_ms_32;
	int _motor_ms_33;
	
	int _motor_enable_4;
	int _motor_dir_4;
	int _motor_ms_41;
	int _motor_ms_42;
	int _motor_ms_43;
};
#endif

den code von quadstep.ccp bekomme ich hier leider nicht rein, der ist offensichtlich zu lang.....Vielleicht klärt sich aber auch der Fehler so schon auf, liebe Grüße, Martha

Waaa! Zuerst keinen Code und jetzt erschlägt sie uns mit seitenweise Programmen...
Darf ich davon ausgehen, dass das als erstes gepostete Programm der Sketh ist, der nicht funktioniert wie er soll? Dass in der Lib ein Fehler ist, schließ ich jetzt einfach mal aus, deshalb brauchen wir auch die .h und die .cpp-datei nicht näher ankucken...

@ Marcus; Heute bist Du wenig hilfreich. :wink: :wink:

Hallo Marta.
Die Bibliothek brauchst Du uns nicht zu schicken; die können wir ja von der Seite von Sparkfun herunterladen.

Gehe ich recht in der Annahme, daß der von Dir verwendete Sketch das Beispiel von Sparkfun ist, das der Bibiothek beiligt.

Bei mir kompiliert er ohne Fehlermeldungen mit dem IDE0022.

Das was Du uns sagst ist alles richtig. IDE0018 und IDE0019 kannst Du aber nicht verwenden, da diese den Arduino Mega 2560 nicht kennen, aber mit dem Board Arduino MEGA wird bei diesen das Beispiel ohne Fehler kompiliert. Wahrscheinlich funktioniert es dann nicht auf dem Arduino MEGA 2560.

Andere Frage: Das Standartbeispiel Blink wird richtig kompiliert? Du findest es unter dem menu File - Examples - 1.Basic.

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */

void setup() {                
  // initialize the digital pin as an output:
  pinMode(13, OUTPUT);     
}

void loop() {
  digitalWrite(13, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
  delay(1000);              // wait for a second
}

Grüße Uwe

Ich dachte ihr hättet es längt gelesen :

Note: The Arduino Library currently only works with an Arduino Mega or Mega 2560.

Genug Erklärung ?

df6ih:
Ich dachte ihr hättet es längt gelesen :

Note: The Arduino Library currently only works with an Arduino Mega or Mega 2560.

Genug Erklärung ?

Marta hatte dass ja schon bestätigt.

... Liegt es möglicherweise an der neuesten Version dss Mega 2560? Gerade vor ner Woche gekauft und offensichtlich ganz neu. Irritierend hierbei ist, dass die Examples funktionieren und compilen. Ich habe selbstverständlich auch das richtige Board unter tools ausgewählt.... und angeschlossen ist das Arduino auch :wink:

Grüße Uwe

Hallo, danke für die Antworten....

ja, das Standardbeispiel wird richtig kompiliert, dann werde ich wohl versuchen ein älteres Arduino mega 2560 oder nur mega zu erstehen und werde berichten, besten Dank

Warte mal mit dem Neukauf und erklär nochmal Dein Problem.
Also das Standartbeispiel Blink funktioniert (compiliert, upload un blinkt)?
Das Beispiel der Quadstep Bibiothek funktioniert?
Nein? Dann hast Du vieleicht die Bibiothek am falschen Ort oder im falschen Ordner.
Welches Betriebsystem hast Du?
Grüße Uwe

Hi Martha,

Ich vermute du verwendest einen Mac ? Und Du hast die Ardunio Installation nicht in den Folder Application(Programme) sondern auf den Desktop gemacht ?

main.cpp versucht über <Arduino.h> den Header im gleichen Verzeichnis einzubinden, wobei <> anstatt "" einen Standard Installationspfad voraussetzt - Du hast das Program allerdings auf dem Desktop installiert ( Nicht Standard !)

Mach doch mal einen Installation in "Programme" ( Deutsches MAC OSX) oder "Applications" englische Mac OSX Installation. Dann wird es sicher gehen
Cheers