User manual
Schritt-für-Schritt-Anleitung
11.
Wechseln Sie zurück zum Karteireiter "Script", erstellen Sie ein neues leeres Script ( -Symbo) und speichern Sie
es auf Ihrer Festplatte ( -Symbol).
Erstellen eines neuen Scripts
1 Dateiname des geöffneten Scripts. Wurde das Script geändert jedoch noch nicht gespeichert, wird dies durch
"*" nach dem Dateinamen signalisiert.
2 erstellt ein neues leeres Script
3 öffnet den Dialog zum Speichern des Scripts unter einem anderen Dateinamen
4 Script-Editor
Kopieren Sie in dieses Feld nacheinander die in den folgenden 9 Schritten beschriebenen Blöcke. Wollen Sie
diese schrittweise Erstellung des Applikations-Scripts überspringen, können Sie auch den gesamten Inhalt der
Datei "Wireless_Thermometer.p" in dieses Feld kopieren und das Tutorial bei Schritt 21 fortsetzen. Die Datei
"Wireless_Thermometer.p" ist im Paket der ergänzenden Dateien zu diesem Tutorial enthalten.
12. Zunächst gilt es den Pfad für das spezifische Include-File für das C-Control IoT-Starter Kit 10 und die
Funktionsprototypen der von der Firmware bei entsprechenden Events aufgerufenen Callbacks anzugeben.
/* Pfad für das hardwarespezifische Include-File */
#include ".\rapidM2M IoT-Box\iotbox"
/* Forward Deklarationen der öffentlichen Funktionen */
forward public Timer1s(); // für den Programmablauf, wird 1x pro sec. aufgerufen
forward public ReadConfig(cfg); // wird bei Änderung eines der Konfigblöcke aufgerufen
forward public KeyChanged(iKeyState); // wird beim Drücken und Loslassen der Taste aufgerufen
13. Als nächstes sind einige Konstanten und globale Variablen für den Programmablauf zu definieren.
/* Standardwerte für die Initialisierung der Konfiguration */
const
{
ITV_RECORD = 1 * 60, // Aufzeichnungsintervall [sec.], default 1 min
ITV_TRANSMISSION = 1 * 60 * 60, // Übertragungsintervall [sec.], default 60 min
TXMODE = RM2M_TXMODE_TRIG, // Verbindungsart, default "Intervall"
DEFAULT_COLOR = 0x00008ECF, // Farbe der LED
}
/* Größen- und Indexangaben für die Konfigurationsblöcke und den Messdatenblock */
const
{
CFG_BASIC_INDEX = 0, // In Konfigblock 0 befindet sich die Basiskonfig
CFG_BASIC_SIZE = 9, // Aufzeichungsintv.(u32) + Übertragungsintv.(u32) +
// Verbindungsart (u8)
HISTDATA_SIZE = 3 * 2 + 1, // 3 Kanäle (s16) + "Split-tag" (u8)
}
/* Globale Variablen zur Aufnahme der aktuellen Konfiguration */
static iRecItv; // aktuelles Aufzeichnungsintervall [sec.]
static iTxItv; // aktuelles Übertragungsintervall [sec.]
static iTxMode; // aktuelle Verbindungsart (0 = Intervall,
// 1 = Wakeup, 2 = Online)
/* Globale Variablen für die verbleibende Zeit bis zum Auslösen bestimmter Aktionen */
static iRecTimer; // sec. bis zur nächsten Aufzeichnung
static iTxTimer; // sec. bis zur nächsten Übertragung
Rev. 01 17