![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Arianna autonomous DAQ firmware
Dependencies: mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW
Diff: SnCommWin.cpp
- Revision:
- 0:664899e0b988
- Child:
- 1:e392595b4b76
diff -r 000000000000 -r 664899e0b988 SnCommWin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SnCommWin.cpp Sat Jun 30 02:03:51 2012 +0000 @@ -0,0 +1,57 @@ +#include "SnCommWin.h" + +#include "SnConfigFrame.h" +#include "SnSDUtils.h" + +/* +bool SnCommWin::fgCommEst = false; +bool SnCommWin::fgWinOpen = false; +*/ + +SnCommWin::ECommWinResult SnCommWin::SendData(SnConfigFrame& conf, + SnEventFrame& evt, + char* const evtBuf, + char* const confBuf) { + ECommWinResult res = kUndefFail; + if (conf.IsSendingAllFiles()) { + res = SnSDUtils::SendAllFiles(this, conf.IsDeletingFiles()); + } else { + if (conf.GetCommSendData()==0) { + res = kOkNoMsg; + } else { + res = SendData(SnSDUtils::GetCurFileName(), conf, evt, + evtBuf, confBuf, conf.GetCommSendData()); + } + } + return res; +} + +SnCommWin::ECommWinResult SnCommWin::SendData(const char* infn, + const SnConfigFrame& curConf, + SnEventFrame& evt, + char* const evtBuf, + char* const confBuf, + const uint32_t nevts, + const uint32_t firstEvt) { + // nevts==0 ==> send all events + // evtBuf should be 0 only if nevts==0 + + ECommWinResult res = kUndefFail; + FILE* inf = fopen(infn, "rb"); + if (inf!=0) { + if (nevts==0) { + res = SendData(inf); + if (curConf.IsDeletingFiles() && res>=kOkMsgSent) { + SnSDUtilsWhisperer::DeleteFile(inf, infn); + } + } else { + if (evtBuf!=0) { + res = SendConfAndEvents(inf, curConf, evt, evtBuf, confBuf, nevts, firstEvt); + } + } + if (inf!=0) { + fclose(inf); + } + } + return res; +}