/// <summary> /// Utiliza el miembro m_scale_distance para la distancia, y crea un objeto de datos del laser (LMSAPI_DATA) si la medición tuvo exito /// </summary> /// <returns>Un objeto LMSAPI_DATA con los datos de medición, o null si hubo un error</returns> public LMSAPI_DATA request_measurement() { IntPtr laserdata = LMSAPI_LIB.lmsapi_laser_data_create(); if (laserdata == IntPtr.Zero) { return(null); // ?? fallo de memoria } if (LMSAPI_LIB.lmsapi_request_measurement(m_handle, laserdata, m_scale_distance) == 0) { //operación exitosa LMSAPI_DATA newdata = new LMSAPI_DATA(laserdata); return(newdata); } LMSAPI_LIB.lmsapi_laser_data_destroy(laserdata); return(null); }
/// <summary> /// Obtiene un valor de intensidad del arreglo de intensidades /// </summary> public uint get_intensity(int index) { return(LMSAPI_LIB.lmsapi_laser_data_get_intensity(m_handle, index)); }
/// <summary> /// Obtiene el número de intensidades. 0 Si no hay intensidades /// </summary> public uint get_intensity_count() { return(LMSAPI_LIB.lmsapi_laser_data_get_intensity_count(m_handle)); }
/// <summary> /// Obtiene una distancia del arreglo de distancias /// </summary> public float get_distance(int index) { return(LMSAPI_LIB.lmsapi_laser_data_get_distance(m_handle, index)); }
/// <summary> /// Obtiene el número de distancias /// </summary> public uint get_distance_count() { return(LMSAPI_LIB.lmsapi_laser_data_get_distance_count(m_handle)); }
/// <summary> /// Obtiene la escala de distancias. /// </summary> public float get_scale_distance() { return(LMSAPI_LIB.lmsapi_laser_data_get_scale_distance(m_handle)); }
/// <summary> /// Obtiene el rango de distancia /// </summary> public float get_max_range() { return(LMSAPI_LIB.lmsapi_laser_data_get_max_range(m_handle)); }
/// <summary> /// Accede al miembro resolucion angular /// </summary> public float get_resolution() { return(LMSAPI_LIB.lmsapi_laser_data_get_resolution(m_handle)); }
/// <summary> /// Establece la resolución angular del sensor. /// </summary> /// <param name="res">Resolución angular, uno de los siguientes valores: 25, 50, 100 (Cada valor es un porcentaje de grado, 1/100).</param> /// <param name="width">Rango angular del barrido. Los valores válidos son: 100 y 180 grados de circunferencia.</param> /// <returns>0 si la operación fué exitosa, o un valor de error.</returns> public int set_resolution(int width, int res) { return(LMSAPI_LIB.lmsapi_set_resolution(m_handle, width, res)); }
/// <summary> /// Configura el rango de distancias y habilita el manejo de intensidades en las mediciones. /// </summary> /// <param name="distance_range">Rango de distancias en Metros. Una de las constantes de distancias: 8, 80 o 150 metros respectivamente.</param> /// <param name="handle_intensity">Booleano con el cual se habilita la medición de distancias.Asignese 1 o 0.</param> /// <returns>0 si la operacion fue exitosa, o un codigo de error.</returns> public int config(int distance_range, int handle_intensity) { return(LMSAPI_LIB.lmsapi_config(m_handle, distance_range, handle_intensity)); }