=== modified file 'libunicap/cpi/euvccam/euvccam_devspec.c'
--- libunicap/cpi/euvccam/euvccam_devspec.c	2011-07-24 07:31:50 +0000
+++ libunicap/cpi/euvccam/euvccam_devspec.c	2012-09-10 20:23:57 +0000
@@ -266,6 +266,154 @@
       enumerate_func: NULL,
    },
 };
+static euvccam_property_t properties_8201_mono[] =
+{
+   {
+      {
+	identifier: "Shutter", 
+	category: "Exposure",
+	unit: "s",
+	relations: NULL,
+	relations_count: 0, 
+	{value: 0}, 
+	{range: { min: 0.0001, max: 0.25 } },
+	stepping: 0.0001,
+	type: UNICAP_PROPERTY_TYPE_RANGE,
+	flags: UNICAP_FLAGS_MANUAL,
+	flags_mask: UNICAP_FLAGS_MANUAL | UNICAP_FLAGS_AUTO,
+	property_data: NULL, 
+	property_data_size: 0,
+      },
+      
+      get_func: euvccam_device_get_exposure,
+      set_func: euvccam_device_set_exposure,
+      enumerate_func: NULL,
+   },
+   {
+      {
+	identifier: "Gain", 
+	category: "Exposure",
+	unit: "",
+	relations: NULL,
+	relations_count: 0, 
+	{value: 0}, 
+	{range: { min: 16, max: 63 } },
+	stepping: 1.0,
+	type: UNICAP_PROPERTY_TYPE_RANGE,
+	flags: UNICAP_FLAGS_MANUAL,
+	flags_mask: UNICAP_FLAGS_MANUAL | UNICAP_FLAGS_AUTO,
+	property_data: NULL, 
+	property_data_size: 0,
+      },
+      
+      get_func: euvccam_device_get_gain,
+      set_func: euvccam_device_set_gain,
+      enumerate_func: NULL,
+   },
+   {
+      {
+   	identifier: "Frame Rate",
+   	category: "Video",
+   	unit: "",
+   	relations: NULL,
+   	relations_count: 0,
+   	{value: 0},
+   	{range: { min: 0, max: 0 } },
+   	stepping: 1.0,
+   	type: UNICAP_PROPERTY_TYPE_VALUE_LIST,
+   	flags: UNICAP_FLAGS_MANUAL,
+   	flags_mask: UNICAP_FLAGS_MANUAL,
+   	property_data: NULL,
+   	property_data_size: 0,
+      },
+      
+      get_func: euvccam_device_get_frame_rate,
+      set_func: euvccam_device_set_frame_rate,
+      enumerate_func: euvccam_device_enumerate_frame_rate,
+   },
+   {
+      {
+	identifier: N_("trigger"),
+	category: N_("device"),
+	unit: "",
+	relations: NULL,
+	relations_count: 0,
+	{menu_item: TRIGGER_FREE_RUNNING},
+	{menu: { menu_items: trigger_menu, 
+		 menu_item_count: sizeof( trigger_menu ) / sizeof( char * ) } },
+	stepping: 0.0,
+	type: UNICAP_PROPERTY_TYPE_MENU,
+	flags: UNICAP_FLAGS_MANUAL,
+	flags_mask: UNICAP_FLAGS_MANUAL,
+	property_data: NULL,
+	property_data_size: 0
+      },
+      
+      get_func: euvccam_device_get_trigger,
+      set_func: euvccam_device_set_trigger,
+      enumerate_func: euvccam_device_enumerate_trigger,
+   },
+   {
+      {
+	identifier: N_("software trigger"),
+	category: N_("device"),
+	unit: "",
+	relations: NULL,
+	relations_count: 0,
+	stepping: 0.0,
+	type: UNICAP_PROPERTY_TYPE_FLAGS,
+	flags: UNICAP_FLAGS_ONE_PUSH | UNICAP_FLAGS_MANUAL,
+	flags_mask: UNICAP_FLAGS_ONE_PUSH | UNICAP_FLAGS_MANUAL,
+	property_data: NULL,
+	property_data_size: 0
+      },
+      
+      get_func: euvccam_device_get_software_trigger,
+      set_func: euvccam_device_set_software_trigger,
+      enumerate_func: euvccam_device_enumerate_software_trigger,
+   },
+#if 0
+   {
+      {
+	identifier: N_("reset sensor"),
+	category: N_("device"),
+	unit: "",
+	relations: NULL,
+	relations_count: 0,
+	stepping: 0.0,
+	type: UNICAP_PROPERTY_TYPE_FLAGS,
+	flags: UNICAP_FLAGS_ONE_PUSH | UNICAP_FLAGS_MANUAL,
+	flags_mask: UNICAP_FLAGS_ONE_PUSH | UNICAP_FLAGS_MANUAL,
+	property_data: NULL,
+	property_data_size: 0
+      },
+      
+      get_func: euvccam_device_get_reset_mt9v024,
+      set_func: euvccam_device_set_reset_mt9v024,
+   },
+#endif
+   {
+      {
+	identifier: "IIC Command", 
+	category: "Device",
+	unit: "",
+	relations: NULL,
+	relations_count: 0, 
+	{value: 0}, 
+	{range: { min: 5, max: 120 } },
+	stepping: 1.0,
+	type: UNICAP_PROPERTY_TYPE_DATA,
+	flags: UNICAP_FLAGS_MANUAL,
+	flags_mask: UNICAP_FLAGS_MANUAL,
+	property_data: NULL, 
+	property_data_size: 0,
+      },
+      
+      get_func: euvccam_device_read_iic,
+      set_func: euvccam_device_write_iic,
+      enumerate_func: NULL,
+   },
+};
 
 static euvccam_property_t properties_8206[] =
 {
@@ -1166,6 +1314,89 @@
       
 };
 
+static double format_8201_mono_framerates[] = {   87, 60, 30, 25, 15, 7.5, 5};
+static int    format_8201_mono_framerate_map[] = { 7, 6,  0,  1,  2,   3, 4};
+
+static struct euvccam_video_format_description formats_8201_mono[] =
+{
+   {
+      1,
+      3,
+      { identifier: "Y800 320x240",
+	size: {0,0,320,240},
+	min_size: { 0,0,320,240 },
+	max_size: { 0,0,320,240 },
+	h_stepping: 0,
+	v_stepping: 0, 
+	sizes: NULL,
+	size_count: 0,
+	bpp: 8,
+	buffer_size: 320 * 240,
+	fourcc: FOURCC( 'Y', '8', '0', '0' ),
+	flags: 0, 
+	buffer_types: UNICAP_BUFFER_TYPE_SYSTEM | UNICAP_BUFFER_TYPE_USER, 
+	system_buffer_count: EUVCCAM_SYSTEM_BUFFER_COUNT,
+	buffer_type: 0
+      },
+      N_ELEMENTS( format_8201_mono_framerates ), 
+      format_8201_mono_framerates,
+      format_8201_mono_framerate_map,
+      320 * 240, 
+      NULL, 
+      EUVCCAM_FORMAT_IS_PARTIAL_SCAN,
+   },
+   {
+      1,
+      2,
+      { identifier: "Y800 640x480",
+	size: {0,0,640,480},
+	min_size: { 0,0,640,480 },
+	max_size: { 0,0,640,480 },
+	h_stepping: 0,
+	v_stepping: 0, 
+	sizes: NULL,
+	size_count: 0,
+	bpp: 8,
+	buffer_size: 640 * 480,
+	fourcc: FOURCC( 'Y', '8', '0', '0' ),
+	flags: 0, 
+	buffer_types: UNICAP_BUFFER_TYPE_SYSTEM | UNICAP_BUFFER_TYPE_USER, 
+	system_buffer_count: EUVCCAM_SYSTEM_BUFFER_COUNT,
+	buffer_type: 0
+      },
+      N_ELEMENTS( format_8201_mono_framerates ), 
+      format_8201_mono_framerates,
+      format_8201_mono_framerate_map,
+      640 * 480, 
+      NULL,
+   },
+   {
+      1,
+      1,
+      { identifier: "Y800 744x480",
+	size: {0,0,744,480},
+	min_size: { 0,0,744,480 },
+	max_size: { 0,0,744,480 },
+	h_stepping: 0,
+	v_stepping: 0, 
+	sizes: NULL,
+	size_count: 0,
+	bpp: 8,
+	buffer_size: 744 * 480,
+	fourcc: FOURCC( 'Y', '8', '0', '0' ),
+	flags: 0, 
+	buffer_types: UNICAP_BUFFER_TYPE_SYSTEM | UNICAP_BUFFER_TYPE_USER, 
+	system_buffer_count: EUVCCAM_SYSTEM_BUFFER_COUNT,
+	buffer_type: 0
+      },
+      N_ELEMENTS( format_8201_mono_framerates ), 
+      format_8201_mono_framerates,
+      format_8201_mono_framerate_map,
+     744 * 480, 
+      NULL, 
+   },
+};
+
 
 static double format_8202_framerates[] = {   87, 60, 30, 25, 15, 7.5, 5};
 static int    format_8202_framerate_map[] = { 7, 6,  0,  1,  2,   3, 4};
@@ -2147,14 +2378,24 @@
 
 struct euvccam_devspec euvccam_devspec[] =
 {
+    /*Lo que había originalmente*/
+   /*{*/
+      /*0x8201,*/
+      /*0, */
+      /*0,*/
+      /*N_ELEMENTS( formats_8201 ),*/
+      /*formats_8201,*/
+      /*N_ELEMENTS( properties_8201 ),*/
+      /*properties_8201,*/
+   /*},*/
    { 
       0x8201,
       0, 
       0,
-      N_ELEMENTS( formats_8201 ),
-      formats_8201, 
-      N_ELEMENTS( properties_8201 ),
-      properties_8201,
+      N_ELEMENTS( formats_8201_mono ),
+      formats_8201_mono, 
+      N_ELEMENTS( properties_8201_mono ),
+      properties_8202_mono,
    },
    {
       0x8202,

