Hi Steffen.
Ich habe eben den Focuser nochmal angehängt.
Wenn ich den Client starte erhalte ich beim bewegen folgende ausgabe:
2010-09-13T10:16:39 Keine Firmware gefunden, aber egal
2010-09-13T10:16:34 Keine Firmware gefunden, aber egal
2010-09-13T10:16:29 Keine Firmware gefunden, aber egal
2010-09-13T10:16:24 Keine 2010-09-13T10:16:44 Keine Firmware gefunden, aber egal
gefunden, aber egal
2010-09-13T10:16:19 Keine Firmware gefunden, aber egal
2010-09-13T10:16:14 Keine Firmware gefunden, aber egal
2010-09-13T10:16:09 Keine Firmware gefunden, aber egal
2010-09-13T10:16:04 Keine Firmware gefunden, aber egal
2010-09-13T10:15:59 Keine Firmware gefunden, aber egal
2010-09-13T10:15:54 Keine Firmware gefunden, aber egal
2010-09-13T10:15:49 Keine Firmware gefunden, aber egal
2010-09-13T10:15:44 Keine Firmware gefunden, aber egal
2010-09-13T10:16:39 Keine Firmware gefunden, aber egal
2010-09-13T10:18:19 Keine Firmware gefunden, aber egal
2010-09-13T10:18:14 Keine Firmware gefunden, aber egal
2010-09-13T10:18:09 Keine Firmware gefunden, aber egal
2010-09-13T10:18:04 Keine Firmware gefunden, aber egal
2010-09-13T10:17:59 Keine Firmware gefunden, aber egal
2010-09-13T10:17:54 Keine Firmware gefunden, aber egal
2010-09-13T10:17:49 Keine Firmware gefunden, aber egal
2010-09-13T10:17:44 Keine Firmwar2010-09-13T10:18:24 Keine Firmware gefunden, aber egal
e gefunden, aber egal
2010-09-13T10:17:39 Keine Firmware gefunden, aber egal
2010-09-13T10:17:34 Robofocus position recovered resuming normal operation
2010-09-13T10:17:34 Robofocus position recovered 10000
2010-09-13T10:17:34 Relative movement failed.
2010-09-13T10:17:34 Unknown error while reading Robofocus position: -4
Es ist eigentlich egal welchen Knopf ich drücke. Rein oder raus in Kstars ist wurscht, nix geht und nix wird dokumentiert. Kann natürlich auch an meiner auskommentierten Subroutine liegen.
So sieht sie aus:
void ISWorkProc () {
char firmeware[]="FV0000000" ;
int ret = -1 ;
int cur_s1LL=0 ;
int cur_s2LR=0 ;
int cur_s3RL=0 ;
int cur_s4RR=0 ;
/* fprintf(stderr, "ISWorkProc\n") ; */
if (PowerS[0].s == ISS_ON) {
switch (PowerSP.s) {
case IPS_IDLE:
case IPS_OK:
if((ret= updateRFFirmware(fd, firmeware)) < 0) {
/* This would be the end*/
IDMessage( mydev, "Keine Firmware gefunden, aber egal\n");
// break;
}
PowerSP.s = IPS_OK;
IDSetSwitch(&PowerSP, NULL);
/* if((ret= updateRFPosition(fd, ¤tPosition)) < 0) {
PositionNP.s = IPS_ALERT;
IDSetNumber(&PositionNP, "Unknown error while reading Robofocus position: %d", ret);
break;
}
*/ PositionNP.s = IPS_OK;
IDSetNumber(&PositionNP, NULL);
/* if(( ret= updateRFTemperature(fd, ¤tTemperature)) < 0) {
TemperatureNP.s = IPS_ALERT;
IDSetNumber(&TemperatureNP, "Unknown error while reading Robofocus temperature");
break;
}
*/ TemperatureNP.s = IPS_OK;
IDSetNumber(&TemperatureNP, NULL);
currentBacklash= BACKLASH_READOUT ;
/* if(( ret= updateRFBacklash(fd, ¤tBacklash)) < 0) {
SetBacklashNP.s = IPS_ALERT;
IDSetNumber(&SetBacklashNP, "Unknown error while reading Robofocus backlash");
break;
}
*/ SetBacklashNP.s = IPS_OK;
IDSetNumber(&SetBacklashNP, NULL);
currentDuty= currentDelay= currentTicks=0 ;
/* if(( ret= updateRFMotorSettings(fd, ¤tDuty, ¤tDelay, ¤tTicks )) < 0) {
SettingsNP.s = IPS_ALERT;
IDSetNumber(&SettingsNP, "Unknown error while reading Robofocus motor settings");
break;
}
*/ SettingsNP.s = IPS_OK;
IDSetNumber(&SettingsNP, NULL);
/* if(( ret= updateRFPowerSwitches(fd, -1, -1, &cur_s1LL, &cur_s2LR, &cur_s3RL, &cur_s4RR)) < 0) {
PowerSwitchesSP.s = IPS_ALERT;
IDSetSwitch(&PowerSwitchesSP, "Unknown error while reading Robofocus power swicht settings");
break;
}
*/
PowerSwitchesS[0].s= PowerSwitchesS[1].s= PowerSwitchesS[2].s= PowerSwitchesS[3].s= ISS_OFF ;
if(cur_s1LL== ISS_ON) {
PowerSwitchesS[0].s= ISS_ON ;
}
if(cur_s2LR== ISS_ON) {
PowerSwitchesS[1].s= ISS_ON ;
}
if(cur_s3RL== ISS_ON) {
PowerSwitchesS[2].s= ISS_ON ;
}
if(cur_s4RR== ISS_ON) {
PowerSwitchesS[3].s= ISS_ON ;
}
PowerSwitchesSP.s = IPS_OK ;
IDSetSwitch(&PowerSwitchesSP, NULL);
currentMaxTravel= MAXTRAVEL_READOUT ;
/* if(( ret= updateRFMaxPosition(fd, ¤tMaxTravel)) < 0) {
MaxTravelNP.s = IPS_ALERT;
IDSetNumber(&MaxTravelNP, "Unknown error while reading Robofocus maximum travel");
break;
}
*/ MaxTravelNP.s = IPS_OK;
IDSetNumber(&MaxTravelNP, NULL);
// case IPS_BUSY:
// break;
// case IPS_ALERT:
// break;
}
}
}
Eigentlich will ich ja nur ein kleines Programm wo 3 knöpfe sind. Rein, Raus und Zähler auf Null stellen.
Sowie die Möglichkeit der Schritte angeben. Mehr will ich eigentlich nicht.
Gibt es den nix unter Linux der dem unter Windows entspricht?
Gruß und CS
Thomas