aboutsummaryrefslogtreecommitdiff
path: root/arm-probe
diff options
context:
space:
mode:
authorAndy Green <andy.green@linaro.org>2012-10-22 15:19:31 +0800
committerAndy Green <andy.green@linaro.org>2012-10-22 15:19:31 +0800
commit9ccd7d5f3c7b0597141e41a8f763d358b3198d0a (patch)
tree6f265fda5e6f8fcee3dc4b36aa3fe7a8fd584c4d /arm-probe
parent7628b1a757b6d4dc42bad975dba7bfb39f5f9132 (diff)
refactor separate non aep specific stuff
Signed-off-by: Andy Green <andy.green@linaro.org>
Diffstat (limited to 'arm-probe')
-rw-r--r--arm-probe/arm-probe.c93
1 files changed, 54 insertions, 39 deletions
diff --git a/arm-probe/arm-probe.c b/arm-probe/arm-probe.c
index 73eee51..fde030d 100644
--- a/arm-probe/arm-probe.c
+++ b/arm-probe/arm-probe.c
@@ -28,6 +28,8 @@ char stdinline[512] = "";
int stdinpos = 0;
int stdinlen = 0;
+struct aepd_interface *aepd_interface;
+
struct aep_context aep_context = {
.config_filepath = "./config",
.highest = -1,
@@ -115,7 +117,7 @@ int main(int argc, char *argv[])
int m, i;
int periodic = 0;
double tt;
- struct aep_result *aep_result;
+ struct aepd_interface_result *aepd_interface_result;
int first = 1;
loop = 1;
@@ -278,6 +280,19 @@ int main(int argc, char *argv[])
}
}
+ /*
+ * generic sample interface
+ */
+
+ aepd_interface = aepd_interface_create();
+ if (aepd_interface == NULL) {
+ fprintf(stderr, "failed to create aepd_interface region\n");
+ return -1;
+ }
+ aep_context.aepd_interface = aepd_interface;
+
+ /* configure */
+
configure(&aep_context, NULL, "/virtual", aep_context.config_filepath, NULL);
/*
@@ -318,9 +333,9 @@ int main(int argc, char *argv[])
while (loop) {
- aep_result = aep_wait_for_next_result(&aep_context);
- if (!aep_result) {
- if (aep_context.aep_shared->finished)
+ aepd_interface_result = aep_wait_for_next_result(aepd_interface);
+ if (!aepd_interface_result) {
+ if (aepd_interface->finished)
loop = 0;
continue;
@@ -328,55 +343,55 @@ int main(int argc, char *argv[])
if (first) {
first = 0;
- for (n = 0; n < aep_context.aep_shared->chans + aep_context.aep_shared->vchans; n++)
+ for (n = 0; n < aepd_interface->chans + aepd_interface->vchans; n++)
printf("# %s\t%s\t%s\t%s\t%s\n",
- aep_context.aep_shared->channel_name[n],
- aep_context.aep_shared->channel_name_pretty[n],
- aep_context.aep_shared->supply[n],
- aep_context.aep_shared->colour[n],
- aep_context.aep_shared->class[n]);
+ aepd_interface->channel_name[n],
+ aepd_interface->channel_name_pretty[n],
+ aepd_interface->supply[n],
+ aepd_interface->colour[n],
+ aepd_interface->class[n]);
printf("#\n#\ntime ");
- for (n = 0; n < aep_context.aep_shared->chans; n++)
+ for (n = 0; n < aepd_interface->chans; n++)
if (just_power)
- printf(" %s(W)", aep_context.aep_shared->channel_name_pretty[n]);
+ printf(" %s(W)", aepd_interface->channel_name_pretty[n]);
else
printf(" %s(V) %s(A) %s(W)",
- aep_context.aep_shared->channel_name_pretty[n],
- aep_context.aep_shared->channel_name_pretty[n],
- aep_context.aep_shared->channel_name_pretty[n]);
+ aepd_interface->channel_name_pretty[n],
+ aepd_interface->channel_name_pretty[n],
+ aepd_interface->channel_name_pretty[n]);
printf("\n");
}
periodic++;
if ((periodic & 0x1ff) == 0) {
- if (aep_result->triggered)
+ if (aepd_interface_result->triggered)
fprintf(stderr, "TRIGD ");
else
fprintf(stderr, "ARMED ");
}
- if (aep_result->triggered)
- printf("%f ", aep_result->samtime);
- for (i = 0; i < aep_result->chans * 2; i += 2) {
- if (aep_result->triggered) {
+ if (aepd_interface_result->triggered)
+ printf("%f ", aepd_interface_result->samtime);
+ for (i = 0; i < aepd_interface_result->chans * 2; i += 2) {
+ if (aepd_interface_result->triggered) {
if (just_power)
- printf(" %.5f", aep_result->buf[i] * aep_result->buf[i + 1]);
+ printf(" %.5f", aepd_interface_result->buf[i] * aepd_interface_result->buf[i + 1]);
else
printf(" %.2f %.4f %.5f",
- aep_result->buf[i], aep_result->buf[i + 1], aep_result->buf[i] * aep_result->buf[i + 1]);
+ aepd_interface_result->buf[i], aepd_interface_result->buf[i + 1], aepd_interface_result->buf[i] * aepd_interface_result->buf[i + 1]);
}
if (periodic & 0x1ff)
continue;
if (just_power)
- fprintf(stderr, " %.5f", aep_result->buf[i] * aep_result->buf[i + 1]);
+ fprintf(stderr, " %.5f", aepd_interface_result->buf[i] * aepd_interface_result->buf[i + 1]);
else
fprintf(stderr, " %.2f %.4f %.5f",
- aep_result->buf[i], aep_result->buf[i + 1], aep_result->buf[i] * aep_result->buf[i + 1]);
+ aepd_interface_result->buf[i], aepd_interface_result->buf[i + 1], aepd_interface_result->buf[i] * aepd_interface_result->buf[i + 1]);
}
- if (aep_result->triggered)
+ if (aepd_interface_result->triggered)
printf("\n");
- aep_free_result(&aep_context);
+ aep_free_result(aepd_interface);
if (periodic & 0x1ff)
continue;
@@ -384,7 +399,7 @@ int main(int argc, char *argv[])
}
- aep_context.aep_shared->finished = 1;
+ aep_context.aepd_interface->finished = 1;
/*
* we are finished if we reach here...
@@ -404,14 +419,14 @@ int main(int argc, char *argv[])
} else
printf("%f", tt);
- for (n = 0; n <= aep_context.aep_shared->chans; n++) {
+ for (n = 0; n <= aep_context.aepd_interface->chans; n++) {
if (just_power)
- printf(" %.5f", aep_context.aep_shared->averages[n][2]);
+ printf(" %.5f", aep_context.aepd_interface->averages[n][2]);
else
printf(" %.2f %.4f %.5f",
- aep_context.aep_shared->averages[n][0],
- aep_context.aep_shared->averages[n][1],
- aep_context.aep_shared->averages[n][2]);
+ aep_context.aepd_interface->averages[n][0],
+ aep_context.aepd_interface->averages[n][1],
+ aep_context.aepd_interface->averages[n][2]);
}
printf("\n");
@@ -425,21 +440,21 @@ int main(int argc, char *argv[])
fprintf(stderr, "\n\n");
- for (n = 0; n < aep_context.aep_shared->chans; n++) {
+ for (n = 0; n < aepd_interface->chans; n++) {
- if (aep_context.aep_shared->min[n][0] == 999)
+ if (aepd_interface->min[n][0] == 999)
continue;
fprintf(stderr, "%12s: %4.2fV < %4.3fVavg < %4.2fV, "
"%6.4fA < %6.5fAavg < %6.4fA, "
"%9.6fW < %9.6fWavg < %9.6fW\n",
- aep_context.aep_shared->channel_name[n],
- aep_context.aep_shared->min[n][0], aep_context.aep_shared->averages[n][0], aep_context.aep_shared->max[n][0],
- aep_context.aep_shared->min[n][1], aep_context.aep_shared->averages[n][1], aep_context.aep_shared->max[n][1],
- aep_context.aep_shared->min[n][2], aep_context.aep_shared->averages[n][2], aep_context.aep_shared->max[n][2]);
+ aepd_interface->channel_name[n],
+ aepd_interface->min[n][0], aepd_interface->averages[n][0], aepd_interface->max[n][0],
+ aepd_interface->min[n][1], aepd_interface->averages[n][1], aepd_interface->max[n][1],
+ aepd_interface->min[n][2], aepd_interface->averages[n][2], aepd_interface->max[n][2]);
}
- sem_close(aep_context.semaphore);
+ aepd_interface_destroy(aepd_interface);
fprintf(stderr, "exited\n");