configure: and io name check
diff --git a/configure.py b/configure.py
index 9730dd4..f7dfd03 100755
--- a/configure.py
+++ b/configure.py
@@ -124,8 +124,12 @@
         return yaml['project']['top_module']
 
 def get_io_ranges(yaml):
-    input_range = (GPIO_VALID_RANGE[0], GPIO_VALID_RANGE[0]+len(yaml['documentation']['inputs']))
-    output_range = (input_range[1], input_range[1]+len(yaml['documentation']['outputs']))
+    is_named = lambda io: len(io) and io != 'none'
+    input_count = len([io for io in yaml['documentation']['inputs'] if is_named(io)])
+    output_count = len([io for io in yaml['documentation']['outputs'] if is_named(io)])
+    input_range = (GPIO_VALID_RANGE[0], GPIO_VALID_RANGE[0]+input_count)
+    output_range = (input_range[1], input_range[1]+output_count)
+    print(input_range, output_range)
     gpio_end = output_range[1]
     if gpio_end > GPIO_VALID_RANGE[1]:
         raise Exception('ETOOMANY IOs')
diff --git a/info.yaml b/info.yaml
index a597d9e..2e24cc4 100644
--- a/info.yaml
+++ b/info.yaml
@@ -43,4 +43,3 @@
     - segment f
     - segment g
     - none
-
diff --git a/verilog/rtl/tiny_user_project.v b/verilog/rtl/tiny_user_project.v
index 0b99eae..b16d3b0 100644
--- a/verilog/rtl/tiny_user_project.v
+++ b/verilog/rtl/tiny_user_project.v
@@ -12,11 +12,11 @@
 
 // pass input and output pins defined in user_defines.v
 user_module_334445762078310996 mod (
-    io_in[15:8],
-    io_out[23:16]
+    io_in[9:8],
+    io_out[16:10]
 );
 // all output enabled
-assign io_oeb[23:16] = 8'b0;
+assign io_oeb[16:10] = 8'b0;
 
 endmodule	// tiny_user_project
 
diff --git a/verilog/rtl/user_defines.v b/verilog/rtl/user_defines.v
index f65f57b..2895216 100644
--- a/verilog/rtl/user_defines.v
+++ b/verilog/rtl/user_defines.v
@@ -61,20 +61,20 @@
 `define USER_CONFIG_GPIO_7_INIT `GPIO_MODE_INVALID
 `define USER_CONFIG_GPIO_8_INIT `GPIO_MODE_USER_STD_INPUT_NOPULL
 `define USER_CONFIG_GPIO_9_INIT `GPIO_MODE_USER_STD_INPUT_NOPULL
-`define USER_CONFIG_GPIO_10_INIT `GPIO_MODE_USER_STD_INPUT_NOPULL
-`define USER_CONFIG_GPIO_11_INIT `GPIO_MODE_USER_STD_INPUT_NOPULL
-`define USER_CONFIG_GPIO_12_INIT `GPIO_MODE_USER_STD_INPUT_NOPULL
-`define USER_CONFIG_GPIO_13_INIT `GPIO_MODE_USER_STD_INPUT_NOPULL
-`define USER_CONFIG_GPIO_14_INIT `GPIO_MODE_USER_STD_INPUT_NOPULL
-`define USER_CONFIG_GPIO_15_INIT `GPIO_MODE_USER_STD_INPUT_NOPULL
+`define USER_CONFIG_GPIO_10_INIT `GPIO_MODE_USER_STD_OUTPUT
+`define USER_CONFIG_GPIO_11_INIT `GPIO_MODE_USER_STD_OUTPUT
+`define USER_CONFIG_GPIO_12_INIT `GPIO_MODE_USER_STD_OUTPUT
+`define USER_CONFIG_GPIO_13_INIT `GPIO_MODE_USER_STD_OUTPUT
+`define USER_CONFIG_GPIO_14_INIT `GPIO_MODE_USER_STD_OUTPUT
+`define USER_CONFIG_GPIO_15_INIT `GPIO_MODE_USER_STD_OUTPUT
 `define USER_CONFIG_GPIO_16_INIT `GPIO_MODE_USER_STD_OUTPUT
-`define USER_CONFIG_GPIO_17_INIT `GPIO_MODE_USER_STD_OUTPUT
-`define USER_CONFIG_GPIO_18_INIT `GPIO_MODE_USER_STD_OUTPUT
-`define USER_CONFIG_GPIO_19_INIT `GPIO_MODE_USER_STD_OUTPUT
-`define USER_CONFIG_GPIO_20_INIT `GPIO_MODE_USER_STD_OUTPUT
-`define USER_CONFIG_GPIO_21_INIT `GPIO_MODE_USER_STD_OUTPUT
-`define USER_CONFIG_GPIO_22_INIT `GPIO_MODE_USER_STD_OUTPUT
-`define USER_CONFIG_GPIO_23_INIT `GPIO_MODE_USER_STD_OUTPUT
+`define USER_CONFIG_GPIO_17_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_18_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_19_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_20_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_21_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_22_INIT `GPIO_MODE_INVALID
+`define USER_CONFIG_GPIO_23_INIT `GPIO_MODE_INVALID
 `define USER_CONFIG_GPIO_24_INIT `GPIO_MODE_INVALID
 `define USER_CONFIG_GPIO_25_INIT `GPIO_MODE_INVALID
 `define USER_CONFIG_GPIO_26_INIT `GPIO_MODE_INVALID