84 lines
2.9 KiB
C++
84 lines
2.9 KiB
C++
#pragma once
|
|
#ifdef OLIVIA_COMPILA
|
|
#include "olv_limp.h"
|
|
#include "olv_sens_ws.h"
|
|
|
|
class COlivia;
|
|
class Colv_reco_thr;
|
|
|
|
#define OLV_RECO_GRUPO_SENS "CAMPOS_SENS"
|
|
#define OLV_RECO_PARAM_FN "fn"
|
|
#define OLV_RECO_PARAM_ID "id"
|
|
#define OLV_RECO_PARAM_USR "usr"
|
|
#define OLV_RECO_PARAM_PWD "pwd"
|
|
#define OLV_RECO_PARAM_STRD "startd"
|
|
#define OLV_RECO_PARAM_ENDD "endd"
|
|
#define OLV_RECO_PARAM_FN_STAT "fn_status"
|
|
#define OLV_RECO_PARAM_USR_USR "usr_usr"
|
|
#define OLV_RECO_PARAM_PWD_PWD "pwd_pwd"
|
|
#define OLV_RECO_PARAM_JS_ID "js_id"
|
|
#define OLV_RECO_PARAM_JS_HISTO "js_histo"
|
|
#define OLV_RECO_PARAM_JS_PORC "js_porc"
|
|
#define OLV_RECO_PARAM_JS_R_CODE "js_r_cd"
|
|
#define OLV_RECO_PARAM_JS_R_CODE_ERR "js_r_cd_err"
|
|
#define OLV_RECO_PARAM_JS_R_DATA "js_r_dt"
|
|
|
|
/**
|
|
* @file olv_reco.h
|
|
* Archivo de definiciones y variables de la utilidad de recogida de residuos del programa Olivia.
|
|
*/
|
|
|
|
/**
|
|
* Estructura que contiene los nombres de los campos a leer
|
|
*/
|
|
typedef struct Campos_dbf_reco
|
|
{
|
|
char campo_uds[OLV_LIMP_MAX_CAMP];
|
|
char campo_capa[OLV_LIMP_MAX_CAMP];
|
|
char campo_kgcont[OLV_LIMP_MAX_CAMP];
|
|
}Campos_dbf_reco;
|
|
|
|
/**
|
|
* Enumeración para identificar si es instalación de salida llegada o planta de descarga
|
|
*/
|
|
enum InstalPlant{
|
|
OLV_INSTAL,
|
|
OLV_PLANT,
|
|
};
|
|
/**
|
|
* Clase de definiciones y variables de la utilidad de recogida de residuos del programa Olivia.
|
|
*/
|
|
class Colv_reco : public Colv_limp
|
|
{
|
|
public:
|
|
//*************************************************************************************
|
|
//Variables
|
|
Colv_reco_thr *thr_reco; ///<Instancia del thread de recogida, que hace las operaciones
|
|
Campos_dbf_reco camps_r; ///<Campos a leer de la dbf
|
|
short *ptos_vaci; ///<Array de tamaño Namb, donde indica si en ese ámbito va a vaciar o a descargar
|
|
int *info_carg; ///<Array para guardar la info de carga de los sensores
|
|
int t_vaci; ///<Tiempo de vaciado de cada contenedor, en segundos
|
|
int t_descarg; ///<Tiempo de descarga en planta, en segundos
|
|
double dens_frac; ///<Densidad de la fracción a recoger, en kg/m3
|
|
double kg_max; ///<Kg máximos de recogida por vehículo en cada ruta
|
|
double kg_reco_def; ///<Kg por defecto que se recogen en cada contenedor
|
|
double anch_vehi; ///<Ancho del vehículo, en metros
|
|
double giro_vehi; ///<Giro mínimo del vehículo, en º
|
|
double coor_plant[3]; ///<Coordenadas de la planta donde va a descargar
|
|
Info_sens info_sens; ///<Información para la conexión al ws de los sensores
|
|
|
|
//*************************************************************************************
|
|
//Funciones
|
|
Colv_reco(COlivia *olv);
|
|
~Colv_reco(void);
|
|
void rellena_campos();
|
|
int pon_config(char *config);
|
|
void inicia_limp();
|
|
BOOL inicia();
|
|
void dame_cost(double ltot, int ia, float *cost, float *cost2);
|
|
void cancela();
|
|
void rellena_campos_sens();
|
|
BOOL lee_campos_sens_ini(char *path);
|
|
BOOL guarda_campos_sens_ini(char *path);
|
|
};
|
|
#endif |