void Valter::readControlDevicesCommandsFromFiles(bool printCommands) { vector<string> commands; for(vector<string>::size_type i = 0; i != controlDeviceIds.size(); i++) { commands.clear(); ifstream cmdfile(filePathPrefix + cmdFilesPath + (string)controlDeviceIds[i]); string line; while (getline(cmdfile, line, '\n')) { commands.push_back(line); } controlDevicesCommands[(string)controlDeviceIds[i]] = commands; cmdfile.close(); } typedef map<string, vector<string>>::iterator it_type; if (printCommands) { for(it_type iterator = controlDevicesCommands.begin(); iterator != controlDevicesCommands.end(); iterator++) { vector<string> commands = controlDevicesCommands[iterator->first]; Valter::log(format_string("%s commands: ", ((string)iterator->first).c_str())); for(vector<string>::size_type i = 0; i != commands.size(); i++) { Valter::log(format_string("%s", ((string)commands[i]).c_str())); } Valter::log("\n"); } } }
void zerospectra(int mode) { int i, j, yr, da, hr, mn, sc; double az, el, secs, ra, dec; secs = d1.secs; if (!mode) { for (i = 0; i < d1.nfreq; i++) avspec[i] = avspecoff[i] = avspecon[i] = 0; d1.pwron = d1.pwroff = 0; d1.numon = d1.numoff = d1.integ = 0; } if (d1.cmdfl && secs > d1.secstop && !d1.slew && !d1.scan && !d1.docal && mode) d1.secstop = cmdfile(); d1.vlsr = 0.0; az = -1; for (i = 0; d1.track >= 0 && i < d1.nsou; i++) { if (strstr(sounam[i], soutrack) && soutrack[0]) { toyrday(secs, &yr, &da, &hr, &mn, &sc); d1.year = yr; if (strstr(sounam[i], "Sun") || strstr(sounam[i], "Moon")) { if (strstr(sounam[i], "Sun")) sunradec(secs, &ra, &dec); else moonradec(secs, &ra, &dec); radec_azel(gst(secs) - ra - d1.lon, dec, d1.lat, &az, &el); } else if (soutype[i]) { az = ras[i] * PI / 180.0; el = decs[i] * PI / 180.0; azel_to_radec(secs, ras[i], decs[i], &ra, &dec); } else { precess(ras[i], decs[i], &ra, &dec, epoc[i], d1.year); radec_azel(gst(secs) - ra - d1.lon, dec, d1.lat, &az, &el); } d1.vlsr = vlsr(secs, ra, dec); sprintf(souinfo, "%s %4d", to_radecp(ra, dec), yr); } } if (d1.track && az >= 0.0) { if (d1.scan > 0) { i = (d1.scan - 1) / 5; j = (d1.scan - 1) % 5; d1.eloff = (i - 2) * d1.beamw * 0.5; d1.azoff = (j - 2) * d1.beamw * 0.5 / cos(el + d1.eloff * PI / 180.0); d1.scan++; if (d1.scan > 26) { d1.scan = 0; if (d1.displ) gtk_tooltips_set_tip(tooltips, button_npoint, "click to start npoint scan", NULL); d1.azoff = d1.eloff = 0; d1.domap = 1; } } if (d1.bsw == 1) d1.bswint = 0; if (d1.bsw > 0 && d1.bswint == 0) { if (d1.bsw == 1) d1.clearint = 1; i = (d1.bsw - 1) % 4; j = 0; if (i == 1) j = -1; if (i == 3) j = 1; d1.azoff = j * d1.beamw / cos(el); d1.bsw++; } } if (az >= 0 && d1.stow != 1) { d1.azcmd = az * 180.0 / PI + d1.azoff; d1.elcmd = el * 180.0 / PI + d1.eloff; // printf("inzero azcmd %f ellim2 %f\n",d1.azcmd,d1.ellim2); } else { azel_to_radec(secs, d1.azcmd, d1.elcmd, &ra, &dec); d1.vlsr = vlsr(secs, ra, dec); } if (mode == 0) { d1.integ = 0.0; pwr = 0.0; } }