Willkommen Gast. Bitte einloggen oder registrieren.
April 18, 2024, 21:22:21
Übersicht Ungelesene Beiträge auflisten Hilfe Suche Spiele Mitgliederkarte Kalender Login Registrieren

Schnellsuche
  Zeige Beiträge
Seiten: 1 2 3 4 5 [6] 7 8 9 10 11 ... 28
76  Sonstiges / Kaufen/Verkaufen/Werbung / Re: [S] Speicherdrossel und Schaltregler am: August 5, 2009, 20:31:59
Hi,

beide Bauteile findest du unter anderem bei www.segor.de. Ich bestell zwar in absehbarer Zukunft dort nichts, aber so könntest du dir einmal Versand sparen.

Gruß hackspider
77  Alles rund ums Modden / Modding-Langzeitprojekte / Re: CPU Auslastungs-Anzeige über USB am: August 3, 2009, 15:53:41
Hi Ast,

das 32bittige Vista verhält sich wie XP wenn es um die Treibersignierung geht, da gibt es den 'mir egal'-Button noch. Bei der 64bit Version ist man auf die Zertifiakte angewiesen.

TzA hatte hier mal ein Link zu einem Programm geposted, auf dessen Basis es wohl eine Lösung geben soll die auch mit UAC funktionieren soll (alles erstmal wage). Es geht darum seinen Treiber selber zu signieren. Dafür muss man 'Testsigning' aktivieren. Wenn das funktioniert, würde ich den Treiber signieren und die Benutzer müssten lediglich den Testsigning Mode aktivieren (Einzeiler in der cmd).

Alles noch nicht nicht hieb und stichfest, aber ich versuche da mal bisschen Licht ins dunkle zu bringen wenn ich meinen Prototypen gebaut habe. Dafür war ich heute bei meinem Elektronik-Dealer um noch ein paar Kleinteile zu besorgen. Dann werde ich morgen mal mit dem Aufbau beginnen.

EDIT:

Wie versprochen hatte ich gestern den Prototypen aufgebaut. Und heute Morgen meine, noch unangepasste, Firmware programmiert. Was nach kleineren Problemen (ISP spieglverkehrt belegt, Fuse, ...) dann auch als USB Device erkannt wurde  Smiley.
Jetzt werd ich mich dann an die Firmware setzten und mal schaun das ich meine Vista HD mal wieder an den PC anschließe.

Hier noch ein paar Pics vom Prototyp:








Gruß hackspider
78  Alles rund ums Modden / Modding-Langzeitprojekte / Re: CPU Auslastungs-Anzeige über USB am: August 1, 2009, 21:07:25
Hi,

Für Linux gibts das. Der Kernelpatch ist auf der recursion Hompage unten verlinkt. Aber wie gesagt um einen Kernelpatch wird man nicht drum rum kommen.

So wie du das geschildert hast hab ich das auch verstanden. Allerdings verstehe ich nicht, wie du diese 'Zwischenschicht' (ist ja auch ein treiber 'lowcdc.sys') installieren konntest, ohne Abschaltung der Treibersignierung, da der lowcdc.sys kein Zertifikat dabei hat.

In diesem Zusammenhang würde mich noch stark interessieren ob du mit einem 32-oder 64bittigen Vista arbeitest ?

Gruß hackspider
79  Alles rund ums Modden / Modding-Langzeitprojekte / Re: CPU Auslastungs-Anzeige über USB am: August 1, 2009, 07:58:25
Moin Ast,

ich hab die letzten paar Tage mich ums Layout gekümmert. Ich werde mir jetzt erstmal einen Prototypen aufbauen, und dann beginne ich mit der konkreten Umsetzung der Firmware.

Das die CDC Lösung unter Vista/7 läuft überrascht mich ein bisschen, so wie ich das verstanden habe wird Bulktransfer bei LowSpeed devices nicht mehr unterstützt und ob das noch für die 7 Nachfolger gilt ist fraglich. Wenn man Bulktransfer + LowSpeed unter Linux betreiben will, so kommt man auch da nicht um den Kernelpatch drum rum.

Ich weiß noch nicht wirklich, welche USB-Class ich verwenden möchte, hängt dann davon ab welche Klasse (unter XP/Vista/7/Linux) am praktikabelsten ist.

Gruß hackspider
80  Alles rund ums Modden / Modding-Langzeitprojekte / Re: CPU Auslastungs-Anzeige über USB am: Juli 21, 2009, 10:44:56
Hi,

CDC LowSpeed wird in Vista/7 nicht mehr unterstützt. Man kann zwar mit einer 'lowbulk.sys' LowSpeed CDC reaktivieren, allerdings hat man dann wieder das Problem mit den Signierten Treibern --> CDC Lösung fällt also flach, bzw. hat keine Vorteile gegenüber einer Treiberlösung.

http://vusb.wikidot.com/usb-device-classes

Hier findet man alle Möglichkeiten welche USB-Klassen man implemenieren kann:

CDC Class Devices --> Schon erläutert^^
Custom Class Device --> Verwende ich im Moment (Problem: Treibersignierung)
Standard HID Class Device --> So wie ich verstanden habe unidirectional (bitter verbessern wenn falsch)
Custom HID Class Device --> Würde das Problem der Treibersignierung lösen, ist aufwändig

Am interessantesten finde ich die 'Vendor type requests sent to custom HID class device'-Idee. Man hat zwar noch das Problem der von Olaf genannten Gerätefindung, allerdings wenn man sein Gerät hat, kann man wieder ganz normal über die Endpoints Daten austauschen. Als Nachteil wird gelistet, dass man die libusb mit dem Code mitschleppen muss, allerdings ist das bei weitem besser als das gefrickel mit den Vistatreibern.

Nachdem ich die Layouts und einen Prototypen zum testen fertig habe, werde ich wohl erstmal eine Treiberlösung (geht am schnellsten/einfachsten) entwickeln.
Die 'Vendor type request over HID Class' stell ich mal hinten an.

So bin dann mal wieder für die Klausur lernen.

Gruß hackspider
81  Alles rund ums Modden / Modding-Langzeitprojekte / Re: CPU Auslastungs-Anzeige über USB am: Juli 20, 2009, 20:52:23
Hi,

ich zitier mal kurz aus der Readme zum Vista x64 Treiber

Code:
SUMMARY
=======
    Vista x64 does not accept unauthorized kernel-mode drivers. To use
    AVR-CDC on 64bit machine, you have to turn the "Driver Signature
    Enforcement" off by pressing the F8 function key during system boot up.

    "Driver Signature Enforcement Overrider" signs the driver as a
    testdriver and activates a testmode so you can load it without a real
    signature. You can find a more detailed description on the download
    page of the overrider
        http://www.ngohq.com/home.php?page=dseo

Für WinXP braucht man keine zusätzlichen Treiber, aber da besteht das Problem mit den signierten treibern ja nicht. Für Vista (+ Nachfolger) besteht das Problem immer noch.

Gruß hackspider
82  Alles rund ums Modden / Modding-Langzeitprojekte / Re: CPU Auslastungs-Anzeige über USB am: Juli 20, 2009, 13:06:57
Hi nobody44,

der FT232 ist mir bekannt, doch wollte ich ihn Aufgrund des Preises und der SMD Bauform nicht für das Projekt benutzen.

Der FT232 ist durchaus interessant, weil er züsätzlich noch den Takt für den AVR generieren könnte und die Uebertragungsgeschwindigkeit würde auch keine Rolle merh spielen. Selbst ausporbiert, ob die Treiber signiert sind hab ich noch nicht, aber wenn das so auf der Herstellerwebsite so steht wird das wohl stimmen.
Werde ich vielleicht nochmal austesten, wenn ich mal Lust dazu habe meine Win7/Vista Festplatte wieder einzubauen.

Der FT232RL ist nicht ganz ohne zu löten für mich als (mittlerweile schon jahrelanger) Löter war selbst das ein härterer Brocken. Weiß nicht wie man da einen Nachbau (ohne zusätzlicher Adapterplatine) für Anfänger hinbekommen könnte.

Da ich bei mir die Treibersignierungsgeschichte nie als sinnvoll und eigentlich nur als störend empfunden habe, bin ich (auch als Entwickler) auf den Zug "schalten wir die doch einfach ab und alles ist gut" aufgesprungen. Es soll einen Befehl für die Kommandozeile geben mit dem man ebenfalls die Signierung abschalten kann, allerdings von mir auch ungetestet. Werde ich bei Gelegenheit aber nachholen.

So am 23ten schreib ich meine letzte Klausur, dann gehts weiter.

Gruß hackspider
83  Alles rund ums Modden / Modding-Langzeitprojekte / Re: CPU Auslastungs-Anzeige über USB am: Juni 27, 2009, 12:20:23
Hi,

der relevante Takt, mit dem die Bits auf die Schieberegister geshoben werden, sind die 12MHz des AVRs. Das sind 3*83,3ns=250ns (3x : 1x Pin setzten 0/1 1x CLK auf High und wieder auf Low) pro Bit. Um ein ganzes Schieberegister (8bit) zu shiften sind das dann 8x250ns = 2000ns = 2µS. Da müssen schon ne ganze Menge Schieberegister dranhängen bis das Auge das sieht. D.h. Sorgen wegen der Geschwindigkeit, müssen wir uns an einer Anderen stelle machen Smiley.
Der Grund für die Schieberegister mit Ausgangspuffer, war der Gedanke auch LCDs damit ansteuern zu können. Da kann man nicht mehr kontrollieren was mit dem LCD geschieht wenn andauernt etwas über den Enable Pin geshiftet wird.
Für eine reine LED Variante ist es egal, ob das Schieberegister einen Ausgangspuffer hat oder nicht.

Wie die Geschwindigkeit am USB Aussieht, konnte ich nicht wirklich in Erfahrung bringen, die Implementierung von VUSB ist jedenfalls ein USB 1.1 low speed device (1.5 Mbit/Sek). Allerdings schweigt sich die VUSB Homepage auch über jegliche Datentransferrate aus und für genaue Messungen hatte ich bis jetzt keine Zeit.

Was mich noch interessiert ist wie oft und wie schnell Daten an ein LCD gesendet werden müssen, damit man auch einen VU-Meter noch betreiben könnte, das wäre dann wirklich der absulute maximum Faktor was die Schaltung können müsste.

Gruß hackspider

EDIT: Reichelt Bestellung ist raus, bis dahin heißt es warten  Undecided
EDIT2: Reichelt ist zwar da, aber im Moment häng ich hier grad in mitten der Klausuren, dannach gehts hier weiter

84  Alles rund ums Modden / Modding-Langzeitprojekte / CPU Auslastungs-Anzeige über USB am: Juni 25, 2009, 20:48:20
Hi,

find ich gut, dass sich hier noch andere darüber Gedanken machen  bestens.

Die Abschätzung von 20 bis 50ms war nur grob, da kann man ruhig auf die 50ms (20Hz) gehen. Mehr lohnt sich wirklich nicht. Eine Idee die mir heute Nachmittag noch gekommen ist: Man könnte den kleinsten eingestellten Plugintimer für die Aktualisierung des AVRs verwenden. Dass wäre dann wirklich die maximale Updaterate die man Verwenden kann und die am ressourcensparendste Lösung. Bis jetzt hab ich keine Messungen, wie ressourcenfressend Zugriffe auf USB sind, wäre interesannt zu wissen.

Der Lösungsansatz, mit 2 Kanälen ist eigentlich, keine falsche Idee, da CPU, HDD Zugriffe sich viel schneller ändern als z.B. der Füllstatus einer Partition, aber der Vorteil gegenüber einer Einkanallösung seh ich leider nicht wirklich. Wir reden beim Payload über 1 Byte pro Schieberegister, da ist es dann egal ob man 1 Byte oder 8 Bytes sendet, der Overhead der durch das USB-Protokoll auftritt dürfte um einiges größer sein.

Für die Synchronistation könnte man durchaus einen intelligenten Algorithmus schreiben, der Plugins mit gleicher Updaterate auf einen gemeinsamen Timer mappt.

Ich habe kommende Woche Abgabe zweier Projekte die im Moment meine Freizeit in Anspruch nehmen, werd aber schauen ob ich das ein oder andere schonmal Umsetzten kann. Hab erstmal heute bei meinem Elektroniker meines Vertrauens Schieberegister gekauft, leider nicht die 74HC595, die ich aufgrund ihres Ausgangsregister gerne eingesetzt hätte, sondern nur die 74HC164er. Zum testen sind auch die in Ordnung, in der finalen Lösung hätte ich aber doch gerne die 595er. Die ersten Test mit dem Schieberegister sehen ziehmlich gut aus, denke darauf kann man ausetzten.

Gruß hackspider
85  Alles rund ums Modden / Modding-Langzeitprojekte / CPU Auslastungs-Anzeige über USB am: Juni 23, 2009, 18:30:33
Hi,

eigentlich hatte ich mir das so gedacht: ein Timer der alle 20 oder 50ms checkt ob sich Daten geändert haben, wenn ja wird eine USB-Message erzeugt und die neuen Daten an den AVR gesendet. Dieser Intervall soll vom Benutzer NICHT verändert werden können. Jetzt bekommt jedes Plugin einen einstellbaren Timer bei dem man einstellen kann, wie oft die Daten aktualisiert werden (Bissel verwirrend).

Timer USB (20ms) ---> Byte[] (aktuelle Daten) <--- Plugins (100ms bis 10sek)

Man kann sich das ganze wie ein SharedMemory Bereich vorstellen, bei dem die Plugins Daten ablegen, und der USB Timer bei änderungen der Daten diese losschickt.
Ob Leser/Schreiber Probleme auftreten und inwiefern das gehandhabt werden muss ist noch zu testen.

Vorteil dieser Lösung ist, man braucht nur eine Schieberegisterkanal und kann dennoch für jedes Element des Kanales eine "fast" belibig kleine oder große Aktualisierung erreichen.

GUI technisch hab ich mir noch nicht wirklich Gedanken gemacht, allerdings sollte Drag&Drop mit WindowsForms und C# eigetlich keine Probleme machen (unter Vorbehalt).

Gruß hackspider
86  LCDs und -Software / LCDs Allgemein / Re: LCD Ansteuerung am: Juni 23, 2009, 16:49:41
Hi,

erstmal zu deiner Frage wegen dem LCD Parameter, das steht doch ziehmlich deutlich in der Readme datei drinn:

Code:
The argument "LCD" represents the controller-number;
For one-controller-LCDs it can be set to 0 or 1.

Es gibt nur wenige LCDs die mehr als einen Controller haben, es gab mal ein 4x27 CLCD bei Pollin, bei dem obere und untere Hälfte getrennt angesteuert wurden. Aber ansonsten tauchen 2 Controller nur bei sehr großen (4x40) LCDs auf. --> Kannste für "normale" LCDs auf 0 setzten.

So jetzt mal zu den Parametern der Init Funktion:
Um das wirklich zu verstehen solltest du dir Seite 5 (Control and Display Command) und Seite 7 (Initializing by Instruction) dieses PDFs mal genauer anschauen.

Kurz zusammengefasst:

lines = 1 Zeiliges oder Mehrzeiliges LCD (mit N im PDF gekennzeichnet)
font = 5x7 Zeichensatz (F im PDF)
increase = afair ob der Curser von Hand oder automatisch erhöht wird (I/D im PDF)
shift = shift off/on (S im PDF)

mit C_on und B_on kann man den Den Cursor und das Blinking de/aktivieren (DISPLAY ON/OFF Command)

mit D_shift und R_Shift werden die Bits S/C und R/L im SHIFT Command gesetzt.

um diese ganzen Settings zu verstehen, würde ich dir dringest empfehlen die Datenblätter genauer zu studieren, dann verstehst du auch was LCD_Command und LCD_Data macht.
Wenn du allerdings, das ganze nur benutzen möchtest, würde ich dir Vorschlagen mal nachzuschauen was die fertigen Libraries (z.B. die von Peter Fleury) an Attributen übergeben.

Was den Fehler angeht, den du bekommst: scheint so als wäre da irgendwas bei der Definition/Aufruf der USB_LCD_Data Funktion schief gegangen.

Gruß hackspider
87  Alles rund ums Modden / Modding-Langzeitprojekte / CPU Auslastungs-Anzeige über USB am: Juni 22, 2009, 21:30:49
Hi,

diese Tool hatte ich auch eine kurze Zeit ausprobiert, aber eine Abschaltung der UAC war mir doch zu riskant für den Dauereinsatz.
Ich seh das genauso wie du, dass sich da mit der Zeit noch eine richtige Lösung finden wird.

Der AVR denkt im Moment nicht einmal (und das würde ich gerne auch so belassen), er bekommt in der aktuellen Fassung zwei Bytes zugesendet, die er ohne Bearbeitung an die IO-Pins weitergibt. Das Abbilden der CPU Auslastung auf ein Byte übernimmt das Programm auf dem Computer also zwischen 0 und 12,5% ist das Byte=1, zwischen 12,5 und 25% ist das Byte=3  usw.
In der Version an der ich gerade arbeite, wird dem AVR ein Byte[] (Buffer) gesendet, der dann über die Schieberegister einfach rausgeschoben wird.
Damit entnehme ich dem AVR jede Logik, sodass man bei der Integration von neuen Features, keine neue Firmware flashen muss.

PC seitig wird es eine Pluginstruktur geben (die ich aus einem meiner aktuellen Projekte übernommen habe), diese erlaubt es dann zusätzlich Blinklicht,Lauflicht,RAM,HDD,VU-Meter Plugins zu schreiben.

Was mir heute Nachmittag noch so kam war, das man das ganze auch als Multi-CLCD Ansteuerung via USB nutzbar machen könnte. Ist halt nur die Frage, ob die Schieberegister/AVR Combi schnell genug ist.

Gruß hackspider
88  LCDs und -Software / LCDs Allgemein / Re: LCD Ansteuerung am: Juni 22, 2009, 21:03:56
Hi,

hatte grad en paar Probleme um das nachzuvollziehen (x64 x86 Problematik).

Aber nachdem ich mir eine x64 USB-LCD.dll kompiliert hatte ging das ohne Probleme:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace DLLImport
{
    class Program
    {
        [DllImport("USB_LCD.dll")]
        private static extern short USB_LCD_Connect();


        static void Main(string[] args)
        {
            int x = USB_LCD_Connect();
            Console.WriteLine(x.ToString());
            Console.ReadKey();
        }
    }
}


Gruß hackspider
89  LCDs und -Software / LCDs Allgemein / Re: LCD Ansteuerung am: Juni 22, 2009, 14:22:59
Hi,

http://sourceforge.net/projects/libusbdotnet/

damit kannst du auf den USB-Port zugreifen, allerdings müsste man dann die Methoden der USB-DLL neu implementieren.

Besser ist aber glaube ich wenn du die Methoden der USB-LCD.dll mittels DLLImport läds so wie hier:
http://msdn.microsoft.com/de-d...y/cc431203.aspx

Gruß hackspider
90  Alles rund ums Modden / Modding-Langzeitprojekte / CPU Auslastungs-Anzeige über USB am: Juni 21, 2009, 21:30:30
Hi nochmal,

@StarGoose
Hab das ganze auch schon aufm Win7 RC1 getestet, da funktioniert alles bis auf die Sache mit dem ReadyDriver, d.h. man muss bei jedem Start den Trick mit der F8 Taste machen.
Solange M$ keine Möglichkeit bietet, Treiber kostenlos zu signieren, bzw. keine Möglichkeit anbietet die Treibersignierungsprüfung abzuschalten, siehts ziehmlich schlecht aus für Bastel-USB.
Ich bin überhaupt kein Freund von Vista und von Windows 7 bin ich auch nicht wirklich überzeugt. Die Treiberproblematik hat mir fast schon wieder den Rest gegeben, hab für die Vista-User dann doch ne alte HDD ausm Schrank gekramt und meine msdnaa-Lizenz mal installiert. Da muss noch einiges passieren bis ich das produktiv einsetzten kann.

BTW:
Der AVR kann natürlich noch ne Menge mehr: (Von mir getestet)
- Lüfter regeln PWM -> gläten -> OP -> PFET (NoDrop2 Prinzip)
- Mittels NTC Temperatur messen
- Drezahlmesser -> ICP

Könnte man ne lustige digitale Lüftersteuerung machen, gibts aber ja schon einige

@mak
Der einzige Grund warum so ein "großer" AVR benuzt wurde ist, dass es die letzten waren die ich da hatte  Wink.

Dein Vorschlag gefällt mir gut, super geeignet für die Multicore Unterstützung werde ich genau so weiterverfolgen. Allerdings fehlen mir im Moment die Schieberegister um einen Versuch aufzubauen. Elektronisch und Programmiertechnisch dürfte da nichts im Weg stehn.

PC seitig is dem Ganzen keine Grenzen gestezt: ob man das Ganze dann als Lauflicht, Blinklicht, RAM, HDD, VU, oder klassisch als CPU Auslastungsanzeige verwendet ist dann jedem selber überlassen.
Im Moment, kann ich mir aussuchen, ob ich einzelne Kerne, oder den "Total Load" (der angesprochene Average) anzeigen will.

Zu deiner Frage: Die Updatefrequenz is im Moment fix im Code mit 100ms drin, diese ist aber auf jeden Fall einstellbar geplant. Es wird 10 mal pro Sek neue Werte geholt und beim einer Veränderung an den AVR gesendet.

Gruß hackspider

Seiten: 1 2 3 4 5 [6] 7 8 9 10 11 ... 28

Einloggen mit Benutzername, Passwort und Sitzungslänge      

Powered by MySQL Powered by PHP
eXTReMe Tracker
Seite erstellt in 0.044 Sekunden mit 22 Zugriffen.
© 2001-2022 MODDING-FAQ FORUM | SMF
Alle Rechte vorbehalten.
Prüfe XHTML 1.0! Prüfe CSS!