S65 Shield - Problem upload

Heiner NoUser 2009-12-21 16:06:10 Link
Ich bekomme beim upload der demos (z.B. Demo1) immer die Fehlermeldung:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

Ich habe ein Freeduino V1.16 mit arduino0017. Habe auch schon
ethernet-shield zum Laufen bekommen.

Habe getestet mit externer Spannung und über USB. Auch erst upload und dann
das s65 aufgesetzt (ging mal - jetzt nicht mehr).

Wo liegt mein Fehler?

Andreas Watterott User 2009-12-21 18:14:10 Link
Hallo,

Ist das richtige Board eingestellt und funktioniert der Upload eines
anderen Sketches, z.B. Digital->Blink.

Gruß
Andreas

Heiner NoUser 2009-12-21 19:38:00 Link
Ja, es ist alles richtig eingestellt. An meinem Netbook betrieben, kann ich
den sketch (Demo1) hochladen, wenn ich das s65 nicht aufgesteckt habe. Wenn
jetzt das s65 aufstecke startet es und der sketch läuft.
Ist aber nervig zu jeder Änderung usb-kabel ziehen, shield ab, usb dran,
uploaden, usb ab, shield aufstecken, usb dran, läuft.
Habe den Demo-sketch auch schon verändert und neu up-geloadet. funktioniert
- nach der methode oben. ;)

Andreas Watterott User 2009-12-21 20:47:31 Link
Macht das Freeduino Board + S65-Shield einen Reset, wenn man den Upload
startet? (Damit der Bootloader ausgeführt wird.)

Gruß
Andreas

Heiner NoUser 2009-12-21 21:07:16 Link
So genau weiß ich es nicht, habe aber einmal die Leds (13, TX, RX)
beobachtet beim upload:
Ohne s65
13 kurz, kurz (glaub nur zweimal) danach RX,TX flott längere Zeit
mit s65
13 3 mal kurz, dann je einmal Rx und TX, danach 13 3 mal: Neustart

Danke für Deine Hilfe Andreas

Andreas Watterott User 2009-12-21 21:47:22 Link
Mh komisch - das Programmieren sollte eigentlich auch mit dem aufgesteckten
S65 funktionieren.
Was passiert, wenn du kurz vorm Upload auf den Resettaster drückst?

Gruß
Andreas

Heiner NoUser 2009-12-22 10:35:33 Link
Huch, meine Antwort von gestern abend ist nicht da.
Also ich bekomme es nicht hin, den Reset-Taster im richtigen Moment
zudrücken oder es geht nicht.
Werde heute abend mal mit externer Stromversorung und mit dem
Zwischenstecken des Ethernet-shields experimentieren. Mit dem kann ich
uploaden ?
Gruß
Heiner

Heiner NoUser 2009-12-22 16:59:05 Link
Jetzt habe ich das ethernet-shield dazwischen - jetzt kann ich uploaden!?
Das Openfiledemo läuft zwar nicht, da ich das ethernet-shield nicht
initialisiert habe, aber immerhin.
Zwischenzeitlich hatte ich auch probiert den Pfostenstecker für den reset
beiseite zu biegen, hat aber keine Verbesserung gebracht.
Stromversorgung mit den drei Etagen über USB.

Gruss
Heiner

Heiner NoUser 2009-12-22 18:03:49 Link
Habe jetzt mal in die Demos für s65 die Initialisierung für das
ethernet-shield eingebaut. So wie im Beitrag von Andreas zu Starbugs sdcard
problemen beschrieben. 
Bekomme aber folgende Fehlermeldung:

D:\arduino\arduino-0017\hardware\libraries\SDcard/integer.h:18: error:
expected unqualified-id before numeric constant

Bad error line: -2

Mein code:
[quote]
#include <[color=#CC6600]Ethernet[/color].h>
#include <[color=#CC6600]S65Display[/color].h>
#include <[color=#CC6600]SDcard[/color].h>
#include <[color=#CC6600]RotaryEncoder[/color].h>

[color=#CC6600]byte[/color] mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
[color=#CC6600]byte[/color] ip[]  = { 192, 168, 23, 146 };

[color=#7E7E7E]//S65-Shield: OpenFileDemo (Display + SD-Card)[/color]


[color=#CC6600]S65Display[/color] lcd;
[color=#CC6600]SDcard[/color] sd;
[color=#CC6600]RotaryEncoder[/color] encoder;


ISR(TIMER2_OVF_vect)
{
  [color=#CC6600]static[/color] uint8_t count=1;

  TCNT2 -= 250; [color=#7E7E7E]//1000 Hz[/color]

  [color=#CC6600]if[/color](--count == 0) [color=#7E7E7E]//100 Hz[/color]
  {
    count = 10;
    sd.[color=#CC6600]service[/color]();
  }
}


[color=#CC6600]void[/color] OpenFile([color=#CC6600]char[/color] *file)
{
  FIL fsrc;     [color=#7E7E7E]//file objects[/color]
  [color=#CC6600]char[/color] buf[32]; [color=#7E7E7E]//file buffer[/color]
  FRESULT res;  [color=#7E7E7E]//result code[/color]
  UINT rd;      [color=#7E7E7E]//file R/W count[/color]
  
  lcd.[color=#CC6600]clear[/color](RGB(255,255,255));

  res = f_open(&fsrc, file, FA_OPEN_EXISTING | FA_READ);
  [color=#CC6600]if[/color](res == FR_OK)
  {
    res = f_read(&fsrc, buf, sizeof(buf), &rd);
    [color=#CC6600]if[/color](res == FR_OK)
    {
      [color=#CC6600]if[/color](rd >=sizeof(buf))
      {
        rd = sizeof(buf)-1;
      }
      buf[rd] = 0;
      lcd.[color=#CC6600]drawText[/color](5, 5, buf, 1, RGB(0,0,0),
RGB(255,255,255));
      [color=#CC6600]return[/color];
    }
  }
  
  lcd.[color=#CC6600]drawTextPGM[/color](5, 5, PSTR([color=#006699]"File
not found!"[/color]), 1, RGB(0,0,0), RGB(255,255,255));
}


[color=#CC6600]void[/color] [color=#CC6600][b]setup[/b][/color]()
{
  [color=#7E7E7E]//init Ethernet[/color]
  [color=#CC6600]Ethernet[/color].[color=#CC6600]begin[/color](mac, ip);

  [color=#7E7E7E]//init LCD[/color]
  lcd.[color=#CC6600]init[/color](4); [color=#7E7E7E]//spi-clk =
Fcpu/4[/color]

  [color=#7E7E7E]//if using Ethernet-Shield this must be init before the
SD-Card[/color]
  [color=#7E7E7E]//(not needed for the Arduino Mega when using
Software-SPI)[/color]
  [color=#7E7E7E]//here is a quick and dirty init:[/color]
[color=#7E7E7E]/*[/color]
[color=#7E7E7E]  DDRB  |=  (1<<2); //SS -> Output[/color]
[color=#7E7E7E]  PORTB &= ~(1<<2); //SS -> Low -> Select Etherne
t-Shield[/color]
[color=#7E7E7E]  SPDR   =  (0xF0);                   loop_until_bit_is_set(SPSR,
 SPIF);[/color]
[color=#7E7E7E]  SPDR   =  ((0x8000 & 0xFF00) >> 8); loop_until_bit_is
_set(SPSR, SPIF);[/color]
[color=#7E7E7E]  SPDR   =  ( 0x8000 & 0x00FF);       loop_until_bit_is_set(S
PSR, SPIF);[/color]
[color=#7E7E7E]  SPDR   =  (0x80);                   loop_until_bit_is_set(SPSR,
 SPIF);[/color]
[color=#7E7E7E]  PORTB |=  (1<<2); //SS -> High -> Deselect Ethernet
-Shield[/color]
[color=#7E7E7E]*/[/color]

  [color=#7E7E7E]//init SD-Card[/color]
  sd.[color=#CC6600]init[/color](4); [color=#7E7E7E]//spi-clk =
Fcpu/4[/color]

  [color=#7E7E7E]//init Timer2[/color]
  TCCR2B  = (1<<CS22); [color=#7E7E7E]//clk=F_CPU/64[/color]
  TCNT2   = 0x00;
  TIMSK2 |= (1<<TOIE2); [color=#7E7E7E]//enable overflow interupt[/color]
  
  [color=#7E7E7E]//interrupts on[/color]
  sei();

  [color=#7E7E7E]//clear screen[/color]
  lcd.[color=#CC6600]clear[/color](RGB(255,255,255));
  lcd.[color=#CC6600]drawTextPGM[/color](5, 5, PSTR([color=#006699]"Mount
card..."[/color]), 1, RGB(0,0,0), RGB(255,255,255));

  [color=#CC6600]if[/color](sd.[color=#CC6600]mount[/color]() == 0)
  {
    lcd.[color=#CC6600]clear[/color](RGB(0,255,0));
    lcd.[color=#CC6600]drawTextPGM[/color](5, 5, PSTR([color=#006699]"Read
file..."[/color]), 1, RGB(255,255,255), RGB(0,255,0));
    OpenFile([color=#006699]"test.txt"[/color]);
  }
  [color=#CC6600]else[/color]
  {
    lcd.[color=#CC6600]clear[/color](RGB(255,0,0));
    lcd.[color=#CC6600]drawTextPGM[/color](5, 5, PSTR([color=#006699]"No
card!"[/color]), 1, RGB(255,255,255), RGB(255,0,0));
  }
}


[color=#CC6600]void[/color] [color=#CC6600][b]loop[/b][/color]()
{

}

[/quote]

Gruss Heiner

Heiner NoUser 2009-12-22 18:05:49 Link
Das mit dem color sieht aber blöde aus. Ist aus der IDE "Cut for Forum" -
hier aber ungeeignet - Entschuldigung.

Heiner

Andreas Watterott User 2009-12-22 19:10:23 Link
Hallo Heiner,

Da haben sich zwei Typdefinitionen überschnitten. Ich habe die v0.11 gerade
aktualisiert und jetzt sollte es gehen.

> Das mit dem color sieht aber blöde aus. Ist aus der IDE "Cut for
> Forum" - hier aber ungeeignet - Entschuldigung.
Das ist für das offizielle Forum von www.arduino.cc gedacht.

Gruß
Andreas

Heiner NoUser 2009-12-22 20:40:53 Link
Jau, jetzt läuft mein freeduino mit ide0017 und ethernet-shield und
s65-shield. Karte erkannt.

Jetzt muß ich da nur noch was raufschreiben. Ich möchte Daten, die ich mit
dem elv-Empfangsmodul RX868-3V von meinem elv em1000-s und -gz empfange
(geht schon), sketch von jeelab, auf der SDcard zwischenspeichern und dann
mit dem arduino webserver ausgeben.

Den webserver habe ich auch probiert.

Nur wie bereite ich die Daten auf dem arduino hübsch als Tages- oder
Wochendiagramm für den webserver auf?

Vielleicht hat jemand einen Rat oder einen Link?

Dir Andreas erst einmal herzlichen Dank. 

Gruss Heiner

Heiner NoUser 2009-12-22 20:50:06 Link
P.S.
Soll natürlich auch auf dem s65-shield zu sehen sein.

Hast Du eine Idee, warum das s65-shield nicht direkt am Freeduino bei
uploaden funktioniert.
Die serielle Schnittstelle ist scheinbar ein klein bisschen anders
beschaltet.

Gruss
Heiner

Andreas Watterott User 2009-12-23 13:28:44 Link
Hallo.

> Nur wie bereite ich die Daten auf dem arduino hübsch als Tages- oder
> Wochendiagramm für den webserver auf?

Das geht z.B. mit Hilfe eines JavaScripts, das ein Diagramm aus einer
Wertetabelle zeichnet:
http://www.lutanho.net/diagram/

> Hast Du eine Idee, warum das s65-shield nicht direkt am Freeduino bei
> uploaden funktioniert.
> Die serielle Schnittstelle ist scheinbar ein klein bisschen anders
> beschaltet.

Das weiß ich leider auch nicht. Ich habe mir den Schlatplan vom Freeduino
angesehen und die Belegung ist eigentlich identisch.

Gruß
Andreas

Antworten

Name
eMail (wird nicht angezeigt)
Betreff (keinen Text nur mit Großbuchstaben; kein HILFE, HELP...)
Text
HTML Tags werden nicht unterstützt und Links werden automatisch erstellt, wenn sie mit http o. ftp beginnen.
Längeren Sourcecode oder Logdateien bitte als Dateianhang einfügen (nur registrierte Benutzer).
Bitte die Zahl eingeben 7058