Ein paar Fragen zum Aufbau....

Hilfe und Fragen auf Deutsch
passuff
Posts: 97
Joined: Wed 2. Feb 2011, 11:11

Re: Ein paar Fragen zum Aufbau....

Post by passuff »

Code: Select all

MultiDisplay PRE!
1
2
Er startet also bei

Code: Select all

 lcdShowIntro(InitTime);
neu...
passuff
Posts: 97
Joined: Wed 2. Feb 2011, 11:11

Re: Ein paar Fragen zum Aufbau....

Post by passuff »

wenn ich :

Code: Select all

// lcdShowIntro(InitTime);                      //Shows the Into
setze, läuft er einwandfrei durch und gibt mir unzählige werte raus! Scheint dann alles zu funktionieren!

Habe gerade nochmal alles andere drangehängt... Ich denke es funktioniert jetzt. Kann durch alle Menüs!
passuff
Posts: 97
Joined: Wed 2. Feb 2011, 11:11

Re: Ein paar Fragen zum Aufbau....

Post by passuff »

Code: Select all

CGRAM_Intro();
hier stürzt er ab..
User avatar
designer2k2
Administrator
Posts: 721
Joined: Mon 31. May 2010, 20:13
Location: Innsbruck
Contact:

Re: Ein paar Fragen zum Aufbau....

Post by designer2k2 »

arduino22 und die md002p0 ?

arduino uno oder duemillanove?

das wird interessant...
itsmyfault...
passuff
Posts: 97
Joined: Wed 2. Feb 2011, 11:11

Re: Ein paar Fragen zum Aufbau....

Post by passuff »

Arduino 22 mit Duemillanove:
mit der md_002p0pre_r229startet er bei "lcdShowIntro" schon vor
CGRAM_Intro(); neu. Code lautete wie folgt

Code: Select all

#if InitTime
void lcdShowIntro(int delayValue)
{
  
  //Must load this in 2 steps, somehow its not possible to load 8 chars at once...
  Serial.println("1");
  CGRAM_Intro();
  Serial.println("2");
  CGRAM_Intro2();
  Serial.println("3");
  //Show the Intro: 
Im Serial Monitor erschien bloß:

Code: Select all

MultiDisplay PRE!
1
MultiDisplay PRE!
1
MultiDisplay PRE!
1
Habe den Code geändert auf:

Code: Select all

#if InitTime
void lcdShowIntro(int delayValue)
{
  
  //Must load this in 2 steps, somehow its not possible to load 8 chars at once...
  
  CGRAM_Intro();
  Serial.println("1");
  CGRAM_Intro2();
  Serial.println("2");
  //Show the Intro: 
und es passiert was komisches :

Code: Select all

MultiDisplay PRE!
Aber mit dem Unterschied dass er hängenbleibt und nicht wie vorher immer rebootet!

Also um sicher zu gehen nochmal das hier geflasht:

Code: Select all

#if InitTime
void lcdShowIntro(int delayValue)
{
  
  //Must load this in 2 steps, somehow its not possible to load 8 chars at once...
  
  CGRAM_Intro();
  CGRAM_Intro2();
  Serial.println("1");
  //Show the Intro: 
und es passiert folgendes :

Code: Select all

MultiDisplay PRE!
Auch wieder ohne reboot...

Dann nochmal so(original code nur um sicherzustellen dass alles ok ist):

Code: Select all

#if InitTime
void lcdShowIntro(int delayValue)
{
  
  //Must load this in 2 steps, somehow its not possible to load 8 chars at once...
  
  CGRAM_Intro();
  CGRAM_Intro2();
Mit dem Ergebnis

Code: Select all

MultiDisplay PRE!
 
MultiDisplay PRE!
 
MultiDisplay PRE!
 
MultiDisplay PRE!
Also alles wieder wie vorher!

Wie kann das sein?
passuff
Posts: 97
Joined: Wed 2. Feb 2011, 11:11

Re: Ein paar Fragen zum Aufbau....

Post by passuff »

wenn ich den zweiten CGRAM deaktiviere funktioniert alles einwandfrei bis auf dass die Zweite Zeile nicht wirklich schön aussieht ;)
EDIT: ob ich den ersten oder den zweiten weglasse ist egal ;)

Bin jetzt an den CGRAM dran.

Ich kann das Display zum laufen bekommen wenn ich entweder beim CGRAM_Intro()
zwei der vier LcdUploadUdef5x8 weglasse, oder

beim CGRAM_Intro2()
alle der vier LcdUploadUdef5x8 weglasse.

Lasse ich beim CGRAM_Intro2()
nur einen der vier LcdUploadUdef5x8 weg,
hängt sich das display zwar nicht im intro auf, aber dafür im ersten bildschirm...

Ich habe echt keine Ahnung von der Materie, aber scheinbar braucht das Intro dermaßen viel Ressourcen (was auch immer) dass es für den rest nicht reicht. Dann bleibt eigentlich nur warum das ausschließlich bei mir so ist!!!
Atmega ist neu und nach vorschrift konfiguriert....
Ein Rätsel.....
Aber wer braucht ein Intro mit großen Buchstaben ;)
passuff
Posts: 97
Joined: Wed 2. Feb 2011, 11:11

Re: Ein paar Fragen zum Aufbau....

Post by passuff »

Eine freemem abfrage hier

Code: Select all

#if InitTime
void lcdShowIntro(int delayValue)
{
   Serial.print("FM1 ");
  Serial.println( freeMem());  
  //Must load this in 2 steps, somehow its not possible to load 8 chars at once...
  CGRAM_Intro();
   Serial.print("FM2 ");
  Serial.println( freeMem());  
  CGRAM_Intro2();
 Serial.print("FM3 ");
  Serial.println( freeMem());  
brachte folgendes:

Code: Select all

MultiDisplay PRE!
FM1 0
EDIT... alle befehle brauchen speicher. deswegen haben auch die debug befehle (Serial.println("1")) einfluss auf das Abstürzverhalten. So auch natürlich die free mem abfrage, die alleine durch das abfragen das ergebnis verfälscht. wenn in den CGRAM_Intro() den freien speicher abfrage, sehe ich aber immer , dass sich das display rebootet sobald der mem auf 0 geht. Beeinflussen kann ich das durch weglassen einiger display oder auch serial prints!

Warum also ist bei mir der memory zu klein und bei sonst keinem?
User avatar
designer2k2
Administrator
Posts: 721
Joined: Mon 31. May 2010, 20:13
Location: Innsbruck
Contact:

Re: Ein paar Fragen zum Aufbau....

Post by designer2k2 »

Kannst mal das hier machen: http://www.designer2k2.at/home/arduino/ ... rflow.html

Dabei sieht man wo es hängt!

hab das Problem hier schonmal mit der 21er gehabt: viewtopic.php?f=13&t=67&p=698&hilit=uno#p698
itsmyfault...
passuff
Posts: 97
Joined: Wed 2. Feb 2011, 11:11

Re: Ein paar Fragen zum Aufbau....

Post by passuff »

Ok, angenommen ich seh wo es hängt, bringt mich dass doch nciht weiter...warum hängt es denn dann bei niemand anders? Kann es nicht doch sein dass ihr alle eine gering abweichende konfiguration habt? Die Pros hier werden doch alle mim Mega rumwerkeln. Der ein oder andere hat vielleicht das UNO oder anderen Softwarestand der nciht so viel Ressourcen braucht..
Atmega gleich, arduino IDE gleich, bootloader, fusebits gleich, programm gleich...das macht für mcih jetzt kein sinn..

Ich werde es natürlich trotzdem nachher mal ausprobieren.
Danke Dir!
passuff
Posts: 97
Joined: Wed 2. Feb 2011, 11:11

Re: Ein paar Fragen zum Aufbau....

Post by passuff »

so. bss + data =1978
hart an der grenze aber sollte laufen, oder?

Code: Select all

md_002p0.cpp.elf:     file format elf32-avr

SYMBOL TABLE:
00800652 l    d  .bss	00000000 .bss
008007ae l     O .bss	00000001 twi_state
00800819 l     O .bss	00000001 twi_error
008007d4 l     O .bss	00000001 twi_masterBufferIndex
008007d5 l     O .bss	00000001 twi_masterBufferLength
008007af l     O .bss	00000001 twi_slarw
008007b4 l     O .bss	00000020 twi_masterBuffer
008007f7 l     O .bss	00000001 twi_txBufferLength
008007d6 l     O .bss	00000020 twi_txBuffer
008007b2 l     O .bss	00000002 twi_onSlaveReceive
008007b0 l     O .bss	00000002 twi_onSlaveTransmit
00800818 l     O .bss	00000001 twi_rxBufferIndex
008007f8 l     O .bss	00000020 twi_rxBuffer
008007f6 l     O .bss	00000001 twi_txBufferIndex
00800822 l     O .bss	00000001 timer0_fract
00800789 g     O .bss	00000001 _ZN7TwoWire9txAddressE
0080081a g     O .bss	00000004 timer0_overflow_count
00800735 g     O .bss	00000004 CalCaseTemp
0080075d g     O .bss	00000007 fBuff
008006d7 g     O .bss	00000004 CalLD
00800652 g     O .bss	00000001 lcd
0080072f g     O .bss	00000004 CalRPM
00800764 g     O .bss	00000001 EEPROM
0080081e g     O .bss	00000004 timer0_millis
008006cd g     O .bss	00000002 Screen
00800725 g     O .bss	00000004 CalBoost
00800741 g     O .bss	00000002 VDOTemp3
008006d1 g     O .bss	00000002 DoCal
00800788 g     O .bss	00000001 _ZN7TwoWire14rxBufferLengthE
008006cf g     O .bss	00000002 SerOut
008006db g     O .bss	00000004 MaxLD
0080065b g     O .bss	00000002 val4
00800665 g     O .bss	00000002 Temp
008006e1 g     O .bss	00000002 LDcalPoint
008006fb g     O .bss	00000010 MaxRPME
008008ba g       .bss	00000000 __bss_end
008006e3 g     O .bss	00000008 MaxAGTValE
00800661 g     O .bss	00000004 ButtonTime
008007ab g     O .bss	00000001 _ZN7TwoWire14txBufferLengthE
0080066b g     O .bss	00000004 FlashETimeU
00800823 g     O .bss	00000084 rx_buffer
008006d5 g     O .bss	00000002 Brightness
008006df g     O .bss	00000002 MaxLDt
008008a7 g     O .bss	00000013 Serial
008006d3 g     O .bss	00000002 DoTypK
0080073f g     O .bss	00000002 VDOTemp2
0080073d g     O .bss	00000002 VDOTemp1
00800653 g     O .bss	00000002 val
008006b9 g     O .bss	00000004 CalAGT
00800657 g     O .bss	00000002 val2
00800729 g     O .bss	00000004 CalRAWBoost
00800749 g     O .bss	00000004 BatVolt
008007aa g     O .bss	00000001 _ZN7TwoWire13txBufferIndexE
00800747 g     O .bss	00000002 VDOPres3
00800745 g     O .bss	00000002 VDOPres2
00800659 g     O .bss	00000002 val3
0080072d g     O .bss	00000002 CalLambda
00800757 g     O .bss	00000002 RPMindex
0080071b g     O .bss	00000008 MaxOilE
00800652 g       .bss	00000000 __bss_start
00800723 g     O .bss	00000002 RefResh
00800739 g     O .bss	00000004 CalLMM
00800765 g     O .bss	00000002 USING_RW
0080070b g     O .bss	00000010 MaxLMME
008006bd g     O .bss	00000004 time
0080075b g     O .bss	00000002 RPMaverage
0080074d g     O .bss	0000000a RPMreadings
008007ad g     O .bss	00000001 Wire
0080066f g     O .bss	00000022 AnaIn
008006c1 g     O .bss	0000000c buf
008006eb g     O .bss	00000010 MaxLDE
00800655 g     O .bss	00000002 val1
0080078a g     O .bss	00000020 _ZN7TwoWire8txBufferE
00800743 g     O .bss	00000002 VDOPres1
00800759 g     O .bss	00000002 RPMtotal
0080065d g     O .bss	00000004 ScreenSave
00800787 g     O .bss	00000001 _ZN7TwoWire13rxBufferIndexE
00800691 g     O .bss	00000028 ScopeInt
00800767 g     O .bss	00000020 _ZN7TwoWire8rxBufferE
00800733 g     O .bss	00000002 CalThrottle
00800667 g     O .bss	00000004 FlashTimeU
008007ac g     O .bss	00000001 _ZN7TwoWire12transmittingE


irgendwie finde ich aber keine von den variablen die bei mir probleme machen ...
Post Reply