c't

c't-Projekte - Mailinglisten


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

Re: [ct-bot] MMC ohne SPI HW-Change & Distanzsensoren

Absender: Timo Sandmann
Datum: Do, 13.01.2011 18:41:48


Hallo,

das Build-Problem sollte jetzt (auch ohne den Workaround) verschwunden sein. 
Es wäre schön, wenn diejenigen, die eine SD-Karte per Software-SPI (also SPI_AVAILBALE aus) verwenden, mal testen könnten, ob auch ihre SD-Karte jetzt noch fehlerfrei funktioniert.

Viele Grüße,
Timo


Am 11.01.2011 um 20:04 schrieb Timo Sandmann:
> Hallo,
> 
> kurze Info zum Build-Problem beim MMC-Code:
> Das Makefile, das Eclipse-CDT automatisch erzeugt, erstellt für Assembler-Dateien grundsätzlich keine Abhängigkeits-Dateien (.d). Da mmc-low.S aber von ct-Bot.h abhängt (Einstellungen MMC_AVAILABLE und SPI_AVAILBALE), wird dies zum Problem, sobald man MMC_AVAILABLE oder SPI_AVAILBALE ändert. Dann müsste auch mmc-low.S neu übersetzt werden, was das Makefile aber nicht tut, da für mmc-low.S ja keine Abhängigkeiten bekannt sind.
> Um das Problem zu umgehen, werde ich den Code aus mmc-low.S als inline-Assembler in eine C-Datei packen. 
> 
> Workaround bis auf Weiteres: nach jeder Änderung von MMC_AVAILABLE oder SPI_AVAILBALE bitte immer Project -> Clean aufrufen.
> 
> Grüße,
> Timo
> 
> 
> Am 31.12.2010 um 10:01 schrieb Fred Ammann:
>> Hallo Timo
>> 
>> herzlichen Dank - werde ich gerne tun. Hätte das Manual bez. den 
>> Distanz-Sensoren lesen sollen.....
>> 
>> Grüsse
>> 
>> Fredi
>> 
>> ________________________________
>> From: Timo Sandmann <mail@xxxxxxxxxxxxxxx>
>> To: Entwicklung rund um den c't-bot <ct-bot-entwickler@xxxxxxxxxxxxxxxxx>
>> Sent: Thu, December 30, 2010 3:35:23 PM
>> Subject: Re: [ct-bot] MMC ohne SPI HW-Change & Distanzsensoren
>> 
>> Hi,
>> 
>> Am 25.12.2010 um 23:48 schrieb Fred Ammann <fammann@xxxxxxxxx>:
>>> 1. Wollte uBasic mal ausprobieren. Ich kann aber MMC_AVAILABLE nicht ohne 
>>> SPI_AVAILBALE für den ct-bot kompilieren!
>> 
>> Also SPI_AVAILBALE aus ist ja die standardeinstellung und ich bin mir ziemlich 
>> sicher, dass der Code so auch compiliert. Das kann ich jetzt ohne Rechner 
>> allerdings nicht überprüfen. 
>> 
>> 
>>> Dann sind mmc_enable, mmc_read_byte
>>> und mmc_write_byte (beide aus mmc-low) undefinierte Referenzen.
>> 
>> Das hört sich nach einem make Problem an, lösche mal den Ordner Debug-MCU-... 
>> und führe dann project clean aus.
>> 
>>> Ich will aber der HW-Change nicht unbedingt durchführen - da nicht ganz klar 
>>> beschrieben. Falls ich aber SPI_AVAILABLE einschalte sind die Werte für gewisse 
>>> 
>>> Sensoren nicht mehr richtig. Gibt es einen anderen Switch, den ich drehen kann 
>> 
>>> um den DEad-Lock zu umgehen?
>>> 
>>> 2. meine Distanzsensoren zeigen beide immer 995 an. Sie so aus wie wenn sie 
>>> ausgeschaltet sind. Mit welchem Switch kann ich sie wieder einschalten? Oder 
>>> habe ich vielleicht durch das HW-Erweiterungsmodul die nötige Enable-Leitung 
>>> gekappt?
>> 
>> Die Distanzsensoren zeigen immer 995 an, wenn sie nicht kalibriert sind (hier 
>> hilft das Kalibrier-Verhalten) oder das eeprom Abbild nicht mit auf den Bot 
>> übertragen wurde (siehe Flash Anleitung im Wiki). 
>> 
>> 
>> Viele Grüße,
>> Timo