Discussion in 'Opencharge' started by Space, Sep 15, 2007.

  1. Space

    Space New Member

    Diverse Bugfixes/Erweiterungen und Änderungen:

    Bug:
    • Die Historie Funktion, ist nur Fehlerfrei. Es werden nun alle 10 letzten Lade/Entlade Ergebnisse fehlerfrei dargestellt.
    • Abfrage Drehgeber optimiert (Cursorspringen)
    • Das Springen des Drehgeberwertes beim Linksdrehen des Gebers von 0 -> Maxwert, funktioniert nun wieder
    • Diverse kleine Bugfixes... (Anzeige, Bedienung, etc)
    Erweiterung
    • Die Kalibrierung der Temperaturgeber ist nun möglich
    • Die Anzahl der "Melody"-durchläufe am Ladeende kann nun eingestellt werden ( 0-250)
    • Es gibt nun auch die Funktion Laden/Entladen anstatt nur Entladen/Laden
    • Der Stepdownwandler kann deaktiviert werden.
      Achtung, man sollte schon wissen, was man hier tut:
      Beim Laden von Akkus mit kleinen Spannungen bei hohem Ladestrom, schütz dann nur noch die Temperaturüberwachung des Ladegerätes die Längsfets. Die Verlustleistung sollte hier 25W nicht überschreiten!
    • Der Ladestrom kann nun bis 12A betragen
    • Anzeige:
      Ein "*" Im LCD auf Position 24 in Zeile 1 symbolisiert das der Stepupwandler aktiv ist
      Ein "Pfeil Runter" auf Position 8 in Zeile 1 symbolisiert im LiPo-Mode, das eine Absenkung des Ladestroms stattgefunden hat (Konstantspannungsphase)
    Änderungen
    • Derzeit wird die interne Temperatur im Logview mit ausgegeben. Ich hoffe ich finde Morgen die Musse, mich mit Dominik wegen eines erweiterten Loggformates abzustimmen.
    • Das Setupmenue2 ist gebohren. Zu erreichen über den rechten Pfeil im Setup Menue
    • Flashsicheurng und Restore sind in eine eigenes DaSi Menue (Datensicherung) gewandert.
    • Die Zellenerkennung bei der LiXX Ladung wurde überarbeitet. Wenn die Anzahl der erkannten Zellen nicht equivalent der UServorageb ist, wird ein deutliches warnendes gepiepse ausgegeben
    Eine aktive Mitarbeit an der Software ist ausdrücklich erwünscht. Fehler, bereinigte Fehler oder Verbesserungsvorschläge bitte im Forum posten.

    Wer sich für die Flashbelegung im Atmega32 interessiert, der findet nun im Downloadbereich eine Überischt in XLS von dieser.

    Ausserdem: Es gab 3 unabhängige Zusagen zum texten einer Bedienungsanleitung, leider waren das bisher 3 Zusagen ohne Ergebnis :mad:.
  2. Frogger

    Frogger New Member

    Na was nen glück das ich da nciht zugesagt hab bei der Bedienungsanleitung :)
    Ich muss auch gestehen das ich noch immer die vorletzte Version drauf hab weil ich ne saule fau bin. :rolleyes:
    Jetzt muss ich wohl doch updaten in der Hoffnung das ich dir keinen Fehler melden/berichtigen muss. Aber erst muss ich mich versuchen zu erinnern wie der bootloader noch ging denn es ist schon so lange her.
  3. Space

    Space New Member

    Nein, du bist nicht gemeint.


    ...jetzt eine Anleitung zur Hand währe nicht schlecht :D Versuches es mit dem Microsysl .Net Bootloader und dem Drücken der ESC Taste beim Anschalten.
  4. Frogger

    Frogger New Member

    Irgendwie hab ich den verdacht du nutzt nen anderen compiler als ich :(
    Code:
    '$framesize = 46
    '$hwstack = 46
    '$swstack = 38
    musste ich schon immer auskommentieren weil ich das irgendwie bei "options/Compiler" einstelle (da stehen aber die defaultwerte bei mir) und hab mich dran gewöhnt
    aber bei mir meckert er über Zeile 3504
    Code:
    Encoderbyte = Encoder(pind.2 , Pind.3 , Links , Rechts , 0)  
    mit dem Fehlern
    Code:
    Error : 323   Line :   3504  Label too long [2 , PIND.3 , LINKS , RECHTS , 0).2 , PIND.3 , LINKS , RECHTS , 0).2 , PIND.3 , LINKS , RECHTS , 0)]  , in File : D:\OPENCHARGE\COMPILE\PROTOTYP2.BAS
    Error : 323   Line :   3504  Label too long [2 , PIND.3 , LINKS , RECHTS , 0).2 , PIND.3 , LINKS , RECHTS , 0).2 , PIND.3 , LINKS , RECHTS , 0)]  , in File : D:\OPENCHARGE\COMPILE\PROTOTYP2.BAS
    Error : 323   Line :   3504  Label too long [2 , PIND.3 , LINKS , RECHTS , 0).2 , PIND.3 , LINKS , RECHTS , 0).2 , PIND.3 , LINKS , RECHTS , 0)]  , in File : D:\OPENCHARGE\COMPILE\PROTOTYP2.BAS
    Error : 323   Line :   3504  Label too long [2 , PIND.3 , LINKS , RECHTS , 0).2 , PIND.3 , LINKS , RECHTS , 0).2 , PIND.3 , LINKS , RECHTS , 0)]  , in File : D:\OPENCHARGE\COMPILE\PROTOTYP2.BAS
    Error : 323   Line :   3504  Label too long [2 , PIND.3 , LINKS , RECHTS , 0).2 , PIND.3 , LINKS , RECHTS , 0).2 , PIND.3 , LINKS , RECHTS , 0)]  , in File : D:\OPENCHARGE\COMPILE\PROTOTYP2.BAS
    Error : 31    Line :   3504  Invalid datatype [ 0]  , in File : D:\OPENCHARGE\COMPILE\PROTOTYP2.BAS
    Error : 93    Line :   3504  Variable not dimensioned [ 0-> 0]  , in File : D:\OPENCHARGE\COMPILE\PROTOTYP2.BAS
    Error : 238   Line :   3504  Variable is not dimensioned as an array [ENCODER(PIND)]  , in File : D:\OPENCHARGE\COMPILE\PROTOTYP2.BAS
    Error : 104   Line :   3504  LoadReg error [ENCODER(PIND)]  , in File : D:\OPENCHARGE\COMPILE\PROTOTYP2.BAS
    Error : 100   Line :   3504  No array support for IRAM variables  , in File : D:\OPENCHARGE\COMPILE\PROTOTYP2.BAS
    Wenn ich diese Zeile auch auskommentiere dann kompiliert er sauber. Ich hab jetzt auch irgendwie auf die Schnelle den Nutzen nicht erkannt die Variable wird auch nur deklariert und nicht genutzt.

    Edit: Ich hab jetzt die selbst kompilierte Version auf meinen Lader geladen und was soll ich sagen ... leider geht der Drehimpulsgeber nicht mehr ... die Zeile hat es wohl doch in sich. Das ist doch eigentlich irgendwie eine deklaration des bytes als bitfeld oder nicht? Oder ein Zugriff wo die ganzen Bits alle in ein byte gepropft werden sollen. Muss ich mir nochmal anschauen warum mein compiler das nicht mag. Eigentlich wollte ich meine flashvariablen da einprogrammieren damit ich die im falle eines resets schon im speicher hab und gleich richtig initialisiere. Naja so hab ich dann mal die neuen Menues erforscht. Ja das geht eindeutig in die richtige Richtung. Bei der Spannung ist man noch genötigt unbedingt nen neuen Wert einzugeben beim Innenwiderstand nicht. Ich denke das man das komplette mEich so gestalten sollte wie beim innenwiderstand. Also man ruft einen Wert auf stellt ihn dann ein und speichert. Hier ist aber noch ein kleiner schönheitsfehler... er speichert den neuen Wert bei ok und esc ... hier könnt man noch etwas nachschleifen.
    Beim funktionstest hab ich mal das Programmieren und benutzen eines Programmspeichers probiert. Hier ist ja auch noch ne kleine Baustelle. Das brachte mich auf die Idee das man ja auch nen geiles PC-Setup-Programm machen könnte mit der seriellen schnittstelle. Aber ich fürchte dafür reicht der Programmplatz auf dem Mega nicht mehr aus.

    Edit2: Jetzt hab ich geblickt was da passieren soll (der anleitung von bascom im inet sei dank). Das einzig dumme ist das ich jetzt sicher bin das meine Version zu alt ist :(
  5. Space

    Space New Member

    Sehe ich auch so, das mEich ist von der Bedienung her grottig. Das mEich ist derzeit auf minimalen Speicherverbrauch ausgelegt worden, viele Werte verändern, bei minimalen Flashverbrauch. Ich werde mir mal überlegen, wie man die Standart Menues, in welchen ein Wert verändert wird, modularisieren kann, um hier wenig Flash zu verbraten.
    Ich kann dir nicht folgen, in welchem Menue bist du? mEich? Bei mEich wird der Wert beim verändern bereits ins Flash geschrieben.

    Das Thema PC ist Futureland, aber sollte auch noch mit dem M32 machbar sein. Wenn dann sollte ähnlich wie bei Akkumatik, die Fernsteuerung in LV integriert sein. Ínteressieren tut mich aber, was du in dem Laden/Speichern mit "kleine Baustelle" meinst? Was funktioniert da nicht wie erwartet?

    Danke auf jeden Fall für deine Rückmeldung,:jo: nur so kann ich trotz meiner Betriebsblindheit die Software verbessern. Einige der Menues sind auch noch aus dem Experimentierstadium entsprungen, wo es darum ging den besten Aufbau hierfür zu finden. Es gilt sie nun mal einzufangen und zu harmonisieren.

    Ein Update bei MCS ist eigentlich problemlos jederzeit machbar.


    Thomas
  6. Frogger

    Frogger New Member

    Also ich war im Menue für den Innenwiderstand und der neue Wert wurde bei ESC und bei OK gespeichert. Hier würde es doch sinn machen mit ESC den alten wert zu behalten.
    Bei den Speichern (also nicht die Letzten Ladedaten sondern die der Akkus) habe ich festgestellt das die eingabe des Namens etwas kompliziert war. Hier war beim eingeben sofort die idee gekommen das nach dem bestätigen eines Buchstaben es sinn machen würde wenn dieser als nächster auch kommt. Also das man wenn man ein Wort schreibt und bei kleinbuchstaben ist nicht erst wieder 35 Zeichen vorkurbeln muss um den nächsten kleinbuchstaben zu erreichen. Beim Versuch einen Programmspeicher zu laden habe ich festgestellt das er mir alle Programmplätze anzeigte und in allen dann der eingegebene Name für platz 0 stand ... liegt wohl daran das nicht gelöscht wird und ich nur einen eingegeben hatte.
    Ich frag mich grad ob ich in eine Bascom Version investieren soll oder lieber nicht. Die mir angedrehte macht nämlich kein update. Ich denke es ist besser sie zu löschen und entsorgen. *grrr*
    Weiterhin frage ich mich warum der Prozessor bei mir 94% voll war. Erzeugt Bascom wirklich so aufgeblähten code? Der Protz müsste eigentlich unter halb voll sein. Ich bin ja für C aber fürchte mich vor der Baustelle. Ausserdem muss ich dann das Rad neu erfinden. Das liegt mir ja nu mal garnich.
  7. Space

    Space New Member

    ...macht Sinn mit ESC ohne speichern raus zu gehen, und war auch mal so gedacht --> fixe ich
    Guck ich mir an, sollte einfach umzusetzen sein.

    Mhh, kann ich im Moment nicht nachvollziehen. Ich bin mir aber sicher das die Speicherplatz Anzeige funktioniert. Allerdings bei nicht voll belegten Speicherplätzen bin ich mir nicht so sicher, ob der String bei leerer Beschreibung gelöscht wird.:p Ich gucke mir das mal an...
    Habe ich auch schon so mit Ralf gemacht:
    Schick mir einfach dein BAS File und du bekommst HEX zurück. Für den Syntax Check, hole dir einfach die aktuelle Freeversion von MCS.
    Wenn es nur um deine Kalibrierugswerte geht, so reicht der entsprechenden Abschnitt im Programm per Mail.
    Wenn du den Haken "optimize Code" in den Compiler Optionen setzt, ist der Flash nur zu 80% belegt. Es ist also noch Luft da...:)


    Thomas
  8. Frogger

    Frogger New Member

    An diesem Wochenende war das Wetter Perfekt so das ich die neue Software ausgiebig testen konnte. :cool:
    Natürlich hab ich auch gleich mal wieder was zum meckern :D

    Kannst du bitte die Zeile 2698 löschen? Die nerft :)
    Das ist das beep was er machen soll wenn der Strom nicht mehr mit Stepdown zu erreichen ist und der Stepup gestartet wird. Leider hab ich erst heut Abend nach der Codestelle suchen können wo es beept. Ich denke du hattest sie zu debuggingzwecken drinne. Da er wenn er piepte das auch öfter tat werde ich da beim nächsten fliegen mal ein Auge auf die Anzeige werfen um zu sehen ob der Strom in dem Moment schwankt und wenn wie stark.

    Einen hab ich noch ... das Display ist zu kurz :D
    Wenn man 10A einstellt dann fehlt das Leerzeichen zwischen C1 und den 10,0A was dann nach 110A aussieht und zur folge hat das jeder der schaut wie der typ die merkwürdigen Akkus lädt sich mit einem hechtsprung in deckung bringt. Wenn ich das vorhin beim Laden richtig gesehen hab müsste man die Stromanzeige eine Ziffer weiter nach rechts machen können. Dann ist wieder alles im Lot.

    Das mit dem Code zuschicken zum compilieren ist ein super Angebot. Danke!

    Gruss Carsten
  9. Space

    Space New Member

    War war wirklich ein Befehl vom debuging stehen geblieben. Danke für den Hinweis :), ich habe mich neulich auch schon gefragt, warum auf einmal der Lader permanent piepte.

    Kann gerade nicht testen, aber die Anzeige soll wie im Anhag dargestellt aufgebaut sein. Ich guck nochmal...
    :D genau so war es beabsichtigt, per Sprung in den Dreck. Die Notwendige Erfurcht vor der neuen Technologie sollte hier nochmal durch Zahlen untermauert werden.

    Ich habe die Bas und HEX Dateien um den Beep-Fehler bereinigt auf dem Wiki neu hochgeladen.

    Attached Files:

Share This Page