void SourceNode::sendSensorValue () { unsigned short alertType = CommonValues::Alert::DEFAULT_ALERT_TYPE; float sensorValue = 8.99; unsigned long timeStamp = millis(); unsigned long delay = abs(timeStamp - _lastAlertTimestamp); if (delay >= CommonValues::Routing::SOURCE_DELAY) { //store time of alert _lastAlertTimestamp = timeStamp; //prepare and send alert Alert alert(alertType, sensorValue); AlertMessage message( _myAddress, getSequenceNumber(), _level, alert ); send(message); //new alert received String value = Utility::Convert::floatToString(sensorValue); Lcd::getInstance()->display("[A]: START"); Lcd::getInstance()->display("[A:value]: "+value); Serial.println("Sending alert : "+ String(value)); } }
void submitJob(const char* modem, char* otag) { u_long tts = 0; time_t t = time(0); struct tm* now = localtime(&t); sprintf(qfile, "%s/q%d", FAX_SENDDIR, seqnum = getSequenceNumber()); qfd = fopen(qfile, "w"); if (qfd == NULL) { syslog(LOG_ERR, "%s: Can not create qfile: %m", qfile); sendError("Can not create qfile \"%s\".", qfile); cleanupJob(); } flock(fileno(qfd), LOCK_EX); fprintf(qfd, "modem:%s\n", modem); for (;;) { if (!getCommandLine()) cleanupJob(); if (isCmd("end") || isCmd(".")) { setupData(seqnum); break; } if (isCmd("sendAt")) { tts = cvtTime(tag, now, "time-to-send"); } else if (isCmd("killtime")) { fprintf(qfd, "%s:%lu\n", line, cvtTime(tag, now, "kill-time")); } else if (isCmd("cover")) { coverProtocol(atoi(tag), seqnum); } else fprintf(qfd, "%s:%s\n", line, tag); /* XXX check info */ } fprintf(qfd, "tts:%lu\n", tts); fclose(qfd), qfd = NULL; if (!notifyServer(modem, "S%s", qfile)) sendError("Warning, no server appears to be running."); sendClient("job", "%d", seqnum); }