#include "backend.h" #include "bus.h" #ifdef __linux__ #include "config.h" int data[3]={0}; #include "io.h" int do_pid_file(config_t* cfg) { const char* file = config_get_string(cfg, "misc.pidfile"); FILE* f; int x; f=fopen(file, "w+"); if(!f) { fprintf(stderr, "Erreur unable to open pid file '%s'\n", file); perror(" "); return -1; } x=getpid(); fprintf(f, "%d\n", x); fclose(f); return 0; } int main_loop() { config_t cfg; bus_t bus; pthread_t thread; FILE* file = NULL; struct timeval tv; time(NULL); setup_io(); config_init(&cfg, "config.cfg"); config_print(&cfg); bus_init_recv(&bus, config_get_int(&cfg, "pin.data"), config_get_int(&cfg, "pin.clk"), config_get_int(&cfg, "pin.ack")); init_read_pin(config_get_int(&cfg, "pin.data"), config_get_int(&cfg, "pin.clk"), config_get_int(&cfg, "pin.ack")); pthread_create(&thread, NULL, bus_recv_thread, &bus); while(1) { uint32_t c; double w; char buffer[16]; bus_read(&bus, &c, 4); printf("%ld' s %ld ms %'d us \n", c/1000000, c%1000000/1000, c%1000); w=3600.0/(((double)c)/1000000.0); printf("\t%.2lf W %.2lf A\n\n", w, w/220); } } #endif