Discussion in 'MiniLogger' started by E.Gailer, Sep 16, 2008.

  1. E.Gailer

    E.Gailer New Member

    [FONT=Arial,Tahoma,Helvetica][FONT=Arial,Tahoma,Helvetica]Bin letzthin auf der Suche nach einem lohnenden Bastelprojekt auf den Mini-Datenlogger gestoßen. [​IMG]
    Da ich es nicht mit Modellbau zu tun habe, sondern andere Daten loggen möchte, müsste ich natürlich das Programm verändern (können).
    Dankenswerter Weise sind die *.BAS - Dateien ja zugänglich.

    Aber jetzt kommt mein Problem:
    Beim Compilieren spuckt mir BASCOM bei der Zeile mit "Getadc(&B11000...) immer einen Fehler 'raus; er kann mit dem großen Wert im Parameter nix anfangen.
    In der BASCOM-Hilfe bin ich über die Möglichkeit mit dem Binärwert auch noch nicht gestolpert.
    Deshalb meine Frage: Wie krieg' ich die Fehlermeldung weg?
    Ist da ein Plugin für Bascom (ich verwende Version 1.11.9.2) notwendig, eine Anpassung, oder wie krieg ich das sonst gebacken[​IMG]

    Da auch hier Bascom-Programme mit diesem Befehl auftauchen, frag' ich halt 'mal hier bei denen, die ihn anwenden.
    Für eine kleine Aufklärung wäre ich sehr dankbar![/FONT][/FONT]
  2. S.Schiller

    S.Schiller New Member

    Moin,

    Hast du den richtigen Controller bei Bascom eingestellt?
    Man kann vorhher einen Test laufen lassen der markiert dann fehler und man kann sie ausmärzen.

    Kannst ja mal ein screenshot von deinen einstellungen machen, ich denke es ist nur ne kleinigkeit.

    Greetz
    Sebastian
  3. mitfried

    mitfried Member

    hallo,
    ich hab in bascom meinen chip garnicht konfiguriert :confused: aber trotzdem geht es wunderbar. (ver 1.11.8.1)
    wie lautet denn die ganze zeile?
  4. E.Gailer

    E.Gailer New Member

    Tja, nur die Kleinigkeit finden ist wohl das Problem. Danke für Euere Bereitschaft, mir dabei "auf die Sprünge" zu helfen!

    Einstellungen sind "at26def.dat" wie im Mini-Datenlogger-File V2.0 angegeben, der Restso, wie er sich dann halt einstellt:
    XRAM: none (grau); HWStacks:6; SoftStack:0 Framesize:0; Flash:2kB; SRAM 128; EEPROM 128
    Aber auch mit anderen Werten für die Stacks und die Framesize hat es nicht geklappt.

    Die Beanstandeten Zeilen sind in folgendem Codeschnipsel:
    Dabei mäkelt mein Compiler nur die ersten beiden Zeilen mit dem Getadc(&B.... -Befehl (die mit den Pfeilen) an und zwar mit den Zeilen:

    "Error : 0 Line : 440 [ADC_MUX entry not found in DAT file] , in File ...\Mini-Datenlogger_V2_01_XT.BAS
    Error : 0 Line : 445 [ADC_MUX entry not found in DAT file] , in File ...\Mini-Datenlogger_V2_01_XT.BAS"

    An welchen Einstellungen könnte es denn sonst noch liegen?
  5. Space

    Space New Member

    Das liegt an der Bascom Version. Mit 1.11.9.1 klappt das kompilieren bei mir.
    Ich hatte in der Veragngenheit aber auch mal eine Bascomversion wo der von dir beschriebene Fehler auftrat.

    Mit dem Aufruf des GetADC(&B11000010) wird automatisch das ADMUX Register mit dem Binärwert in der Klammer gesetzt. Bascom sieht bei dem GETADC Befehl normalerweise nur einen Getadc(ADC-Channel) vor. ADC-Channel kann maximal den Wert 11 haben. Da aber im Minilogger Differentiell der ADC abgefragt werden soll, wird der Wert des zuständigen ADMUX Registers als Binärwert mitgegegeben. Ich habe das bei Bascom in der Doku noch nie gesehen, daß dies offiziell unterstützt wird.

    Wechsel am besten die Bascom Version. Ein Umschreiben des Programms auf manuelle ADC Abfrage mit manuellem setzen des ADMUX Registers würde warscheinlich die Flashgröße des ATTINY26 sprengen.
  6. E.Gailer

    E.Gailer New Member

    Genau _das_ war meine Befürchtung, dass die neue Version den ADC-MUX-Wert genauer überprüft und nicht - wie die funktionierenden Vorversionen - einfach in das Register kippt. Damit sollte das Programm ja richtig kompiliert werden.
    Der Austausch des Basavr.exe-Files durch das der Version 1.11.9.1 hat - genauso wie das Löschen des bascom-avr.xml - aber leider keine Besserung gebracht, anscheinend geschieht die Überprüfung in oder mit Hilfe einer anderen Datei, die natürlich jetzt auf meinem Rechner weiterhin in einer neueren Version (nämlich passend zu 1.11.9.2) vorliegt. :(
    Auf der Suche nach Stellschrauben hab' ich mich auch schon in das def-File verirrt und dachte daran, dem Programm einfach einen Tiny26 mit 8-bit-Mux vorzugaukeln, aber da wird mit Referenzmodellen gearbeitet und dann wird's wieder pfriemelig. :confused:
    Im Extremfall bleibt mir wohl nur, die CD nochmal herauszukramen, einen jungfräulichen Rechner damit zu installieren und auf 1.11.9.1 upzugraden.
    Mit ein bisschen Pech holt er dann beim Upgrade wieder die aktuellen Zusatzfiles und die ganze Aktion war für die Katz.
    Oder ginge meine CD-Version 1.11.8.2 auch schon?

    Update: Die Idee mit dem Vorgaukeln eines 8-bit-Mux hat tatsächlich funktioniert!
    Jetzt muss der Chip nur noch mit dem Ergebnis klarkommen.
    Wie ging's?
    Im attiny26.dat steht drin : ADC_MUX=5,ADMUX.0-4
    das mit einem Editor abändern in : ADC_MUX=8,ADMUX.0-7
    und abspeichern unter attiny26a.dat
    und schon meckert Bascom nicht mehr.

    Ich hoffe, damit das Problem gelöst zu haben und bedanke mich ringsum bei Allen, die mir beim Knobeln geholfen haben!!

Share This Page