Pages: 1 2 [3] 4 5   Go Down
Author Topic: Arduino-Oszilloskop - [Nano Version]  (Read 10850 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 11
Posts: 49
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ja, müsste prinzipiell möglich sein. Das Problem ist nur, dass ich es selber nicht testen kann. Ich bin ein typischer Windows-User und arbeite ab und zu auch mal mit Linux. Ich werde mich mal schlau machen, wie ich es am besten für den Mac kompiliere. Momentan sollten alle programmierten Funktionen unter allen Systemen funktionieren.

Edit: Ist doch nicht ganz so einfach.... Ich kann die Programme nur auf dem jeweiligen System kompilieren.  ...bedeutet ich brauche ein MacOS X System, damit ich es für den Mac kompilieren kann. Ich muss mal schauen, ob und wie ich es unter Windows emulieren könnte. Habe bisher noch nie auf einem Mac gearbeitet, daher will ich jetzt noch nicht zu viel versprechen. 
« Last Edit: May 10, 2013, 09:55:20 am by SBond » Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wie ich sehe wird das zu messende Signal beim Arduino an A0 eingespeist.

Wenn man einen Spannungsteiler zwischen das zu messende Signal und A0 schaltet kann man die maximal zulässige Messspannung erhöhen !

Praktisch währe auch wenn man mit der Mauscursorspitze, an einer belibigen Stelle innerhalb des Graphen, den Messwert abfragen und anzeigen lassen könnte.

Es währe auch sinnvoll wenn man die Möglichkeit hätte die Anzeige auszudrucken !
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Offline Offline
Newbie
*
Karma: 11
Posts: 49
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ja, das ist eine gute Idee smiley
Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die MAC-Version könnte ein kleines Problem werden, da Du in Deinem Programm direkt auf die Windows "Registry" zugreifst:
Code:
If RegOpenKeyEx_(#HKEY_LOCAL_MACHINE, "HARDWARE\DEVICEMAP\SERIALCOMM", 0, #KEY_QUERY_VALUE , @hKey) = #ERROR_SUCCESS
Das geht beim Mac und bei Linux natürlich nicht. Gut wäre, wenn die Software die serielle Schnittstelle OS-unabhängig erkennen könnte.

Mario.
Logged

Offline Offline
Newbie
*
Karma: 11
Posts: 49
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ja, in der aktuellen Form klappt das mit dem auslesen nur bei Windows. Momentan kenne ich auch gar keine andere Methode, um die Anzahl der vorhandenen Schnittstellen auszulesen. Gerade bei Mac und Linux wird es für mich schwierig, da ich nicht weiß wie ich an diese Infos gelange. Notfalls lasse ich diese Funktion außen vor. Eine manuelle Eingabe ist ja weiterhin möglich. In wie fern ich das Programm für den Mac kompilieren kann, kann ich noch nicht sagen. Ich müsste es erstmal schaffen ein MacOS X-System unter Windows zu emulieren. Hast du mit so etwas schon irgendwie Erfahrung?

achja... das geplante update wird sich wohl noch um eine Woche verschieben müssen. Die nächsten Tage werde ich leider kaum Zeit zum Programmieren finden, da ich gerade viel um die Ohren habe. Zumindest ist der neue Graph soweit (fast) fertig und mit knapp 4000 Zeilen schon etwas umfangreicher als in der letzten Version. Den Quellcode stelle online, sobald die Formatierung und Dokumentation vollständig ist.
« Last Edit: May 12, 2013, 03:56:57 pm by SBond » Logged

Germany
Offline Offline
Edison Member
*
Karma: 47
Posts: 2314
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

In der PB-Hilfe findet sich ja folgendes Beispiel:
Code:
CompilerIf #PB_Compiler_OS = #PB_OS_Windows
  Port$ = "COM1"
CompilerElse
  Port$ = "/dev/ttyS0"
CompilerEndIf

Darauf aufbauend könnte man den nächsten Codeschnipsel anpassen, den ich mir mal zurechtgewurstelt habe:

Code:
Enumeration
  #MainWindow
  #BTN_Quit
  #BTN_Connect
  #BTN_Disconnect
  #Port
  #CB_Port
EndEnumeration

ProgramName.s = "TEST"
OpenWindow (#MainWindow, 100, 100, 230, 330, ProgramName.s)
ButtonGadget (#BTN_Quit, 120, 300, 100, 20, "Ende")
ButtonGadget (#BTN_Connect, 120, 230, 100, 20, "Verbinden")
ButtonGadget (#BTN_Disconnect, 120, 255, 100, 20, "Trennen")
DisableGadget (#BTN_Disconnect, 1)

ComboBoxGadget(#CB_Port, 120, 205, 100, 20)

For i = 1 To 20
  If OpenSerialPort (#Port, "COM"+Str(i), 9600, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 64, 64)
    AddGadgetItem(#CB_Port, -1,"COM" + Str(i))
    CloseSerialPort (#Port)
  EndIf 
Next
SetGadgetState (#CB_Port, 0)         ; Voreinstellung für seriellen Port

Repeat 
  Event = WaitWindowEvent (10)
 
  If Event = #PB_Event_CloseWindow
    Quit = 1
  EndIf
 
  If Event = #PB_Event_Gadget
    Select EventGadget()
      Case #BTN_Quit
        Quit=1
      Case #BTN_Connect
        If OpenSerialPort (#Port, GetGadgetText (#CB_Port), 9600, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 64, 64)
          connect = 1
          DisableGadget (#BTN_Connect, 1)
          DisableGadget (#CB_Port, 1)
          DisableGadget (#BTN_Disconnect, 0) 
        EndIf
      Case #BTN_Disconnect
        connect = 0
        DisableGadget (#BTN_Connect, 0)
        DisableGadget (#CB_Port, 0)
        DisableGadget (#BTN_Disconnect, 1)
        CloseSerialPort (#Port) 
    EndSelect   
  EndIf     

Until Quit

Habe mal alles unwichtige rausgeschmissen und nur die Basisfunktionalität gelassen. Ich teste einfach beim Programmstart, welche COM-Ports sich überhaupt öfnen lassen und setze für jeden verfügbaren Port ein Element in die ComboBox. Dann schließe ich den Port und habe ne schöne Auswahlliste der verfügbaren Ports.
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Offline Offline
Newbie
*
Karma: 11
Posts: 49
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

lol  smiley-grin

so geht es natürlich auch. Ist keine schlechte Idee smiley-wink
Arbeitest du auch mit Purebasic, sth77?
Logged

Germany
Offline Offline
Edison Member
*
Karma: 47
Posts: 2314
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Arbeitest du auch mit Purebasic, sth77?
Manchmal, aber eher auf Einsteiger-Niveau.
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Offline Offline
Newbie
*
Karma: 11
Posts: 49
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

oh ok, schade eigentlich.

Ich bin in der Sprache auch noch ein Anfänger und manchmal hängt man an den einfachsten Aufgaben smiley-wink
Logged

Austria
Offline Offline
Full Member
***
Karma: 2
Posts: 107
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Ich müsste es erstmal schaffen ein MacOS X-System unter Windows zu emulieren. Hast du mit so etwas schon irgendwie Erfahrung?

Mit VM Workstation kannst du Mac OS X emulieren.

Auf meinem Windows 7 läuft auch OS X 10.8 Mountain Lion, zwar mit geringer Leistung, aber es läuft.

Zum programmieren reicht es auf jeden Fall, aber ob die fertige Anwendung dann flüssig läuft weiß ich nicht.

Edit: Ich habe probiert dein PureBasic-Programm, welches du schon vor längerer Zeit veröffentlicht hast, zu kompilieren. Es kam aber eine Fehlermeldung. Genau der Fehler welcher mkl0815 schon erwähnt hat.

Grüße,
J3RE
« Last Edit: May 12, 2013, 04:58:02 pm by J3RE » Logged

Offline Offline
Newbie
*
Karma: 11
Posts: 49
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ich werde es mir am Wochenende mal näher anschauen. Die kommenden Tage habe ich leider kaum Zeit dafür.
Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Das Programm lässt sich auch nicht mit der Demoversion von Purebasic compilieren.
Weis allerdings nicht mit welcher Version J3RE versucht hat das Programm zu compilieren.
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Austria
Offline Offline
Full Member
***
Karma: 2
Posts: 107
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Das Programm lässt sich auch nicht mit der Demoversion von Purebasic compilieren.
Weis allerdings nicht mit welcher Version J3RE versucht hat das Programm zu compilieren.
Ich habe es mit der Vollversion versucht.

Grüße,
J3RE
Logged

Offline Offline
Newbie
*
Karma: 11
Posts: 49
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

gibt es irgendwo eine Anleitung, wie man Mac auf einem PC emuliert? Ich finde überall solche texte wie: "ohne Lizenz kann man das vergessen" und "die Lizenzen sind an die Hardware gebunden".

Ich tue mich da eventuell etwas schwer, aber ich habe auch keine Ahnung von Apple-Produkten und dessen Betriebssysteme.

zu dem aktuellen Stand des Oszis: Es ist viel zu tun. Komme momentan etwas langsam voran, da ich gerade viele Labortermine habe. Ich will nichts zu viel versprechen, daher sage ich mal, dass das nächste Update erst in 3-4 Wochen kommen wird. Ich bin gerade dabei das Einstellungs-Menü und die Status-Leiste zu programmieren. Wenn das fertig ist, dann kommt das Update.




Gruß
SBond
Logged

Germany
Offline Offline
Faraday Member
**
Karma: 56
Posts: 3001
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wenn du Mac auf dem PC emulierst, weisst du nicht, ob er sich tatsächlich wie ein Mac verhält, insbesondere was hardwarenahe Fragen angeht.
(max. Geschwindigkeit serieller Ports via USB z.B.)

Sollen doch die Apple-Besitzer sich drum kümmern smiley-wink
Vermutlich ist auch unklar, ob deine purebasic Lizenz dafür gelten würde...

Mach lieber weiter an deinem Nano Oszilloskop.

Meine java-Version hab ich übrigens aufgegeben, nachdem ich gemerkt habe, dass man auch mit c# locker 500kBd statt max. 115200 schafft.

Logged

Pages: 1 2 [3] 4 5   Go Up
Jump to: