From 7893fa123087328d5721fa27e9ee45130ba5da96 Mon Sep 17 00:00:00 2001 From: Gergő J. Miklós Date: Sun, 12 May 2019 12:37:47 +0200 Subject: hmc5883 added + some refactoring --- src/main.c | 94 +++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 53 insertions(+), 41 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index ee3ec67..7d39441 100644 --- a/src/main.c +++ b/src/main.c @@ -6,68 +6,82 @@ #include #include #include -#include +#include #include #include #include - + #include "lm75.h" #include "hih61xx.h" +#include "hmc5883.h" + +#define VERSION 1.22 -extern void lm75_list_all(void); -extern void lm75_read_all(const char *opts); -extern void lm75_read_one(const char *opts); -extern void hih61xx_list_all(void); -extern void hih61xx_read_all(const char *opts); -extern void hih61xx_read_one(const char *opts); +// extern void lm75_print_help(void); +// extern void lm75_read_all(const char *opts); +// extern void lm75_read_one(const char *opts); +// extern void hih61xx_print_help(void); +// extern void hih61xx_read_all(const char *opts); +// extern void hih61xx_read_one(const char *opts); int file; char temp[256]; -void (*list_all)(void) = NULL; +void (*print_all)(void) = NULL; void (*read_all)(const char *opts) = NULL; void (*read_one)(const char *opts) = NULL; +void (*conf_set)(const char *opts) = NULL; -void print_help(void) -{ - printf ("Usage:\n" - " i2sensor ()\n" +void print_help(void) { + printf ("\n" + " i2sensors ()\n" + "\n" "Aviable options: \n" - " list_all -- list all measured parameters off device\n" - " read_all -- read all measured parameters from device\n" - " read_one -- read the selected parameters from device\n" - "Exmples:\n" - " i2sensor read_all
\n" - " i2sensor read_one
\n" - " i2sensor read_all 1 lm75 0x4f ---,\n" - " i2sensor read_one 1 lm75 0x4f 00,-1.35\n" - "" ""); - printf ("Build: %s %s\n\n",__DATE__,__TIME__); - + " print_all -- list all available measurement parameters of the device\n" + " read_all -- read all measured parameters from device\n" + " read_one -- read the selected parameters from device\n" + " conf_set -- set the configuration register\n" + "\n" + "Usage:\n" + " i2sensors read_all
\n" + " i2sensors read_one
\n" + " i2sensors conf_set
\n" + "\n" + "Examples:\n" + " i2sensors read_all 1 lm75 0x4f \n" + " i2sensors read_one 1 lm75 0x4f 00,-1.35\n" + "\n" ); + printf ("Version: v%1.2f, build: %s %s\n\n",VERSION,__DATE__,__TIME__); } -void bus_err(int ern) -{ +void bus_err(int ern){ printf("I2C communication(rd) error. errno: %d\n",errno); } -void preinit(const char *dev_type) -{ - if(!strcmp("lm75", dev_type)) - { - list_all = lm75_list_all; +void preinit(const char *dev_type){ + + if(!strcmp("lm75", dev_type)){ + print_all = lm75_print_all; read_all = lm75_read_all; read_one = lm75_read_one; + conf_set = lm75_conf_set; } - else if(!strcmp("hih61xx", dev_type)) - { - list_all = hih61xx_list_all; + else if(!strcmp("hih61xx", dev_type)) { + print_all = hih61xx_print_all; read_all = hih61xx_read_all; read_one = hih61xx_read_one; + conf_set = hih61xx_conf_set; + } + + else if(!strcmp("hmc5883", dev_type)) { + print_all = hmc5883_print_all; + read_all = hmc5883_read_all; + read_one = hmc5883_read_one; + conf_set = hmc5883_conf_set; } } @@ -96,8 +110,7 @@ int main(int argc, char *argv[]) for(i=0;i