diff options
author | Andy Green <andy.green@linaro.org> | 2012-10-22 15:19:31 +0800 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2012-10-22 15:19:31 +0800 |
commit | 9ccd7d5f3c7b0597141e41a8f763d358b3198d0a (patch) | |
tree | 6f265fda5e6f8fcee3dc4b36aa3fe7a8fd584c4d /arm-probe | |
parent | 7628b1a757b6d4dc42bad975dba7bfb39f5f9132 (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.c | 93 |
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"); |