ina260-zmq-publisher/src/logger/main.c

52 lines
1.1 KiB
C
Raw Normal View History

2023-07-14 20:42:12 +02:00
// Weather update client
// Connects SUB socket to tcp://localhost:5556
// Collects weather updates and finds avg temp in zipcode
#include <zmq.h>
#include <assert.h>
#include <time.h>
2023-07-14 22:03:40 +02:00
#include <stdlib.h>
2023-07-14 20:42:12 +02:00
#include <string.h>
2023-07-14 22:03:40 +02:00
#include <libgen.h>
#include <unistd.h>
2023-07-14 22:09:39 +02:00
#include <sys/stat.h>
#include "../utils.h"
2023-07-14 22:03:40 +02:00
2023-07-14 22:27:53 +02:00
void start(char *power_path, char *busid, char *chipaddr);
2023-07-14 20:42:12 +02:00
int main (int argc, char *argv [])
{
2023-07-14 22:03:40 +02:00
if(argc != 2){
printf("Usage: %s <sysfs-path>",argv[0]);
exit(1);
}
// Extract bus id and ina260 chip address
char busid[10];
char chipaddr[10];
char *base=basename(argv[1]);
sscanf(base,"%[^-]-%[^-]",busid,chipaddr);
2023-07-14 22:27:53 +02:00
start("/home/loic/out.txt", busid,chipaddr);
2023-07-14 22:03:40 +02:00
return 0;
}
2023-07-14 22:27:53 +02:00
void start(char *power_path, char *busid, char *chipaddr){
2023-07-14 22:03:40 +02:00
if (access(power_path, F_OK) != 0){
printf("Could not read %s\n",power_path);
exit(2);
}
2023-07-14 22:27:53 +02:00
char outdir[255];
2023-07-14 22:09:39 +02:00
mkdir(STRINGIFY(LOGGER_DIR),0755);
2023-07-14 22:27:53 +02:00
sprintf(outdir,"%s/%s-%s/",STRINGIFY(LOGGER_DIR), busid,chipaddr);
mkdir(outdir,0755);
char outfile[255];
sprintf(outfile,"%s/%s",outdir,"flk");
printf("aa %s\n",outfile);
FILE *f;
f=fopen(outfile, "w");
fclose(f);
2023-07-14 20:42:12 +02:00
}