kopia lustrzana https://gitlab.com/sane-project/backends
				
				
				
			add document presence detection request to gt6816
							rodzic
							
								
									ed35562ea2
								
							
						
					
					
						commit
						409e1d29d2
					
				| 
						 | 
					@ -86,7 +86,8 @@ static GT68xx_Command_Set mustek_gt6816_command_set = {
 | 
				
			||||||
  gt68xx_generic_set_afe,
 | 
					  gt68xx_generic_set_afe,
 | 
				
			||||||
  gt68xx_generic_set_exposure_time,
 | 
					  gt68xx_generic_set_exposure_time,
 | 
				
			||||||
  gt68xx_generic_get_id,
 | 
					  gt68xx_generic_get_id,
 | 
				
			||||||
  /* gt68xx_generic_move_paper */ NULL
 | 
					  /* gt68xx_generic_move_paper */ NULL,
 | 
				
			||||||
 | 
					  /* gt6816_document_present */ NULL
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static GT68xx_Command_Set mustek_gt6816_sheetfed_command_set = {
 | 
					static GT68xx_Command_Set mustek_gt6816_sheetfed_command_set = {
 | 
				
			||||||
| 
						 | 
					@ -126,7 +127,8 @@ static GT68xx_Command_Set mustek_gt6816_sheetfed_command_set = {
 | 
				
			||||||
  gt68xx_generic_set_afe,
 | 
					  gt68xx_generic_set_afe,
 | 
				
			||||||
  gt68xx_generic_set_exposure_time,
 | 
					  gt68xx_generic_set_exposure_time,
 | 
				
			||||||
  gt68xx_generic_get_id,
 | 
					  gt68xx_generic_get_id,
 | 
				
			||||||
  gt68xx_generic_move_paper
 | 
					  gt68xx_generic_move_paper,
 | 
				
			||||||
 | 
					  gt6816_document_present
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static GT68xx_Command_Set mustek_gt6801_command_set = {
 | 
					static GT68xx_Command_Set mustek_gt6801_command_set = {
 | 
				
			||||||
| 
						 | 
					@ -167,7 +169,8 @@ static GT68xx_Command_Set mustek_gt6801_command_set = {
 | 
				
			||||||
  gt68xx_generic_set_afe,
 | 
					  gt68xx_generic_set_afe,
 | 
				
			||||||
  gt68xx_generic_set_exposure_time,
 | 
					  gt68xx_generic_set_exposure_time,
 | 
				
			||||||
  gt68xx_generic_get_id,
 | 
					  gt68xx_generic_get_id,
 | 
				
			||||||
  /* gt68xx_generic_move_paper */ NULL
 | 
					  /* gt68xx_generic_move_paper */ NULL,
 | 
				
			||||||
 | 
					  /* gt6816_document_present */ NULL
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static GT68xx_Command_Set plustek_gt6801_command_set = {
 | 
					static GT68xx_Command_Set plustek_gt6801_command_set = {
 | 
				
			||||||
| 
						 | 
					@ -207,7 +210,8 @@ static GT68xx_Command_Set plustek_gt6801_command_set = {
 | 
				
			||||||
  gt68xx_generic_set_afe,
 | 
					  gt68xx_generic_set_afe,
 | 
				
			||||||
  /* set_exposure_time */ NULL,
 | 
					  /* set_exposure_time */ NULL,
 | 
				
			||||||
  gt68xx_generic_get_id,
 | 
					  gt68xx_generic_get_id,
 | 
				
			||||||
  /* gt68xx_generic_move_paper */ NULL
 | 
					  /* gt68xx_generic_move_paper */ NULL,
 | 
				
			||||||
 | 
					  /* gt6816_document_present */ NULL
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static GT68xx_Model unknown_model = {
 | 
					static GT68xx_Model unknown_model = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -236,3 +236,28 @@ gt6816_stop_scan (GT68xx_Device * dev)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return gt68xx_device_small_req (dev, req, req);
 | 
					  return gt68xx_device_small_req (dev, req, req);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SANE_Status
 | 
				
			||||||
 | 
					gt6816_document_present (GT68xx_Device * dev, SANE_Bool * present)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  SANE_Status status;
 | 
				
			||||||
 | 
					  GT68xx_Packet req;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  memset (req, 0, sizeof (req));
 | 
				
			||||||
 | 
					  req[0] = 0x59;
 | 
				
			||||||
 | 
					  req[1] = 0x01;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  RIE (gt68xx_device_req (dev, req, req));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (req[0] == 0x00 && req[1] == 0x59)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      if (req[2] == 0)
 | 
				
			||||||
 | 
						*present = SANE_FALSE;
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
						*present = SANE_TRUE;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    return SANE_STATUS_IO_ERROR;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return SANE_STATUS_GOOD;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -67,4 +67,6 @@ static SANE_Status gt6816_carriage_home (GT68xx_Device * dev);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static SANE_Status gt6816_stop_scan (GT68xx_Device * dev);
 | 
					static SANE_Status gt6816_stop_scan (GT68xx_Device * dev);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static SANE_Status gt6816_document_present (GT68xx_Device * dev, SANE_Bool * present);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* not GT68XX_GT6816_H */
 | 
					#endif /* not GT68XX_GT6816_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -399,6 +399,14 @@ struct GT68xx_Command_Set
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
    SANE_Status (*move_paper) (GT68xx_Device * dev,
 | 
					    SANE_Status (*move_paper) (GT68xx_Device * dev,
 | 
				
			||||||
			       GT68xx_Scan_Request * request);
 | 
								       GT68xx_Scan_Request * request);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /** Detect if a document is inserted in the feeder
 | 
				
			||||||
 | 
					   *
 | 
				
			||||||
 | 
					   * @param dev Device object.
 | 
				
			||||||
 | 
					   * @param present 
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					    SANE_Status (*document_present) (GT68xx_Device * dev,
 | 
				
			||||||
 | 
								             SANE_Bool *present);
 | 
				
			||||||
  /*@} */
 | 
					  /*@} */
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Ładowanie…
	
		Reference in New Issue