|
 |
 |
 |
|
|
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: Benjamin Benz
Datum: Mo, 28.08.2006 16:10:48
In-reply-to:
<44EF355C.8030404@xxxxxx>
References:
<44EF355C.8030404@xxxxxx>
Vielen Dank fuer diesen Patch. Er ist ab sofort im CVS enthalten.
MfG Benjamin Benz
Achim Pankalla wrote:
> hallo,
> beim experimentieren mit den realen bot ist mir aufgefallen, das die
> abstandswerte bei größeren distanzen öfter mal auf null springen. die
> ursache war schnell gefunden, dies passiert immer, wenn die werte der
> sensoren sehr klein werden, aber noch nicht kleiner als zb
> SENSDISTOFFSETLEFT. dabei ist mir nun auch aufgefallen, das durchaus
> eine division durch null entstehen könnte. dies habe ich auch bei meinen
> bot mir logausgaben feststellen können.
> nun frage ich mich, ob jemand weiss warum der prozessor das so
> wegsteckt. ein reset macht das programm anscheinend nicht!
> wird das über die fusebits gesteuert oder wird nur ein irq ausgelöst und
> dann gehts weiter. wenn jemand mir eine antwort geben könnte, spare ich
> mir das durchsuchen von unterlagen und foren, man ist ja faul ;-) .
> anbei ein patch, um das springen der distanzwerte auf null und auch div
> durch 0 zu verhindern.
> viel spass allen weiterhin.
> mit freundlichen grüssen
> achim
>
>
> ------------------------------------------------------------------------
>
> Index: Changelog.txt
> ===================================================================
> RCS file: /ctbot/ct-Bot/Changelog.txt,v
> retrieving revision 1.95
> diff -u -r1.95 Changelog.txt
> --- Changelog.txt 22 Aug 2006 10:07:24 -0000 1.95
> +++ Changelog.txt 25 Aug 2006 17:21:05 -0000
> @@ -1,5 +1,7 @@
> CHANGELOG fuer c't-Bot
> ======================
> +2006-08-25 Achim Pankalla [achim.pankalla@xxxxxx]: Verhindert in sensor_abstand den Wert Null und eine Division durch Null.
> +
> 2006-08-04 Benjamin Benz [bbe@xxxxxxxx]: motor_low_pc.c Bugfix
>
> 2006-08-16 Felix Beckwermert [felix@xxxxxxxxxxxxxx]: sensor.c -- buf-fix (aus forum): Klammern bei dHead ergaenzt
> Index: sensor.c
> ===================================================================
> RCS file: /ctbot/ct-Bot/sensor.c,v
> retrieving revision 1.18
> diff -u -r1.18 sensor.c
> --- sensor.c 22 Aug 2006 10:07:24 -0000 1.18
> +++ sensor.c 25 Aug 2006 17:21:06 -0000
> @@ -105,14 +105,17 @@
> * @param right Rechter Rohwert [0-1023]
> */
> void sensor_abstand(uint16 left, uint16 right){
> + if(left == SENSDISTOFFSETLEFT) left++;
> + if(right == SENSDISTOFFSETRIGHT) right++;
> +
> sensDistL = SENSDISTSLOPELEFT / (left - SENSDISTOFFSETLEFT);
> sensDistR = SENSDISTSLOPERIGHT / (right - SENSDISTOFFSETRIGHT);
>
> // Korrigieren, wenn ungueltiger Wert
> - if (sensDistL > SENS_IR_MAX_DIST || sensDistL<0)
> + if (sensDistL > SENS_IR_MAX_DIST || sensDistL<=0)
> sensDistL=SENS_IR_INFINITE;
>
> - if (sensDistR > SENS_IR_MAX_DIST || sensDistR<0)
> + if (sensDistR > SENS_IR_MAX_DIST || sensDistR<=0)
> sensDistR=SENS_IR_INFINITE;
>
> }
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> ct-bot-entwickler Mailingliste
> ct-bot-entwickler@xxxxxxxxxxxxxxxxx
> http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler
--
Benjamin Benz
Heise Zeitschriften Verlag
Redaktion c't
eMail: bbe@xxxxxxxx
WWW : http://www.heise.de
|
|
|