## c't-Projekte - Mailinglisten

[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

### Re: [ct-bot] eeprom@pc

Absender: Achim Pankalla
Datum: Fr, 13.07.2007 18:58:58
In-reply-to: <4306C7C0-49CA-4C10-B3F7-1108D4A7A333@xxxxxxxxxxxxxxx>
References: <BCF016D5ED5AC34FBB655D109519ABCF083EBE@xxxxxxxxxxxxxxxxxxxx> <D053B7F5-6BDD-4052-B45F-28FCF0EF45F8@xxxxxxxxxxxxxxx> <45F2B74F.8090706@xxxxxx> <38A4BFD9-CA32-436A-9A1E-B4E6E0652A5D@xxxxxxxxxxxxxxx> <463E0782.1050406@xxxxxx> <0FBD95CF-DA3B-461B-B12B-9FDCD84984D2@xxxxxxxxxxxxxxx> <463F3E0A.7020605@xxxxxx> <8D5B90F4-74FD-45D4-B5B8-DDCAC0B81932@xxxxxxxxxxxxxxx> <464092F7.30605@xxxxxx> <465DB1F9.5030404@xxxxxx> <CF925D4D-FD5A-4581-8480-1C5D35EFEDC9@xxxxxxxxxxxxxxx> <4663027F.4040301@xxxxxx> <F71477F0-03AD-4F06-87E3-AC5DA5BFD1B2@xxxxxxxxxxxxxxx> <466D6849.1020109@xxxxxx> <46756694.9010906@xxxxxx> <6566D2F2-ADE4-4656-86C0-6533B3462B64@xxxxxxxxxxxxxxx> <46866046.7040108@xxxxxx> <4686813D.8020405@xxxxxx> <70929B57-E069-4B5F-AC22-3E1E51ACD696@xxxxxxxxxxxxxxx> <5E0B9EC1-1718-4319-95D6-54862E9ECA42@xxxxxxxxxxxxxxx> <468CB5B0.3000408@xxxxxx> <EB302B19-E327-4736-A0DE-588E25D2EE48@xxxxxxxxxxxxxxx> <468FC24D.5080507@xxxxxx> <4306C7C0-49CA-4C10-B3F7-1108D4A7A333@xxxxxxxxxxxxxxx>

    hallo,

    Timo Sandmann schrieb:

> `Auch für MCU sollten wir die Adresse komplett, also in 32 Bit` `einlesen. Ich weiß nicht, ob man sich darauf verlassen kann, dass das` `schlichte Weglassen der oberen 2 Bytes immer funktioniert. Wo im` `Adressraum der Linker die Variablen ablegt, können wir kaum pauschal` `voraussagen.`

    anbei ein patch. ;-)

> `Die Sache ist soweit jetzt im SVN, ich habe es nur unter Mac OS X` `getestet, unter Linux und Windows müsste das bitte nachgeholt werden.`

`unter windows scheint es in ordnung zu sein, bei mir läufts genau wie` `vorher auch. was natürlich kein ordnunglicher test ist. mir genügs aber` `erst einmal....`

> `Die Post-Build-Einträge kommen in Kürze auch noch in die` `Projekteinstellungen im SVN, das muss ich nur unter dem alten Eclipse` `machen.`

> `Ich wäre dafür, dass wir ein 5. Target "Debug Mac OS X" anlegen, weil` `der Post-Build-Step hier unterschiedlich zu Linux ist, hat jemand` `etwas dagegen? ;-)`

    nein (kann aber nur für mich sprechen...) :-)

    mit freundlichen grüssen und schönes sonniges wochenende
       achim

    Index: E:/eclipse/ct-bot develop/ct-Bot/pc/eeprom-emu_pc.c
    ===================================================================
    --- E:/eclipse/ct-bot develop/ct-Bot/pc/eeprom-emu_pc.c	(revision 1185)
    +++ E:/eclipse/ct-bot develop/ct-Bot/pc/eeprom-emu_pc.c	(working copy)
    @@ -247,10 +247,11 @@
     static uint16 create_ctab(char *simfile, char *botfile){
     	FILE *fps, *fpb;
     	char sline[250], bline[250]; //Textzeilen aus Dateien
    -	char vname_s[30], vname_b[30]; //Dummy und Variablennamen
    +	char vname_s[30], vname_b[30]; //Variablennamen
     	size_t addr_s, addr_b; //Adressen der Variablen
     	uint16_t size; //Variablengroesse
     	uint16 vc = 0; //Variablenzaehler
    +	size_t first_botaddr = 0xffffffff; //Erste ct-bot EEPROM Adressse

     	/*Dateien oeffnen*/
     	if(!(fps=fopen(simfile,"r"))){
    @@ -285,8 +286,10 @@
     			/*Variablennamen suchen*/
     			sscanf(&bline[BNAME_POS], "%s", vname_b);
     //			printf("vname_b=%s\n", vname_b);
    -			addr_b = strtol(&bline[BADDR_POS], NULL, 16) & 0xffff;	//TODO:	sehr unschoen so, besser kleinste Adresse von allen subtrahieren
    +			addr_b = strtol(&bline[BADDR_POS], NULL, 16);
     //			printf("addr_b=0x%lx\n", addr_b);
    +			if(addr_b < first_botaddr)//Kleinste ct-bot Adresse bestimmen
    +				first_botaddr = addr_b;
     			size = strtol(&bline[BSIZE_POS], NULL, 16);
     //			printf("size=0x%x\n", size);

    @@ -350,12 +353,15 @@
     		}
     	}

    -	/*Tabelle auf Startadresse 0 normieren, wenn noetig*/
    +	/*Die EEPROM-Startadressen vom ct-bot und/oder Ct-Sim auf Null normieren*/
     	size_t first_simaddr = ctab[0].simaddr;
    -	if(first_simaddr != 0) {
    +	if(first_simaddr || first_botaddr) {
     		LOG_INFO("->Adressen werden normiert");
    -		for(i=0; i<tsize; i++)
    -			ctab[i].simaddr -= first_simaddr;
    +		for(i=0; i<tsize; i++){
    +			if(first_simaddr) ctab[i].simaddr -= first_simaddr;
    +			if(first_botaddr) ctab[i].botaddr -= first_botaddr;
    +//			printf("addr_b=0x%x addr_b=0x%x\n", ctab[i].botaddr, ctab[i].simaddr);
    +		}
     	}

     //	for (i=0; i<tsize; i++) {
    Index: E:/eclipse/ct-bot develop/ct-Bot/Changelog.txt
    ===================================================================
    --- E:/eclipse/ct-bot develop/ct-Bot/Changelog.txt	(revision 1185)
    +++ E:/eclipse/ct-bot develop/ct-Bot/Changelog.txt	(working copy)
    @@ -1,5 +1,7 @@
     CHANGELOG fuer c't-Bot
     ======================
    +2007-07-13 Achim Pankalla [achim.pankalla@xxxxxx]: PC-EEPROM-Emulation weiter optimiert
    +
     2007-07-13 Timo Sandmann [mail@xxxxxxxxxxxxxxx]: PC-EEPROM-Emulation optimiert / korrigiert

     2007-07-12 Timo Sandmann [mail@xxxxxxxxxxxxxxx]: Delay-Verhalten etwas vereinfacht und in andere Verhalten eingebaut

- Antworten:
  - Re: [ct-bot] eeprom@pc
    - From: Timo Sandmann

- Referenzen:
  - [ct-bot] Kaibrierung
    - From: Carsten Giesen
  - Re: [ct-bot] Re: Kalibrierung der Distanzsensren mittels EEPROM-Tabelle
    - From: Timo Sandmann
  - Re: [ct-bot] Re: Kalibrierung der Distanzsensren mittels EEPROM-Tabelle
    - From: Achim Pankalla
  - Re: [ct-bot] Re: Kalibrierung der Distanzsensren mittels EEPROM-Tabelle
    - From: Timo Sandmann
  - [ct-bot] Kalibrierung der Distanzsensren mittels EEPROM-Tabelle
    - From: Achim Pankalla
  - Re: [ct-bot] Kalibrierung der Distanzsensren mittels EEPROM-Tabelle
    - From: Timo Sandmann
  - Re: [ct-bot] Kalibrierung der Distanzsensren mittels EEPROM-Tabelle und eeprom@pc
    - From: Achim Pankalla
  - Re: [ct-bot] Kalibrierung der Distanzsensren mittels EEPROM-Tabelle und eeprom@pc
    - From: Timo Sandmann
  - Re: [ct-bot] Kalibrierung der Distanzsensren mittels EEPROM-Tabelle und eeprom@pc
    - From: Achim Pankalla
  - Re: [ct-bot] eeprom@pc
    - From: Achim Pankalla
  - Re: [ct-bot] eeprom@pc
    - From: Timo Sandmann
  - Re: [ct-bot] eeprom@pc
    - From: Achim Pankalla
  - Re: [ct-bot] eeprom@pc
    - From: Timo Sandmann
  - Re: [ct-bot] eeprom@pc
    - From: Achim Pankalla
  - Re: [ct-bot] eeprom@pc
    - From: Achim Pankalla
  - Re: [ct-bot] eeprom@pc
    - From: Timo Sandmann
  - Re: [ct-bot] eeprom@pc
    - From: Achim Pankalla
  - Re: [ct-bot] eeprom@pc
    - From: Achim Pankalla
  - Re: [ct-bot] eeprom@pc
    - From: Timo Sandmann
  - Re: [ct-bot] eeprom@pc
    - From: Timo Sandmann
  - Re: [ct-bot] eeprom@pc
    - From: Achim Pankalla
  - Re: [ct-bot] eeprom@pc
    - From: Timo Sandmann
  - Re: [ct-bot] eeprom@pc
    - From: Achim Pankalla
  - Re: [ct-bot] eeprom@pc
    - From: Timo Sandmann

- Voriger (Datum): Re: [ct-bot] eeprom@pc, Timo Sandmann
- Nächster (Datum): Re: [ct-bot] eeprom@pc, Timo Sandmann
- Voriger (Thread): Re: [ct-bot] eeprom@pc, Timo Sandmann
- Nächster (Thread): Re: [ct-bot] eeprom@pc, Timo Sandmann
- Indizes:
  - Datum
  - Thread