Browse Source

better

git-svn-id: https://bucket.mit.edu/svn/nilm/zoom@7614 ddd99763-3ecb-0310-9145-efcb8ce7c51f
tags/zoom-1.0
jim 15 years ago
parent
commit
8b458e5d20
3 changed files with 12 additions and 11 deletions
  1. +4
    -4
      pc/calibrate.c
  2. +6
    -5
      pc/gpib.c
  3. +2
    -2
      pc/gpib.h

+ 4
- 4
pc/calibrate.c View File

@@ -81,7 +81,7 @@ int main(int argc, char *argv[])

void calibrate(int zoom, int gpib)
{
float idesired, iactual;
double idesired, iactual;
int i;
int zero;
int r = 0;
@@ -111,10 +111,10 @@ void calibrate(int zoom, int gpib)
info("Zeroing\n");
if (zoom_zero_start(zoom) < 0) goto fail;
info("Setting current: %f\n", idesired);
info("Setting current: %.8f\n", idesired);
keithley_current(gpib, idesired);
iactual = keithley_read(gpib);
info("Actual current: %f\n", iactual);
info("Actual current: %.8f\n", iactual);

info("Stop zeroing\n");
if ((zero = zoom_zero_stop(zoom)) < 0) goto fail;
@@ -125,7 +125,7 @@ void calibrate(int zoom, int gpib)

info("Results:\n");
for (i = 0; i < ZOOM_SWEEP_COUNT; i++) {
printf("%8f %d %d\n", iactual, dac[i], adc[i]);
printf("%.8f %d %d\n", iactual, dac[i], adc[i]);
}
}



+ 6
- 5
pc/gpib.c View File

@@ -33,7 +33,7 @@ int gpib_addr(int fd, int addr)

int keithley_init(int fd)
{
float i;
double i;
gput(":syst:beep:stat 1");
gput(":sour:func:mode curr");
gput(":sour:del 0");
@@ -47,7 +47,7 @@ int keithley_init(int fd)
return 0;
}

int keithley_current(int fd, float amps)
int keithley_current(int fd, double amps)
{
char s[128];
sprintf(s, ":sour:curr %0.3f", amps);
@@ -55,15 +55,16 @@ int keithley_current(int fd, float amps)
return 0;
}

float keithley_read(int fd)
double keithley_read(int fd)
{
char s[128];
float i, dummy;
double i, dummy;
gputv("read?", NAN);
gputv("++read", NAN);
if (fdgets(s, 128, fd, 2000) == NULL)
return NAN;
if (sscanf(s, "%f,%f,", &dummy, &i) != 2)
printf("%s\n", s);
if (sscanf(s, "%lf,%lf,", &dummy, &i) != 2)
return NAN;
return i;
}


+ 2
- 2
pc/gpib.h View File

@@ -5,8 +5,8 @@ int gpib_init(int fd);
int gpib_addr(int fd, int addr);

int keithley_init(int fd);
int keithley_current(int fd, float amps);
float keithley_read(int fd);
int keithley_current(int fd, double amps);
double keithley_read(int fd);
int keithley_off(int fd);

#endif


Loading…
Cancel
Save