.gitignore
@@ -4,11 +4,24 @@ install/ # ignore files *.so* *.tar* *.o *.a lib*.so* lib*.a mqttd # ctags files cscope.* tags *.tar* # running files *.log *.db # openlibs cJSON-* mosquitto-* libgpiod-* openssl-* sqlite-* libevent-* project/booster/makefile
@@ -11,7 +11,7 @@ # #******************************************************************************* PWD=$(shell pwd ) PWD=$(shell pwd) BUILD_ARCH=$(shell uname -m) ifneq ($(findstring $(BUILD_ARCH), "x86_64" "i386"),) @@ -22,7 +22,6 @@ LIBNAME=$(shell basename ${PWD} ) TOPDIR=$(shell dirname ${PWD} ) CFLAGS+=-D_GNU_SOURCE all: clean @rm -f *.o project/booster/test/comport.c
New file @@ -0,0 +1,263 @@ /********************************************************************************* * Copyright: (C) 2012 Guo Wenxue <guowenxue@gmail.com> * All rights reserved. * * Filename: comport.c * Description: This file used to do ioctl() on common device or communicate * with serial port/TTY device. * * Version: 1.0.0(10/18/2011~) * Author: Guo Wenxue <guowenxue@gmail.com> * ChangeLog: 1, Release initial version on "10/18/2011 10:08:05 AM" * ********************************************************************************/ #include <getopt.h> #include <libgen.h> #include <sys/ioctl.h> #include "comport.h" unsigned char g_ucProcToken = 0x01; unsigned char g_ucCtrlZ; void print_version(char *name); void usage(char *name); int do_ioctl(char *dev_name, int cmd, int arg); void signal_handler(int i_sig); void nonblock(void); int kbhit(void); int main(int argc, char **argv) { int opt = 0; int retval = 0; int recv_size = 0; int i; char *dev_name = NULL; int baudrate = 115200; char *settings = "8N1N"; char buf[512]; unsigned char disp_mode = 0x00; comport_t comport; struct sigaction sigact; struct option long_options[] = { {"device", required_argument, NULL, 'd'}, {"baudrate", required_argument, NULL, 'b'}, {"settings", required_argument, NULL, 's'}, {"ioctl", required_argument, NULL, 'i'}, {"hex", no_argument, NULL, 'x'}, {"version", no_argument, NULL, 'v'}, {"help", no_argument, NULL, 'h'}, {NULL, 0, NULL, 0} }; while ((opt = getopt_long(argc, argv, "d:b:s:ivh", long_options, NULL)) != -1) { switch (opt) { case 'd': dev_name = optarg; break; case 'b': baudrate = atoi(optarg); break; case 's': /* Default settings as 8N1N */ settings = optarg; break; case 'i': if (5 != argc) { usage(argv[0]); } else { do_ioctl(argv[2], atoi(argv[3]), atoi(argv[4])); } return 0; case 'x': /* Display receive data as Hex mode */ disp_mode = 0x01; break; case 'v': /* version */ print_version(argv[0]); return 0; case 'h': /* help */ usage(argv[0]); return 0; default: break; } /* end of "switch(opt)" */ } if (argc < 2) { usage(argv[0]); return 0; } if( comport_open(&comport, dev_name, baudrate, settings) < 0 ) { printf("Failed to open %s with baudrate %d, %s. RetCode [%d]\n", dev_name, baudrate, settings, retval); return -1; } nonblock(); /* Process level signal handler */ sigemptyset(&sigact.sa_mask); sigact.sa_flags = 0; sigact.sa_handler = signal_handler; sigaction(SIGTERM, &sigact, NULL); /* catch terminate signal */ sigaction(SIGINT, &sigact, NULL); /* catch interrupt signal */ sigaction(SIGSEGV, &sigact, NULL); /* catch segmentation faults */ sigaction(SIGTSTP, &sigact, NULL); /* catch ctrl+Z */ sigaction(SIGSTOP, &sigact, NULL); /* catch ctrl+Z */ while (0x01 == g_ucProcToken) { recv_size = comport_recv(&comport, buf, sizeof(buf) - 1, 10); if (recv_size > 0) { for (i = 0; i < recv_size; i++) { if (0 == disp_mode) printf("%c", buf[i]); else printf("%02X ", buf[i]); } fflush(stdout); } if (0 != kbhit()) { retval = fgetc(stdin); if (0x0A == retval) { buf[0] = 0x0D; /* 13 == 0x0D */ } else { buf[0] = retval; } comport_send(&comport, buf, 1); } else if (0x00 != g_ucCtrlZ) { g_ucCtrlZ = 0x00; buf[0] = 0x1A; comport_send(&comport, buf, 1); } } comport_close(&comport); return 0; } void print_version(char *name) { char *progname = NULL; char *ptr = NULL; ptr = strdup(name); progname = basename(ptr); printf("%s version: 1.0.0 on %s\n", progname, __DATE__); printf("Copyright (C) 2010 guowenxue <guowenxue@gmail.com>\n"); free(ptr); return; } void usage(char *name) { char *progname = NULL; char *ptr = NULL; ptr = strdup(name); progname = basename(ptr); printf("Usage1: comport -d <device> [-b <baudrate>][-s <settings>] [-x]\n"); printf("Usage2: comport [-i <driver port> <cmd> <arg>][--help][--version]\n"); printf(" -d[device ] device name\n"); printf(" -b[baudrate] device baudrate (115200, 57600, 19200, 9600), default is 115200\n"); printf(" -s[settings] device settings as like 8N1N(default setting)\n"); printf(" - data bits: 8, 7\n"); printf(" - parity: N=None, O=Odd, E=Even, S=Space\n"); printf(" - stop bits: 1, 0\n"); printf(" - flow control: N=None, H=Hardware, S=Software, B=Both\n"); printf(" -x[hex ] display received data in hex format\n"); printf(" -i[ioctl ] ioctl system call (cmd & arg only support int)\n"); printf(" -v[version ] Display the program version\n"); printf(" -h[help ] Display this help information\n"); print_version(progname); free(ptr); return; } int do_ioctl(char *dev_name, int cmd, int arg) { int fd = -1; int retval = -1; if (((fd = open(dev_name, O_RDWR)) < 0)) { printf("Open device \"%s\" failure: %s\n", dev_name, strerror(errno)); return -1; } retval = ioctl(fd, cmd, arg); printf("ioctl (%s, %d, %d) returned %d\n", dev_name, cmd, arg, retval); close(fd); return retval; } void signal_handler(int i_sig) { if (SIGTERM == i_sig || SIGINT == i_sig) { g_ucProcToken = 0x00; } else if (20 == i_sig) { g_ucCtrlZ = 0x01; } } void nonblock(void) { struct termios ttystate; //get the terminal state tcgetattr(STDIN_FILENO, &ttystate); //turn off canonical mode ttystate.c_lflag &= ~ICANON; //minimum of number input read. ttystate.c_cc[VMIN] = 1; //set the terminal attributes. tcsetattr(STDIN_FILENO, TCSANOW, &ttystate); } int kbhit(void) { struct timeval tv; fd_set fds; tv.tv_sec = 0; tv.tv_usec = 0; FD_ZERO(&fds); FD_SET(STDIN_FILENO, &fds); //STDIN_FILENO is 0 select(STDIN_FILENO + 1, &fds, NULL, NULL, &tv); return FD_ISSET(STDIN_FILENO, &fds); } project/booster/test/makefile
@@ -15,19 +15,13 @@ PWD=$(shell pwd) LIB_PATH=$(shell dirname ${PWD}) LIB_NAME=$(shell basename ${LIB_PATH}) INSTPATH=/tftp #ARCH ?= i386 #ARCH?=arm926t ARCH?=arm920t #LINK_MODE=STATIC MODE=PRODUCTION DEBUG=1 INSTPATH=/tftp #CROSS_COMPILE=aarch64-linux-gnu- BUILD_ARCH=$(shell uname -m) ifneq ($(findstring $(BUILD_ARCH), "x86_64" "i386"),) CROSS_COMPILE?=arm-linux-gnueabihf- endif export CC=${CROSS_COMPILE}gcc export CXX=${CROSS_COMPILE}g++ project/booster/util_proc.c
@@ -161,7 +161,7 @@ if( check_daemon_running(pidfile) ) { log_error("Program already running, process exit now"); log_error("Program already running, process exit now\n"); return -1; } @@ -357,7 +357,7 @@ * *****************************************************************************/ int set_daemon_running(const char *pid_file) { daemonize(0, 1); daemon(0, 1); log_info("Program running as daemon [PID:%d].\n", getpid()); if (record_daemon_pid(pid_file) < 0) project/coreMQTT/conf.c
File was deleted project/coreMQTT/conf.h
File was deleted project/coreMQTT/coreJSON/README.md
File was deleted project/coreMQTT/coreJSON/core_json.c
File was deleted project/coreMQTT/coreJSON/core_json.h
File was deleted project/coreMQTT/coreJSON/makefile
File was deleted project/coreMQTT/coreMQTT/README.md
File was deleted project/coreMQTT/coreMQTT/core_mqtt.c
File was deleted project/coreMQTT/coreMQTT/core_mqtt.h
File was deleted project/coreMQTT/coreMQTT/core_mqtt_config.h
File was deleted project/coreMQTT/coreMQTT/core_mqtt_config_defaults.h
File was deleted project/coreMQTT/coreMQTT/core_mqtt_default_logging.h
File was deleted project/coreMQTT/coreMQTT/core_mqtt_serializer.c
File was deleted project/coreMQTT/coreMQTT/core_mqtt_serializer.h
File was deleted project/coreMQTT/coreMQTT/core_mqtt_state.c
File was deleted project/coreMQTT/coreMQTT/core_mqtt_state.h
File was deleted project/coreMQTT/coreMQTT/makefile
File was deleted project/coreMQTT/coreMQTT/transport_interface.h
File was deleted project/coreMQTT/coreSNTP/README.md
File was deleted project/coreMQTT/coreSNTP/core_sntp_client.c
File was deleted project/coreMQTT/coreSNTP/core_sntp_client.h
File was deleted project/coreMQTT/coreSNTP/core_sntp_config.h
File was deleted project/coreMQTT/coreSNTP/core_sntp_config_defaults.h
File was deleted project/coreMQTT/coreSNTP/core_sntp_serializer.c
File was deleted project/coreMQTT/coreSNTP/core_sntp_serializer.h
File was deleted project/coreMQTT/coreSNTP/makefile
File was deleted project/coreMQTT/etc/mqttd.conf
File was deleted project/coreMQTT/main.c
File was deleted project/coreMQTT/makefile
File was deleted project/openlibs/cjson/build.sh
@@ -6,7 +6,7 @@ PACK_SUFIX=tar.gz # LingYun source code FTP server LY_FTP=http://main.weike-iot.com:2211/src/ LY_FTP=http://weike-iot.com:2211/src/ # library download URL address LIB_URL=$LY_FTP project/openlibs/libevent/build.sh
@@ -6,7 +6,7 @@ PACK_SUFIX=tar.gz # LingYun source code FTP server LY_FTP=http://main.weike-iot.com:2211/src/ LY_FTP=http://weike-iot.com:2211/src/ # library download URL address LIB_URL=$LY_FTP project/openlibs/libgpiod/build.sh
@@ -8,7 +8,7 @@ PACK_SUFIX=tar.gz # LingYun source code FTP server LY_FTP=http://main.weike-iot.com:2211/src/ LY_FTP=http://weike-iot.com:2211/src/ # library download URL address LIB_URL=$LY_FTP project/openlibs/makefile
@@ -1,6 +1,12 @@ PRJ_PATH=$(shell pwd) libs=libgpiod cjson openssl mosquitto libevent openssl_dir := $(shell ls -d openssl/ 2>/dev/null | sed 's|/||g') other_dirs := $(shell ls -d */ 2>/dev/null | grep -v '^install/' | grep -v '^openssl/' | sed 's|/||g') libs := $(openssl_dir) $(other_dirs) # clear CFLAGS CLFAGS= all: for dir in ${libs} ; do cd ${PRJ_PATH}/$${dir} && ./build.sh ; done project/openlibs/mosquitto/build.sh
@@ -6,7 +6,7 @@ PACK_SUFIX=tar.gz # LingYun source code FTP server LY_FTP=http://main.weike-iot.com:2211/src/ LY_FTP=http://weike-iot.com:2211/src/ # library download URL address LIB_URL=$LY_FTP project/openlibs/openssl/build.sh
@@ -6,7 +6,7 @@ PACK_SUFIX=tar.gz # LingYun source code FTP server LY_FTP=http://main.weike-iot.com:2211/src/ LY_FTP=http://weike-iot.com:2211/src/ # library download URL address LIB_URL=$LY_FTP project/socketd/booster/database.c
File was deleted project/socketd/booster/database.h
File was deleted project/socketd/booster/ds18b20.c
File was deleted project/socketd/booster/ds18b20.h
File was deleted project/socketd/booster/logger.c
File was deleted project/socketd/booster/logger.h
File was deleted project/socketd/booster/makefile
File was deleted project/socketd/booster/packet.c
File was deleted project/socketd/booster/packet.h
File was deleted project/socketd/booster/proc.c
File was deleted project/socketd/booster/proc.h
File was deleted project/socketd/booster/socket.c
File was deleted project/socketd/booster/socket.h
File was deleted project/socketd/makefile
File was deleted project/socketd/sock_client.c
File was deleted project/socketd/sqlite/build.sh
File was deleted project/socketd/sqlite/makefile
File was deleted utils/at24c.c
utils/diagram/AT24C256.kvdatBinary files differ
utils/diagram/SHT20.kvdatBinary files differ
utils/ds18b20.c
utils/infrared.c
utils/leds.c
utils/makefile
utils/pwm.c
utils/relay.c
utils/sht20.c
utils/tsl2561.c
utils/w25qflash.c
utils/w25qflash.h