aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan McCrohan <jmccrohan@gmail.com>2011-11-01 14:46:28 +0000
committerJonathan McCrohan <jmccrohan@gmail.com>2011-11-01 14:46:28 +0000
commit78dce59594ebe24123889d0b5a4e7f224c811ac2 (patch)
tree57a51e0a74b4b95356c0a50ff51b8be51a51a475
parent8adfff8b2419a0f79e85ba6884e507e787a313da (diff)
downloadverteco-78dce59594ebe24123889d0b5a4e7f224c811ac2.tar.gz
Integrated MAC address code into modbuslog.c
-rw-r--r--modbuslog.c57
1 files changed, 52 insertions, 5 deletions
diff --git a/modbuslog.c b/modbuslog.c
index ec0acc4..e46c9a7 100644
--- a/modbuslog.c
+++ b/modbuslog.c
@@ -32,6 +32,12 @@
#include <libconfig.h>
#include <modbus.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <net/if.h>
+#include <string.h>
+
#define SLAVE_ID 1
#define START_ADDRESS 0
#define NUMBER_REGISTERS 14
@@ -41,18 +47,35 @@ void minute_check(int signum){
alarm(60);
}
+void getmac(unsigned char* mac_address){
+ int s;
+ struct ifreq ifr;
+
+ s = socket(PF_INET, SOCK_DGRAM, 0);
+ memset(&ifr, 0x00, sizeof(ifr));
+ strcpy(ifr.ifr_name, "eth0");
+ ioctl(s, SIOCGIFHWADDR, &ifr);
+ close(s);
+ unsigned char mac_address_internal[6];
+ sprintf(mac_address_internal,"%.2X%.2X%.2X%.2X%.2X%.2X", (unsigned char) ifr.ifr_hwaddr.sa_data[0], (unsigned char) ifr.ifr_hwaddr.sa_data[1], (unsigned char) ifr.ifr_hwaddr.sa_data[2], (unsigned char) ifr.ifr_hwaddr.sa_data[3], (unsigned char) ifr.ifr_hwaddr.sa_data[4], (unsigned char) ifr.ifr_hwaddr.sa_data[5]);
+
+ strcpy(mac_address,mac_address_internal);
+}
int main(int argc, char *argv[])
{
- const char *CONFIG_FILE = "modbuslog.cfg";
+ const char *CONFIG_FILE = "modbuslog.cfg";
config_t cfg;
//config_setting_t *setting;
+ //unsigned char* mac_address;
+ unsigned char mac_address[6];
+
const char *modbus_device_address;
int modbus_baud_rate;
int modbus_data_bits;
@@ -61,6 +84,10 @@ int main(int argc, char *argv[])
config_init(&cfg);
+ getmac(mac_address);
+ if(DEBUG){
+printf("%s\n",mac_address);
+}
if(!config_read_file(&cfg, CONFIG_FILE))
{
@@ -99,9 +126,9 @@ int main(int argc, char *argv[])
select(0, NULL, NULL, NULL, NULL);
time_t t = time(NULL);
- //int unixtime_min = (((int) t)/60*60);
- int unixtime = (int) t;
- printf("%d\n", unixtime);
+ int unixtime_min = (((int) t)/60*60);
+ //int unixtime = (int) t;
+ //printf("%d\n", unixtime);
config_setting_t *registers;
@@ -114,9 +141,29 @@ int main(int argc, char *argv[])
config_setting_t *register_element = config_setting_get_elem(registers, i);
int slaveid;
config_setting_lookup_int(register_element, "slaveid", &slaveid);
+ int intervalvalue;
+ config_setting_lookup_int(register_element, "intervalvalue", &intervalvalue);
+ printf("%d", intervalvalue);
+
+ const char *intervalunit;
+ config_setting_lookup_string(register_element, "intervalunit", &intervalunit);
+
+ printf("%c", intervalunit[0]);
+
+ int intervalduration;
+
+ if(intervalunit[0]=='H')
+ intervalduration=intervalvalue*3600;
+ else
+ intervalduration=intervalvalue*60;
+
+ if(unixtime_min%intervalduration==0){
+ printf("specified minute. %d %d\n", unixtime_min, intervalduration);
+ }
+
printf("%d ", slaveid);
}
- printf("\n");
+ printf("%d\n",unixtime_min);
}
}
w=1'>Fixes a buffer underrun error and possible array index issues by mcarey@...michael1-6/+13 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@916 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-12-27ported r819 from volker_devmichael1-17/+21 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@915 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-12-27ported and modified r818 from volker_devmichael3-11/+151 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@914 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-12-27port r817 from volker_devmichael3-24/+944 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@913 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-12-27ported (modified) r815 from voker_devmichael1-3/+23 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@912 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-12-24cleanup & cosmeticsmichael5-22/+31 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@911 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-12-24driver for the PHAnderson serial-to-HD44780 adapter boards by Nicolas Weillmichael5-5/+444 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@910 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-12-24w1retap plugin by Jonathan Hudsonmichael7-0/+298 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@909 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-12-24Enables/controls the backlight on the Pertelian LCD device by Jonathan Hudsonmichael1-10/+13 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@908 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-12-23hddtemp plugin from Scott Bronsonmichael7-0/+343 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@907 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-12-23keypad bug fixedmichael1-1/+1 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@906 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-12-23patch from a.nielsen: inverted parport signals, support GPI on HD44780michael2-24/+89 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@905 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-12-23indent runmichael1-4/+4 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@904 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-11-25fix lcd4linux driver for multible onboard controllersmichux1-4/+4 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@903 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-11-23fix automake - check for libftdimichux4-9/+173 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@902 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-11-22update button_exec plugin - fix segfaultmichux1-3/+2 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@901 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-11-22update fifo plugin - untestedmichux1-1/+1 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@900 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-10-07Replace write to external variable usb_debug by calling usb_set_debug().bwalle7-16/+7 This fixes build on openSUSE Factory. git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@899 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-10-06adding GPI to picoLCD for reading button events by Igor Mammedov ↵michael1-1/+22 <niallain@gmail.com> git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@898 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-10-06properties fixedmichael11-3290/+2675 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@897 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-10-05Rebuild auto-generated autoconf stuff due to last change in drivers.m4.bwalle3-2657/+3297 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@896 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-10-05Add 'ULA200' driver when --with-drivers=all is specifiedbwalle1-0/+1 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@895 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-09-14strftime_tz patch from Bernhard Wallemichael1-0/+11 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@894 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-09-08strftime_tz() plugin by Bernhard Wallemichael1-0/+25 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@893 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-09-03ULA200 driver by Bernhard Wallemichael7-2/+825 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@892 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-09-03indentmichael1-4/+4 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@891 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-08-31Increased the maximum bps to 230400, if defined in <termios.h>.sonic741-2/+7 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@890 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-08-27git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@889 ↵sonic741-18/+11 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-08-27D4D updates by Svenmichael1-38/+60 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@888 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-08-03driver for 4D Systems serial displays by Sven Killigmichael9-45/+846 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@887 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-08-03signed/unsigned mismatchmichael1-3/+3 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@886 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-07-26added command functionsmichux1-2/+130 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@885 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-07-15added IRLCD driver by Jean-Philippe Civademichael10-5/+467 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@884 3ae390bd-cb1e-0410-b409-cd5a39f66f1f 2008-07-15'autoreconf -f -i' run & config.rpath addedmichael8-370/+1617 git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@883 3ae390bd-cb1e-0410-b409-cd5a39f66f1f