PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenPoc alpha-rev36



bidifx
11.10.2008, 03:04
Guten Abend!

Ich habe eben die Revision 36 hochgeladen:
https://sourceforge.net/projects/openpoc/

Es gibt einige interresante Änderungen:

* Prozessorlast verringert
* Scripting vollständig auf Lua umgestellt
* Plugins werden durch Lua-Packages realisiert.
* neues Event "OnCompMessage":
Nach dem Eingehen einer Nachricht wird 30sek gewartet um durch folgende Mehrfachübertragungen den besten Text zu erhalten. Danach wird das OnCompMessage-Ereignis ausgelöst. Sollten nach den 30sek weitere Nachrichten mit gleicher Ric / gleichem Text eingehen, so werden diese Verworfen.
Also recht praktisch für den SMS-Versand.

* packages für den Datenbankzugriff (mySQL, SQLite, Postgres, ODBC) inkl. Beispielskript
* packages für den SMS-Versand über SMS77.de inkl. Beispiel
(über die Schnittstellen anderer Provider konnte ich nichts finden)

Bevor man OpenPoc jetzt in betrieb nehmen kann, muss man ein entsprechendes Skript erstellen/auswählen, sonst würde das Programm einfach gar nichts machen.

Ordnerstruktur:
lua/ - Userskripte
lua/internal - Systeminterne Skripte, z.B. für Eventhandling (hier sollte kein Nutzereingriff erforderlich sein)
pkg/ - Lua packages, derzeit DateTimeUtils, SMS77 und LuaSQL. (werden über "require" eingebunden, siehe Beispiele)

Ich wollte das eigentlich schon vor 5 Stunden posten, aber da hat mich ein Einsatz mitten im Satz unterbrochen.

Viel Spaß damit, ich freue mich auf Rückmeldungen. (morgen, als heute, schlafe ich lang ;-))

Gruß,
bidi

PelBB
11.10.2008, 09:44
Also...:-)

Erstmal ist die Prozessorlast wirklich deutlich veringert... also gegen null:-)

Aber: Er dekodiert nicht! (Ausgabe siehe Anhang) Gleichzeitig funktioniert die alte rev. aber...
Scheinbar klappt das zusammensetzen nicht?

Viel Spass:-)

PelBB

coastboy
11.10.2008, 10:18
@PelBB

er dekodiert,bei mir zumindest.

Das "LOG: scould not on Mainloop" ist komisch...

Da ist aber anscheinend ein Fehler in der example_print.lua.
Ich habe einfach die alte print.lua genommen und eingebunden.
Funktioniert ohne Probleme.

So sieht z.B. meine print.lua aus:

function OnMessage(Msg)
ric = Msg.Ric
meldung = Msg.Text
print(" ");
print("Alarm fuer " .. ric);
print("Meldung um "..FormatDateTime("hh:nn:ss ", Msg.DateTime));
print(meldung);
print(" ");
end;
OpenPoc.AddEventHandler('OnMessage', OnMessage);

MfG
coastboy

bidifx
11.10.2008, 12:41
Guten Morgen!
Also hier die korrigierte Version:


local function OnCompMessage(Msg)
local str;
local corr;
local incomp;
local coru;

str = "";
str = str .. FormatDateTime("hh:nn:ss ", Msg.DateTime);
str = str .. string.format('%08i', Msg.Ric);
str = str .. " " ..Msg.Sub
print(str);
print(Msg.Text);
end;
OpenPoc.AddEventHandler('OnCompMessage', OnCompMessage);


Werde ich dann im nächsten Release ändern.

@coastboy
Woran erkennst du, dass er nicht dekodiert? Ich habe die Ausgabe einiger Logmessages entfernt...


Da ich sehe, dass ihr schon fleißig am scripten seit, hier mal noch die Struktur für "Message". (wird an OnMessage und OnCompMessage übergeben)



Msg.DateTime
Zeit, wann die Nachricht eingegangen ist als Double-Zahl. Format wie in Delphi/FreePascal. Kann z.B. mit FormatDateTime in einen String gewandelt werden.

Msg.Ric
RIC, hat den Wert -1, falls ein Text ohne Addresse empfangen wurde.

Msg.Sub
SUB, 0..3, oder -1 s.o.

Msg.corrected
BOOLEAN, gibt an, ob Bits durch die Fehlerkorrektur verendwert wurden
Die Fehlerkorrektur erlaubt es maximal 2 Fehlerhafte Bits pro CodeWord zu korrigieren.

Msg.incomplete
BOOLEAN, gibt an, ob die Dekodierung abgebrochen wurde bevor das Batch vollständig war

Msg.corrupted
BOOLEAN, gibt an, ob Fehler erkannt wurden.
(Falls correctet = FALSE, dann konnten diese nicht korrigiert werden)

Msg.Baudrate
Baudrate mit der empfangne wurde, 512, 1200, 2400

Msg.Text
Der empfangene Text

PelBB
11.10.2008, 13:07
Ja, jetzt tut er was...

Aber er gibt nur RIC´s aus, keinen Meldungstext?

Und irgendwie werden es eher mehr als Weniger Zeilen?

Bild per PM...

bidifx
11.10.2008, 13:27
hoppla, was vergessen:

unter "print(str);"
das noch einfügen: print(Msg.Text);

Dann kommt auch der Text :-)

bidifx
11.10.2008, 19:06
Soo.. und?
Wie sieht es bei den anderen 32 Leuten aus, die OpenPoc runtergeladen haben?

PelBB
11.10.2008, 20:27
Bisher Schick...:-)

Nun fängt die Wunschliste an:

- Übersichtlicher (GUI??)
- Ric-Filter (Zum Ausblenden der Standartsendungen)
- Die selbe Nachricht wird weiterhin mehrfach angezeigt, wenn sie an verschiedene RIC´s geht... Zusammenfassen??

Hoffe, Du hast damit genug zu tun für diese Nacht:-)

Gruß PelBB

bidifx
11.10.2008, 20:38
Bisher Schick...:-)
- Übersichtlicher (GUI??)
- Ric-Filter (Zum Ausblenden der Standartsendungen)
- Die selbe Nachricht wird weiterhin mehrfach angezeigt, wenn sie an verschiedene RIC´s geht... Zusammenfassen??

GUI kommt später, muss mir erstmal über die Funktionen klar werden.

Filter gibt's doch schon, wenn du so willst. Einfach das Script entsprechend anpassen.... so ist es zumindest gedacht. Du kannst dir auch alle Meldungen in eine Datenbank schreiben und diese dann entsprechend abfragen. Ich verwende das Programm jetzt schon zum SMS-Versenden. Funktioniert gut.
Die Msg-Variable, welche an die OnMessage und OnCompMessage-Events weitergegeben werden habe ich oben schon dokumentiert.... jetzt kannst du mit nem einfachen IF-Block im Script bestimmte RICs nicht ausgeben.

Ich selbst schreibe derzeit alle Nachrichten in eine mysql-Datenbank und schaue mir diese dann mit dem MySQL-Query-Browser an. (...über's Netzwerk)

Also wenn es verschiedene RICs sind, dann sind es technisch betrachtet auch verschiedene Nachrichten. Aber so eine Funktion könnte man mit einem Script realisieren.

PelBB
11.10.2008, 20:52
Siehst Du? Da ist mein Problem...:-)

Ich kann das Programm testen, indem ich es nebenher laufen lasse... Ich kann Dir Feedback geben und auch mal nen Screen machen... aber ich kann nicht mehr als 5% meiner Kopf-Zeit dafür aufbringen:-)

Deshalb habe ich so schnell keine Gelegenheit, mich in Programmierung und Variablen einzuarbeiten, zumal ich von LUA keinen Schimmer habe...:-)

PelBB
18.10.2008, 18:53
Ist so ruhig geworden um das Thema...

Lebt denn der bidfix noch?

b3nd3r
22.10.2008, 20:54
cool wäre ein packages für email versandt

Alarma112
28.10.2008, 19:23
Hallo, kann mir jemand das ganze noch mal Schritt für Schritt erklären? Krieg das Prog einfach nicht zum Laufen :(

Hab mir die Rev36 runtergeladen und versucht das ganze zu starten, leider gibts nur die Fehlermeldung:

"Die Anwendung konnte nicht richtig initialisiert werden (0xc0150002)"

Was mache ich falsch?

System. WinXP SP2, 128 MB RAM

MfG

grabb
07.03.2009, 01:23
eigentlich muss man nicht viel beachten. bei mir lief openpoc überall nur nicht auf meinem server (w2k3), nachdem ich wegen einem anderen problem an directx (dxdiag) sämtliche beschleunigungen auf max gedreht habe ging auch openpoc.

ich habe über nacht immer wieder merkwürdige inhalte in den meldungen gehabt, ich hab jetzt am scanner die lautstärke runtergedreht und es ist nun ok. bei mir hängt der uniden 69 mit disc-ausgang leider nicht an diesem ausgang. mein server hat keine soundkarte und der usb-sound-adapter hat mit dem disc-ausgang ein problem, dann geht nämlich am scan gar nix mehr. dies zeigt aber, dass es auch mit der headsetbuchse geht

300381
28.11.2009, 20:43
Hallo Leute,

habe gerade openpoc entdeckt aber leider das Problem, das mit --list-devices nichts angezeigt wird außer "THREAD_START". (Bei mir läuft Vista Home Premium 32bit).
Was kann ich tun, um weiterzukommen?!?

Danke und viele Grüße

funkwart
11.12.2009, 10:15
Moin Forum,

ich hab mir auch mal die Software aus dem Netz geholt und sogleich entpackt. Die example_print.lua habe ich angepasst, so wie hier im Thread beschrieben.
Das Programm startet auch ganz normal, nur dekodiert es absolut nichts. Ich nutze den POCSAG-Encoder von www.dsp4swls.de und lasse parallel auch deren Dekoder mitlaufen. Als Aufnahmequelle ist "Stereomix" gewählt, die Karteneinstellung in der .conf stimmt auch.
Der Dekoser von dsp4swls dekodiert brav, was ich generiere. Nur bei Openpoc tut sich gar nichts...

Was kann das sein?

Ich nutze Win XP mit SP3 auf einem Athlon64 (jedoch mit 32bit Windows).

Gruß,
Funkwart