c't Projekte - c't-Bot und c't-Sim - Mailinglisten

c't-Bot und c't-Sim


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

AW: [ct-bot] Map aktualisiert keine Abgründe mehr?

Absender: Frank Menzel
Datum: So, 22.02.2009 20:26:20
In-reply-to: <92E57EB3-0E60-4BB1-BEE1-00F66F7F3D75@xxxxxxxxxxxxxxx>


Hallo Timo,
habe mich jetzt mal rückwärts gehangelt und die verschiedenen
bot-Revisionen laut CVS geladen: Ergebnis Revstand 1516 funktioniert,
die Abgründe werden als schwarze Kreise in die Map aktualisiert und mit
dem nächsten Stand 1517 geht's nicht mehr!

Aber hier mal in chronologischer Reihenfolge:
1545   geht nicht
1540 geht nicht
1534 geht nicht
1523 geht nicht
1516 geht 
1519 geht nicht
1517 geht nicht
wieder die 1516  und sie geht wieder!

Hoffe das hilft beim Erkennen der Fehlerursache...

Gruß, Frank


-----Ursprüngliche Nachricht-----
Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx
[mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von Timo
Sandmann
Gesendet: Sonntag, 22. Februar 2009 17:40
An: Entwicklung rund um den c't-bot
Betreff: Re: [ct-bot] Map aktualisiert keine Abgründe mehr?

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Frank,

Am 22.02.2009 um 10:33 schrieb Frank Menzel:
> Hallo,
> mir ist aufgefallen, dass in die Map keine Abgründe mehr eingetragen
> werden,

ich habe es gerade noch mal im Sim ausprobiert, bei mir werden die  
Abgründe in die Karte eingetragen. Bist du sicher, dass du genau den  
aktuellen Code aus dem SVN verwendest?

> obwohl die Struktur dies standardmäßig so eingeschaltet hat:
>
> typedef union {
>      struct {
>            uint8_t location:1;     /*!< Grundflaechen-Update an/aus */
>            uint8_t distance:1;     /*!< Distanzsensor-Update an/aus */
>            uint8_t border:1; /*!< Abgrundsensor-Update an/aus */
>            uint8_t map_mode:1;     /*!< Kartograhpie-Modus an/aus (Bot
> stoppt, falls Cache voll) */
>      };
>      uint8_t raw;                 /*!< Alle Modi als Raw-Daten */
> } scan_mode_t;

Das stimmt so nicht. Nur zur Information, damit da keine  
Missverständnisse entstehen: Der Code, den du angeführt hast,  
beschreibt lediglich einen neuen Datentypen, der vier Bits für die  
jeweiligen Einstellungen beinhaltet.
Wird eine Variable dieses Typs angelegt (scan_otf_modes), steht dort  
erstmal überall 0 drin, also kein Bit gesetzt -> alles aus.
Die Standardeinstellung erfolgt dann in map_init() durch:
scan_otf_modes.location = 1;
scan_otf_modes.distance = 1;
scan_otf_modes.border   = 1;
scan_otf_modes.map_mode = 1;

Außerdem kann ein Verhalten diese Einstellungen beliebig ändern, indem  
es die Funktionen set_scan_otf_location(uint8_t value),  
set_scan_otf_distance(uint8_t value), set_scan_otf_border(uint8_t  
value) oder set_scan_otf_mapmode(uint8_t value) aufruft. value == 1  
schaltet den jeweiligen Modus an und value == 0 aus.

Soweit zur Erklärung der Scan-Modi, eine richtige Doku zum (neuen) Map- 
Code fehlt leider immer noch, sorry.

> Weil mir dass schon vor Tagen aufgefallen ist, habe ich eben noch mal
> frisch ausgecheckt.
> Übersetzt mit Debug-Win32 und im Sim.

Weißt du ungefähr, seit wann das bei dir so ist?

Grüße,
Timo

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)

iEYEARECAAYFAkmhf8wACgkQDH/BX4067fJtHgCfeR5Pb8FXUZ3Zr4BuYfshLxos
qWgAn0ClDs7B3dgGFW5gmuf0jc7iwAbF
=VW9H
-----END PGP SIGNATURE-----

_______________________________________________
ct-bot-entwickler Mailingliste
ct-bot-entwickler@xxxxxxxxxxxxxxxxx
http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler