_YYYY_MM_DD_HH_MM_SS.log
sprintf(log_filename,
"/var/modbuslog/%s_%04i_%02i_%02i_%02i_%02i_%02i.log",
mac_address(), midnight.tm_year + 1900,
midnight.tm_mon + 1, midnight.tm_mday, midnight.tm_hour,
midnight.tm_min, midnight.tm_sec);
//printf("%s\n",filename);
FILE *fp = fopen(log_filename, "r");
if (fp) {
fclose(fp);
} else {
// file doesn't exist. create it.
syslog(LOG_NOTICE, "logfile does not exist");
syslog(LOG_INFO, "creating file: [%s]", log_filename);
FILE *fp = fopen(log_filename, "w");
fprintf(
fp,
"IntervalID|UTCDate|UTCTime|LOCALDate|LOCALTime|SensorID|RegisterID|Reading\n");
fclose(fp);
}
FILE *filehandle = fopen(log_filename, "a+");
syslog(LOG_DEBUG, "opening file for append: [%s]",
log_filename);
int32_t registervalue = 0;
int p;
// data arrives in words, split into bytes
for (p = 0; p < numregisters; p++) {
MODBUS_SET_INT16_TO_INT8(byte, p * 2, tab_reg[p]);
//registervalue += tab_reg[i] + tab_reg[i + 1];
}
// bitshifting magic
switch (numregisters*2) {
case 2:
registervalue = ((byte[0]) << 8) + byte[1];
break;
case 4:
registervalue = ((byte[0]) << 24) + ((byte[1]) << 16)
+ ((byte[2]) << 8) + byte[3];
break;
default:
registervalue = ((byte[0]) << 8) + byte[1];
break;
}
struct tm utc = *gmtime(&unixtime_min);
struct tm lc = *localtime(&unixtime_min);
int intervalid;
char interval_filename[50];
sprintf(interval_filename,
"/var/modbuslog/interval/interval.txt");
syslog(LOG_DEBUG, "opening interval file: [%s]",
interval_filename);
FILE *intervalfile = fopen(interval_filename, "r+");
if (intervalfile) {
fclose(intervalfile);
} else {
// file doesn't exist. create it.
syslog(LOG_NOTICE, "interval file does not exist");
syslog(LOG_INFO, "attempting to create file: [%s]",
interval_filename);
intervalfile = fopen(interval_filename, "w");
fprintf(intervalfile, "0\n");
fclose(intervalfile);
}
// file now exists, try opening again
intervalfile = fopen(interval_filename, "r+");
fscanf(intervalfile, "%d", &intervalid);
//handle 32bit signed overflow
if (intervalid >= 2147483647) {
intervalid = 0;
} else {
intervalid++;
}
rewind(intervalfile);
fprintf(intervalfile, "%d", intervalid);
fclose(intervalfile);
fprintf(
filehandle,
"%i|%04i%02i%02i|%02i%02i%02i|%04i%02i%02i|%02i%02i%02i|%i|%i|%i\n",
intervalid, utc.tm_year + 1900, utc.tm_mon + 1,
utc.tm_mday, utc.tm_hour, utc.tm_min, utc.tm_sec,
lc.tm_year + 1900, lc.tm_mon + 1, lc.tm_mday,
lc.tm_hour, lc.tm_min, lc.tm_sec, slaveid, startaddress,
registervalue);
fclose(filehandle);
syslog(
LOG_DEBUG,
"[%i|%04i%02i%02i|%02i%02i%02i|%04i%02i%02i|%02i%02i%02i|%i|%i|%i]\n",
intervalid, utc.tm_year + 1900, utc.tm_mon + 1,
utc.tm_mday, utc.tm_hour, utc.tm_min, utc.tm_sec,
lc.tm_year + 1900, lc.tm_mon + 1, lc.tm_mday,
lc.tm_hour, lc.tm_min, lc.tm_sec, slaveid, startaddress,
registervalue);
modbus_close(ctx);
modbus_free(ctx);
sleep(1);
//return 0;
}
//printf("%d ", slaveid);
}
// revert to normal timing
firstrun = 0;
//printf("%d\n", unixtime_min);
}
}
='deletions'>-2/+12
|
compile error in parport fixed (thanks to Andrew from FilmCan)
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@251 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
start support for new MatrixOrbital MX2 displays
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@250 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
new driver for Milford Instruments MI420 by Andy Baxter
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@249 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
changed default HD44780 wiring: unused signals are GND
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@248 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
MatrixOrbital: bidirectional communication
HD44780: special handling for 16x1 displays (thanks to anonymous bug report on sf.net)
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@247 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
increased version number to 0.9.12
port locking is done as /var/lock/LCK..usb_tts_0 for /dev/usb/tts/0
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@246 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
minor fixes, widget.c added
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@245 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
Changelog
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@244 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
icons for all remaining drivers
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@243 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
HD44780 timings changed; deactivated libtool
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@242 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
missing files for autoconf/automake/libtool
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@241 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
minor cleanups
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@240 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
minor cleanups
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@239 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
ChangeLog
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@238 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
icons nearly finished\!
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@237 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
icons: reorganized tick_* again...
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@236 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
Icons for M50530, new processing scheme (Ticks.Text...)
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@235 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
basic icon support for HD44780
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@234 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
new function 'cfg_number()'
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@233 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
even more icons stuff
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@232 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
shared liblcd4linux
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@231 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
icons nearly finished, but MatrixOrbital only
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@230 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
ChangeLog
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@229 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
liblcd4linux patch from Patrick Schemitz
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@228 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
icon.c icon.h added
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@227 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
bug in parallel port code fixed, more icons stuff
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@226 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
small bug in bar compaction fixed
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@225 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
HD44780 dual-controller patch from Jesse Brook Kovach
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@224 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
more Icon stuff, minor glitches fixed
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@223 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
more icon framework
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@222 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
framework for icons prepared
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@221 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
preparations for liblcd4linux; minor bugs in SIN.c and Skeleton.c
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@220 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|
|
complete rewrite of the Crystalfontz driver
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@219 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
|