|
c't Projekte - c't-Bot und c't-Sim -
Mailinglisten
[Voriger (Datum)]
[Nächster (Datum)]
[Voriger (Thread)]
[Nächster (Thread)]
[Nach Datum][Nach Thread]
Absender: Timo Sandmann
Datum: Do, 18.09.2008 16:22:17
In-reply-to:
<48D26066.6050902@xxxxxxxx>
References:
<48C139945BA47F4DB4DE05DF62CD57AA03D9A29FC6@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <48C139945BA47F4DB4DE05DF62CD57AA03D9B620CA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <48D23AE4.9020605@xxxxxxxx> <48C139945BA47F4DB4DE05DF62CD57AA03D9B62192@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <48D24287.2020906@xxxxxxxx> <48C139945BA47F4DB4DE05DF62CD57AA03D9B62312@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <48D26066.6050902@xxxxxxxx>
Hi,
die Shrink-Funktion wird derzeit nur für PC compiliert, weil sie nur
beim Map-Export verwendet wird und auf dem echten Bot eine
inakzeptable Laufzeit hat. Wenn man Minimum und Maximum braucht, würde
ich dringen empfehlen auf SHRINK_MAP_ONLINE umzustellen, dafür ist es
ja da. Dann sind übrigens auch weitere Features denkbar wie beim
Löschen nur die Bereiche überschreiben, die auch wirklich belegt sind
usw. Bisher wurden die Min / Max-Werte nirgends benutzt, darum ist per
default OFFLINE an.
Wenn man wirklich ein Shrink auf MCU haben möchte, lässt sich aber
natürlich ganz einfach etwas einbauen wie:
void map_do_shrink(void) {
#ifdef SHRINK_MAP_OFFLINE
uint16_t min_x = map_min_x;
uint16_t max_x = map_max_x;
uint16_t min_y = map_min_y;
uint16_t max_y = map_max_y;
shrink(&min_x, &max_x, &min_y, &max_y);
#endif
}
Grüße,
Timo
|
|