Show Posts
Pages: [1] 2
1  Using Arduino / Microcontrollers / Re: Problem using ISP-programmer in Arduino IDE on: June 07, 2011, 08:48:37 am
Thank you Marius for the hint. Calling avrdude under my own control (bypassing Arduino IDE) is enlightning. I found the avrdude-gui very usefull. It gives you full control over all the (confusing but never the less importand) parameters. To solve my problem I ended up with an own programmer and board definition.
for your convenience I attach the avrdude-gui-zip
Have fun!

2  International / Deutsch / externer ISP programmer: welche Änderungen im .boards.txt-file on: May 14, 2011, 09:29:23 am
leider muss ich dieses Thema nochmals aufgreifen, denn alles was ich dazu gefunden und probiert habe, war bisher erfolglos  smiley-roll-sweat

Hier meine Umgebung: arduino-0022, WIN-XP, ein stk500v2 kompatibler ISP-Programmer und ein "nackter" ATmega328 (also ohne Bootloader) auf einem breadboard

Was läuft: ich kann die mit der arduino IDE erzeugten .hex-files flashen wenn ich dazu AVR studio benutze oder auch wenn ich den AVRDUDE getrennt aufrufe (über das GUI). Ich kann also sicher sein, dass meine Hardware funktioniert.

In http://arduino.cc/en/Hacking/Programmer?from=Main.Programmer wird beschrieben was zu tun ist, um aus der arduino IDE heraus sketche direkt auf einen chip zu flashen. Dort heißt es:
If you would rather use an external programmer for only an individual board, you can edit the boards.txt file in the hardware/ sub-directory of the Arduino application directory. Set the board.upload.using parameter to the identifier of one of the programmers in programmers.txt.

Das habe ich gemacht, mein Eintrag lautet jetzt:
##############################################################
atmega328.name=Arduino Duemilanove or Nano w/ ATmega328

atmega328.upload.protocol=avrispv2
atmega328.upload.maximum_size=30720
atmega328.upload.speed=57600
#atmega328.upload.using=
...
atmega328.build.core=arduino
##############################################################

Das klappt aber nicht, denn upload im verbose mode gibt folgende Meldung:
D:\arduino-0022\hardware/tools/avr/bin/avrdude -C
D:\arduino-0022\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -cavrispv2 -P\\.\COM5 -b57600 -D -Uflash:w:C:\DOKUME~1\Jochen\LOKALE~1\Temp\build717809894115893379.tmp\Blink0_5.cpp.hex:i

avrdude: Version 5.4-arduino, compiled on Oct 11 2007 at 19:12:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         System wide configuration file is "D:\arduino-0022\hardware/tools/avr/etc/avrdude.conf"

         Using Port            : \\.\COM5
         Using Programmer      : avrispv2
         Overriding Baud Rate  : 57600
avrdude: ser_open(): setting dtr
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
avrdude: Recv:
avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
...
Was mich irritiert ist das ser_open(): setting dtr. Ich will doch per ISP flashen, da ist kein bootloader auf dem chip der aufgeweckt werden müsste. IWenn ich den AVRDUDE "von Hand" aufrufe, also nicht aus der arduino IDE heraus, dann sieht der Dialog auch ganz anders aus - und klappt auch!

Was mache ich falsch, ist es vielleicht der fehlende atmega328.upload.using=... Eintrag im boards.txt file? Wie müsste der lauten? Irgend jemand da draußen wird doch dieses Problem gehabt und gelöst haben.

Danke für jeden konstruktiven Hinweis!




3  Using Arduino / Microcontrollers / Re: Problem using ISP-programmer in Arduino IDE on: May 13, 2011, 09:38:41 am
Hi Westfl,
hi everybody who can help,
still can't upload from within Arduino IDE to a bare e.g whithout a booloader mega328 chip BUT playing around with standalone avrdude - there is a nice GUI on the net - I figure out arduino uses avrdude V5.4 (V5.10 is the current version). In this version there is no support for the mega328 chip - arduino must use a spcial trick  smiley-confuse  Happily the GUI generate and show the avrdude command lines and let you edit them. So I used your avrdude protocol as a guideline and had success! Avrdude load the .hex file generated by arduino (hard to find). Finaly my program runs on the bare bone chip  smiley

Qustion now what is wong whith my settings. May I ask you sending me a copy of your ...programmers-   ...boards- ...avrdude.config-files and what ever ma bee importand.

Thank you for your patience and advice
MHz

BTW: V5.10 needs a .dll I don't have on my XP system
4  Using Arduino / Microcontrollers / Re: Problem using ISP-programmer in Arduino IDE on: May 06, 2011, 03:57:10 am
@ bubulindo: avrdude by it self? A lot of confusing parameters. At least for a newbee as me. The fine thing of an IDE is you shouldn't care about. Thank you for the hint. May be you can supply me a simple how-to-do

@ westfw: Yes I quit the IDE before making the changes and restart. With your protocol at hand I tried the following:
1 changing boards.txt: from upload.protocol=stk500 to =avrisp
  - nothing changed
2 changing programmers.txt:  avrisp.protocol=stk500v1 to avrisp
  - yippee! avrdude protokoll changed to -cavrisp But still can't get in sync
3 changing programmers.txt: avrisp.communication=serial to =usb
  - system can not find the file
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Binary sketch size: 1018 bytes (of a 30720 byte maximum)
D:\arduino-0022\arduino-0022\hardware/tools/avr/bin/avrdude -CD:\arduino-0022\arduino-0022\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -cavrisp -Pusb -Uflash:w:C:\DOKUME~1\Jochen\LOKALE~1\Temp\build8606223222258895988.tmp\Blink0_5.cpp.hex:i

avrdude: Version 5.4-arduino, compiled on Oct 11 2007 at 19:12:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         System wide configuration file is "D:\arduino-0022\arduino-0022\hardware/tools/avr/etc/avrdude.conf"

         Using Port            : usb
         Using Programmer      : avrisp
avrdude: ser_open(): can't open device "usb": Das System kann die angegebene Datei nicht finden.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 smiley-mad   smiley-mad    smiley-mad

Thank you for all your patience westfw.

Uploading whith ISP works as your experience shows. Whats wrong whith my settings?

still confident MHz
5  Using Arduino / Microcontrollers / Re: Problem using ISP-programmer in Arduino IDE on: May 05, 2011, 02:37:42 pm
Thanks westfw.
The avrdude command line reads:
...hardware/tools/avr/etc/avrdude.conf -v -v -v -v -ptmega328p -cstk500v1 -P

Changing boards.txt in ...\hardware\arduino to:

atmega328.name=Arduino Duemilanove or Nano w/ ATmega328
atmega328.upload.protocol=avrisp  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
atmega328.upload.maximum_size=30720
atmega328.upload.speed=57600

doesn't change anything  smiley-cry

Lost in Arduinos file-preferencees-setup-you-name-it file jungle
Thanks MHz
6  Using Arduino / Microcontrollers / Problem using ISP-programmer in Arduino IDE on: May 05, 2011, 09:27:51 am
I'm quite sure my minimal bredboard setup - just the ATmega328, the quartz, two 22p Cs, a LED and a correct
wired ISP socket is working. I have tested this with my STK500 clone in AVR studio 4 by downloading a .hex
file (actual the Arduino Blink example). AVR Studio reports no error, LED is blinking!
Studio reads the  following Fuse / Lock bits:
ext 0xFD
high 0xDA
low 0xFF
all Lock bits set to no
This seems to be the correcht settings. There is no bootloader burned. To my understandig this is not necessary while using an ISP programmer.

Switching over to Arduino I first set upload.using=avrisp in preferences.txt file. There after I started Arduino IDE and start a verbose upload. Here is what I get (btw: board was set to Ard. Duem. / Nano w. ATmega328  port was set to 5 as in AVR studio)

avedude v5.4
using port com5
using programmer stk500v1
ser_open: setting dtr
sent: 0
  • [20]    (3 times)
recv:               (blank)
stk500_getsync(): not in sync: resp=0x00
send: Q [51] [20]
recv:               (blank)
stk500_disable() protocol error, expected 0x14 resp=0x51
avrdude done. Thank you.  smiley-razz

Can someone interpret this protocol and give me a hint what do I have to change to make it running?
Is anyone out there who has managed to use an STK500 compliant programmer in Arduino IDE? How???

Thank you for any hint!
7  Using Arduino / Installation & Troubleshooting / Re: direct programming via ISP-programmer on: May 04, 2011, 03:09:28 pm
Hi Drew,
I'm using a STK500 clon which works fine in AVR studio and BASCOM enviroment - full stop! As mentioned in my first posting I changed upload.using bootloader to avrisp following the instructions in http://www.arduino.cc/en/Main/Programmer

Now learned how to switch Arduino to verbose mode I see avrdude use the right port and stk500v1 programmer but can't get in sync after setting dtr and sending some characters  smiley-confuse  smiley-confuse  smiley-confuse

Again: the STK c.one works fine in AVR studio and BASCOM enviroment

Thank you for any hint

-MHz

Just an other topic: did you manage ATiny 2013 in Arduino? Great! Let me know how
8  Using Arduino / Installation & Troubleshooting / direct programming via ISP-programmer on: May 04, 2011, 04:35:27 am
ok - from AVR studio I can access (read and wirte flash, the fuses too) the mega 328 chip sitting on an breadboard using an external ISP programmer.
After verifying this I want flash my  sketches from ARDUINO IDE using the upload button. Changed upload.using bootloader to avrisp following the instructions in
  http://www.arduino.cc/en/Main/Programmer
I end up with:

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error: expect 0x41: resp=0x51

What do I have to change and where?

Thanks

BTW: where do I find the .hex files of the sketches? If all went wrong I could burn the chips via Studio. But still hoping there is a direct way from within Aduino IDE.

9  International / Deutsch / Re: PS2-Maus on: February 18, 2011, 07:24:20 am
Hallo funkheld,
welche lib verwendest Du denn? Die hier: http://thepotterproject.net/TPPNews/?page_id=180 ? Wie es dort heißt, ist dies eine neuere Version.
Wie sieht den die "zerpflückte" Maus aus? Hast Du die Encoder ausgebaut, um linkes und rechtes Rad abzufragen? So mit der original Maus-Mechanik kann ich mir das nicht vorstellen - schick mal ein Bild davon.
Ist aber 'ne echt gute Anwendung für eine ausgediente Maus. Ich kann mir vorstellen, dass eine optische Maus dafür ebenfalls gut geeignet sein dürfte. Und dies sogar ohne mechanische "Umbauten". Gleitet einfach über den Boden und sendet x- y- Koordinaten. Meine optische Maus am PC reagiert auch noch wenn sie ca. 5mm über dem Boden schwebt. Genial einfach, super Idee!
Aber zurück zu meinem Problem: welche Bib. setzt Du ein?
Gruß MHz
10  International / Deutsch / PS2-Maus on: February 18, 2011, 05:47:13 am
Eine Maus am Arduino ist vielleicht nur auf den ersten Blick nicht der absolute Renner bei den Sensoren. Jedoch ist sie reichhaltig ausgestattet mit den bis zu drei Tasten, dem Scroll-Rad und den x- / y-Bewegungssensoren. Darüber hinaus ist sie preiswert oder es liegt vielleicht noch eine irgendwo rum. Und zu guter Letzt ist sie mit 4 Drähten (Masse, 5 Volt, Daten und Takt) ruck-zuck angeschlossen.
Gute Gründe es mal zu Probieren. Die zugehörige Bibliothek gibt es hier:
http://thepotterproject.net/TPPNews/?page_id=180
Info zum Maus-Protokoll und der Verdrahtung hier:
http://www.computer-engineering.org/ps2protocol/
und hier:
http://www.computer-engineering.org/ps2mouse/

Das Ganze habe ich in einer halben Stunde installiert und aufgebaut. Mit der Bibliothek kommt ein Beispiel Sketch, das auch auf Anhieb lief. Aber dann: vielleicht bin ich ja zu blöd oder die beiden Mäuse, die ich ausprobiert habe, haben den selben Fehler, jedenfalls zeigt sich bei mir, dass der Status des Scroll-Rades nicht sofort beim Drehen sondern erst nach einer weiteren Maus-Aktion (Bewegen, Taste drücken) "upgedated" wird. Schlimmer noch, Bewegung der Maus im ersten Quadranten, also so schräg nach rechts oben erzeugen auch kein "update" der Koordinaten  smiley-mad Nur wenn in negativer X- oder Y-Richtung (also nach links oder unten) eine Bewegungskomponente mit dabei ist gibt es die neuen Koordinaten zurück geliefert.
Hier mein etwas modifiziertes Programm (die Modifikation bewirkt, dass nur bei Änderungen des Mausstatus eine Ausgabe erfolgt):

Code:
#include <ps2.h>

/*
 * an arduino sketch to interface with a ps/2 mouse.
 * Also uses serial protocol to talk back to the host
 * and report what it finds.
 */

/*
 * Pin 2 is the mouse data pin --green
/* pin 3 is the clock pin     --white
 * Feel free to use whatever pins are convenient.
 */

PS2Mouse mouse(3, 2);
  int old_mouseStatus=0;          //for change tracking
 
void setup()
{
  Serial.begin(9600);
  mouse.init();
}

/*
 * get a reading from the mouse and report it back to the
 * host via the serial line.
 */
void loop()
{
  MouseInfo mouseInfo;
  mouse.getData(&mouseInfo);

  if (mouseInfo.status!=old_mouseStatus){   //print if status has changed
    old_mouseStatus=mouseInfo.status;       //save new status 
    Serial.print(mouseInfo.status, BIN);

    //X change
    Serial.print("\tX=");
    Serial.print(mouseInfo.x, DEC);

    //Y change
    Serial.print("\tY=");
    Serial.print(mouseInfo.y, DEC);

    //Scroll change
    Serial.print("\tSc=");
    Serial.print(mouseInfo.scroll, DEC);

    //Left button down
    Serial.print("\tLB=");
    Serial.print(mouseInfo.leftClick, DEC);

    //Middle button down
    Serial.print("\tMB=");
    Serial.print(mouseInfo.middleClick, DEC);

    //Right button down
    Serial.print("\tRB=");
    Serial.print(mouseInfo.rightClick, DEC);

    //Cumulative X position
    Serial.print("\tCX=");
    Serial.print(mouseInfo.cX, DEC);

    //Cumulatie Y position
    Serial.print("\tCY=");
    Serial.print(mouseInfo.cY, DEC);

    //Cumulative scroll postion
    Serial.print("\tCS=");
    Serial.print(mouseInfo.cScroll, DEC);
    Serial.println();
 //   delay(1000);       //no delay because change tracking surpresses continius update
  }
}

Ich habe mir auch mal die Bibliothek angeschaut. Ist recht tricky und für 'nen Anfänger nicht leicht durchschaubar. Ich selber habe aber nichts auffälliges entdeckt. Würde mich auch wundern bei einer offiziellen Arduino Bib. Ich hatte versucht über die internationalen Foren eine Antwort zu bekommen, leider ohne Erfolg. Und wie ich den Autor der Lib. direkt erreiche habe ich auch nicht heraus gefunden.

Vielleicht hat eine/einer von euch ja mal die Zeit diesem Phänomen nachzugehen und mir auf die Sprünge zu helfen. Würde mich freuen und mir helfen.
Gespannt auf das, was ihr raus finden werden
MHz
11  General Category / General Discussion / ps2 lib: how to get in touch with the ps2 lib author Johnatan Laloz on: February 17, 2011, 12:15:21 pm
looks - to me(!) - if there is an irreguality  in the ps2 lib. Send a request to the forum and got one helpful hint for a workaround. looking forward for a reply of the author of the lib Jonathan Laloz  but he didn't respond to the forum. Now I like to contact him directly how can I reach him? The "contact button on the potter project web page is dead  smiley-sad

The issue: mouse movement in the 1st quadrant didn't generate aprobiate status change also pressing the middle mouse button

The example code from the lib, slightly modified:

Code:
#include <ps2.h>

/*
 * an arduino sketch to interface with a ps/2 mouse.
 * Also uses serial protocol to talk back to the host
 * and report what it finds.
 */

/*
 * Pin 2 is the mouse data pin --green
/* pin 3 is the clock pin     --white
 * Feel free to use whatever pins are convenient.
 */

PS2Mouse mouse(3, 2);
  int old_mouseStatus=0;          //for change tracking
 
void setup()
{
  Serial.begin(9600);
  mouse.init();
}

/*
 * get a reading from the mouse and report it back to the
 * host via the serial line.
 */
void loop()
{
  MouseInfo mouseInfo;
  mouse.getData(&mouseInfo);

   if (mouseInfo.status!=8){   //print if status has changed
//   old_mouseStatus=mouseInfo.status;       //save new status 
    Serial.print(mouseInfo.status, BIN);

    //X change
    Serial.print("\tX=");
    Serial.print(mouseInfo.x, DEC);

    //Y change
    Serial.print("\tY=");
    Serial.print(mouseInfo.y, DEC);

    //Scroll change
    Serial.print("\tSc=");
    Serial.print(mouseInfo.scroll, DEC);

    //Left button down
    Serial.print("\tLB=");
    Serial.print(mouseInfo.leftClick, DEC);

    //Middle button down
    Serial.print("\tMB=");
    Serial.print(mouseInfo.middleClick, DEC);

    //Right button down
    Serial.print("\tRB=");
    Serial.print(mouseInfo.rightClick, DEC);

    //Cumulative X position
    Serial.print("\tCX=");
    Serial.print(mouseInfo.cX, DEC);

    //Cumulatie Y position
    Serial.print("\tCY=");
    Serial.print(mouseInfo.cY, DEC);

    //Cumulative scroll postion
    Serial.print("\tCS=");
    Serial.print(mouseInfo.cScroll, DEC);
    Serial.println();
 //   delay(1000);       //no delay change tracking surpresses continius update
  }
}
12  Using Arduino / Programming Questions / Re: PS2 mouseInfo.status bits on: February 17, 2011, 04:13:37 am
Hi Zach,
thank you for the in deep reply. It helps a lot. Thanks to your impressiv documentation I understand all the mouseInfo.status bits - great!

regards MHz

@ author of the ps2 lib: update of the CS differs from other cummulative values. Is this volitional?
13  Using Arduino / Programming Questions / PS2 mouseInfo.status bits on: February 16, 2011, 10:15:59 am
Using the Potter PS2 lib:

1) It seems to me that only some other mouse events like left / right click or mouse movement trigger the  cumulative scroll position (CS)  update.

2) Decoding the mouseInfo.status bits from right to left:
    left button click
    right bitton click
    middle (scroll wheel) click
    always on
 next two bits
    11 OR 10 combined and therefore some what confusing + / - x and y movement status

To get the status (-change) you have to poll. In some situations it might be better to get an interrupt. Is this possible?

Where can I look for more information. I'm not so familar with classes, methodes ...
14  International / Deutsch / Re: SD lib on: February 12, 2011, 11:47:16 am
Danke für den Hinweis. Ich bin noch bei der Version 21. Einfach drüber Installieren oder wie macht man am besten den update?

15  International / Deutsch / SD lib on: February 12, 2011, 11:30:44 am
Bin Arduino-Neuling und finde mich noch nicht so ganz zurecht.
Ich möchte eine SD-Karte verwenden. Hardware ist kein Problem. ABER: unter Libraries finde ich zwar den Eintrag für die SD librarie, weiß aber nicht, wo ich diese herunterladen kann. Ich denke da wird dann auch ein Beispiel mit dabei sein.

Bitte nicht meckern - jeder hat mal - meist mühsam - angefangen

Danke

P.s. Die SdFAT habe ich gefunden. Die scheint mir aber nur ß zu sein.
Pages: [1] 2