Amateurfunk Forum - Archiv

Fragen und Antworten zum Thema Funk


Impressum

Verantwortlich für dieses Angebot gemäß § 5 TMG / § 55 RStV:
Michael Ott
Dorpater Straße 11
70378 Stuttgart
Deutschland



Trotz sorgfältiger inhaltlicher Kontrolle übernehmen wir keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.

Datenschutzerklärung

Diese Datenschutzerklärung klärt Sie über die Art, den Umfang und Zweck der Verarbeitung von personenbezogenen Daten (nachfolgend kurz „Daten“) innerhalb unseres Onlineangebotes und der mit ihm verbundenen Webseiten, Funktionen und Inhalte auf (nachfolgend gemeinsam bezeichnet als „Onlineangebot“). Im Hinblick auf die verwendeten Begrifflichkeiten, wie z.B. „Verarbeitung“ oder „Verantwortlicher“ verweisen wir auf die Definitionen im Art. 4 der Datenschutzgrundverordnung (DSGVO).

Verantwortlicher

Michael Ott
Dorpater Straße 11
70378 Stuttgart
Deutschland



Arten der verarbeiteten Daten:

- Meta-/Kommunikationsdaten (siehe Abschnitt „Erhebung von Zugriffsdaten und Logfiles“)

Kategorien betroffener Personen

Besucher und Nutzer des Onlineangebotes (Nachfolgend bezeichnen wir die betroffenen Personen zusammenfassend auch als „Nutzer“).

Zweck der Verarbeitung

- Zurverfügungstellung des Onlineangebotes, seiner Funktionen und Inhalte
- Sicherheitsmaßnahmen.

Verwendete Begrifflichkeiten

„Personenbezogene Daten“ sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen; als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung (z.B. Cookie) oder zu einem oder mehreren besonderen Merkmalen identifiziert werden kann, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind.

„Verarbeitung“ ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten. Der Begriff reicht weit und umfasst praktisch jeden Umgang mit Daten.

„Pseudonymisierung“ die Verarbeitung personenbezogener Daten in einer Weise, dass die personenbezogenen Daten ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.

Als „Verantwortlicher“ wird die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet, bezeichnet.

„Auftragsverarbeiter“ eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die personenbezogene Daten im Auftrag des Verantwortlichen verarbeitet.

Maßgebliche Rechtsgrundlagen

Nach Maßgabe des Art. 13 DSGVO teilen wir Ihnen die Rechtsgrundlagen unserer Datenverarbeitungen mit. Sofern die Rechtsgrundlage in der Datenschutzerklärung nicht genannt wird, gilt Folgendes: Die Rechtsgrundlage für die Einholung von Einwilligungen ist Art. 6 Abs. 1 lit. a und Art. 7 DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer Leistungen und Durchführung vertraglicher Maßnahmen sowie Beantwortung von Anfragen ist Art. 6 Abs. 1 lit. b DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer rechtlichen Verpflichtungen ist Art. 6 Abs. 1 lit. c DSGVO, und die Rechtsgrundlage für die Verarbeitung zur Wahrung unserer berechtigten Interessen ist Art. 6 Abs. 1 lit. f DSGVO. Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DSGVO als Rechtsgrundlage.

Sicherheitsmaßnahmen

Wir treffen nach Maßgabe des Art. 32 DSGVO unter Berücksichtigung des Stands der Technik, der Implementierungskosten und der Art, des Umfangs, der Umstände und der Zwecke der Verarbeitung sowie der unterschiedlichen Eintrittswahrscheinlichkeit und Schwere des Risikos für die Rechte und Freiheiten natürlicher Personen, geeignete technische und organisatorische Maßnahmen, um ein dem Risiko angemessenes Schutzniveau zu gewährleisten.

Zu den Maßnahmen gehören insbesondere die Sicherung der Vertraulichkeit, Integrität und Verfügbarkeit von Daten durch Kontrolle des physischen Zugangs zu den Daten, als auch des sie betreffenden Zugriffs, der Eingabe, Weitergabe, der Sicherung der Verfügbarkeit und ihrer Trennung. Des Weiteren haben wir Verfahren eingerichtet, die eine Wahrnehmung von Betroffenenrechten, Löschung von Daten und Reaktion auf Gefährdung der Daten gewährleisten. Ferner berücksichtigen wir den Schutz personenbezogener Daten bereits bei der Entwicklung, bzw. Auswahl von Hardware, Software sowie Verfahren, entsprechend dem Prinzip des Datenschutzes durch Technikgestaltung und durch datenschutzfreundliche Voreinstellungen (Art. 25 DSGVO).

Zusammenarbeit mit Auftragsverarbeitern und Dritten

Sofern wir im Rahmen unserer Verarbeitung Daten gegenüber anderen Personen und Unternehmen (Auftragsverarbeitern oder Dritten) offenbaren, sie an diese übermitteln oder ihnen sonst Zugriff auf die Daten gewähren, erfolgt dies nur auf Grundlage einer gesetzlichen Erlaubnis (z.B. wenn eine Übermittlung der Daten an Dritte, wie an Zahlungsdienstleister, gem. Art. 6 Abs. 1 lit. b DSGVO zur Vertragserfüllung erforderlich ist), Sie eingewilligt haben, eine rechtliche Verpflichtung dies vorsieht oder auf Grundlage unserer berechtigten Interessen (z.B. beim Einsatz von Beauftragten, Webhostern, etc.).

Sofern wir Dritte mit der Verarbeitung von Daten auf Grundlage eines sog. „Auftragsverarbeitungsvertrages“ beauftragen, geschieht dies auf Grundlage des Art. 28 DSGVO.

Übermittlungen in Drittländer

Sofern wir Daten in einem Drittland (d.h. außerhalb der Europäischen Union (EU) oder des Europäischen Wirtschaftsraums (EWR)) verarbeiten oder dies im Rahmen der Inanspruchnahme von Diensten Dritter oder Offenlegung, bzw. Übermittlung von Daten an Dritte geschieht, erfolgt dies nur, wenn es zur Erfüllung unserer (vor)vertraglichen Pflichten, auf Grundlage Ihrer Einwilligung, aufgrund einer rechtlichen Verpflichtung oder auf Grundlage unserer berechtigten Interessen geschieht. Vorbehaltlich gesetzlicher oder vertraglicher Erlaubnisse, verarbeiten oder lassen wir die Daten in einem Drittland nur beim Vorliegen der besonderen Voraussetzungen der Art. 44 ff. DSGVO verarbeiten. D.h. die Verarbeitung erfolgt z.B. auf Grundlage besonderer Garantien, wie der offiziell anerkannten Feststellung eines der EU entsprechenden Datenschutzniveaus (z.B. für die USA durch das „Privacy Shield“) oder Beachtung offiziell anerkannter spezieller vertraglicher Verpflichtungen (so genannte „Standardvertragsklauseln“).

Rechte der betroffenen Personen

Sie haben das Recht, eine Bestätigung darüber zu verlangen, ob betreffende Daten verarbeitet werden und auf Auskunft über diese Daten sowie auf weitere Informationen und Kopie der Daten entsprechend Art. 15 DSGVO.

Sie haben entsprechend. Art. 16 DSGVO das Recht, die Vervollständigung der Sie betreffenden Daten oder die Berichtigung der Sie betreffenden unrichtigen Daten zu verlangen.

Sie haben nach Maßgabe des Art. 17 DSGVO das Recht zu verlangen, dass betreffende Daten unverzüglich gelöscht werden, bzw. alternativ nach Maßgabe des Art. 18 DSGVO eine Einschränkung der Verarbeitung der Daten zu verlangen.

Sie haben das Recht zu verlangen, dass die Sie betreffenden Daten, die Sie uns bereitgestellt haben nach Maßgabe des Art. 20 DSGVO zu erhalten und deren Übermittlung an andere Verantwortliche zu fordern.

Sie haben ferner gem. Art. 77 DSGVO das Recht, eine Beschwerde bei der zuständigen Aufsichtsbehörde einzureichen.

Widerrufsrecht

Sie haben das Recht, erteilte Einwilligungen gem. Art. 7 Abs. 3 DSGVO mit Wirkung für die Zukunft zu widerrufen

Widerspruchsrecht

Sie können der künftigen Verarbeitung der Sie betreffenden Daten nach Maßgabe des Art. 21 DSGVO jederzeit widersprechen. Der Widerspruch kann insbesondere gegen die Verarbeitung für Zwecke der Direktwerbung erfolgen.

Löschung von Daten

Die von uns verarbeiteten Daten werden nach Maßgabe der Art. 17 und 18 DSGVO gelöscht oder in ihrer Verarbeitung eingeschränkt. Sofern nicht im Rahmen dieser Datenschutzerklärung ausdrücklich angegeben, werden die bei uns gespeicherten Daten gelöscht, sobald sie für ihre Zweckbestimmung nicht mehr erforderlich sind und der Löschung keine gesetzlichen Aufbewahrungspflichten entgegenstehen. Sofern die Daten nicht gelöscht werden, weil sie für andere und gesetzlich zulässige Zwecke erforderlich sind, wird deren Verarbeitung eingeschränkt. D.h. die Daten werden gesperrt und nicht für andere Zwecke verarbeitet. Das gilt z.B. für Daten, die aus handels- oder steuerrechtlichen Gründen aufbewahrt werden müssen.

Nach gesetzlichen Vorgaben in Deutschland, erfolgt die Aufbewahrung insbesondere für 10 Jahre gemäß §§ 147 Abs. 1 AO, 257 Abs. 1 Nr. 1 und 4, Abs. 4 HGB (Bücher, Aufzeichnungen, Lageberichte, Buchungsbelege, Handelsbücher, für Besteuerung relevanter Unterlagen, etc.) und 6 Jahre gemäß § 257 Abs. 1 Nr. 2 und 3, Abs. 4 HGB (Handelsbriefe).

Hosting und E-Mail-Versand

Die von uns in Anspruch genommenen Hosting-Leistungen dienen der Zurverfügungstellung der folgenden Leistungen: Infrastruktur- und Plattformdienstleistungen, Rechenkapazität, Speicherplatz und Datenbankdienste, E-Mail-Versand, Sicherheitsleistungen sowie technische Wartungsleistungen, die wir zum Zwecke des Betriebs dieses Onlineangebotes einsetzen.

Hierbei verarbeiten wir, bzw. unser Hostinganbieter Meta- und Kommunikationsdaten von Besuchern dieses Onlineangebotes auf Grundlage unserer berechtigten Interessen an einer effizienten und sicheren Zurverfügungstellung dieses Onlineangebotes gem. Art. 6 Abs. 1 lit. f DSGVO i.V.m. Art. 28 DSGVO (Abschluss Auftragsverarbeitungsvertrag).

Erhebung von Zugriffsdaten und Logfiles

Wir, bzw. unser Hostinganbieter, erhebt auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f. DSGVO Daten über jeden Zugriff auf den Server, auf dem sich dieser Dienst befindet (sogenannte Serverlogfiles). Zu den Zugriffsdaten gehören Name der abgerufenen Webseite, Datei, Datum und Uhrzeit des Abrufs, übertragene Datenmenge, Meldung über erfolgreichen Abruf, Browsertyp nebst Version, das Betriebssystem des Nutzers, Referrer URL (die zuvor besuchte Seite), IP-Adresse und der anfragende Provider.

Logfile-Informationen werden aus Sicherheitsgründen (z.B. zur Aufklärung von Missbrauchs- oder Betrugshandlungen) für die Dauer von maximal 7 Tagen gespeichert und danach gelöscht. Daten, deren weitere Aufbewahrung zu Beweiszwecken erforderlich ist, sind bis zur endgültigen Klärung des jeweiligen Vorfalls von der Löschung ausgenommen.

Vom Websiteinhaber angepasst
Erstellt mit Datenschutz-Generator.de von RA Dr. Thomas Schwenke




 [ 47 Beiträge ]  Gehe zu Seite 1, 2, 3, 4
Autor Nachricht
 Betreff des Beitrags:
Zu Fehlercodes und Meldungen: Ich bin es aus dem Dinosaurier-Bereich (Großsysteme) gewohnt und finde es sehr praktisch, wenn Fehlercodes und Meldungen eine Systematik zur Zurodnung haben. Das mindeste sind Zahlenblöcke, die aber meistens schon vom Betriebssystem und einigen Service-Libs belegt sind. Du wirst ja gerade bei Bibliotheken mit Unterprogrammen bzw. eigenständigem Blöcken arbeiten, wie immer Du das jetzt nennst.

Ich habe mir angewöhnt, die ersten drei Zeichen (alpha) des Programmnamens durchgängig für alle externen Meldungen, Codes und Namen (DLL, etc) zu verwenden. Bei Fehlern sieht man relativ schnell, wo etwas passiert ist. Es wird zwar heute sehr "individuell" programmiert, aber ich habe es von der Serviceseite kennen und schulen müssen -- es hat schon Vorteile. Es ist ziemlich nervig, wenn ich bei Nummern und Bit-Leisten erst suchen muß, kommt jetzt etwas vom System, von einer DLL (wenn ja von welcher), evtl beim Ausdruck vom LAN-Printer usw. Es werden auch Unterprogramme Cross-Language verwendet, und dann wird es grausam, wenn keine Unterschiede gemacht werden. Du bist in Deinem Programmablauf ja nicht der einzige der Ideen für Fehlecodes hat -- da mischt Dein PC per Betriebssystem und Hardware auch noch mit.

Zu Abbrüchen: die vermeidet man so lange es geht. Es reicht oft -- und ist insgesamt besser und Anwender-freundlicher -- erst einmal mit "defaults" (Ersatzwerten) weiter zu arbeiten. Es kann ganz schön nerven, wenn mehrere Daten kaputt sind und man einzeln -Fehler-Abbruch-Korrektur-Neustart- durchlaufen muß. Es reicht z.Bspl. bei der Exzentrizität, die Ellipse als Kreis weiterlaufen zu lassen oder einen typischen Wert als Korrekturwert einzusetzen. Dazu unterlegt man den Wert mit Farbe und Eintrag in ein Log plus optional Fehlermeldung und ein mitlaufendes Consol-Window. Dann kann man Mehrfach-Fehler mit einem Korrektur lauf machen anstelle deren 20.

73 Peter


  
 
 Betreff des Beitrags:
Nichts gegen bewährte Vorgehensweisen bei, nennen wir sie mal "gereiften", Systemen. Aber Herr pointhi programmiert in C++. D. h. er bekommt Fehler "vom System" als Ausnahmen und nicht über einen Fehlercode. Man braucht einfach keine Fehlercodes und muss sich über deren Benennung deshalb auch keine Gedanken machen. Diese clevere und heutzutage wirklich außerordentlich gut bewährte Strategie der [url=http://de.wikipedia.org/wiki/Ausnahmebehandlung:32rwubm2]Ausnahmebehandlung[/url:32rwubm2] kann man (muss man aber nicht) bei eigenen Projekten fortführen. Man vermeidet somit auch einen Bruch in der Behandlung von Fehlern. Dieser Bruch führt zwangsweise zu einem völligen Umdenken bei der Codierung.

Das ist so ähnlich wie wenn man eine Windows-Anwendung baut, schön mit Fenstern, graphischen Dialogboxen, Message-Qeues der GUI, Events usw. Und dann kommt eine Stelle, wo der Benutzer gezwungen wird, eine Zahl statt in einer graphischen Windows-Textbox in einer DOS-Box einzugeben.

Aber ich will es jetzt zu diesem Thema belassen.


  
 
 Betreff des Beitrags:
Mir ist noch etwas zur Verwendung der ungarischen Notation eingefallen: Spätestens wenn (eigene) Klassen instanziiert werden, die Objekt-Verweise also in einer Variablen gehalten werden, wird die Verwendung der ungarischen Notation ziemlich albern.

Die schiere Menge der Klassen, die auf einen zustürzen können, macht es inpraktikabel, Präfixe voranzustellen und diese auch noch halbwegs konsistent zu halten.

Excel:
Range
Chart
DialogSheet
MenuBar
Window
Workbook
AddIns
AnswerWizard
Application
Assistant
.......

Wo soll das enden? :mrgreen:


  
 
 Betreff des Beitrags:
ich werde mich jetzt mal über die fehler/ausnahmebehandlung informieren und dann ein allegmeines konzept dazu machen. Ich werde es auch hier posten, und erst nach absegnung davon zum programmieren anfangen.

Erster kurzentwurf

Bei der tle.Load brauche ich glaub ich keine try/catch da keine rechenoperationen durchgeführt werden. Es kommt eine neue Int-Variable dazu die die Fehlercodes bitweise speichert und am ende mit return zurückgibt, es gibt also den Code 0 als erfolg oder bis zu 16 "fehlerbits". Die Bedeutung von ihnen werde ich dann gesondert niederschreiben. So wird ein tle-Datensatz auch eingelesen falls ein winkel über 360° ist, der modulo falsch ist,...
Bei der umlb.FromTleToUmlb werde ich wie schon gehabt alle falschen winkelmaße automatisch anpassen, sind eigentlich auch keine Fehler. Alle Berechnungen werden in Try/Catch eingebunden und bei einem Fehlerfall wird ein entsprechender fehlercode zurückgeliefert (bitmuster ist sinnlos da nur 1. Fehler meines wissen nach ausgewertet werden kann in catch). Da jetzt kein einmaliger Biblioteksinterner Fehlercode mehr exestiert müsste ich für jede Bibliotek eine eigene funktion für die Fehlerausgabe schreiben, das werde ich wohl nicht machen. Da muss man sich dann informieren was der code bedeutet.
Die einbindung wird 1. komplexer da keine allgemeine Fehleranzeigefunktion exestiert, und 2. Kann man dann, als programmierer Jedenfalls in der Bibliotek oder in Mediawiki nachschauen was der code bedeutet.
Was ist eigentlich mit der Bibliotek <errno.h> ?, würde sich diese etwas nutzen oder ist diese sinnlos, oder wäre es villeicht eine gute idee selber so eine Bibliotek zu schreiben und für die Fehlererkennung zu nutzen?

mfg. pointhi


  
 
 Betreff des Beitrags:
Günter, es geht nicht im sinnlose Prefixe für jeden code-block. "Ausnahmen" gibt es nicht erst seit C++ und OO, die waren in den HLLs immer schon etabliert. Dahinter steckt in der Regel ein Return-Code o.ä. Fehlercode und ein "Hinweis" (Label, Stmt, offset, ...) wo es paassiert ist. Es geht um eine sinnvolle Hilfestellung zur Fehlereingrenzung. Was hilft Dir eine abgefangene Ausnahme "Zero Divide", wenn Du Dein Pgm abbrechen läßtund lapidar als Fehler schreibst "Division durch Null". Ein Backtrace oder Roman von Registern hilft Dir auch nicht. Man kann ein Pgm schon so sinnvoll aufteilen, daß ein Prefix eine Hilfe ist.

Außerdem ..... Excel ist ja nun kein Vorbild für ein Programm ..... und Windows nicht nur in dieser Hinsicht nicht das gelbe vom Ei. Bei manchem Abbruchcode hilft ein Horoskop mehr als die Bedienungsanleitung des Programms. Das Thema ist uralt ..........

Bei mir fangen (mit sehr wenigen Ausnahmen) die Pgm-Teile bereits mit einen "Gruppen"-Prefix an, sonst ist diese Methode natürlich absolut sinnlos.
73 Peter


  
 
 Betreff des Beitrags:
Bei der Fehlererkennung glaub ich ist eine eigene error.hpp meiner meinung am besten. Ich würde dabei eine dynamische array definierern in diese durch setter 2Bit Fehercodes geschrieben werden können und durch getter wieder ausgelesen werden können. Ich könnte dann auch eine komplette funktion schreiben die für jeden Fehlercode eine entsprechnde Meldung bereithält. Das ganze würde static-definiert und mittels einer 2. Variable die inder klasse enthalten ist kann man dann die fehleranzahl ermitteln. Bei 0 ist dann alles ok.
Was haltet ihr davon?

Die ungarische notation werde ich warscheinlich bei der Bibliotek anwenden, Fehlererkennung/verarbeitung hat aber eine größere priorität.

mfg. pointhi


  
 
 Betreff des Beitrags:
[quote]... Fehlererkennung/verarbeitung hat aber eine größere priorität. ... [/quote]Das Problem ist m.E. Ursache und vor allem Fehlerort sauber zu dokumentieren und im zweiten Schritt zu entscheiden: gebe ich nur einen Hinweis aus (reine Schönheitsfehler, z.Bspl. keinen Sat Namen), ersetze ich den fehlerhaften Teil durch einen Standardwert und mache nach einer Warnung automatisch weiter, wie vor -- nur muß der User das Weiter-Machen bestätigen, oder breche ich komplett ab. Im speziellen Fall würde ich die TLE-Records immer komplett durchscannen und bei Fehlern am Ende des Einlesens/Scannens entscheiden.

Ansonsten .... Du hast volle Freiheit. Ich habe jetzt in erster Linie den Blickwinkel des "Debuggers" beschrieben, aber ..... wo passieren keine Fehler ..... :-) ..
73 Peter


  
 
 Betreff des Beitrags:
ich finde die idee von mir mit einer eigenen error.h am besten. Man kann wenn nötig, fehlertexte für jede der funktionen ausgeben und es werden auch mehrere fehlermeldungen unterstützt. Wäre eigentlich die besste methode meiner meinung nach.

ich hab mich mal in der ungarischen notation versucht:

[code:3vbzqxci] char rgchName[20]; // Name des Satelliten
unsigned int uwNoradNumber; // NORAD-Katalog-Nr.
char chDesignation; // Klassifizierung
char rgchInternatonalDesignation[9]; // Internationale Klassifizierung
int wEpocheDayAndYear; // Epoche Jahr und Tag
double dEpocheDayAndYear; // Epoche Tagesbruchteil
double dResistanceFactorSpg; // Widerstandskoeffizient im SGP-Modell [d^(-2)]
double dNegligibleResistanceFactorSpg4; // vernachlässigbarer Widerstandskoeffizient im SGP-Modell [d^(-3)]
double dResistanceFactorSpg4; // Widerstandskoeffizient im SGP4-Modell
unsigned int uwEphemeris; // Ephemeridentyp
unsigned int uwCurrentRecordNumber; // laufende Datensatz-Nummer
double dInclination; // Inklination [Grad]
double dRightAscensionOfAscendingNode; // Rektaszension des aufsteigenden Knotens Ω [Grad]
double dEccentricity; // numerische Exzentrizität der Umlaufbahn
double dArgumentOfPerigee; // Argument des Perigäums ω [Grad]
double dMeanAnomaly; // Mittlere Anomalie Μ [Grad]
double dAverageMotion; // Mittlere Bewegung n
unsigned int uwCirculationNumber; // Umlauf Nr. seit dem Start
unsigned int uwChecksum1; // Prüfsumme1 Modulo 10
unsigned int uwChecksum2; // Prüfsumme2 Modulo 10
[/code:3vbzqxci]

Was sagt ihr dazu?, hab ich alles richtig gemacht und ist es gut für die lesbarkeit?

mfg. pointhi


  
 
 Betreff des Beitrags:
nur mal als kurzes update: ich hab zurzeit nicht so viel machen können, werde aber bis neujahr viele grundfunktionen hinzufügen. Das error handling ist auch geplant und gehört nur mehr realisiert, es ist dann so ausgelegt das man entweder nur oberflächlich fehler erkennen kann, aber dass auch sehr genaue fehlerbeschreibungen ausgegeben werden können. Das ganze funktioniert mit einbindbaren xml-dateien um platz zu sparen und um das ganze vom code zu trennen.

Zurzeit umfasst der code etwa 1500 Zeilen!, ich hatte erst ein Projekt wo ich mehr geschrieben habe. Schon diese codeanzahl beweist meiner meinung dass die Bibliotek später viel arbeit ersparen wird, da die bedienung auch relativ einfach ist. Der main-code zum ausführen braucht dann villeicht 30-40 zeilen. (mit vielen kommentaren und lehrzeichen) Zum berechnen und ausgeben der Bahndaten aus einem TLE-String benötigt man nur 3 Befehle!

Der grundstring ist [i:1wpd7eeu]tle_datensatz[0][/i:1wpd7eeu]

[code:1wpd7eeu]
satpos::tle tle_test(tle_datensatz[0],true);
satpos::umlb umlb_test(&tle_test);
umlb_test.Out();[/code:1wpd7eeu]

der dahinter steckende code ist dagegen ein paar hundert zeilen lang!

Warscheinlich werde ich rund um neujahr die bibliotek auf sourceforge raufladen, errorhandling kommt aber erst später, und bei der locatorberechnung hab ich glaub ich noch einen fehler drinnen, kann ihn aber nicht lokalisieren. Zurzeit arbeite ich an den ganzen funktionen für die diversen zeitformate und danach werde ich die Bibliotek für die Fehlerverarbeitung schreiben.
Erst danach werde ich mit der allgemeinen Berechnung der Satellitenbahn und position weitermachen da ich das noch nicht so wirklich ganz durchschaue.

mfg. pointhi


  
 
 Betreff des Beitrags: pre-alpha 1.02 online
hy,

ich habe gerade die Version 1.02 der Bibliotek online gestellt:

sie ist hier zu finden:

https://sourceforge.net/projects/satpos/

ich hab diverse funktionen hinzugefügt, das wichtigste bei diesem update ist aber dass ich alle kommentare ins englische umgearbeitet habe, und bei allen variablen die Hungarische Notation jetzt verwende, diese ist für mich logisch und ohne viel nachzudenken verwendbar. Ich finde sie auch nicht nervig sondern nutzbringend, was ja das wichtigste ist.

http://de.wikipedia.org/wiki/Ungarische ... _Hungarian

Das errorhandling kommt in der nächsten version dann, da das ganze relativ komplex ist. Zurzeit sind mal alle benötigten funktionen definiert worden, inc. erklärung, und auch schon erster code für die dynamische arry. Ich habe aber leider noch keine der funktionen testen können da ich das Singleton pattern noch nicht ganz verstanden habe. Das ganze ist aber notwendig da ich die funktion nicht statisch möchte, anderseits aber auch nur maximal einmal erzeugen können möchte. Das setzt einige kniffe voraus, die ich beim abschreiben noch nicht alle verstanden habe. besonders den wegen dem initialisieren.

ein schritt den ich bei V1.03 machen möchte ist das makefile, dass ist dan ein wichtiger schritt für eine richtige bibliotek. Muss mich aber deswegen noch informieren. zurzeit hab ich eine codeblocks datei drinnen, mit der das ganze unter windows und linux compiliert werden kann, natürlich noch nicht optimal aber besser als nichts. Auch hab ich jetzt das erste mal die ganze bibliotek unter ubuntu getestet. Ich hab es korrekt kompilen können, aber nicht ausführen (wegen fehlenden permissions), nach verschieben hab ich es auch nicht ausführen könne, was wohl an dem falschen öffnenbefehl in der konsole gelegen ist, ich aber nicht weiterverfolgen konnte da sich mein ubuntu schon aufgehängt hat :(. Es sollte aber problemlos funktionieren.

mfg. pointhi


  
 
 Betreff des Beitrags:
Ach du meine Güte.. ist das eine riesige Diskussion.
Ich hatte vor ca. 5 Jahren mir sowas für meinen Jornada 720 geschrieben und dabei auf Vorarbeiten von Robert W. Berger N3EMO zurückgegriffen. Guck doch einfach mal dort, da findest du eigentlich alles, was zum Bahnkurven berechnen nötig ist. Die ganzen TLE-Routinen gibt's bei Bedarf bei mir.

W.S.


  
 
 Betreff des Beitrags:
@W.S.: pointhi ist Schüler (<20) und ackert sich durch die Formeln usw. Er will den Satelliten-Stoff "lernen" (verstehen), und ebenso ackert er sich durch die C-Programmierung. Er möchte - so sehe ich es seit seinem ersten Beiträgen - etwas eigenes schaffen -- finde ich gut. (evtl. als Matura Arbeit, lt. seinem Bekunden).

Poste doch die URLs, wo er Info und Tips kriegt. Hier sind noch mehr, die auch schon früher durch SAT-Rechnerei und -Pgm gegangen sind. Einige Bücher sind vergriffen, ich habe ihm teilweise Kopien daraus geschickt.

73 Peter


  
 
 Betreff des Beitrags:
[quote]@W.S.: pointhi ist Schüler (<20) und ackert sich durch die Formeln usw. Er will den Satelliten-Stoff "lernen" (verstehen), und ebenso ackert er sich durch die C-Programmierung. Er möchte - so sehe ich es seit seinem ersten Beiträgen - etwas eigenes schaffen -- finde ich gut. (evtl. als Matura Arbeit, lt. seinem Bekunden). [/quote]

Das stimmt voll und ganz :), ich arbeite mich allgemein gerne in komplexe sachen ein die mich interressieren, und will mich darin auch weiterbilden. Und das trifft dabei voll und ganz zu: ich interressiere mich allgemein für astronomie, satellitentechnik, funktechnik, wofür die bibliotek gedacht ist,
ich will mich beim programmieren weiterentwickeln, was durch dieses projekt geschieht, weil ich feedback bekomme, was man villeicht anders machen könnte, ect., und ein anderer grund ist dass ich mich allgemein in opensource-entwicklung einarbeiten möchte, und dieses thema hat dabei allgemein den vorteil dass es dazu nicht wirklich fertiges zum weiterproggen gibt. Ich hab nur eine andere Bibliotek gefunden die das gleiche macht und für c ist, aber bis auf die info dass es sie gibt hab ich nichts dazu gefunden. Mein Ziel ist daher auch dass ich eine bibliotek schaffe, mit der sich programmierer, die sich nicht so stark in die berechnungen einarbeiten wollen, auch eine möglichkeit haben selber etwas zu programmieren, oder dass amateurfunker einfach eigene ansteuerprogramme für ihre anlage schreiben können.

Ein vorgriff:
Da ich mich bald warscheinlich in QT einarbeiten werde (robocup junior), und auch in 3D programming, ect. könnte es sein dass ich in 1-2 jahren villeicht an einem leistunsfähigen programm arbeite, dass diese bibliotek nutzt. So etwas wie orbitron, nur wesentlich leistunsfähiger und komplett open-source, und auch mit weniger fehler (die ISS hatte bei 2 unterschiedlichen files einen versatz von mehreren grad (galube 15-30grad), deutet auf sehr alte files).

mal schauen was die zukunft bringt :), und ich schreibe schon wie der zu viel :shock:


[quote]Poste doch die URLs, wo er Info und Tips kriegt. Hier sind noch mehr, die auch schon früher durch SAT-Rechnerei und -Pgm gegangen sind. Einige Bücher sind vergriffen, ich habe ihm teilweise Kopien daraus geschickt. [/quote]

Auf dieverse URLs zu anderen programmen freue ich mich gerne, ich will eh mal den programmierstil von anderen programmen sehen, leider hab ich bei den ganzen großen opensource-projekten keine sourcecodes gefunden. (würde mir gerne mal code im umfang von 2.000 - 20.000 codezeilen anschauen (nur oberflächlich :) ))

mfg. pointhi


  
 
 Betreff des Beitrags:
[quote]
Auf dieverse URLs zu anderen programmen freue ich mich gerne, ich will eh mal den programmierstil von anderen programmen sehen,...

mfg. pointhi[/quote]

Oh lieber nicht. Finde du lieber deinen eigenen Stil. Gerade bei der ganzen Open-Source-Gnu-Linux-Strecke sehe ich ganz häufig einen Stil, der mir gar nicht gefällt, weil er zu unübersichtlich und häufig zu "genial" geschrieben ist. Da ist es besser, sich mal mit anderen Programmiersprachen zu befassen, also auch die Strecken Pascal, Modula, Python usw. und sich dann eine eigene Meinung zu bilden. Und vergiß nicht, auch mal die Nase in Assembler diverser CPU's zu stecken, immerhin ist es ja genau diese Ebene, wo alles tatsächlich stattfindet.
Und denk immer mal an die Abkürzung KISS (keep it small and simple)

So, nun aber genug von meiner Schulmeisterei, die du vielleicht garnicht magst..

W.S.


  
 
 Betreff des Beitrags:
[quote]Und vergiß nicht, auch mal die Nase in Assembler diverser CPU's zu stecken, immerhin ist es ja genau diese Ebene, wo alles tatsächlich stattfindet. [/quote]

stimmt eh, und auch wenn ich 16 bin war meine erste programmiersprache Assembler, genau den Befehlscode für die PIC microcontroller :). Das ist ein grund das ich C so schätze, da muss man für eine IF mit mehreren bedingungen nicht einen ganzen aufsatz schreiben (hab ich in assembler noch nie gemacht kanns mir aber vorstellen :) ). Hab da bei Blinklicher mit bestimmten mustern, kleine steuerprogramme für roboter, ect. aufgehört. C ist vie übersichtlicher :), und dir gehen die goto namen nicht aus :)

[quote]Oh lieber nicht. Finde du lieber deinen eigenen Stil. Gerade bei der ganzen Open-Source-Gnu-Linux-Strecke sehe ich ganz häufig einen Stil, der mir gar nicht gefällt, weil er zu unübersichtlich und häufig zu "genial" geschrieben ist. Da ist es besser, sich mal mit anderen Programmiersprachen zu befassen, also auch die Strecken Pascal, Modula, Python usw. und sich dann eine eigene Meinung zu bilden.[/quote]

Aus fehler lernt man ja am besten, auch wenn sie andere gemacht haben :), und villeicht kann man sich ja was abschauen :), ohne dem code von meinem lehrer in Robotik hätte ich die auswertung von inkrementalen drehgebern nie so schnell hinbekommen. Sind nur 2 IF mit 4 bedingungen :), und ein wenig binärdenken.

Und für kommentare bin ich immer zu haben, kann nie schaden eine andere sichtweise zu sehen. Und stile schau ich mir auch nicht mehr so schnell ab, das mit dem hintereinanderschreiben von code hab ich auch von meinem robotiklehrer, aber er proggt noch die 80353 prozessoren und druckt den code für die schüler aus :).

mfg. pointhi


  
 

Sitemap Elektronikforum Elektroshop PostgreSQL Forum