User manual

14. Nun folgt die Erstellung der main-Funktion.
main()
{
/* Zwischenspeicher für den Index einer öffentlichen Funktion und den Rückgabewert einer Funktion */
new iIdx, iResult;
/* Initialisierung des Tasters -> Auswertung durch das Script aktiviert
- Index der Funktion, die beim Drücken und Loslassen der Taste aufgerufen werden soll, ermitteln
- Index ans System übergeben sowie mitteilen, dass die Steuerung der Taste durch das Script erfolgt
- Index sowie Rückgabewert der Init-Funktion werden über die Console ausgegeben */
iIdx = funcidx("KeyChanged");
iResult = Switch_Init(SWITCH_MODE_SCRIPT, iIdx);
printf("Switch_Init(%d) = %d\r\n", iIdx, iResult);
/* Initialisierung der LED -> Ansteuerung durch das Script aktiviert */
Led_Init(LED_MODE_SCRIPT);
/* Initialisierung eines 1sec. Timers, der für den generellen Programmablauf verwendet wird
- Index der Funktion, die 1x pro sec. ausgeführt werden soll, ermitteln
- Index ans System übergeben
- Index sowie Rückgabewert der Funktion zum Erzeugen des Timers werden über die Console ausgegeben */
iIdx = funcidx("Timer1s");
iResult = rM2M_TimerAdd(iIdx);
printf("rM2M_TimerAdd(%d) = %d\r\n", iIdx, iResult);
/* Festlegen der Funktion, die bei einer Änderung eines Konfigblockes aufgerufen werden soll
- Index der Funktion, bei Änderung eines der Konfigblöcke aufgerufen, ermitteln
- Index ans System übergeben
- Index sowie Rückgabewert der Init-Funktion werden über die Console ausgegeben */
iIdx = funcidx("ReadConfig");
iResult = rM2M_CfgOnChg(iIdx);
printf("rM2M_CfgOnChg(%d) = %d\r\n", iIdx, iResult);
/* Auslesen der Basiskonfiguration. Ist der Konfigblock 0 noch leer (erster Programmstart), wird die
Basiskonfiguration mit Standardwerten initialisiert. */
ReadConfig(CFG_BASIC_INDEX);
/* Durch das Setzen der Zähler auf 0 wird sofort eine Übertragung sowie eine Aufzeichnung ausgelöst.
Das 0 setzen könnte auch unterlassen werden, da in PAWN alle Variablen beim Anlegen mit 0
initialisiert werden. Es wurde an dieser Stelle zum besseren Verständnis jedoch durchgeführt. */
iTxTimer = 0;
iRecTimer = 0;
/* Setzen der Verbindungsart */
rM2M_TxSetMode(iTxMode);
}
15. Im Anschluss gilt es die Funktion, die 1x pro Sekunde durch das System aufgerufen wird und somit mgebend für
den Programmablauf ist, zu erstellen.
/* 1sec. Timer, wird für den generellen Programmablauf verwendet */
public Timer1s()
{
Handle_Led(); // Steuerung der LED
Handle_Transmission(); // Steuerung der Übertragung
Handle_Record(); // Steuerung der Aufzeichnung
}
18 Rev. 01