Datenformat HAC4 Stand 15.07.2002



Ähnliche Dokumente
Dokumentation IBIS Monitor

Über die Status-Befehle kann die Peripherie der gesamten Hard- und Firmware abgefragt werden.

Betriebsanleitung Modbus-Konverter Unigate-CL-RS

Bekannte Effekte bei Soft- und Hardware der ESTEC Datenlogger sowie der PC Auswertesoftware

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Schnittstellenbeschreibung Funkempfänger SRC-RS485-EVC

Registrierung am Elterninformationssysytem: ClaXss Infoline

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

Benutzung des NAM. Starten Sie Ihren Browser und rufen Sie folgende Adresse auf:

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Überprüfung der digital signierten E-Rechnung

teischl.com Software Design & Services e.u. office@teischl.com

Programmablauf für die Batch Wlan Komplettpakete mit Windows CE

EasyWk DAS Schwimmwettkampfprogramm

How to do? Projekte - Zeiterfassung

Anwendungsbeispiele Buchhaltung

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Dow Jones am im 1-min Chat

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Leichte-Sprache-Bilder

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße Neckargemünd

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

CdsComXL. Excel add-in für Bearbeitung und Auswertung der CDS-daten. ComXL-020/D, Spur Spur Spur Spur

Local Control Network

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Synchronisations- Assistent

Trackaufzeichnungen können als Active-Logs oder mit eigenen Namen versehene und auf max. 500 Punkte begrenzte Saved-Tracks gespeichert werden.

PCE-USM RS USB Logger

OPERATIONEN AUF EINER DATENBANK

Schnittstelle RS 232, UP RS 232 UP, WS, GJ B A0037

Einführung in IP, ARP, Routing. Wap WS02/03 Ploner, Zaunbauer

Mediumwechsel - VR-NetWorld Software

Installation OMNIKEY 3121 USB

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Whitepaper. Produkt: address manager David XL Tobit InfoCenter AddIn für den address manager Zuordnung

Tevalo Handbuch v 1.1 vom

Pflegeberichtseintrag erfassen. Inhalt. Frage: Antwort: 1. Voraussetzungen. Wie können (Pflege-) Berichtseinträge mit Vivendi Mobil erfasst werden?

mit SD-Karte SD-Karte Inhalt

Mediumwechsel - VR-NetWorld Software

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Adami CRM - Outlook Replikation User Dokumentation

Erste Schritte ANLEITUNG Deutsche Sportausweis Vereinsverwaltung Schnittstelle zum Portal des Deutschen Sportausweises unter

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Beschreibung EtherNet/IP Prozessschnittstelle

web: CAD/CAM-Systeme Entwicklung Beratung Vertrieb Kundenbetreuung Service für Werkzeugmaschinen

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Übung 9 - Lösungsvorschlag

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Erweiterungen Webportal

10.1 Auflösung, Drucken und Scannen

KNX BAOS Gadget. Installations- und Bedienanleitung. WEINZIERL ENGINEERING GmbH. DE Burgkirchen Web:

BANKETTprofi Telefonschnittstelle

Freigabemitteilung Nr. 39. Neue Funktionen adresse zurücksetzen / ändern Kennung ändern Anlegen von OCS (elektr. Postfach) Mailbenutzern

FlowFact Alle Versionen

Kommunikations-Management

1 Aufgaben zu Wie funktioniert ein Computer?

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

Grundlagen der Informatik (BSc) Übung Nr. 5

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

IntelliRestore Seedload und Notfallwiederherstellung

So wird s gemacht - Nr. 24

Zahlensysteme: Oktal- und Hexadezimalsystem

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Datensicherung EBV für Mehrplatz Installationen

Mit der RoeTest-Software können Barcodes wie folgt erstellt werden:

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

EKF Software Server. Handbuch. Version 2.1. Hersteller: 2008 mesics gmbh Berliner Platz Münster info@mesics.de

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Codierungsverfahren SS Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

desk.modul : Intercompany

SEPA Lastschriften. Ergänzung zur Dokumentation vom Workshop Software GmbH Siemensstr Kleve / /

WORKSHOP für das Programm XnView

Verarbeitung der Eingangsmeldungen in einem Callcenter

dpa-infocom - Datenlieferung

SJ OFFICE - Update 3.0

Wissensdatenbankeintrag zur Classic Line Version CL 4.4 und SNC >= 5.2 WDB Artikel:

Netzwerkeinstellungen unter Mac OS X

Kurzanleitung MAN E-Learning (WBT)

EMU Bill & Report 1/33

Assistent für Barcode Scanner

SharePoint Demonstration

ARAkoll 2013 Dokumentation. Datum:

Whitepaper. Produkt: address manager Outlook AddIn für den address manager Zuordnung. combit GmbH Untere Laube Konstanz

M a i l C r e d i t. \\Burt\user\Soutschek\FP\Technik\Frankiermaschinen\00_PC Software\MailCredit\Anleitung MailCredit Installation.

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

Installation von MailON2!

Datensicherung. Beschreibung der Datensicherung

Lehrer: Einschreibemethoden

Schrittweise Anleitung zur Installation von Zertifikaten der Bayerischen Versorgungskammer im Mozilla Firefox ab Version 2.0

Schulberichtssystem. Inhaltsverzeichnis

Leitfaden zur Durchführung eines Jahreswechsels in BüroWARE 5.x

WLAN Konfiguration. Michael Bukreus Seite 1

Updatehinweise für die Version forma 5.5.5

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

A.u.S. Spielgeräte GmbH A-1210 Wien Scheydgasse 48 Tel.+43-(0) Fax. +43-(0)

Transkript:

Auswertung der Daten des HAC4 Die Fahrradcomputer vom Typ HAC4 von der Firma CicloSport zeichnen bei Bedarf Daten (Höhe, Weg, Herzfrequenz, Temperatur und Trittfrequenz) auf. Diese Daten können mit einem Interface über eine serielle Schnittstelle zu einem PC übertragen werden. Die nachfolgende Dokumentation beschreibt das Auslesen des HAC4 und die Formatierung der ausgelesenen Daten. Es ist zu beachten, dass es drei Versionen des HAC4 gibt, den HAC4-325, HAC4-315 und den HAC4- Imp. Die Unterschiede im Format der Daten sind dokumentiert. Serielle Schnittstelle Die serielle Schnittstelle des HAC4 ist unidirektional ausgeführt, das heißt, es können nur die Daten in einer Richtung von der Uhr zum PC übertragen werden. Es ist kein spezielles Protokoll implementiert. Zum Kontrollieren der Datenübertragung muß die abschließend gesendete Checksumme herangezogen werden. Die einzustellenden Parameter der seriellen Schnittstelle sind: Geschwindigkeit: 9600 bps Datenbits: 8 Stopbit: 1 Parität: keine Für die Übertragung an sich wird keinerlei Flußkontrolle verwendet. Es ist allerdings notwendig, die serielle Schnittstelle auf Flußkontrolle Hardware einzustellen, damit das Interface die Daten ordnungsgemäß zum PC weiterleiten kann. Datenübertragung Die Datenübertragung wird am HAC4 gestartet. Als erstes wird die Startkennung, danach werden die eigentlichen Nutzdaten und am Ende wird die Checksumme übertragen. Die Startkennung besteht aus den vier Byte AFRO, die durch ein <CR> abgeschlossen werden (0x41, 0x46, 0x52, 0x4f, 0x0d). Eine Software die den HAC4 ausliest, sollte den Start der Übertragung auf die Zeichenkette FRO<CR> synchronisieren. Es ist möglich, daß vor der Kennung AFRO unbestimmte Zeichen gesendet werden. Auch kann es sein, dass das einführende A von AFRO<CR> verändert gesendet wird. Nach der Startkennung werden die Nutzdaten übertragen. Die Nutzdaten repräsentieren den internen Speicher des HAC4 mit einer Größe von 32KByte und enthalten unter anderem die aufgezeichneten Daten. Jeweils zwei Byte werden hexadezimal in vier Byte umgewandelt. Diese werden dann übertragen und durch ein <CR> abgeschlossen. Das heißt für insgesamt zwei Bytes werden 5Byte gesendet. Also für die zwei Byte 0xb7 und 0x35 würde zum Beispiel die Zeichenkette B735<CR> gesendet werden. Insgesamt werden Nutzdaten von 16.384 mal 5 Zeichen übertragen. Als Abschluß wird eine zwei Byte Checksumme im gleichen Format (5Byte) gesendet. Die Checksumme wird berechnet, indem die gesamten Nutzdaten als vorzeichenbehaftete 16 Bit Integer Werte addiert werden. 1/6

Datenformat Die Aufteilung der Nutzdaten (32KByte) erfolgt in Einheiten zu 16 Bit. Daraus ergibt sich ein adressierbarer Bereich von 0x0000 bis 0x3fff. Die für die Auswertung wichtigen Daten stehen ab Adresse 0x0080. An dieser Adresse befindet sich bei den Versionen HAC4-315 und HAC4-Imp der Parameterspeicher. Er ist wie folgt formatiert: 0x0080h ------------------------------------------------------------------ unsigned short magic; // 0xb735 für HAC4-315, 0xb734 für HAC4-Imp unsigned short umfang; // Umfang des Rades unsigned short gewicht; // Gewicht short homealti; // Home Höhe short otg1; // erste Obergrenze für Herzfrequenz short utg1; // erste Untergrenze für Herzfrequenz short otg2; // zweite Obergrenze für Herzfrequenz short utg2; // zweite Untergrenze für Herzfrequenz 0x0088h ------------------------------------------------------------------ unsigned short count1; // Count Down Zähler 1 unsigned short count2; // Count Down Zähler 2 short korralti; // Korrekturwert der Höhe short totdisth; // gefahrene Kilometer HIGHWORD short totdistl; // gefahrene Kilometer LOWWORD short ptrstart; // Startzeiger der Tourenaufzeichnung short year; // eingestelltes Jahr im BCD Format char mon; // eingestellter Monat im BCD Format char day; // eingestellter Tag im BCD Format 0x0090h ------------------------------------------------------------------ unsigned short meteraufwaerts; // Aufgelaufene Höhenmeter aufwärts unsigned short meterabwaerts; // Aufgelaufene Höhenmeter abwärts short maxalti; // maximale Höhe Tageswert short hour; // Jahresfahrzeit Stunden im BCD Format char min; // Jahresfahrzeit Minuten im BCD Format char sec; // Jahresfahrzeit Sekunden im BCD Format short ptrlog; // interner Zeiger short ptrend; // interner Zeiger short ptrstop; // interner Zeiger Die Parameter enthalten die Grundeinstellungen des HAC4. Für die Auswertung hat in erster Linie der Parameter magic an der Adresse 0x0080 Bedeutung. Mit Hilfe des magic kann auf das vorliegende Gerät geschlossen werden. Folgende Magic-Codes sind bis heute implementiert: 0xb735: 0xb7b4: sonst: HAC4-315 HAC4-Imp HAC4-325 Zu beachten ist, dass die HAC4-325 noch keinen Parameterblock besessen haben. Kann dem magic weder der HAC4-315 noch der HAC4-Imp zugeordnet werden, so ist davon auszugehen, dass es sich um Daten eines HAC4-325 handelt. Die richtige Zuordnung ist vor Beginn der Auswertung der Aufzeichnung wichtig, da sich das Format der einzelnen Versionen geringfügig unterscheidet. Bei den Versionen HAC4-315 und HAC4-Imp schließt sich nach dem Parameterspeicher ab Adresse 0x0098 der Speicher für die Aufzeichnungen an. Beim HAC4-325 beginnt der Speicher bereits ab Adresse 0x0090. Der Speicher für die Aufzeichnungsdaten (von 0x0098 bzw. 0x0090 bis 0x3fff) ist als Ringspeicher organisiert. In diesem Ringspeicher werden die Aufzeichnungsdaten von Touren in Blöcken zu 16 Byte nacheinander abgespeichert. Aufzeichnung einer Tour Die Aufzeichnung einer Tour wird durch den Startblock eingeleitet. Danach schließen sich je nach Aufzeichnungsdauer eine Anzahl von Logblöcken an. Abschließend gehört zu jeder Aufzeichnung noch ein Endblock sowie ein Stopblock. Jeder Block hat eine Größe von 16 Byte und wird durch einen Id eindeutig gekennzeichnet. Damit kann in dem Aufzeichnungsspeicher gezielt nach einem einleitenden Startblock gesucht werden. Jeder Logblock enthält die Daten der 2/6

vergangenen 2 Minuten. Der Endblock enthält die Daten, welche nach dem Speichern des letzten Logblockes angefallen sind (maximal 1 Minute und 59 Sekunden). An Hand der Anzahl der Logblöcke zwischen dem Startblock und dem Endblock und dem Feld time aus dem Endblock kann die Dauer der Aufzeichnung festgestellt werden. Startblock Das Format eines Startblockes wird durch die unten stehende Struktur beschrieben: id = 0xA res0 res1 mode res2 endptr min hour day mon alti pulse typedef struct tag_hac4startblock{ unsigned short 4; // Identifier 0xA für Startblock unsigned short res0:4; unsigned short res1:4; -Bits unsigned short mode:2; // Modus Joggen, Ski, Bike unsigned short res2:2; -Bits unsigned short endptr; // Byte-Zeiger auf STOPBLOCK der Aufzeichnung unsigned char min; // Aufzeichnung: Uhrzeit Minuten unsigned char hour; // Aufzeichnung: Uhrzeit Stunden unsigned char day; // Aufzeichnung: Datum Tag unsigned char mon; // Aufzeichnung: Datum Monat unsigned int ; short alti; // Ausgangshöhe short pulse; // Ausgangspuls }THAC4StartBlock; mode: endptr: min: hour: day: mon: alti: pulse: Der Id ist bei einem Startblock auf den Wert 0xa gesetzt. Jeder Startblock kann eindeutig durch den Id identifiziert werden. Mode zeigt an, im welchen Modus der HAC4 während der Aufzeichnung stand. 0: Joggen 1: Ski 2: Bike 3: Bike - Ski Zeigt auf den abschließenden StopBlock. Der Stopblock wiederum hat ein Datenfeld, welches auf den Startblock verweist. Eine Tour ist nur dann korrekt aufgezeichnet, wenn der Startblock auf den Endblock und der Endblock auf den Startblock zeigt. Beginn der Aufzeichnung Minute der Uhrzeit (BCD-Format) Beginn der Aufzeichnung Stunde der Uhrzeit (BCD-Format) Beginn der Aufzeichnung Tag des Monats (BCD-Format) Beginn der Aufzeichnung Monat (BCD-Format) Höhe bei Aufzeichnungsbeginn. Bei der weiteren Aufzeichnung wird nur die Änderung der Höhe abgespeichert. Herzfrequenz bei Aufzeichnungsbeginn. Bei der weiteren Aufzeichnung wird nur die Änderung der Herzfrequenz abgespeichert. 3/6

Logblock Das Format eines Logblockes wird in den unten stehenden Datenstrukturen beschrieben: id = 0xB res0 temp cad lap dist20 alti20 pulse20 dist40 alti40 pulse40 dist60 alti60 pulse60 dist80 alti80 pulse80 dist100 alti100 pulse100 dist120 alti120 pulse120 typedef struct tag_hac4logvalue{ unsigned short dist:6; // Änderung des Weges in Vielfachen von 10 Metern (0..630 m) short alti:6; // Wert für die Änderung der Höhe (-128..121 m) short pulse:4; // Änderung der Herzfrequenz in 1/min (-8..+7 1/min) }THAC4LogValue; typedef struct tag_hac4logblock{ unsigned char 4; // Identifier B unsigned char res0:4; char temp; // Temperatur unsigned char cad; // Trittfrequenz unsigned char lap; // Zeit an der Marke gesetzt wurde THAC4LogValue val[6]; // 6 Datensätze (dist, alti, pulse) für jeweils 20 Sekunden }THAC4LogBlock; Der Logblock enthält die Daten von 2 Minuten. Das sind die Trittfrequenz und die Temperatur als jeweils ein Wert für die zwei Minuten und die Weg-, die Höhen- und die Herzfrequenzänderung für jeweils 20 Sekunden. Außerdem kann während der 2 Minuten eine Marke gespeichert sein. temp: cad: lap: dist: alti: Der Logblock hat immer den Id 0xb Temperatur für 2 Minuten Trittfrequenz für 2 Minuten. Der HAC4-325 kann keine Trittfrequenz aufzeichnen. Bei dieser Version ist der Inhalt des Feldes cad unbestimmt. Zeit, an der eine Marke gesetzt wurde. Beim HAC4-325 ist die Zeit als ein Vielfaches von 10 Sekunden (0..12) zu verstehen. Bei den anderen Versionen ist die Zeit sekundengenau gespeichert (0..120 Sekunden). Ist der Wert auf Null gesetzt, ist keine Marke vorhanden. Änderung des Weges während der letzten 20 Sekunden in Vielfachen zu 10m. Da für diesen Parameter 6Bit Speicher vorgesehen sind, können maximal 630m, aufgezeichnet werden. Wert für die Änderung der Höhe während der letzten 20 Sekunden. Die Höhenänderung in Metern dh wird durch folgenden Zusammenhang gebildet. -15 <= alti <= 15: dh = alti -32 <= alti < -15: dh = (alti+16)*7-16 15 < alti <= 31: dh = (alti-16)*7 + 16 Aus diesem Zusammenhang ergibt sich eine maximale Höhenänderung von -128m bis 121m. pulse: Änderung der Herzfrequenz während der letzten 20 Sekunden in 1/min. 4/6

Endblock Das Format eines Endblockes wird in der unten stehenden Datenstruktur beschrieben: id = 0xC res0 temp res1 time dist20 alti20 pulse20 dist40 alti40 pulse40 dist60 alti60 pulse60 dist80 alti80 pulse80 dist100 alti100 pulse100 dist120 alti120 pulse120 typedef struct tag_hac4endblock{ unsigned char 4; // Identifier C unsigned char res0:4; char temp; // Temperatur unsigned char res1; (HAC4-325: entspricht time) unsigned char time; // Zeit vom letzten Logblock in Sekunden (0..119) THAC4LogValue val[6]; // maximal 6 Datensätze (dist, alti, pulse) }THAC4EndBlock; temp: time: dist: alti: Der Endblock hat immer den Id 0xc Temperatur für 2 Minuten Zeit in Sekunden seit der Speicherung des letzten Logblockes. Aus diesem Feld ergibt sich, wie viele Datensätze mit den Weg, Höhen- und Herzfrequenzänderungen ausgewertet werden müssen. Der letzte auszuwertende Datensatz bezieht sich auf eine Zeit von time modulo 20 Sekunden. Änderung des Weges während der letzten 20 Sekunden (bzw. time modulo 20)in Vielfachen zu 10m. Da für diesen Parameter 6Bit Speicher vorgesehen sind, können maximal 630m, aufgezeichnet werden. Wert für die Änderung der Höhe während der letzten 20 Sekunden (bzw. time modulo 20). Die Höhenänderung in Metern wird durch folgenden Zusammenhang gebildet. -15 <= alti <= 15: dh = alti -32 <= alti < -15: dh = (alti+16)*7-16 15 < alti <= 31: dh = (alti-16)*7 + 16 Aus diesem Zusammenhang ergibt sich eine maximale Höhenänderung von -128m bis 121m. pulse: Änderung der Herzfrequenz während der letzten 20 Sekunden (bzw. time modulo 20) in 1/min. 5/6

Stopblock Das Format eines Stopblockes in der unten stehenden Datenstruktur beschrieben: id = 0xD res0 res1 startptr typedef struct tag_hac4stopblock{ unsigned char 4; // Identifier D unsigned char res0:4; unsigned char res1; unsigned short startptr; // Byte-Zeiger auf STARTBLOCK der Aufzeichnung unsigned short res2[6]; }THAC4StopBlock; startptr: Der Id ist bei einem Stopblock auf den Wert 0xd gesetzt. Zeigt auf den Startblock. Eine Tour ist nur dann korrekt aufgezeichnet, wenn der Startblock auf den Endblock und der Endblock auf den Startblock zeigt. 6/6