From 11ae043c3d20168a36a37d11070f188ebafaa2f7 Mon Sep 17 00:00:00 2001 From: h_vogt Date: Sun, 5 Aug 2012 20:03:00 +0200 Subject: [PATCH] com_measure2.c: enable 'meas dc' without 'from' and 'to' given measure.c: no error printout during autostop --- src/frontend/com_measure2.c | 50 ++++++++++++++++++++++++++----------- src/frontend/measure.c | 3 ++- 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/src/frontend/com_measure2.c b/src/frontend/com_measure2.c index 36e0a271b..67ad7af8a 100644 --- a/src/frontend/com_measure2.c +++ b/src/frontend/com_measure2.c @@ -1247,6 +1247,13 @@ static int measure_parse_find ( meas->m_to = 0.0e0; meas->m_at = 1e99; + /* for DC, set new outer limits for 'from' and 'to' + because 0.0e0 may be valid inside of range */ + if (cieq("dc", meas->m_analysis)) { + meas->m_to = 1.0e99; + meas->m_from = -1.0e99; + } + pCnt =0; while(wl != wlBreak) { p = wl->wl_word; @@ -1314,6 +1321,14 @@ static int measure_parse_when ( meas->m_to = 0.0e0; meas->m_at = 1e99; + + /* for DC, set new outer limits for 'from' and 'to' + because 0.0e0 may be valid inside of range */ + if (cieq("dc", meas->m_analysis)) { + meas->m_to = 1.0e99; + meas->m_from = -1.0e99; + } + pCnt =0; while (wl) { p= wl->wl_word; @@ -1378,23 +1393,30 @@ static int measure_parse_trigtarg ( meas->m_to = 0.0e0; meas->m_at = 1e99; + /* for DC, set new outer limits for 'from' and 'to' + because 0.0e0 may be valid inside of range */ + if (cieq("dc", meas->m_analysis)) { + meas->m_to = 1.0e99; + meas->m_from = -1.0e99; + } + pcnt =0; - while (words != wlTarg) { - p = words->wl_word; - if ((pcnt == 0) && !ciprefix("at", p)) { - meas->m_vec= cp_unquote(words->wl_word); - /* correct for vectors like vm, vp etc. */ - if (cieq("ac", meas->m_analysis) || cieq("sp", meas->m_analysis)) - correct_vec(meas); - } else if (ciprefix("at", p)) { - if (measure_parse_stdParams(meas, words, wlTarg, errbuf) == 0) - return 0; - } else { - if (measure_parse_stdParams(meas, words, wlTarg, errbuf) == 0) - return 0; + while (words != wlTarg) { + p = words->wl_word; + + if ((pcnt == 0) && !ciprefix("at", p)) { + meas->m_vec= cp_unquote(words->wl_word); + /* correct for vectors like vm, vp etc. */ + if (cieq("ac", meas->m_analysis) || cieq("sp", meas->m_analysis)) + correct_vec(meas); + } else if (ciprefix("at", p)) { + if (measure_parse_stdParams(meas, words, wlTarg, errbuf) == 0) + return 0; + } else { + if (measure_parse_stdParams(meas, words, wlTarg, errbuf) == 0) + return 0; break; - } words = words->wl_next; diff --git a/src/frontend/measure.c b/src/frontend/measure.c index ffe88e022..e48a4b3c2 100644 --- a/src/frontend/measure.c +++ b/src/frontend/measure.c @@ -292,7 +292,8 @@ do_measure( if( fail ) { measure_valid[idx++] = FALSE; measures_passed = FALSE; - fprintf(stdout, " %s failed!\n\n", meas_card->li_line); + if (!chk_only) + fprintf(stderr, " %s failed!\n\n", meas_card->li_line); } else { if(!(just_chk_meas)) { nupa_add_param( resname, result );