Test
Dependencies: mbed-dev-OS5_10_4
Diff: MySources/CalcScan.cpp
- Revision:
- 0:014fad4dfb9d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MySources/CalcScan.cpp Fri Aug 07 07:24:21 2020 +0000 @@ -0,0 +1,97 @@ +/* +------------------------------------------------------------------------------- +Programm Name: CalcScan.c +Version: 1.0 +Sprache: C +Compiler: MBED +Autor: PS +Copyright: PS + +Funktion: Steuerfunktionen für den Scanner (LPC1768) + +-------------------------------------------------------------------------------*/ +#include "Headers.h" + +/*------------------------------------------------------------------------------- +Startwerte, die bei allen Startbefehlen gleich sind, auf Default setzten +-------------------------------------------------------------------------------*/ +int SetStartBasics(int Nr) +{ + int i; + + MVars.m_fDisableStopTel = false; + MVars.m_fFinishMeasurement = false; + MVars.m_fDoFinishMeasurement = false; + for(i=0;i<4;i++) + MVars.dbAdSum[i] = 0L; + MVars.nMwMittelCount = 0; + MVars.m_nSendValues = 2; // Messdaten kontinuierlich schicken + MVars.ZInfo[0] = 1; + MVars.ZInfo[1] = 1; + MVars.nAktMittelAfter = MVars.nMittelAfter; // nimmt jetzt das voreingstellte Intervall +#ifdef SIO_DEBUG + printf("in SetStartBasics nAktMittelAfter: %d \n",MVars.nAktMittelAfter); +#endif + if(MVars.nAktMittelAfter < 6) // bei 1000/500 und 200 Werten + MVars.nSendAfter = 5; + else + MVars.nSendAfter = 50; + + if(MVars.nMittelAfter > 50) // wenn nur wenige Werte gesendet werden, genügt es alle 500ms + MVars.nSendAfter = 500; + MVars.m_nAnzValue = MVars.SendAnzWerte/2; + + + MVars.nTelLen = 0; + + MVars.fTelStart = true; + MVars.nSecCounter[Nr] = 1000; + MVars.m_fSendStatus = true; + return(true); +} +/*------------------------------------------------------------------------------- +Diverse Startwerte auf Default setzten +-------------------------------------------------------------------------------*/ +int SetStartDefault(int Nr) +{ + SetStartBasics(Nr); + + +// gilt für Scan und Pulsmessung gleichermaßen + MVars.m_fScan = true; + +// MVars.nSecCounter[Nr] = 0; + + +// printf("MVars.nAktMittelAfter:%d MVars.nSendAfter: %d \n",MVars.nAktMittelAfter,MVars.nSendAfter); + return true; +} +/*------------------------------------------------------------------------------- +Messung beenden. Wird von irgend einem globalen Ereignis wie Watchdog oder +Pufferüberlauf aufgerufen. Alles wird zurückgesetzt +-------------------------------------------------------------------------------*/ +int SetMessungEnde() +{ + + MVars.m_fDisableStopTel = false; + MVars.nMessZustand[0] = 0; + MVars.m_fSendStatus = true; + MVars.m_fMeasurementFinished = false; +// MVars.m_fMeasurementFinished + MVars.nMittelTimer = 0; + MVars.m_nSendAnz = 0; + MVars.m_nSendValues = 1; // sendet Einzelwerte + MVars.m_fStartTel = 0x01; + IrComp.fSendInfo = false; + MVars.m_nAnzValue = 1; + MVars.nAktMittelAfter = 500; + MVars.nSendAfter = 500; + Mv[0].Circuit = 0; + Mv[1].Circuit = 0; + IrComp.dbIrAddVoltage = 0.; + IrComp.dbKorrVoltage = 0.; + IrComp.fIrInProcess = false; + +// printf("SetMessungEnde\r\n"); + return(true); +}