• 19.04.2024, 04:54
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Re: Linux Steuerungssoftware (aeinfo) *SAMURIZE* v

Dienstag, 10. April 2007, 03:30

@0x6c333337

der aeinfo deamon läuft unter WinXP ohne probleme, jedoch passiert es öffters das der Webinterface sowie das plugin für samurize keine info vom deamon erhält! Es ist immer ein restart des deamons von nöten, danach läuft es wieder!

Da ich jetzt nicht sagen warum der deamon abschmiert, würde ich einfach empfehlen ab und zu den aeinfo status im src ab zu fragen und dem ensprechen die services neu zu starten! In wie fern du das machen könntest: 1. entweder selber einfach man werte requesten, welches in einem seperaten thread läuft.. oder ?.. eventuell hast du ja ne bessere lösung..

Danke dir im vorraus....

Gruß
GeminiServer
|- no matter what do it -|

Re: Linux Steuerungssoftware (aeinfo) *SAMURIZE* v

Freitag, 13. April 2007, 23:38

Ja ich wollte ohnehin mal die aktuelle Version veröffentlichen. Zumindest läufts bei mir sehr stabil..
Die VISTA-Kompatiblität werd ich mir auch mal ansehen, kann eigentlich keine gravierende Sache sein...

Re: Linux Steuerungssoftware (aeinfo) *SAMURIZE* v

Samstag, 14. April 2007, 17:36

Das Problem ist, wenn ich http://localhost:30000/ eingebe funktioniert, die navi nicht, ich bekomme die Meldung das die Seite nicht engezeigt werden kann und nach einem aktuallisieren läuft garnichts mehr.

Re: Linux Steuerungssoftware (aeinfo) *SAMURIZE* v

Mittwoch, 18. April 2007, 22:10

@0x6c333337
ich denke das eine dll der eine verbindung zum aquaero herstellt perfect wäre. So könnte mann ohne probleme verschiedene app. erstellen und alles schön abkapseln. Ich denke da an samurize, VISTA gadget. Leider ist die SDK von ac nur mit c# und die usb.dll scheint auch kein export der funktionen zu bieten! Sonst hätte ich längst ne kleine app. erstellt...

Hatte mich mal an deine src rangewagt :(... oh mann.. da muss echt alles mal gereinigt werden ;)...

Wenn du schon dabei bist.. dan erstellt doch mal ne seperate dll, welches nur auf die HID schnittstelle zugreift.. oder der reine win32 src, der halbweg durch den VC 7 compiler läuft würde mir auch ausreichen.. der rest ist easy....

Laut AC C# sourcen, schreiben die wohl in die registry rein.. ? Was soll den das... ein directer zugriff auf die USB schnittstelle wäre um ein viel facher besser. die Samurize dll holt sich dann die infos über die registry? Es führen wirklich viele wege nach rom.. einige kann mann sich echt schwer machen...

naja...
Die beste alternative ist immer noch der deamon... warte auf dein nächstes release...
|- no matter what do it -|

Re: Linux Steuerungssoftware (aeinfo) *SAMURIZE* v

Donnerstag, 19. April 2007, 15:24

Zitat von »GeminiServer«

@0x6c333337
ich denke das eine dll der eine verbindung zum aquaero herstellt perfect wäre. So könnte mann ohne probleme verschiedene app. erstellen und alles schön abkapseln. Ich denke da an samurize, VISTA gadget. Leider ist die SDK von ac nur mit c# und die usb.dll scheint auch kein export der funktionen zu bieten! Sonst hätte ich längst ne kleine app. erstellt...

Hatte mich mal an deine src rangewagt :(... oh mann.. da muss echt alles mal gereinigt werden ;)...

Wenn du schon dabei bist.. dan erstellt doch mal ne seperate dll, welches nur auf die HID schnittstelle zugreift.. oder der reine win32 src, der halbweg durch den VC 7 compiler läuft würde mir auch ausreichen.. der rest ist easy....

Laut AC C# sourcen, schreiben die wohl in die registry rein.. ? Was soll den das... ein directer zugriff auf die USB schnittstelle wäre um ein viel facher besser. die Samurize dll holt sich dann die infos über die registry? Es führen wirklich viele wege nach rom.. einige kann mann sich echt schwer machen...

naja...
Die beste alternative ist immer noch der deamon... warte auf dein nächstes release...


Das mit c# ist geschmackssache. die USb Dll kannst du mit c# benutzten. Da es halt eine C# und keine C++ dll ist.
Wir schreiben nichts n die Registry,.. absolut gar nichts.
Das Plugin für samurize nutzt direkt den RAM zum Datenaustausch mit der aquasuite.
Mit unserer USB dll greifen wir direkt auf die API Funktionen von Windows zu - schneller und besser geht es nicht. Da sind dann auch schon so sachen wie überlappende Transfers usw. abgewickelt (bei unserer dll).
Und unser Samurize Plugin ist in C++ geschrieben.

Sebastian

Re: Linux Steuerungssoftware (aeinfo) *SAMURIZE* v

Donnerstag, 19. April 2007, 22:51

Zitat von »GeminiServer«

@0x6c333337
ich denke das eine dll der eine verbindung zum aquaero herstellt perfect wäre. So könnte mann ohne probleme verschiedene app. erstellen und alles schön abkapseln. Ich denke da an samurize, VISTA gadget. Leider ist die SDK von ac nur mit c# und die usb.dll scheint auch kein export der funktionen zu bieten! Sonst hätte ich längst ne kleine app. erstellt...

Hatte mich mal an deine src rangewagt :(... oh mann.. da muss echt alles mal gereinigt werden ;)...

Wenn du schon dabei bist.. dan erstellt doch mal ne seperate dll, welches nur auf die HID schnittstelle zugreift.. oder der reine win32 src, der halbweg durch den VC 7 compiler läuft würde mir auch ausreichen.. der rest ist easy....

Laut AC C# sourcen, schreiben die wohl in die registry rein.. ? Was soll den das... ein directer zugriff auf die USB schnittstelle wäre um ein viel facher besser. die Samurize dll holt sich dann die infos über die registry? Es führen wirklich viele wege nach rom.. einige kann mann sich echt schwer machen...

naja...
Die beste alternative ist immer noch der deamon... warte auf dein nächstes release...
Also als erste Anlaufstelle, wenn Du etwas damit entwickeln möchtest (oder auch jemand anders), dann muss ich unbedingt auf den Quellcode vom Samurize-Plugin hinweisen. Denn dort wird intern auf den Daemon zugegriffen. Hier ein Code-Beispiel, wie Du auf das aquaero zugreifen kannst:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#ifdef _MSC_VER
# pragma warning( disable : 4786 4101 4503 )
#endif

#include <iostream>
#include <fstream>
#include <string>
#include <map>
#include <set>
#include <list>
#include <sstream>
#include <iomanip>
#include <cstdio>
#include <memory>

using namespace std;

#define VERSION   "xxx"
int     VERBOSE = 0;

#include "common.h"
#include "objectstream.h"



map<string,map<int,string> > stringEnum_names;
map<string,map<int,string> > stringEnum_help;

set<string> bitFields;

/* ValueParsers convert string's to other types and vice versa. */
#include "parsers.h"

/* allows runtime-access to all properties (attributes) of AquaeroData_rev4 */
#include "introspection.h"

/* the data-structure of aquaero */
#include "aquaero.cpp"

/* some more introspection-stuff */
#include "introspection.cpp"

#include "comm.h"

#include "ipc.h"

//////////////////////////////////




// Variable für die Daten des Aquaero
AquaeroData_rev4 aedata;
// Datenverbindung, um die obige Datenstruktur zu aktualisieren
DaemonCommunicationClient *comm = NULL;

void init () 
{
  definePropertyMap(aedata);
  defineStringEnums();
}

void make_connection_to_aquaero () 
{
  if( comm != NULL ) return;

  try {
    comm = new DaemonCommunicationClient();
  } catch( const DaemonNotFoundException *dnfex ) {
    // Der Daemon läuft nicht...
    comm = NULL;
  } catch( ... ) {
    // irgendein anderer Fehler...
    comm = NULL;
  }
}

void update_data () 
{
  comm->read( aedata );
}

// Generierung der String-Darstellung eines Feldes:
string get_value_as_string ( string field_name ) 
{
  ostringstream oss;
  PropertyDescriptorBase* pd = properties[field_name];
  pd->printValue( oss );
  return oss.str();
}

int main ( int, char**) 
{
  init();
  make_connection_to_aquaero();

  update_data();
  string fan_name = get_value_as_string("fan.1.name");
  return 0;
}

Vergiss von dem obigen Code die erste Hälfte -- interessant wirds erst ab der zweiten Hälfte..
Was anderes was mir einfällt: Du könntest auch versuchen die Samurize-DLL zu benutzen!
Wichtig ist jedoch der Umstand, dass Du Dich im Prinzip wie Samurize verhalten musst: Wenn Du einen Wert vom ae abfragen willst, musst Du zunächst die Funktion dllstartup(NULL,0); aufrufen. Diese liefert als Rückgabewert eine ID, die Du als Parameter für die Funktion getValue(ID, "fan.1.name"); benutzen musst. Aber Vorsicht -- Du solltest die ID's re-usen (wenn Du Dir vor jedem Aufruf von getValue eine neue ID holst, läuft Dir der Speicher voll!). Also, wenn Du z.B. für den Datenpunkt "sensor.3.temp" schon eine ID hast, dann solltest Du genau diese ID immer für "sensor.3.temp" verwenden... und wenn Du einen anderen Datenpunkt abfragen willst, dann brauchst Du dessen ID (und wenn dieser Datenpunkt noch keine ID hat, dann liefert Dir dllstartup eine neue)...
Wenn Du geschickt bist, dann kannst Du auch alles mit nur einer einzigen ID bewerkstelligen (Wenn Du die Rückgabestrings schlicht und einfach "kopierst" -- denn im Prinzip ist es so, dass pro ID ein fester Speicherbereich für den Rückgabestring reserviert wird und dieser Speicherbereich dann beim Aufruf von getValue verändert wird).

Wenn Du noch irgendwelche Fragen hast, dann schreib einfach ;-)

Re: Linux Steuerungssoftware (aeinfo) *SAMURIZE* v

Freitag, 20. April 2007, 00:57

Auch noch eine kleine Info zu VISTA etc:
Bei VISTA ist es so, dass die USB-Kommunikation irgendwie etwas "messed up" ist -- teilweise kommen die Daten vom aquaero verschoben -- da muss ich mir mal die Besonderheiten für die USB-Kommunikation unter VISTA genauer anschauen.

Bei Linux ist es so, dass manchmal der Flex-Scanner (Bestandteil vom Webserver) auf einen "fatal internal error" läuft (dann stürzt der Daemon komplett ab) --> ich hab den Source mal mit dem aktuellsten Flex gefixed und damit läufts ;-)

Ferner gab es auch noch Beiträge von anderen Leuten (z.B. Init-Script für SUSE von Richard Kahn)..

Ergo: Ich muss jetzt mal die aktuellste Version Relasen ;-)

Re: Linux Steuerungssoftware (aeinfo) *SAMURIZE* v

Freitag, 20. April 2007, 01:08

Zitat von »0x6c333337«

Auch noch eine kleine Info zu VISTA etc:
Bei VISTA ist es so, dass die USB-Kommunikation irgendwie etwas "messed up" ist -- teilweise kommen die Daten vom aquaero verschoben -- da muss ich mir mal die Besonderheiten für die USB-Kommunikation unter VISTA genauer anschauen.

Das ist bei unserem Code nicht passiert. Einzigstes Problem mit unserem USB code mit Vista war, das ich für das gleiche Gerät verschiede Adresspfade von der API bekommen habe um das Gerät genau zu Identifizieren.

Re: Linux Steuerungssoftware (aeinfo) *SAMURIZE* v

Freitag, 20. April 2007, 02:23

Zitat von »Sebastian«


Das ist bei unserem Code nicht passiert. Einzigstes Problem mit unserem USB code mit Vista war, das ich für das gleiche Gerät verschiede Adresspfade von der API bekommen habe um das Gerät genau zu Identifizieren.
Hm - genau dasselbe Problem mit den Verschiebungen hatte ich unter Linux-2.6 auch mal irgendwann (der Report hat zwar die erforderliche Länge von - ich glaube 553 Bytes - aber das erste Byte befindet sich nicht an Offset 0 sondern irgendwo mitten drin). Ich weis jedoch nicht, ob ein "ReadFile" in der Art und Weise auch unter VISTA funzt - unter XP gings.. Hatte bisher nicht die Zeit mich damit zu "spielen".
Möglicherweise liegts aber auch an den nForce2-VISTA-Treibern... k.A.

Re: Linux Steuerungssoftware (aeinfo) &nbsp

Dienstag, 8. Mai 2007, 22:59

So,

es gibt nun mal wieder eine neue Version von aeinfo, mit folgenden Verbesserungen:
- Webserver Verbesserungen (Linux: stark verbesserte Interaktivität, vor allem beim Schreiben zum ae; und nen Bug wegen 'nem unhandled signal gefunden)
- Im Webinterface hat man jetzt Zugriff auf _alle_ Datenpunkte des ae
- Etwas "runderes" Design 8)

Ich vermute aber, dass sich an der VISTA-Kompatiblität sich leider nicht viel geändert haben wird - einfach mal ausprobieren. Falls es bei jemandem unter VISTA nicht klappt, so möge er mir bitte ein Logfile zukommen lassen: Dazu einfach den Daemon mit dem Parameter -v starten:

aquaerod -v

und mir per E-Mail das Logfie unter C:\aquaerod.log schicken.

Re: Linux Steuerungssoftware (aeinfo) &nbsp

Donnerstag, 10. Mai 2007, 19:41

Windows Vista Business 32-Bit

- Display tot
- Aquaero spielt verrückt
- usw.

nach neustart alles wieder ok.

Logfile:

Zitat

created semaphore data_mtx
created semaphore write_mtx
created semaphore usb_comm_mtx
created semaphore performUSBDeviceUpdate
created semaphore waitForDaemon
created and mapped shm
created and mapped shm
extracting entry-points
testing hidhello
Hello

Re: Linux Steuerungssoftware (aeinfo) &nbsp

Donnerstag, 10. Mai 2007, 21:41

Ja, für den VISTA-Support hatte ich bisher leider keine Zeit...
Hinzu kommt auch, dass es bei mir unter VISTA sogar sporadisch funktioniert (oder sporadisch nicht funktioniert)...
Da müsste ich mich erst mal in ein paar Foren zu "USB, C++ und VISTA" schlau machen...
Möglicherweise liegts an der HID.DLL, glaub ich aber nicht..
Das Logfile liegt scheinbar nur zu einem Teil vor (es wird nur alle 5 Sek. geflushed -- das Logfile ist ohnehin ein "ziemlich dunkler Hack" unter Windows)

Re: Linux Steuerungssoftware (aeinfo)

Dienstag, 15. Mai 2007, 02:10

@0x6c333337
hab mal etwas zeit gehabt und mich mal dahinter gesetzt. Leider wenn ich nötigen srces in meinem Projekt einfüge bekomme ich einen link Fehler.. eventuell hast du ja einen Tipp:

Quellcode

1
2
3
ae error LNK2019: Nicht aufgelöstes externes Symbol '__imp__SetupDiGetDeviceInterfaceDetailA@24', verwiesen in Funktion '"private: int * __thiscall USBCommunication::init_device(void)" (?init_device@USBCommunication@@AAEPAHXZ)'
ae error LNK2019: Nicht aufgelöstes externes Symbol '__imp__SetupDiEnumDeviceInterfaces@20', verwiesen in Funktion '"private: int * __thiscall USBCommunication::init_device(void)" (?init_device@USBCommunication@@AAEPAHXZ)'
ae error LNK2019: Nicht aufgelöstes externes Symbol '__imp__SetupDiGetClassDevsA@16', verwiesen in Funktion '"private: int * __thiscall USBCommunication::init_device(void)" (?init_device@USBCommunication@@AAEPAHXZ)'


Erledigt!
Zauberwort: Link setupapi.lib in Project Settings ;)
|- no matter what do it -|

Re: Linux Steuerungssoftware (aeinfo) &nbsp

Dienstag, 15. Mai 2007, 08:35

So.. nach ein paar stunden Spielerei ;)

Hier mal ein screenshot Beta vom aedll.
Dieser Screenshot ist nur die Test_Exe um die dll zu testen!



Wenn ihr lust habt einfach mal testen ob es auf eurem System läuft!
WinXP sollte es ohne probleme laufen!
Vista würde mich auch Interesieren.. ;)

- Es muss weder "aeinfo deamon" laufen noch das Aquasuite!
- RAR entpacken und dlltester.exe starten

Download: aedll_beta_release_v1.rar

Gruß
GeminiServer
|- no matter what do it -|

Re: Linux Steuerungssoftware (aeinfo) &nbsp

Mittwoch, 16. Mai 2007, 14:50

nur mal so als frage - bietet die linux version sämtliche funktionen der windows version?

messi

Re: Linux Steuerungssoftware (aeinfo) &nbsp

Donnerstag, 17. Mai 2007, 01:06

Zitat von »messi«

nur mal so als frage - bietet die linux version sämtliche funktionen der windows version?

messi
Meiner Ansicht nach schon :-) Diagramme gibts zwar noch nicht, werden aber vermutlich in der nächsten Version kommen ;-)

Re: Linux Steuerungssoftware (aeinfo) &nbsp

Donnerstag, 17. Mai 2007, 02:11

sehhrr gut, dann steht der einsatz meines linux servers mit dem aquaero ja nix mehr im wege :)

Re: Linux Steuerungssoftware (aeinfo) &nbsp

Samstag, 19. Mai 2007, 14:05

Zitat von »GeminiServer«

So.. nach ein paar stunden Spielerei ;)

Hier mal ein screenshot Beta vom aedll.
Dieser Screenshot ist nur die Test_Exe um die dll zu testen!



Wenn ihr lust habt einfach mal testen ob es auf eurem System läuft!
WinXP sollte es ohne probleme laufen!
Vista würde mich auch Interesieren.. ;)

- Es muss weder "aeinfo deamon" laufen noch das Aquasuite!
- RAR entpacken und dlltester.exe starten

Download: aedll_beta_release_v1.rar

Gruß
GeminiServer

läuft hier unter Vista Business

speed4me

Junior Member

Re: Linux Steuerungssoftware (aeinfo)    !UPDATE!

Sonntag, 20. Mai 2007, 18:04

Funzt wunderbar unter WinXP SP2 und dem ASUS P5WDH.

Gibt es eine Möglichkeit, die aedll.dll in LCDStudio einzubinden?

Re: Linux Steuerungssoftware (aeinfo)

Montag, 21. Mai 2007, 04:46

@Giffi
danke! für den vista test ;)
@speed4me
hab mir grad mal das LcdStudio angekuckt.. sollte machbar sein!
Aber ohne ein LCD hier bei mir macht es keinen Spass ;)

Weiter geht es hier: http://forum.aqua-computer.de/index.php?…&threadID=92600
|- no matter what do it -|