Återkommande fel i Arduino-koden. (FIXAT igen)

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
jojje
Gått bort
Inlägg: 6380
Blev medlem: 20 januari 2006, 01:53:33
Ort: Stockholms utkant
Kontakt:

Re: Återkommande fel i Arduino-koden.

Inlägg av jojje »

Icecap:
Med vad ska man byta ut det med då?
Jag har "//" bort det, men då händer iaf ingenting.

Gimbal, just i det hänseendet kan jag inte göra nåt.
Man märker iaf inget annat än den koden jag postade först.

Sodjan:
Det brukar isf stå i koden, men jag har inte hittat nåt sånt i dessa.

Jag har lagt in en fråga i forumet, men eftersom det är semestertider,
så får man väl tåla sig en stund till.

Om man letar på forumet, så verkar det som att några har liknande problem,
men jag har inte hittat nån lösning.
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: Återkommande fel i Arduino-koden.

Inlägg av snigelen »

Nu har jag testat lite. RTClib verkar finnas i lite olika mer eller mindre fungerande versioner. Den som finns på denna sida (från kommentaren i koden) verkar fungera. Den har get() implementerad och funkar för mig med softrtc-exemplet.
Användarvisningsbild
jojje
Gått bort
Inlägg: 6380
Blev medlem: 20 januari 2006, 01:53:33
Ort: Stockholms utkant
Kontakt:

Re: Återkommande fel i Arduino-koden.

Inlägg av jojje »

Tackar, nu blir det inget fel om get, men det dyker upp andra i stället.
Tror jag ger upp å gör nåt annat i stället. :(

Det var just för att slippa allt det här som jag skaffade en Arduino,
men jag får ju bara mera att trassla med än om jag kört "normal" C
på en "normal" AVR. :doh:

Jag vill att allt ska funka direkt ur boxen, men där tog jag visst grundligt fel.

Kod: Markera allt

C:\Dev\arduino-0018\libraries\RTClib\RTClib.cpp:39: error: prototype for 'DateTime::DateTime(uint32_t)' does not match any in class 'DateTime'

C:\Dev\arduino-0018\libraries\RTClib\/RTClib.h:6: error: candidates are: DateTime::DateTime(const DateTime&)

C:\Dev\arduino-0018\libraries\RTClib\/RTClib.h:11: error:                 DateTime::DateTime(const char*, const char*)

C:\Dev\arduino-0018\libraries\RTClib\/RTClib.h:10: error:                 DateTime::DateTime(uint16_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)

C:\Dev\arduino-0018\libraries\RTClib\/RTClib.h:8: error:                 DateTime::DateTime(long int)

C:\Dev\arduino-0018\libraries\RTClib\RTClib.cpp:112: error: no 'uint32_t DateTime::unixtime() const' member function declared in class 'DateTime'

C:\Dev\arduino-0018\libraries\RTClib\RTClib.cpp:127: error: prototype for 'uint8_t RTC_DS1307::begin()' does not match any in class 'RTC_DS1307'

C:\Dev\arduino-0018\libraries\RTClib\/RTClib.h:31: error: candidate is: static void RTC_DS1307::begin()

C:\Dev\arduino-0018\libraries\RTClib\RTClib.cpp:131: error: no 'uint8_t RTC_DS1307::isrunning()' member function declared in class 'RTC_DS1307'

C:\Dev\arduino-0018\libraries\RTClib\RTClib.cpp: In static member function 'static void RTC_Millis::adjust(const DateTime&)':

C:\Dev\arduino-0018\libraries\RTClib\RTClib.cpp:178: error: 'const class DateTime' has no member named 'secondstime'


Användarvisningsbild
Icecap
Inlägg: 26658
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Återkommande fel i Arduino-koden.

Inlägg av Icecap »

Alltså... det finns något knas i den källkod...!

Serial.println(now.get()); är inte helt friskt eller hur?

Alla andra ställen kallas Serial.println(); men detta ena ställe har det med now.get() och det funktionen verkar göra är att trycka ut en CR-LF och det har now() inget med att göra.

Någon har slintat på tangenterna, ta bort den bit och testa. Själva sekvensen ser rätt ut annars, skriv ut datum + tid och sedan en nu rad, ganska vettigt.
Användarvisningsbild
jojje
Gått bort
Inlägg: 6380
Blev medlem: 20 januari 2006, 01:53:33
Ort: Stockholms utkant
Kontakt:

Re: Återkommande fel i Arduino-koden.

Inlägg av jojje »

Jag bytte ut även RTClib.cpp, och nu funkar iaf den första koden jag la in här.
Om det var nåt fel/skillnad i den (RTClib.cpp), har jag ingen aning om, men...

Tack så jättemycket för hjälpen. :bravo: :tumupp:
Jojje glad nu igen. :happy:

Vad som egentligen var fel, får man väl aldrig helt reda på,
men jag är lika glad för det, bara det funkar, så funkar det för mig.

Även get funkar nu. :D

Kod: Markera allt

2010/7/27 15:19:27
 seconds since 2000: 333559167
 now + 7d + 30s: 2010/8/3 15:19:57

2010/7/27 15:19:30
 seconds since 2000: 333559170
 now + 7d + 30s: 2010/8/3 15:20:0

2010/7/27 15:19:33
 seconds since 2000: 333559173
 now + 7d + 30s: 2010/8/3 15:20:3

2010/7/27 15:19:36
 seconds since 2000: 333559176
 now + 7d + 30s: 2010/8/3 15:20:6

2010/7/27 15:19:39
 seconds since 2000: 333559179
 now + 7d + 30s: 2010/8/3 15:20:9
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: Återkommande fel i Arduino-koden. (FIXAT)

Inlägg av snigelen »

Sorry, jag var lite otydlig. Jag menade just att RTClib.cpp skulle bytas. Kul att det funkar nu i alla fall :tumupp:.
Användarvisningsbild
jojje
Gått bort
Inlägg: 6380
Blev medlem: 20 januari 2006, 01:53:33
Ort: Stockholms utkant
Kontakt:

Re: Återkommande fel i Arduino-koden. Ny hjälp?

Inlägg av jojje »

Tack så jättemycket för hjälpen. :tumupp: :bravo:

Har du eller någon annan lust att hjälpa med med TimeAlarmExample.pde också?
Detta skulle vara ännu viktigare att få igång, eftersom det är just alarmen jag är ute efter.

Programkoden:

Kod: Markera allt

/*
 * TimeAlarmExample.pde
 *
 * This example calls alarm functions at 8:30 am and at 5:45 pm (17:45)
 * and simulates turning lights on at night and off in the morning
 *
 * A timer is called every 15 seconds
 * Another timer is called once only after 10 seconds
 *
 * At startup the time is set to Jan 1 2010  8:29 am
 */

#include <Time.h>
#include <TimeAlarms.h>

void setup()
{
  Serial.begin(9600);    
  Serial.println("TimeAlarms Example");
  Serial.println("Alarms are triggered daily at 8:30 am and 17:45 pm");
  Serial.println("One timer is triggered every 15 seconds");
  Serial.println("Another timer is set to trigger only once after 10 seconds");
  Serial.println();
  
  setTime(8,29,40,1,1,10); // set time to 8:29:40am Jan 1 2010 

  Alarm.alarmRepeat(8,30,0, MorningAlarm);  // 8:30am every day
  Alarm.alarmRepeat(17,45,0,EveningAlarm);  // 5:45pm every day 
 
  Alarm.timerRepeat(15, RepeatTask);            // timer for every 15 seconds    
  Alarm.timerOnce(10, OnceOnlyTask);            // called once after 10 seconds 
}

void MorningAlarm()
{
  Serial.println("Alarm: - turn lights off");    
}

void EveningAlarm()
{
  Serial.println("Alarm: - turn lights on");           
}

void RepeatTask()
{
  Serial.println("15 second timer");         
}

void OnceOnlyTask()
{
  Serial.println("This timer only triggers once");  
}

void  loop()
{  
  digitalClockDisplay();
  Alarm.delay(1000); // wait one second between clock display
}

void digitalClockDisplay()
{
  // digital clock display of the time
  Serial.print(hour());
  printDigits(minute());
  printDigits(second());
  Serial.println(); 
}

void printDigits(int digits)
{
  // utility function for digital clock display: prints preceding colon and leading 0
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

Felen som dyker upp är:

Kod: Markera allt

o: In function `digitalClockDisplay()':
C:\DOCUME~1\GAREN~1\LOKALA~1\Temp\build620800951301340057.tmp/TimeAlarmExample.cpp:72: undefined reference to `hour()'

C:\DOCUME~1\GAREN~1\LOKALA~1\Temp\build620800951301340057.tmp/TimeAlarmExample.cpp:73: undefined reference to `minute()'

C:\DOCUME~1\GAREN~1\LOKALA~1\Temp\build620800951301340057.tmp/TimeAlarmExample.cpp:74: undefined reference to `second()'

o: In function `setup':
C:\DOCUME~1\GAREN~1\LOKALA~1\Temp\build620800951301340057.tmp/TimeAlarmExample.cpp:34: undefined reference to `setTime(int, int, int, int, int, int)'

C:\DOCUME~1\GAREN~1\LOKALA~1\Temp\build620800951301340057.tmp\TimeAlarms\TimeAlarms.cpp.o: In function `AlarmClass::updateNextTrigger()':

C:\Dev\arduino-0018\libraries\TimeAlarms/TimeAlarms.cpp:47: undefined reference to `now()'

C:\Dev\arduino-0018\libraries\TimeAlarms/TimeAlarms.cpp:54: undefined reference to `now()'

C:\DOCUME~1\GAREN~1\LOKALA~1\Temp\build620800951301340057.tmp\TimeAlarms\TimeAlarms.cpp.o: In function `TimeAlarmsClass::serviceAlarms()':

C:\Dev\arduino-0018\libraries\TimeAlarms/TimeAlarms.cpp:207: undefined reference to `now()'

Jag gjorde en förfrågan i ArduinoForumet som ser ut så här:
Jojje skrev: Pls, can someone help me with TimeAlarmExample.pde ?

I can not compile without errors, and then I can not Upload the code to the Arduino.

I downloaded everything today, so it's nothing old and new.

I use 0018.

I can not find DateTimeAlarms.o, DateTimeAlarms.cpp or DateTimeAlarms.h
I find the file TimeAlarms.cpp and TimeAlarms.h
I did not change the TimeAlarms.h file.

Thanks. /// Jojje
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: Återkommande fel i Arduino-koden. Ny hjälp?

Inlägg av snigelen »

Det funkar rakt av för mig. Med filer härifrån: http://www.arduino.cc/playground/Code/Time. De odefinierade rutinerna finns i Time.h/Time.cpp.
Användarvisningsbild
jojje
Gått bort
Inlägg: 6380
Blev medlem: 20 januari 2006, 01:53:33
Ort: Stockholms utkant
Kontakt:

Re: Återkommande fel i Arduino-koden. Ny hjälp?

Inlägg av jojje »

Jag tog ner ZIP-filen på nytt och öppnade den i bibban-katalogen, precis som förra gången.
Förutom att nu funkar det till fullo. Inga errorkoder alls. :happy:

Tack så jättemycket nu också. :waving: :whoho:

Undrar vad som var felet, hmm...
Näääähhh, vi skiter i det å går vidare i stället... :D

Nu ska det skrivas kod så jag inte glömmer medikamenten. :vissla:
Programmet skrev: TimeAlarms Example
Alarms are triggered daily at 8:30 am and 17:45 pm
One timer is triggered every 15 seconds
Another timer is set to trigger only once after 10 seconds

8:29:40
8:29:41
8:29:42
8:29:43
8:29:44
8:29:45
8:29:46
8:29:47
8:29:48
8:29:49
This timer only triggers once
8:29:50
8:29:51
8:29:52
8:29:53
8:29:54
15 second timer
8:29:55
8:29:56
8:29:57
8:29:58
8:29:59
Alarm: - turn lights off
8:30:00
8:30:01
8:30:02
8:30:03
8:30:04
8:30:05
8:30:06
8:30:07
8:30:08
8:30:09
15 second timer
8:30:10
8:30:11
8:30:12
8:30:13
8:30:14
Skriv svar