Mercurial > hg > fxanalyse
diff kk-data-provider.c @ 94:b7ae2d947617
Change default KK port to COM4. Make port configurable via .ini file
author | Daniele Nicolodi <daniele.nicolodi@obspm.fr> |
---|---|
date | Fri, 22 Mar 2013 18:46:13 +0100 |
parents | 4102fe614df2 |
children | 4a11331eacbf |
line wrap: on
line diff
--- a/kk-data-provider.c Fri Mar 22 17:02:47 2013 +0100 +++ b/kk-data-provider.c Fri Mar 22 18:46:13 2013 +0100 @@ -4,25 +4,46 @@ #include <userint.h> #include <formatio.h> #include <utility.h> +#include <inifile.h> #include "data-provider.h" #include "KKFX80E.h" -#define SERIAL "COM1:115200" +#define CONFIGFILE "FXAnalise.ini" +#define DEFAULTPORT "COM4:115200" int CVICALLBACK KKDataProvider (void *functionData) { int mainThreadId; char *resp; struct event event; + char port[256]; /* get main thread id to post messages to it */ mainThreadId = CmtGetMainThreadID(); + /* path for the configuration file */ + char pathname[MAX_PATHNAME_LEN]; + char project[MAX_PATHNAME_LEN]; + GetProjectDir(project); + MakePathname(project, CONFIGFILE, pathname); + + /* load configuration file */ + IniText configuration = Ini_New(TRUE); + Ini_ReadFromFile(configuration, pathname); + + /* get serial port name configuration */ + int rv = Ini_GetStringIntoBuffer(configuration, "KK", "port", port, sizeof(port)); + if (rv == 0) + strncpy(port, DEFAULTPORT, sizeof(port)); + + /* free */ + Ini_Dispose(configuration); + /* initialize library */ FX_Init(); /* connect to KK FX80E counter */ - FX_Open(SERIAL); + FX_Open(port); /* clear transmit buffer */ FX_Send("\x80");