Facharbeit / Treiberprogrammierung

Dieses Thema im Forum "Mac OS X Entwickler, Programmierer" wurde erstellt von combich, 13.12.2006.

  1. combich

    combich Thread Starter MacUser Mitglied

    Beiträge:
    350
    Zustimmungen:
    3
    MacUser seit:
    02.06.2005
    Hallo,

    stehe nun kurz vor meiner Facharbeit (Physik LK) und würde gerne eine Facharbeit über die punktuelle Datenübertragung durch Laserstrahlen verfassen und habe mir dazu gedacht evtl. eine kleine Box (USB) zu basteln und durch diese dann, durch einen Laser, z.B. MP3s auf einen Empfänger übertragen zu lassen. Da mein entgültiges Thema noch nicht feststeht und dies nur eine Idee wäre, würde ich mich gerne bei den Programmierern hier erkundigen, wie es mit der Realisierbarkeit der Treiber für solch ein Unterfangen aussieht. Mac OS X bringt dazu ja logischerweise an sich keine Treiber mit...
    Gibt es für Mac OS X eine Softwarelösung, mit der ich EPROMS programmieren kann?? Alles was ich bisher gefunden habe, bezieht sich meistens nur auf Windows (im schlimmsten Fall sogar noch auf Windows 3.11)...



    Danke!!
     
  2. PieroL

    PieroL MacUser Mitglied

    Beiträge:
    5.562
    Zustimmungen:
    233
    MacUser seit:
    25.08.2005
    Interessant.
    Ein Physik-Prof hat uns etwas ähnliches mal in der Vorlesung gezeigt.
    Für ne Facharbeit ist das schon happig würde ich sagen... Das war ein ziemlich fetter Versuchsaufbau damals... :cool:
     
  3. Raolin

    Raolin MacUser Mitglied

    Beiträge:
    18
    Zustimmungen:
    0
    MacUser seit:
    27.11.2006
    Hallo!

    Also, nachdem Deine Problematik ja noch nicht soo ganz feststeht:
    Eventuell ist das hier etwas für Dich:
    http://www.codemercs.com/D_index.html
    Guck da mal unter IO/Warrior.

    Zitat:
    "IO-Warrior ist die fertige Lösung für viele dieser Probleme. IO-Warrior 40 verfügt über 32 I/O Pins die frei benutzbar sind, IO-Warrior 24 hat 16 I/O Pins und IO-Warrior 56 sogar 50 I/O Pins.
    Jeder einzelne Pin kann wahlweise Ein- oder Ausgang sein."

    "Den IO-Warrior in eigene Software einzubinden ist leicht. Unter Windows
    (2000/XP) ermöglicht eine Library einfachen Zugriff von vielen
    Programmiersprachen. Beispiele für C++, VisualBasic™ und Delphi sind im SDK
    enthalten. Für MacOS X umfasst die Unterstützung nicht nur eine Library,
    sondern auch einen Zugang mittels AppleEvents. Kassenschublade von FileMaker aus öffnen? Kein Problem!"

    Über den kannst Du simpelst z.B. einen Laserpointer etc ansteuern, somit wäre die Senderseite schonmal kein Problem. Wie willst Du den Empfänger realisieren?

    Viele Grüße

    Axel

    P.S. Echtzeit wird eventuell ein Problem, da :
    F: Welche Datenrate kann ich mit dem IO-Warrior erzielen?
    A: Als HID Klasse Gerät in der sogenannten Low Speed Kategorie kann der IO-Warrior maximal 100 Reports pro Sekunde übertragen.
    Auf den meisten Betriebssystemen sind es real 125 Reports pro Sekunde.
    Ein Report enthält jeweils den Status aller 32 Pins, oder ein Datenpaket von oder zu einer der Spezialfunktionen(IIC, SPI, LCD).
    Bei Verwendung z.B. der IIC Funktion ergeben sich daraus etwa 600-800 Bytes Nutzdaten pro Sekunde.
     
    Zuletzt bearbeitet: 13.12.2006
  4. combich

    combich Thread Starter MacUser Mitglied

    Beiträge:
    350
    Zustimmungen:
    3
    MacUser seit:
    02.06.2005

    Arbeit wäre es mit Sicherheit nicht wenig, aber das Ergebnis (wenn es funktioniert) stünde dann denke ich schon für den Arbeitsaufwand. Zeit hätte ich dazu 11 Monate.



    Empfänger hätte ich am ehesten mit einem Photohalbleiter realisiert. Laser würde also möglichst schnell hintereinander ein- und ausgeschaltet werden und würde so auf der Empfängerseite immer kurzzeitige Stromflüsse hervorrufen, die dort dann ausgewertet werden sollen (resultat wären dann ja wieder unsere bekannten 1er und 0er). Vor den Photohalbleiter sollte evtl. noch ein UV- Filter (oder ähnliches) angebracht werden, sodass ein Stromfluss nicht auch ungewollt hervorgerufen wird.



    Habe gestern noch etwas von Ronja gelesen. Damit wurden Datenraten 10 Mbps erreicht (bei einer Reichweite von 1,4 km). So hohe Datenraten würd ich natürlich nicht anstreben. Ich gehe hier ja auch nicht von der Übermittlung von 10 MB großen MP3s aus (oda gar WMAs).
    Meine Alternative zur Musikübertragung wäre evtl. noch die Übertragung von kleinen Nachrichten von einem PC zum anderen (wie ein Chat über Laser)... Auch hier beschäftige ich mich hauptsächlich noch mit der Frage der Realisierbarkeit...
     
    Zuletzt bearbeitet: 13.12.2006
  5. Raolin

    Raolin MacUser Mitglied

    Beiträge:
    18
    Zustimmungen:
    0
    MacUser seit:
    27.11.2006
    Gut, damit kann der I/O Warrior nicht mithalten. Aber ich habe hier ein kleines Roboter-Project, der wir ausschliesslich über I/O Warrior gesteuert, und das klappt so recht gut. Und der Chat wäre sicher auch kein Problem.

    Viele Grüße

    Axel
     
  6. combich

    combich Thread Starter MacUser Mitglied

    Beiträge:
    350
    Zustimmungen:
    3
    MacUser seit:
    02.06.2005
    Treiberentwicklung und evtl. EPROM Programmierung in C wäre auch unter Mac möglich, oder??
    Wie sieht es denn allgemein vom Programmieraufwand und dem Schwierigkeitsgrad für die Treiberentwicklung bei Macs aus??
     
  7. below

    below MacUser Mitglied

    Beiträge:
    13.882
    Zustimmungen:
    1.086
    MacUser seit:
    15.03.2004
    Für USB Geräte musst Du (normalerweise) keinen echten Treiber entwickeln, das geht alles von ganz normalen Anwendungen aus.

    Die Codemerks liefern Libraries und Frameworks für alles und jedes mit (glaube ich), das müsste auch in C gehen und sollte ganz einfach sein. Wenn Du ein USB Gerät direkt ansteuern willst, dann geht das mit dem IOKit. Das ist "embedded C++", also eine Untermenge von C++.

    Ich finde das Ansteuern von Hardware auf OS X leichter als unter Linux -- allerdings ist das relativ. Wenn Du aber schon APIs von Codemerks et. al bekommst, dann ist das alles ziemlich locker.

    Alex
     
  8. combich

    combich Thread Starter MacUser Mitglied

    Beiträge:
    350
    Zustimmungen:
    3
    MacUser seit:
    02.06.2005
    Ok, danke!! Damit wär das Thema Treiber wohl realisierbar...


    Mein nächstes Problem ist noch die Programmierung der EPROMS an sich. Ist sowas auch unter Mac möglich?? Es ist ja dazu erst einmal erforderlich ein Programm an sich zu erstellen (z.B. in C++) und es anschließend auf den EPROM zu übertragen. Habe bei Conrad dazu einen "EPROM- Brenner" gefunden. Probleme ergeben sich allerdings durch die extremen Kosten (ca. 180 €) und die Anschlussmöglichkeiten (nur COM oder LPT). Diese Anschlüsse gehören doch der Vergangenheit an, oder?? Die findet man mittlerweile nicht mal mehr an den meisten PCs. Kennt ihr eventuelle Alternativen (USB)??