Arduino függvénykönyvtár írása

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

fodor99 Írta:
„Ha szeretnek irni egy Morse.h -t merre kell elinduljak?”

Kezd el tanulmányozni a Wiringet: http://avr.tavir.hu/modules.php?name=Fo ... ght=wiring

Inkább itt kérdez a tanfolyamon (és Arduinón) túlmutató dolgokról

:wink:
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A c és a h fele


De ez _C_ nyelven kell megírni!
Puska: Arduino libraries vagy library könyvtára...

Ez az Arduino sample
http://arduino.cc/en/Hacking/LibraryTutorial
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Én ezt, hogy kerestem! Azt hittem nincs is az Arduinoban! :roll:
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Erre szoktam mondani:
"- Mi van a pap sírjára írva?
- Tanulmányait befejezte...."

Magamat is papnak érzem sokszor :)
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Hali fodor99!
Boldogultál a SOS.lib szerkesztéssel?
Én a nagyján át vergődtem.
Csak a végén levő, szerkesztőben a Parancsok kiemelése át színezéssel ezt nem értem:

Kód: Egész kijelölése

If you tried the new sketch, you probably noticed that nothing from our library was recognized by the environment and highlighted in color. Unfortunately, the Arduino software can't automatically figure out what you've define in your library (though it would be a nice feature to have), so you have to give it a little help. To do this, create a file called keywords.txt in the Morse directory. It should look like this: 


Morse   KEYWORD1
 dash    KEYWORD2
 dot     KEYWORD2


Each line has the name of the keyword, followed by a tab (not spaces), followed by the kind of keyword. Classes should be KEYWORD1 and are colored orange; functions should be KEYWORD2 and will be brown. You'll have to restart the Arduino environment to get it to recognize the new keywords. 


It's also nice to provide people with an example sketch that uses your library. To do this, create an examples directory inside the Morse directory. Then, move or copy the directory containing the sketch (let's call it SOS) we wrote above into the examples directory. (You can find the sketch using the Sketch > Show Sketch Folder command.) If you restart the Arduino environment (this is the last time, I promise) - you'll see a Library-Morse item inside the File > Sketchbook > Examples menu containing your example. You might want to add some comments that better explain how to use your library.
Ez nem akar össze jönni!
:cry: [/list]
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A többi lib-ben nézd meg a keyword.txt állományt. Az alapján hozod létre a morse-hoz.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Ezeken a trükkökön már túl vagyok.
De miben szerkeszti a TXT állományt?

Mert próbáltam Word, Notepad –al.
Ha az eredeti keywords.txt próbálom, betöltöm elmentem.
Már utána nem fogadja el!
:cry:

Ami le jön inen: http://arduino.cc/en/uploads/Hacking/Morse.zip
keywords.txt Már az sem mükszik!
:?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Notepad++
Én ebben szerkesztek mindent....
Avatar
fodor99
DrótVégénSzéndarab
Hozzászólások: 23
Csatlakozott: 2012. március 24. szombat, 6:00

Hozzászólás Szerző: fodor99 »

kapu48 írta:Hali fodor99!
Boldogultál a SOS.lib szerkesztéssel?
Én a nagyján át vergődtem.
Csak a végén levő, szerkesztőben a Parancsok kiemelése át színezéssel ezt nem értem:

Kód: Egész kijelölése

If you tried the new sketch, you probably noticed that nothing from our library was recognized by the environment and highlighted in color. Unfortunately, the Arduino software can't automatically figure out what you've define in your library (though it would be a nice feature to have), so you have to give it a little help. To do this, create a file called keywords.txt in the Morse directory. It should look like this: 


Morse   KEYWORD1
 dash    KEYWORD2
 dot     KEYWORD2


Each line has the name of the keyword, followed by a tab (not spaces), followed by the kind of keyword. Classes should be KEYWORD1 and are colored orange; functions should be KEYWORD2 and will be brown. You'll have to restart the Arduino environment to get it to recognize the new keywords. 


It's also nice to provide people with an example sketch that uses your library. To do this, create an examples directory inside the Morse directory. Then, move or copy the directory containing the sketch (let's call it SOS) we wrote above into the examples directory. (You can find the sketch using the Sketch > Show Sketch Folder command.) If you restart the Arduino environment (this is the last time, I promise) - you'll see a Library-Morse item inside the File > Sketchbook > Examples menu containing your example. You might want to add some comments that better explain how to use your library.
Ez nem akar össze jönni!
:cry: [/list]
Hi

sajna ma nem volt időm már tovább foglalkozni a dologgal, de rágyúrok mert érdekel... Majd csatolom én is az eredményt.
Avatar
fodor99
DrótVégénSzéndarab
Hozzászólások: 23
Csatlakozott: 2012. március 24. szombat, 6:00

Hozzászólás Szerző: fodor99 »

Robert írta:A c és a h fele


De ez _C_ nyelven kell megírni!
Puska: Arduino libraries vagy library könyvtára...

Ez az Arduino sample
http://arduino.cc/en/Hacking/LibraryTutorial
Köszi, a tutorial kvázi meg is oldja a feladatot :)
Avatar
fodor99
DrótVégénSzéndarab
Hozzászólások: 23
Csatlakozott: 2012. március 24. szombat, 6:00

Hozzászólás Szerző: fodor99 »

kapu48 írta:Hali fodor99!
Boldogultál a SOS.lib szerkesztéssel?
Én a nagyján át vergődtem.
Csak a végén levő, szerkesztőben a Parancsok kiemelése át színezéssel ezt nem értem:
Ez nem akar össze jönni!
:cry: [/list]
Eclipse-el megnéztem, a trükk lényege hogy kulcsszó után 1 azaz egy darab TAB-nak kell lenni , akkor szinez :)

Kód: Egész kijelölése

dot	KEYWORD2
dash	KEYWORD2
Morse	KEYWORD2

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Tovább kerestem a rejtelmes hiba okát.
Amire rá jöttem:
Az alábbi lib.
ARDUINO 1.0 –val kiszínezi a „dot, dash” parancsokat. De nem fordítja le!
ARDUINO 1.0.1 –val nem színezi a „dot, dash” parancsokat. De lefordítja!

Kód: Egész kijelölése

// Morse01.ino

#include "Morse.h"

 Morse morse(13);

void setup()
{
}

void loop()
{
   morse.dot(); morse.dot(); morse.dot();
   morse.dash(); morse.dash(); morse.dash();
   morse.dot(); morse.dot(); morse.dot();
   delay(3000);
}

Kód: Egész kijelölése

// Morse.h
/*
  Morse.h - Library for flashing Morse code.
  Created by David A. Mellis, November 2, 2007.
  Released into the public domain.
*/

#ifndef Morse_h
#define Morse_h

#include <Arduino.h>
//#include "WProgram.h"

class Morse
{
  public:
    Morse(int pin);
    void dot();
    void dash();
  private:
    int _pin;
};

#endif

Kód: Egész kijelölése

// Morse.cpp
/*
  Morse.cpp - Library for flashing Morse code.
  Created by David A. Mellis, November 2, 2007.
  Released into the public domain.
*/
#include <Arduino.h>
// #include "WProgram.h"
#include "Morse.h"

Morse::Morse(int pin)
{
  pinMode(pin, OUTPUT);
  _pin = pin;
}

void Morse::dot()
{
  digitalWrite(_pin, HIGH);
  delay(250);
  digitalWrite(_pin, LOW);
  delay(250);  
}

void Morse::dash()
{
  digitalWrite(_pin, HIGH);
  delay(1000);
  digitalWrite(_pin, LOW);
  delay(250);
}
keywords.txt

Kód: Egész kijelölése

Morse	KEYWORD1
dash	KEYWORD2
dot	KEYWORD2
Az egészet bemásolnia "Morse01" könyvtárba.

Most ilyenkor mi a gubanc?


:?:
A hozzászólást 3 alkalommal szerkesztették, utoljára kapu48 2012. július 23. hétfő, 10:07-kor.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Az arduino 1.x az #include "WProgram.h" sort várja el a #include <Arduino.h> helyett. Én a WProgram.h-t lemásoltam ugyanoda Arduino.h néven.

Az Arduino 1.x nincs a helyzet magaslatán, rengeteg kód a 0023-as verzióhoz íródott.
Olyan volt a váltás, mint Win98-> XP. Azaz a rendszer alapjaitól...
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Beraktam feltételes fordításba. De nem lett jó így sem!

Kód: Egész kijelölése

/*
  Morse.h - Library for flashing Morse code.
  Created by David A. Mellis, November 2, 2007.
  Released into the public domain.
*/

#ifndef Morse_h
#define Morse_h

  #if defined(ARDUINO) && ARDUINO >= 100
  #include <Arduino.h>
  #else
  #include <WProgram.h>
  #endif
  

class Morse
{
  public:
    Morse(int pin);
    void dot();
    void dash();
  private:
    int _pin;
};

#endif
:twisted:
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Átnéztem több alkalmazást.

És hol „ #include <Arduino.h> ” máshol pedig „ #include „Arduino.h” ” használnak.

A kettő közül melyik jó, és miért?

:?
Válasz küldése