aboutsummaryrefslogtreecommitdiff
path: root/libarmep/service.c
diff options
context:
space:
mode:
Diffstat (limited to 'libarmep/service.c')
-rw-r--r--libarmep/service.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/libarmep/service.c b/libarmep/service.c
index 7d569c0..96fdbba 100644
--- a/libarmep/service.c
+++ b/libarmep/service.c
@@ -107,26 +107,26 @@ static void init_aep(struct aep_context *aep_context, struct aep *aep, const cha
static void select_map(struct aep_channel *ch)
{
- int m;
int sel = -1;
- double delta = 999999;
- for (m = 0; m < (sizeof interp_tables / sizeof interp_tables[0]); m++) {
- if (ch->percentage_error_ref <= interp_tables[m].percentage_error_ref) {
- if (delta > (interp_tables[m].percentage_error_ref - ch->percentage_error_ref)) {
- delta = interp_tables[m].percentage_error_ref - ch->percentage_error_ref;
- sel = m;
- }
- } else {
- if (delta > (ch->percentage_error_ref - interp_tables[m].percentage_error_ref)) {
- delta = ch->percentage_error_ref - interp_tables[m].percentage_error_ref;
- sel = m;
- }
- }
+ switch(ch->channel_num) {
+ case 1:
+ sel = 0;
+ break;
+ case 2:
+ sel = 1;
+ break;
+ case 3:
+ sel = 2;
+ break;
+ default:
+ fprintf(stderr, "AEP channel number %d is wrong. It's only 3 channel, 1, 2 or 3\n",
+ ch->channel_num);
}
+
if (ch->aep->aep_context->verbose)
- fprintf(stderr, "%s = corr map %d %f%%\n",
- ch->channel_name, sel, ch->percentage_error_ref);
+ fprintf(stderr, "%s = corr map %d %d\n",
+ ch->channel_name, sel, ch->channel_num);
ch->map_table = &interp_tables[sel];
}