Sourcecode Fortschritt


  • Mod

    0.0.5.78 - Rev: 1744

    - serial.h/c: code etwas transparenter gestaltet bezüglich baudrate und divisor. baudrate auf 115200 erhöht (divisor: 1)
    - serial log für periodic list mit iTD vereinfacht


  • Mod

    0.0.5.79 - Rev: 1745

    webcam: Weiterentwicklung der Übetragung mit ehci iTD chain auf Hardware
    - Einhängen des iTD chain heads an periodic list optimiert
    - Vorbereitung des Codes für Nutzung mehrerer iTD chains

    Anmerkung: Die Datenübertragung auf dem test-PC läuft deutlich schneller als mit VBox. Hierdurch werden die Datenpakete stark über die Buffer der iTD gestreut (geringe Nutzlast). Idee: Nutzung mehrer iTD chains.



  • Version 0.0.5.80:

    - EHCI: Korrekte Benutzung der Doorbell beim Entfernen von QHs aus der Queue
    - USB-Keyboard: Caps-Lock-Unterstützung; LEDs (Out-Report) implementiert
    - Video: float-YUV-Typ entfernt, YVID_t in YUV_t umbenannt, Zugriff auf uninitialisierte Variablen in showYUYV behoben (cppcheck-Fund)
    - USB-MSD: Wiederhole "test unit ready" häufiger und mit Wartezeit (behebt Probleme mit xHCI)
    - xHCI: Broken Free (und Folgefehler) bei SET_ADDRESS behoben
    - Events: Fehlerkorrektur bei Freigabe von Event-Queues
    - Paging: Fehlerkorrektur bei Einträgen in der Memory Map mit 0 Bytes oder mehr als 4 GiB


  • Mod

    0.0.5.81 - Rev: 1747

    webcam: ehci periodic list working with n chains with m iTD (später als fehlerhaft erkannt)

    TODO: Optimize periodic list transfer setup for VBox and Hardware


  • Mod

    0.0.5.82 - Rev: 1748

    webcam: Fehler bei der Bestimmung von last_iTD und current_iTD in den Modulen ehci.c und ehciQhqTD.c beseitigt.


  • Mod

    0.0.5.83 - Rev: 1749

    webcam: weitere Korrekturen

    Der test-PC leidet bei ehci ab und zu noch an "master abort" (Capabilities list und Fast Back-to-Back Transaction capable)


  • Mod

    0.0.5.84 - Rev: 1750

    webcam: iTD für ehci bei hardware um die 64-bit extended buffer pointer erweitert und padding von 92 auf 96 byte durchgeführt, damit das 32 byte alignment erfüllt bleibt.

    Nun spielt der ehci "auf blech" (test-PC) auch ohne "master abort" mit uns.

    Nun kann die Optimierung des periodic schedulers und die Adaption an die Fähigkeiten verschiedener webcams starten. 🙂


  • Mod

    0.0.5.85 - Rev: 1751

    webcam an periodic scheduler ehci: stop/go entfernt, code weiter optimiert.

    test-PC: erfolgreiche Tests bez. ehci/periodic scheduler

    Allerdings entlocken wir den webcams noch keine brauchbaren Ergebnisse.


  • Mod

    0.0.5.86 - Rev: 1752

    usb_video.h/c: Weiterentwicklung des Codes (z.B. probe/commit für StillImage)

    Der periodic scheduler von ehci läuft auf Hardware nun zuverlässig.


  • Mod

    0.0.5.87 - Rev: 1753

    Darstellung von Videodaten in VBox gelingt bereits zuverlässiger, allerdings noch mit vereinzelten user mode #PF, die die Darstellung jedoch nicht vereiteln.

    vidswtch.asm: GetVgaInfoBlock: mov ds, ax ergänzt
    vm86.c: vm86_executeSync: Zeitverzögerungen eingefügt zur Vermeidung von #PF bei eip: 152h (user mode)
    usb_video.c: usb_setupVideo: Darstellung von webcam-Daten direkt in PrettyOS (mittels vm86 und vbe)

    Problem bei test-PC: vbe-modes werden noch nicht erfasst (mode-Auflistung ist leer)



  • Version 0.0.5.88:

    - Scheduler: Endlosschleife in scheduler_unblockEvent() behoben
    - mutex_lock/unlock() mit task_switching = true/false abgesichert
    - Optimierung: list_alloc_elem() und list_append_elem() implementiert, um Allokationen bei Verwendung von list_t zu reduzieren
    - VBE: Nutze Standardmodi als Fallback, wenn ModeList-Pointer unbrauchbar
    - fsmanager: Crash beim Entfernen unbekannter Partitionen behoben, Speicherleck behoben
    - Installiere ATA nur, wenn HDDs aktiviert sind



  • Version 0.0.5.89:

    - Heap: Caching der ersten freien Region war fehlerhaft implementiert, sodass es unwirksam war
    - Heap: Verbesserter Log, freie Regionen angezeigt, Regionsnummern und firstFreeRegion (s.o.) angezeigt
    - Heap: Grenzprüfung bei placementMalloc() mit Alignment korrigiert
    - Speicherverbrauch von usb_setupVideo() durch frühzeitige Freigabe der Buffer deutlich reduziert


  • Mod

    0.0.5.90 - Rev: 1756

    task.h/c: Tasks erhalten einen Kommentar (analog heap region via malloc), damit man diese in der Task-Übersicht (strg+t) leichter zuordnen kann (unterstützt die didaktische Komponente von PrettyOS). Falls gegeben, wird der Konsolenname verwendet.

    Beispiel:

    current task: 0                                                                 
    
    --------------------------------------------------------------------------------
    pid  esp      pd       k_stack  access comment       thread                     
    --------------------------------------------------------------------------------
    
    running:                                                                        
    
    0    005FFE50 00639000 -------- kernel main         child-threads: 2 5 48       
    4    E003DE6C E0039000 E003E000 user   0:0:|PrettyOS|Shell.                     
    
    blocked:                                                                        
    
    2    E002978C 00639000 E0029860 kernel OHCI 1       parent task: 0              
    48   E0052C10 00639000 E0052DB0 kernel VBE          parent task: 0              
    5    E002C9C0 00639000 E002CA94 kernel EHCI Ports           parent task: 0      
    
    freetime:                                                                       
    
    1    E001E5B8 00639000 E001E600 kernel freetime
    

    usb_setupVideo() funktioniert noch bestens.


  • Mod

    0.0.5.91 - Rev: 1757

    usb_video.c: Korrekturen durchgeführt, z.B. Power- und Error-Request
    Nun klappt die Errorcode-Abfrage.



  • Versino 0.0.5.92:

    - paging_freeVirtMem() und paging_allocVirtAddr() implementiert
    - Diagnose-Verbesserungen:
    -- Formattierung der Ausgabe bei Strg+t verbessert
    -- Compilerfehler bei aktivierten _DIAGNOSIS_-Flags behoben
    -- kdebug() entfernt (nutzlos)


  • Mod

    0.0.5.93 - Rev: 1759

    usb_video.c: webcam-code weiter optimiert.

    VBox: Serieller Log: http://pastebin.com/KNSnvXcL


  • Mod

    0.0.5.94 - Rev: 1760

    usb_video.c: Fehler behoben, Übertragung optimiert.


  • Mod

    0.0.5.95 - Rev: 1761

    usb_video.c u. videoutils.c: weitere Fehler behoben


  • Mod

    0.0.5.96 - Rev: 1762

    usb_video.c: VideostreamError-Abfrage eingebaut

    Still Image mit 160 pixel Breite: http://www.henkessoft.de/Sonstiges/webcam_schwarz_160pixel.png


  • Mod

    0.0.5.97 - Rev: 1763

    usb_video.c: Parameterfehler in requests korrigiert

    http://henkessoft.de/Sonstiges/PrettyOS.png (Screenshotausschnitt aus VBox) und http://henkessoft.de/Sonstiges/webcam_logitech_160pixel.png (frames hintereinander, Jidders Programm)


Anmelden zum Antworten