From e1678aa56d0d1deaf003e0a04f09d26000d9eca5 Mon Sep 17 00:00:00 2001 From: "Michael J. Chudobiak" Date: Wed, 2 Oct 2013 11:27:39 -0400 Subject: added chans_opposite_polarities for AVR-D3-B-MS1 error checking --- error_utils.c | 20 ++++++++++++++++++-- flash.c | 1 + globals.h | 3 ++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/error_utils.c b/error_utils.c index 503724d..718c40b 100644 --- a/error_utils.c +++ b/error_utils.c @@ -647,6 +647,21 @@ int Error_check(ChannelStruct ChannelStateToTest[max_channels]) } } + float real_max_ampl[max_channels]; + float real_min_ampl[max_channels]; + for (i=0; i 0.0) { + real_max_ampl[1] = 0.0; + } else { + real_min_ampl[1]= 0.0; + } + } for (i=0; (i=0.0 && ChannelStateToTest[i].amplitude<(0.999*globals.Constraints.err_min_ampl[i])) || (globals.Constraints.err_min_ampl[i]<0.0 && ChannelStateToTest[i].amplitude<(1.001*globals.Constraints.err_min_ampl[i])) ) { @@ -1083,7 +1098,8 @@ int Error_check(ChannelStruct ChannelStateToTest[max_channels]) /* --- check maximum amplitude --- */ - globals.Constraints.err_max_ampl[i]=globals.Flash.max_ampl[i]; + globals.Constraints.err_max_ampl[i]=real_max_ampl[i]; + if ( (globals.Constraints.err_max_ampl[i]>=0.0 && ChannelStateToTest[i].amplitude>(1.001*globals.Constraints.err_max_ampl[i])) || (globals.Constraints.err_max_ampl[i]<0.0 && ChannelStateToTest[i].amplitude>(0.999*globals.Constraints.err_max_ampl[i])) ) { report_error=amplitude_upper_limit; diff --git a/flash.c b/flash.c index 03b0529..781537b 100644 --- a/flash.c +++ b/flash.c @@ -462,6 +462,7 @@ static void initFlashValues(FlashStruct *mem) mem->self_cal_typical_time_sec=0; mem->prf_limiter=1; + mem->chans_opposite_polarities=0; mem->pcb116c_mon=1; /* more recent ADC, different reading code */ mem->warn_even_if_output_off=0; diff --git a/globals.h b/globals.h index a5a1623..bb6b346 100644 --- a/globals.h +++ b/globals.h @@ -456,8 +456,9 @@ typedef struct { char self_cal; /* 242 */ char prf_limiter; /* 243 */ + char chans_opposite_polarities; /* 244 */ - char spare_padding[12]; /* 244 - padding between common and per-channel sections of the */ + char spare_padding[11]; /* 245 - padding between common and per-channel sections of the */ /* flash eeprom. Adjust size if variables added to common section, */ /* so that per-channel section starts at 256 */ -- cgit