コード例 #1
0
ファイル: chaos.c プロジェクト: chronopoulos/leafysd
void chaos_init(int enable_chaos)
{
    chaos_enabled_p = enable_chaos;
    long seed = (long)time(0);
    if (chaos_enabled_p) {
        log_INFO("chaos seed: %ld", seed);
    }
    srand48_r(seed, &dr_buf); /* FIXME use TLS instead of dr_buf. */
}
コード例 #2
0
ファイル: mdb_config_reader.c プロジェクト: jfpucheu/mydombox
int read_config_file(char CONFIGFILE[1024])
{

FILE *fic = NULL;
int nb_lignes;
char line[512]={'\0'};

fic=fopen (CONFIGFILE,"r");

	if(fic==NULL)
	{
		//printf("Probleme a l'ouverture du fichier de configuration\n");
		return 1;
	}

// compter et afficher les lignes du fichier
nb_lignes = 0;

while(fgets(line, 512, fic) != NULL)	
{
	if( (line[0] != '#') && (line[0] != '\n'))
	{
		variable_detection(line);
	}
nb_lignes++;
}
		log_INFO("\n--------- Loading Mydombox Server configuration ---------");
		log_DEBUG("LOG_FILE_PATH = %s", LOG_FILE_PATH);
		log_DEBUG("LOG_LEVEL = %s", 	LOG_LEVEL);
        log_DEBUG("MYSQL = %d",         MYSQL);
        log_DEBUG("HOSTNAME = %s",      HOSTNAME);
        log_DEBUG("PORT = %d",          PORT);
        log_DEBUG("LOGIN = %s",         LOGIN);
        log_DEBUG("PASSWORD = %s",      PASSWORD);
        log_DEBUG("DATABASE = %s", 		DATABASE);
        log_DEBUG("PORT_RFXTRX433 = %s",PORT_RFXTRX433);
        log_DEBUG("PORT_ENOUSB300 = %s",PORT_ENOUSB300);
        log_DEBUG("MODULE_SOAP = %d",   MODULE_SOAP);
		log_DEBUG("PORT_SOAP = %d",		PORT_SOAP);
        log_DEBUG("MODULE_RPIDOM = %d",   MODULE_RPIDOM);
        log_DEBUG("PORT_RPIDOM = %s",	PORT_RPIDOM);
		log_DEBUG("RPIDOM_TELE1_TYPE = %d",		RPIDOM_TELE1_TYPE);
		log_DEBUG("RPIDOM_TELE2_TYPE = %d",		RPIDOM_TELE2_TYPE);
		log_DEBUG("RPIDOM_1WIRE = %d",		RPIDOM_1WIRE);
		log_DEBUG("MDB_CLOUD = %d",   MDB_CLOUD);
        log_DEBUG("MDB_KEY = %s",	MDB_KEY);
        log_DEBUG("MDB_ID = %s",	MDB_ID);
        log_DEBUG("MDB_X_ISS_Key = %s",	MDB_X_ISS_Key);
        log_DEBUG("MDB_X_OAPI_Key = %s",	MDB_X_OAPI_Key);
        log_DEBUG("MDB_DATASOURCE = %s",	MDB_DATASOURCE);
		log_DEBUG("--------------------------------------------------------\n");

fclose(fic);
return 0;	
}
コード例 #3
0
bool addEnoceanDevice(char* data)
{
    unsigned char		rorg = data[0];
    unsigned char		id1 = "";
    unsigned char		id2 = "";
    unsigned char		id3 = "";
    unsigned char		id4 = "";
    
    switch (rorg)
    {
        case 0xD5:
            id1 = data[2];
            id2 = data[3];
            id3 = data[4];
            id4 = data[5];
            break;
        case 0xF6:
            id1 = data[2];
            id2 = data[3];
            id3 = data[4];
            id4 = data[5];
            break;
        case 0xA5:
            id1 = data[5];
            id2 = data[6];
            id3 = data[7];
            id4 = data[8];
            break;
        case 0xD2:
            id1 = data[7];
            id2 = data[8];
            id3 = data[9];
            id4 = data[10];
            break;
        default:
            log_DEBUG("[EnOcean] TYPE: Not Supported");
            break;
    }
    
    log_DEBUG("[EnOcean] Record Mode : %d", RECORD);
    if (RECORD == 1) {
        log_INFO("[EnOcean] Recording new device type : %02hhX",rorg);
        mysql_insert("INSERT IGNORE INTO devices (dc_id,last_update,packettype,int_id,id1,id2,id3,id4,com) \
                     SELECT IFNULL(MAX(dc_id),0)+1,NOW(),'%02hhX',4,'%02hhX','%02hhX','%02hhX','%02hhX','tx' FROM devices ON DUPLICATE KEY UPDATE last_update=NOW();",\
                     rorg,id1,id2,id3,id4);
    }
コード例 #4
0
ファイル: mydombox.c プロジェクト: jfpucheu/mydombox
int main(int argc, char *argv[])
{

if ( argc < 2 ) /* argc should be 2 for correct execution */
{
	printf( "Missing config file path argument \n" );
}
   
if(read_config_file(argv[1]))
{
	printf("Error Loading Configuration File\n");
	printf("Exiting Mydombox .... By !\n");
	exit(1);
}


log_INFO("--------- Starting Mydombox Server ---------");
log_INFO("MySQL client version: %s", mysql_get_client_info());
log_INFO("Loglevel: %s",LOG_LEVEL);
log_INFO("Learn Mode: %d",RECORD);

	conn = mysql_connection();
	result = mysql_select(conn,"SELECT * FROM devices;");
	mysql_free_result(result);
	mysql_close(conn);


if ( file_exists(PORT_RFXTRX433) ){
    // On crée un thread
    pthread_t thread_rfxtrx433;
    // Permet d'exécuter le fonction thread_rfxtrx433 en parallèle
    pthread_create(&thread_rfxtrx433, NULL, rfxtrx433, NULL);
	log_INFO("Module RFXTRX433 Detected & Started");
}

sleep(5);

if ( file_exists(PORT_ENOUSB300) ){
    // On crée un thread
    pthread_t thread_enusb300;
    // Permet d'exécuter le fonction thread_enusb300 en parallèle
    pthread_create(&thread_enusb300, NULL, enusb300, NULL);
    log_INFO("Module USB300 Detected & Started");
}
    
    
sleep(10);

if ( MODULE_SOAP == 1){
    // On crée un thread
    pthread_t thread_soapserver;
    // Permet d'exécuter le fonction thread_soapserver en parallèle
    pthread_create(&thread_soapserver, NULL, soapserver, NULL);
	log_INFO("Module SOAP Started");
}

sleep(5);
if ( MODULE_RPIDOM == 1){
    // On crée un thread
    pthread_t thread_rpidom;
    // Permet d'exécuter le fonction thread_rpidom en parallèle
    pthread_create(&thread_rpidom, NULL, rpidom, NULL);
	log_INFO("Module RPIDOM Started");
}

while(1){
	read_config_file(argv[1]);
    scheduler();
	thermostat();
	sleep (60);
}

return 0;
}