summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandroColomar <colomar.6.4.3@gmail.com>2018-11-21 23:34:33 +0100
committerAlejandroColomar <colomar.6.4.3@gmail.com>2018-11-21 23:34:33 +0100
commit75008ed49db21b2094f19ad7daec30db5ddbe016 (patch)
tree0cbb8a61d7aaaec3190fd145715b8418e682a00e
parent01259dce9fa8e4383dbe6a1bd4c881695ef5bf68 (diff)
Definitive proc_resistor; Fix bug in building files in .../proc/; Fix bug in printing the log;2-b7
-rw-r--r--modules/proc/src/proc_common.cpp2
-rw-r--r--modules/proc/src/proc_resistor.cpp183
-rw-r--r--modules/proc/tmp/Makefile44
-rw-r--r--modules/user/inc/user_iface.h2
-rw-r--r--modules/user/inc/user_iface.hpp2
-rw-r--r--modules/user/src/user_tui.c2
6 files changed, 45 insertions, 190 deletions
diff --git a/modules/proc/src/proc_common.cpp b/modules/proc/src/proc_common.cpp
index 514e025..048c2d7 100644
--- a/modules/proc/src/proc_common.cpp
+++ b/modules/proc/src/proc_common.cpp
@@ -369,7 +369,7 @@ void clock_stop (const char *txt)
/* Write time_diff into log */
snprintf(user_iface_log.line[user_iface_log.len], LOG_LINE_LEN,
- "%s: Time: %.3lf",
+ "Time: %.3lf (%s)",
txt, time_diff);
user_iface_log.lvl[user_iface_log.len] = 0;
(user_iface_log.len)++;
diff --git a/modules/proc/src/proc_resistor.cpp b/modules/proc/src/proc_resistor.cpp
index 7888a5b..5ee8e14 100644
--- a/modules/proc/src/proc_resistor.cpp
+++ b/modules/proc/src/proc_resistor.cpp
@@ -92,7 +92,7 @@ static int chk_std_value (void);
/******************************************************************************
******* global functions *****************************************************
******************************************************************************/
-int proc_resistor_ (void)
+int proc_resistor (void)
{
int status;
@@ -188,6 +188,23 @@ int proc_resistor_ (void)
clock_start();
bands_code();
+ bands_code_deduce_0();
+ bands_code_deduce_1();
+ int i;
+ for (i = 0; i < 5; i++) {
+ switch (code[i]) {
+ case 'q':
+ case 'w':
+ case 'e':
+ case 'r':
+ case 't':
+ case 'y':
+ case 'u':
+ status = RESISTOR_NOK_COLOR;
+ result_resistor(status);
+ return status;
+ }
+ }
/* Measure time */
clock_stop("Interpret colors");
@@ -283,170 +300,6 @@ static void result_resistor (int status)
(user_iface_log.len)++;
}
-int proc_resistor (void)
-{
- int status;
-
- proc_save_mem(0);
- /* Find resistor (position and angle) */
- {
- /* Measure time */
- clock_start();
-
- status = resistor_find();
- if (status) {
- result_resistor(status);
- return status;
- }
-
- /* Measure time */
- clock_stop("Find resistor");
- }
- /* Align resistor, find its dimensions, and crop */
- {
- /* Measure time */
- clock_start();
-
- resistor_align();
- resistor_dimensions_0();
- resistor_crop_0();
-
- /* Measure time */
- clock_stop("Align, dimensions, & crop");
- }
- /* Find backgroung color */
- {
- /* Measure time */
- clock_start();
-
- resistor_bkgd();
-
- /* Measure time */
- clock_stop("Background color");
- }
- /* Crop more */
- {
- /* Measure time */
- clock_start();
-
- resistor_dimensions_1();
- resistor_crop_1();
-
- /* Measure time */
- clock_stop("Crop more");
- }
- /* Separate background (BK) and bands (WH) */
- {
- /* Measure time */
- clock_start();
-
- separate_bkgd_bands_h();
- separate_bkgd_bands_s();
- separate_bkgd_bands_v();
- bkgd_find();
-
- /* Measure time */
- clock_stop("Separate bkgd from bands");
- }
- /* Find bands: contours -> rectangles */
- {
- /* Measure time */
- clock_start();
-
- status = bands_find();
- if (status) {
- result_resistor(status);
- return status;
- }
-
- /* Measure time */
- clock_stop("Find bands");
- }
- /* Read values on the center of each band */
- {
- /* Measure time */
- clock_start();
-
- bands_colors();
-
- /* Measure time */
- clock_stop("Bands' colors");
- }
- /* Interpret colors */
- {
- /* Measure time */
- clock_start();
-
- bands_code();
- bands_code_deduce_0();
- bands_code_deduce_1();
- int i;
- for (i = 0; i < 5; i++) {
- switch (code[i]) {
- case 'q':
- case 'w':
- case 'e':
- case 'r':
- case 't':
- case 'y':
- case 'u':
- status = RESISTOR_NOK_COLOR;
- result_resistor(status);
- return status;
- }
- }
-
- /* Measure time */
- clock_stop("Interpret colors");
- }
- /* Calculate resistor value & tolerance */
- {
- /* Measure time */
- clock_start();
-
- resistor_value();
- status = resistor_tolerance();
- if (status) {
- result_resistor(status);
- return status;
- }
-
- /* Write resistor value into log */
- if (bands_n != 1) {
- snprintf(user_iface_log.line[user_iface_log.len], LOG_LINE_LEN,
- "Resistance: %.2E ± %i% Ohm",
- resistance, tolerance);
- } else {
- snprintf(user_iface_log.line[user_iface_log.len], LOG_LINE_LEN,
- "Resistance: 0 Ohm");
- }
- user_iface_log.lvl[user_iface_log.len] = 0;
- (user_iface_log.len)++;
-
- /* Measure time */
- clock_stop("Calculate resistance & tolerance");
- }
- /* Check STD value */
- {
- /* Measure time */
- clock_start();
-
- status = chk_std_value();
- if (status) {
- result_resistor(status);
- return status;
- }
-
- /* Measure time */
- clock_stop("Chk STD values");
- }
-
-
- status = -1;
- result_resistor(status);
- return status;
-}
-
static int resistor_find (void)
{
int status;
diff --git a/modules/proc/tmp/Makefile b/modules/proc/tmp/Makefile
index 7957f0e..fa5c159 100644
--- a/modules/proc/tmp/Makefile
+++ b/modules/proc/tmp/Makefile
@@ -19,45 +19,45 @@ _ALL = proc_label.o proc_coins.o proc_resistor.o proc_common.o proc_iface.o
ALL = $(_ALL) proc_mod.o
PROC_LAB_INC_IMG = img_iface.hpp
-PROC_LAB_INC_USER = user_iface.hpp
+PROC_LAB_INC_USR = user_iface.hpp
PROC_LAB_INC = proc_label.hpp proc_common.hpp
PROC_LAB_DEPS = $(SRC_DIR)/proc_label.cpp \
- $(patsubst %,$(INC_DIR)/%,$(PROC_INC)) \
- $(patsubst %,$(IMG_INC_DIR)/%,$(PROC_INC_IMG)) \
- $(patsubst %,$(USR_INC_DIR)/%,$(PROC_INC_USR))
+ $(patsubst %,$(INC_DIR)/%,$(PROC_LAB_INC)) \
+ $(patsubst %,$(IMG_INC_DIR)/%,$(PROC_LAB_INC_IMG)) \
+ $(patsubst %,$(USR_INC_DIR)/%,$(PROC_LAB_INC_USR))
PROC_LAB_INC_DIRS = -I $(INC_DIR) \
-I $(IMG_INC_DIR) \
-I $(USR_INC_DIR)
PROC_COIN_INC_IMG = img_iface.hpp
-PROC_COIN_INC_USER = user_iface.hpp
+PROC_COIN_INC_USR = user_iface.hpp
PROC_COIN_INC = proc_coins.hpp proc_common.hpp
PROC_COIN_DEPS = $(SRC_DIR)/proc_coins.cpp \
- $(patsubst %,$(INC_DIR)/%,$(PROC_INC)) \
- $(patsubst %,$(IMG_INC_DIR)/%,$(PROC_INC_IMG)) \
- $(patsubst %,$(USR_INC_DIR)/%,$(PROC_INC_USR))
+ $(patsubst %,$(INC_DIR)/%,$(PROC_COIN_INC)) \
+ $(patsubst %,$(IMG_INC_DIR)/%,$(PROC_COIN_INC_IMG)) \
+ $(patsubst %,$(USR_INC_DIR)/%,$(PROC_COIN_INC_USR))
PROC_COIN_INC_DIRS = -I $(INC_DIR) \
-I $(IMG_INC_DIR) \
-I $(USR_INC_DIR)
PROC_RES_INC_IMG = img_iface.hpp
-PROC_RES_INC_USER = user_iface.hpp
+PROC_RES_INC_USR = user_iface.hpp
PROC_RES_INC = proc_resistor.hpp proc_common.hpp
PROC_RES_DEPS = $(SRC_DIR)/proc_resistor.cpp \
- $(patsubst %,$(INC_DIR)/%,$(PROC_INC)) \
- $(patsubst %,$(IMG_INC_DIR)/%,$(PROC_INC_IMG)) \
- $(patsubst %,$(USR_INC_DIR)/%,$(PROC_INC_USR))
+ $(patsubst %,$(INC_DIR)/%,$(PROC_RES_INC)) \
+ $(patsubst %,$(IMG_INC_DIR)/%,$(PROC_RES_INC_IMG)) \
+ $(patsubst %,$(USR_INC_DIR)/%,$(PROC_RES_INC_USR))
PROC_RES_INC_DIRS = -I $(INC_DIR) \
-I $(IMG_INC_DIR) \
-I $(USR_INC_DIR)
PROC_CMN_INC_IMG = img_iface.hpp
-PROC_CMN_INC_USER = user_iface.hpp
+PROC_CMN_INC_USR = user_iface.hpp
PROC_CMN_INC = proc_common.hpp
PROC_CMN_DEPS = $(SRC_DIR)/proc_common.cpp \
- $(patsubst %,$(INC_DIR)/%,$(PROC_INC)) \
- $(patsubst %,$(IMG_INC_DIR)/%,$(PROC_INC_IMG)) \
- $(patsubst %,$(USR_INC_DIR)/%,$(PROC_INC_USR))
+ $(patsubst %,$(INC_DIR)/%,$(PROC_CMN_INC)) \
+ $(patsubst %,$(IMG_INC_DIR)/%,$(PROC_CMN_INC_IMG)) \
+ $(patsubst %,$(USR_INC_DIR)/%,$(PROC_CMN_INC_USR))
PROC_CMN_INC_DIRS = -I $(INC_DIR) \
-I $(IMG_INC_DIR) \
-I $(USR_INC_DIR)
@@ -65,14 +65,14 @@ PROC_CMN_INC_DIRS = -I $(INC_DIR) \
PROC_IFACE_INC_IMG = img_iface.h
PROC_IFACE_INC_LIBALX = alx_input.h
PROC_IFACE_INC_SAVE = save.h
-PROC_IFACE_INC_USER = user_iface.h
+PROC_IFACE_INC_USR = user_iface.h
PROC_IFACE_INC = proc_iface.h proc_label.h proc_coins.h proc_resistor.h
PROC_IFACE_DEPS = $(SRC_DIR)/proc_iface.c \
- $(patsubst %,$(INC_DIR)/%,$(PROC_INC)) \
- $(patsubst %,$(IMG_INC_DIR)/%,$(PROC_INC_IMG)) \
- $(patsubst %,$(SAVE_INC_DIR)/%,$(PROC_INC_SAVE)) \
- $(patsubst %,$(USR_INC_DIR)/%,$(PROC_INC_USR)) \
- $(patsubst %,$(LIBALX_INC_DIR)/%,$(PROC_INC_LIBALX))
+ $(patsubst %,$(INC_DIR)/%,$(PROC_IFACE_INC)) \
+ $(patsubst %,$(IMG_INC_DIR)/%,$(PROC_IFACE_INC_IMG)) \
+ $(patsubst %,$(SAVE_INC_DIR)/%,$(PROC_IFACE_INC_SAVE)) \
+ $(patsubst %,$(USR_INC_DIR)/%,$(PROC_IFACE_INC_USR)) \
+ $(patsubst %,$(LIBALX_INC_DIR)/%,$(PROC_IFACE_INC_LIBALX))
PROC_IFACE_INC_DIRS = -I $(INC_DIR) \
-I $(IMG_INC_DIR) \
-I $(SAVE_INC_DIR) \
diff --git a/modules/user/inc/user_iface.h b/modules/user/inc/user_iface.h
index eea09ae..2034e22 100644
--- a/modules/user/inc/user_iface.h
+++ b/modules/user/inc/user_iface.h
@@ -14,7 +14,7 @@
******* macros ***************************************************************
******************************************************************************/
# define LOG_LEN (1048576)
- # define LOG_LINE_LEN (35)
+ # define LOG_LINE_LEN (80)
/******************************************************************************
diff --git a/modules/user/inc/user_iface.hpp b/modules/user/inc/user_iface.hpp
index efb6b84..76e16dc 100644
--- a/modules/user/inc/user_iface.hpp
+++ b/modules/user/inc/user_iface.hpp
@@ -14,7 +14,7 @@
******* macros ***************************************************************
******************************************************************************/
# define LOG_LEN (1048576)
- # define LOG_LINE_LEN (35)
+ # define LOG_LINE_LEN (80)
/******************************************************************************
diff --git a/modules/user/src/user_tui.c b/modules/user/src/user_tui.c
index fcd52c9..e664da2 100644
--- a/modules/user/src/user_tui.c
+++ b/modules/user/src/user_tui.c
@@ -187,6 +187,8 @@ static void log_loop (void)
if (user_iface_log.lvl[i] <= user_iface_log.visible) {
mvwprintw(win_log, (1 + l),
(1 + 4 * user_iface_log.lvl[i]),
+ "%.*s",
+ 40 - 2 - 4 * user_iface_log.lvl[i],
user_iface_log.line[i]);
l++;
}