19.03.2013 - Version 0.3.0 ported to Mac OS X
This commit is contained in:
274
Makefile_qnx
274
Makefile_qnx
@@ -1,274 +0,0 @@
|
|||||||
####### Compiler, tools and options
|
|
||||||
|
|
||||||
TARGET = pip
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
CFLAGS = -pipe -D_REENTRANT
|
|
||||||
CXXFLAGS = $(CFLAGS)
|
|
||||||
INCPATH = -I.
|
|
||||||
LINK = g++
|
|
||||||
LFLAGS = -Wl,-O2
|
|
||||||
LIBS = -lsocket
|
|
||||||
DEL_FILE = rm -f
|
|
||||||
DEL_DIR = rmdir
|
|
||||||
|
|
||||||
####### Output directory
|
|
||||||
|
|
||||||
OBJECTS_DIR = ./
|
|
||||||
|
|
||||||
####### Files
|
|
||||||
|
|
||||||
SOURCES = main.cpp \
|
|
||||||
pibytearray.cpp \
|
|
||||||
piconfig.cpp \
|
|
||||||
piconsole.cpp \
|
|
||||||
pidir.cpp \
|
|
||||||
piethernet.cpp \
|
|
||||||
pievaluator.cpp \
|
|
||||||
pifile.cpp \
|
|
||||||
pikbdlistener.cpp \
|
|
||||||
pimath.cpp \
|
|
||||||
piprotocol.cpp \
|
|
||||||
piserial.cpp \
|
|
||||||
pistring.cpp \
|
|
||||||
pithread.cpp \
|
|
||||||
pitimer.cpp \
|
|
||||||
pivariable.cpp \
|
|
||||||
picli.cpp \
|
|
||||||
piprocess.cpp \
|
|
||||||
picodec.cpp \
|
|
||||||
pisignals.cpp \
|
|
||||||
pimonitor.cpp \
|
|
||||||
piobject.cpp \
|
|
||||||
pisystemmonitor.cpp
|
|
||||||
OBJECTS = main.o \
|
|
||||||
pibytearray.o \
|
|
||||||
piconfig.o \
|
|
||||||
piconsole.o \
|
|
||||||
pidir.o \
|
|
||||||
piethernet.o \
|
|
||||||
pievaluator.o \
|
|
||||||
pifile.o \
|
|
||||||
pikbdlistener.o \
|
|
||||||
pimath.o \
|
|
||||||
piprotocol.o \
|
|
||||||
piserial.o \
|
|
||||||
pistring.o \
|
|
||||||
pithread.o \
|
|
||||||
pitimer.o \
|
|
||||||
pivariable.o \
|
|
||||||
picli.o \
|
|
||||||
piprocess.o \
|
|
||||||
picodec.o \
|
|
||||||
pisignals.o \
|
|
||||||
pimonitor.o \
|
|
||||||
piobject.o \
|
|
||||||
pisystemmonitor.o
|
|
||||||
|
|
||||||
first: all
|
|
||||||
####### Implicit rules
|
|
||||||
|
|
||||||
.SUFFIXES: .o .c .cpp .cc .cxx .C
|
|
||||||
|
|
||||||
.cpp.o:
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
|
|
||||||
|
|
||||||
.cc.o:
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
|
|
||||||
|
|
||||||
.cxx.o:
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
|
|
||||||
|
|
||||||
.C.o:
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
|
|
||||||
|
|
||||||
.c.o:
|
|
||||||
$(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
|
|
||||||
|
|
||||||
####### Build rules
|
|
||||||
|
|
||||||
all: Makefile $(TARGET)
|
|
||||||
|
|
||||||
$(TARGET): $(OBJECTS)
|
|
||||||
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS)
|
|
||||||
|
|
||||||
clean:compiler_clean
|
|
||||||
-$(DEL_FILE) $(OBJECTS)
|
|
||||||
-$(DEL_FILE) *~ core *.core
|
|
||||||
|
|
||||||
distclean: clean
|
|
||||||
-$(DEL_FILE) $(TARGET)
|
|
||||||
-$(DEL_FILE) Makefile
|
|
||||||
|
|
||||||
compiler_clean:
|
|
||||||
|
|
||||||
####### Compile
|
|
||||||
|
|
||||||
main.o: main.cpp pip.h \
|
|
||||||
pitimer.h \
|
|
||||||
pithread.h \
|
|
||||||
piincludes.h \
|
|
||||||
pimutex.h \
|
|
||||||
pivariable.h \
|
|
||||||
piconfig.h \
|
|
||||||
pifile.h \
|
|
||||||
pistring.h \
|
|
||||||
pibytearray.h \
|
|
||||||
pibitarray.h \
|
|
||||||
pichar.h \
|
|
||||||
piconsole.h \
|
|
||||||
pikbdlistener.h \
|
|
||||||
pievaluator.h \
|
|
||||||
pimath.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
|
|
||||||
|
|
||||||
pibytearray.o: pibytearray.cpp pibytearray.h \
|
|
||||||
pibitarray.h \
|
|
||||||
piincludes.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o pibytearray.o pibytearray.cpp
|
|
||||||
|
|
||||||
piconfig.o: piconfig.cpp piconfig.h \
|
|
||||||
pifile.h \
|
|
||||||
piincludes.h \
|
|
||||||
pistring.h \
|
|
||||||
pibytearray.h \
|
|
||||||
pibitarray.h \
|
|
||||||
pichar.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o piconfig.o piconfig.cpp
|
|
||||||
|
|
||||||
piconsole.o: piconsole.cpp piconsole.h \
|
|
||||||
pikbdlistener.h \
|
|
||||||
pithread.h \
|
|
||||||
piincludes.h \
|
|
||||||
pimutex.h \
|
|
||||||
pistring.h \
|
|
||||||
pibytearray.h \
|
|
||||||
pibitarray.h \
|
|
||||||
pichar.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o piconsole.o piconsole.cpp
|
|
||||||
|
|
||||||
pidir.o: pidir.cpp pidir.h \
|
|
||||||
pifile.h \
|
|
||||||
piincludes.h \
|
|
||||||
pistring.h \
|
|
||||||
pibytearray.h \
|
|
||||||
pibitarray.h \
|
|
||||||
pichar.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o pidir.o pidir.cpp
|
|
||||||
|
|
||||||
piethernet.o: piethernet.cpp piethernet.h \
|
|
||||||
pithread.h \
|
|
||||||
piincludes.h \
|
|
||||||
pimutex.h \
|
|
||||||
pistring.h \
|
|
||||||
pibytearray.h \
|
|
||||||
pibitarray.h \
|
|
||||||
pichar.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o piethernet.o piethernet.cpp
|
|
||||||
|
|
||||||
pievaluator.o: pievaluator.cpp pievaluator.h \
|
|
||||||
pistring.h \
|
|
||||||
pibytearray.h \
|
|
||||||
pibitarray.h \
|
|
||||||
piincludes.h \
|
|
||||||
pichar.h \
|
|
||||||
pimath.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o pievaluator.o pievaluator.cpp
|
|
||||||
|
|
||||||
pifile.o: pifile.cpp pifile.h \
|
|
||||||
piincludes.h \
|
|
||||||
pistring.h \
|
|
||||||
pibytearray.h \
|
|
||||||
pibitarray.h \
|
|
||||||
pichar.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o pifile.o pifile.cpp
|
|
||||||
|
|
||||||
pikbdlistener.o: pikbdlistener.cpp pikbdlistener.h \
|
|
||||||
pithread.h \
|
|
||||||
piincludes.h \
|
|
||||||
pimutex.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o pikbdlistener.o pikbdlistener.cpp
|
|
||||||
|
|
||||||
pimath.o: pimath.cpp pimath.h \
|
|
||||||
piincludes.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o pimath.o pimath.cpp
|
|
||||||
|
|
||||||
piprotocol.o: piprotocol.cpp piprotocol.h \
|
|
||||||
piserial.h \
|
|
||||||
pithread.h \
|
|
||||||
piincludes.h \
|
|
||||||
pimutex.h \
|
|
||||||
pistring.h \
|
|
||||||
pibytearray.h \
|
|
||||||
pibitarray.h \
|
|
||||||
pichar.h \
|
|
||||||
piethernet.h \
|
|
||||||
pitimer.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o piprotocol.o piprotocol.cpp
|
|
||||||
|
|
||||||
piserial.o: piserial.cpp piserial.h \
|
|
||||||
pithread.h \
|
|
||||||
piincludes.h \
|
|
||||||
pimutex.h \
|
|
||||||
pistring.h \
|
|
||||||
pibytearray.h \
|
|
||||||
pibitarray.h \
|
|
||||||
pichar.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o piserial.o piserial.cpp
|
|
||||||
|
|
||||||
pistring.o: pistring.cpp pistring.h \
|
|
||||||
pibytearray.h \
|
|
||||||
pibitarray.h \
|
|
||||||
piincludes.h \
|
|
||||||
pichar.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o pistring.o pistring.cpp
|
|
||||||
|
|
||||||
pithread.o: pithread.cpp pithread.h \
|
|
||||||
piincludes.h \
|
|
||||||
pimutex.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o pithread.o pithread.cpp
|
|
||||||
|
|
||||||
pitimer.o: pitimer.cpp pitimer.h \
|
|
||||||
pithread.h \
|
|
||||||
piincludes.h \
|
|
||||||
pimutex.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o pitimer.o pitimer.cpp
|
|
||||||
|
|
||||||
pivariable.o: pivariable.cpp pivariable.h \
|
|
||||||
piconfig.h \
|
|
||||||
pifile.h \
|
|
||||||
piincludes.h \
|
|
||||||
pistring.h \
|
|
||||||
pibytearray.h \
|
|
||||||
pibitarray.h \
|
|
||||||
pichar.h
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o pivariable.o pivariable.cpp
|
|
||||||
|
|
||||||
picli.o: picli.cpp
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o picli.o picli.cpp
|
|
||||||
|
|
||||||
piprocess.o: piprocess.cpp
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o piprocess.o piprocess.cpp
|
|
||||||
|
|
||||||
picodec.o: picodec.cpp
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o picodec.o picodec.cpp
|
|
||||||
|
|
||||||
pisignals.o: pisignals.cpp
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o pisignals.o pisignals.cpp
|
|
||||||
|
|
||||||
pimonitor.o: pimonitor.cpp
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o pimonitor.o pimonitor.cpp
|
|
||||||
|
|
||||||
piobject.o: piobject.cpp
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o piobject.o piobject.cpp
|
|
||||||
|
|
||||||
pisystemmonitor.o: pisystemmonitor.cpp
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o pisystemmonitor.o pisystemmonitor.cpp
|
|
||||||
|
|
||||||
####### Install
|
|
||||||
|
|
||||||
install: FORCE
|
|
||||||
|
|
||||||
uninstall: FORCE
|
|
||||||
|
|
||||||
FORCE:
|
|
||||||
25
main.cpp
25
main.cpp
@@ -211,6 +211,31 @@ void ke(char key, void*) {
|
|||||||
ser.setPin(p, !pins[p - 1]);
|
ser.setPin(p, !pins[p - 1]);
|
||||||
}
|
}
|
||||||
int main(int argc, char * argv[]) {
|
int main(int argc, char * argv[]) {
|
||||||
|
PIKbdListener kbd;
|
||||||
|
kbd.enableExitCapture();
|
||||||
|
PICLI cli(argc, argv);
|
||||||
|
cli.addArgument("sender");
|
||||||
|
PIEthernet eth;
|
||||||
|
int i = 0;
|
||||||
|
bool _ok;
|
||||||
|
if (cli.hasArgument("sender")) {
|
||||||
|
while (!PIKbdListener::exiting) {
|
||||||
|
_ok = eth.send("234.0.2.1", 10101, &i, sizeof(i));
|
||||||
|
cout << "send " << i << " - " << (_ok ? "ok" : "fail") << endl;
|
||||||
|
i++;
|
||||||
|
msleep(100);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
eth.setParameter(PIEthernet::Broadcast);
|
||||||
|
eth.open(":10101");
|
||||||
|
eth.joinMulticastGroup("234.0.2.1");
|
||||||
|
while (!PIKbdListener::exiting) {
|
||||||
|
eth.read(&i, sizeof(i));
|
||||||
|
cout << "receive " << i << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
|
||||||
/*tm_.start(10.);
|
/*tm_.start(10.);
|
||||||
PIConsole con(false, ke);
|
PIConsole con(false, ke);
|
||||||
con.enableExitCapture();
|
con.enableExitCapture();
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
make $@
|
|
||||||
cp -vf *.h /usr/qnx630/target/qnx6/usr/include/
|
|
||||||
cp -vf lib*.so /usr/qnx630/target/qnx6/x86/lib/
|
|
||||||
cp -vf lib*.so /lib/
|
|
||||||
@@ -176,6 +176,8 @@ bool PIEthernet::joinMulticastGroup(const PIString & group) {
|
|||||||
leafs.insert(group, ret);
|
leafs.insert(group, ret);
|
||||||
#else
|
#else
|
||||||
# ifndef QNX
|
# ifndef QNX
|
||||||
|
if (!params[Broadcast])
|
||||||
|
piCout << "[PIEthernet] Warning: \"Broadcast\" parameter not set, \"joinMulticastGroup(\"" << group << "\")\" may be useless!" << endl;
|
||||||
parseAddress(path_, &ip_, &port_);
|
parseAddress(path_, &ip_, &port_);
|
||||||
struct ip_mreqn mreq;
|
struct ip_mreqn mreq;
|
||||||
memset(&mreq, 0, sizeof(mreq));
|
memset(&mreq, 0, sizeof(mreq));
|
||||||
|
|||||||
2
pifile.h
2
pifile.h
@@ -52,7 +52,7 @@ public:
|
|||||||
void setPath(const PIString & path) {path_ = path; if (opened_) openDevice();}
|
void setPath(const PIString & path) {path_ = path; if (opened_) openDevice();}
|
||||||
llong size();
|
llong size();
|
||||||
llong pos() {if (!opened_) return -1; return ftell(fd);}
|
llong pos() {if (!opened_) return -1; return ftell(fd);}
|
||||||
bool isEnd() {return (feof(fd) || ferror(fd));}
|
bool isEnd() {if (!opened_) return true; return (feof(fd) || ferror(fd));}
|
||||||
bool isEmpty() {return (size() <= 0);}
|
bool isEmpty() {return (size() <= 0);}
|
||||||
|
|
||||||
int precision() const {return prec;}
|
int precision() const {return prec;}
|
||||||
|
|||||||
@@ -25,3 +25,7 @@ string ifconfigPath;
|
|||||||
|
|
||||||
PIInit piInit;
|
PIInit piInit;
|
||||||
lconv * currentLocale = std::localeconv();
|
lconv * currentLocale = std::localeconv();
|
||||||
|
|
||||||
|
#ifdef MAC_OS
|
||||||
|
clock_serv_t __pi_mac_clock;
|
||||||
|
#endif
|
||||||
|
|||||||
21
piincludes.h
21
piincludes.h
@@ -20,11 +20,11 @@
|
|||||||
#ifndef PIINCLUDES_H
|
#ifndef PIINCLUDES_H
|
||||||
#define PIINCLUDES_H
|
#define PIINCLUDES_H
|
||||||
|
|
||||||
#define PIP_VERSION 0x000206
|
#define PIP_VERSION 0x000300
|
||||||
#define PIP_VERSION_MAJOR (PIP_VERSION & 0xFF0000) >> 16
|
#define PIP_VERSION_MAJOR (PIP_VERSION & 0xFF0000) >> 16
|
||||||
#define PIP_VERSION_MINOR (PIP_VERSION & 0xFF00) >> 8
|
#define PIP_VERSION_MINOR (PIP_VERSION & 0xFF00) >> 8
|
||||||
#define PIP_VERSION_REVISION PIP_VERSION & 0xFF
|
#define PIP_VERSION_REVISION PIP_VERSION & 0xFF
|
||||||
#define PIP_VERSION_SUFFIX "_beta"
|
#define PIP_VERSION_SUFFIX ""
|
||||||
|
|
||||||
#if WIN32 || WIN64 || _WIN32 || _WIN64 || __WIN32__ || __WIN64__
|
#if WIN32 || WIN64 || _WIN32 || _WIN64 || __WIN32__ || __WIN64__
|
||||||
# define WINDOWS
|
# define WINDOWS
|
||||||
@@ -125,10 +125,21 @@ typedef int socklen_t;
|
|||||||
# include <sys/ioctl.h>
|
# include <sys/ioctl.h>
|
||||||
# include <net/if.h>
|
# include <net/if.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef MAC_OS
|
||||||
|
# include <mach/mach_traps.h>
|
||||||
|
# include <mach/mach.h>
|
||||||
|
# include <mach/clock.h>
|
||||||
|
# include <crt_externs.h>
|
||||||
|
# define environ (*_NSGetEnviron())
|
||||||
|
typedef long time_t;
|
||||||
|
extern clock_serv_t __pi_mac_clock;
|
||||||
|
#endif
|
||||||
#ifndef QNX
|
#ifndef QNX
|
||||||
# ifndef WINDOWS
|
# ifndef WINDOWS
|
||||||
# ifndef FREE_BSD
|
# ifndef FREE_BSD
|
||||||
# define environ __environ
|
# ifndef MAC_OS
|
||||||
|
# define environ __environ
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
@@ -138,10 +149,6 @@ typedef int socklen_t;
|
|||||||
#ifdef FREE_BSD
|
#ifdef FREE_BSD
|
||||||
extern char ** environ;
|
extern char ** environ;
|
||||||
#endif
|
#endif
|
||||||
#ifdef MAC_OS
|
|
||||||
typedef long time_t;
|
|
||||||
clock_serv_t __pi_mac_clock;
|
|
||||||
#endif
|
|
||||||
#include "pimonitor.h"
|
#include "pimonitor.h"
|
||||||
|
|
||||||
extern PIMonitor piMonitor;
|
extern PIMonitor piMonitor;
|
||||||
|
|||||||
18
pimath.cpp
18
pimath.cpp
@@ -405,9 +405,9 @@ void PIFFT::ftbasegeneratecomplexfftplan(uint n, ftplan* plan) {
|
|||||||
int ftbase_ftbasecffttask = 0;
|
int ftbase_ftbasecffttask = 0;
|
||||||
ftbase_ftbasegenerateplanrec(n, ftbase_ftbasecffttask, plan, &plansize, &precomputedsize, &planarraysize, &tmpmemsize, &stackmemsize, stackptr);
|
ftbase_ftbasegenerateplanrec(n, ftbase_ftbasecffttask, plan, &plansize, &precomputedsize, &planarraysize, &tmpmemsize, &stackmemsize, stackptr);
|
||||||
if (stackptr!=0) { return;}//ae_assert(stackptr==0, "Internal error in FTBaseGenerateComplexFFTPlan: stack ptr!");
|
if (stackptr!=0) { return;}//ae_assert(stackptr==0, "Internal error in FTBaseGenerateComplexFFTPlan: stack ptr!");
|
||||||
curplan.stackbuf.resize(piMax(stackmemsize,1));//ae_vector_set_length(&curplan.stackbuf, ae_maxint(stackmemsize, 1));
|
curplan.stackbuf.resize(piMax<int>(stackmemsize,1));//ae_vector_set_length(&curplan.stackbuf, ae_maxint(stackmemsize, 1));
|
||||||
curplan.tmpbuf.resize(piMax(tmpmemsize,1));//ae_vector_set_length(&(curplan.tmpbuf), ae_maxint(tmpmemsize, 1));
|
curplan.tmpbuf.resize(piMax<int>(tmpmemsize,1));//ae_vector_set_length(&(curplan.tmpbuf), ae_maxint(tmpmemsize, 1));
|
||||||
curplan.precomputed.resize(piMax(precomputedsize,1));//ae_vector_set_length(&curplan.precomputed, ae_maxint(precomputedsize, 1));
|
curplan.precomputed.resize(piMax<int>(precomputedsize,1));//ae_vector_set_length(&curplan.precomputed, ae_maxint(precomputedsize, 1));
|
||||||
stackptr = 0;
|
stackptr = 0;
|
||||||
ftbase_ftbaseprecomputeplanrec(plan, 0, stackptr);
|
ftbase_ftbaseprecomputeplanrec(plan, 0, stackptr);
|
||||||
if (stackptr!=0) { return;}//ae_assert(stackptr==0, "Internal error in FTBaseGenerateComplexFFTPlan: stack ptr!");
|
if (stackptr!=0) { return;}//ae_assert(stackptr==0, "Internal error in FTBaseGenerateComplexFFTPlan: stack ptr!");
|
||||||
@@ -475,7 +475,7 @@ void PIFFT::ftbase_ftbasegenerateplanrec(
|
|||||||
}
|
}
|
||||||
ftbasefactorize(n, &n1, &n2);
|
ftbasefactorize(n, &n1, &n2);
|
||||||
if( n1!=1 ) {
|
if( n1!=1 ) {
|
||||||
*tmpmemsize = piMax(*tmpmemsize, 2*n1*n2);
|
*tmpmemsize = piMax<int>(*tmpmemsize, 2*n1*n2);
|
||||||
curplan.plan[entryoffset+0] = esize;
|
curplan.plan[entryoffset+0] = esize;
|
||||||
curplan.plan[entryoffset+1] = n1;
|
curplan.plan[entryoffset+1] = n1;
|
||||||
curplan.plan[entryoffset+2] = n2;
|
curplan.plan[entryoffset+2] = n2;
|
||||||
@@ -509,7 +509,7 @@ void PIFFT::ftbase_ftbasegenerateplanrec(
|
|||||||
} else {
|
} else {
|
||||||
k = 2*n2-1;
|
k = 2*n2-1;
|
||||||
m = ftbasefindsmooth(k);
|
m = ftbasefindsmooth(k);
|
||||||
*tmpmemsize = piMax(*tmpmemsize, 2*m);
|
*tmpmemsize = piMax<int>(*tmpmemsize, 2*m);
|
||||||
curplan.plan[entryoffset+0] = esize;
|
curplan.plan[entryoffset+0] = esize;
|
||||||
curplan.plan[entryoffset+1] = n2;
|
curplan.plan[entryoffset+1] = n2;
|
||||||
curplan.plan[entryoffset+2] = -1;
|
curplan.plan[entryoffset+2] = -1;
|
||||||
@@ -517,7 +517,7 @@ void PIFFT::ftbase_ftbasegenerateplanrec(
|
|||||||
curplan.plan[entryoffset+4] = m;
|
curplan.plan[entryoffset+4] = m;
|
||||||
curplan.plan[entryoffset+5] = *plansize;
|
curplan.plan[entryoffset+5] = *plansize;
|
||||||
stackptr = stackptr+2*2*m;
|
stackptr = stackptr+2*2*m;
|
||||||
*stackmemsize = piMax(*stackmemsize, stackptr);
|
*stackmemsize = piMax<int>(*stackmemsize, stackptr);
|
||||||
ftbase_ftbasegenerateplanrec(m, ftbase_ftbasecffttask, plan, plansize, precomputedsize, planarraysize, tmpmemsize, stackmemsize, stackptr);
|
ftbase_ftbasegenerateplanrec(m, ftbase_ftbasecffttask, plan, plansize, precomputedsize, planarraysize, tmpmemsize, stackmemsize, stackptr);
|
||||||
stackptr = stackptr-2*2*m;
|
stackptr = stackptr-2*2*m;
|
||||||
curplan.plan[entryoffset+6] = -1;
|
curplan.plan[entryoffset+6] = -1;
|
||||||
@@ -638,7 +638,7 @@ Is number smooth?
|
|||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
void PIFFT::ftbase_ftbasefindsmoothrec(int n, int seed, int leastfactor, int* best) {
|
void PIFFT::ftbase_ftbasefindsmoothrec(int n, int seed, int leastfactor, int* best) {
|
||||||
if( seed>=n ) {
|
if( seed>=n ) {
|
||||||
*best = piMin(*best, seed);
|
*best = piMin<int>(*best, seed);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if( leastfactor<=2 )
|
if( leastfactor<=2 )
|
||||||
@@ -672,7 +672,7 @@ void PIFFT::ftbase_fftirltrec(PIVector<double>* a, int astart, int astride, PIVe
|
|||||||
int m1, n1;
|
int m1, n1;
|
||||||
if( m==0||n==0 )
|
if( m==0||n==0 )
|
||||||
return;
|
return;
|
||||||
if( piMax(m, n)<=8 ) {
|
if( piMax<int>(m, n)<=8 ) {
|
||||||
for(int i=0; i<=m-1; i++) {
|
for(int i=0; i<=m-1; i++) {
|
||||||
idx1 = bstart+i;
|
idx1 = bstart+i;
|
||||||
idx2 = astart+i*astride;
|
idx2 = astart+i*astride;
|
||||||
@@ -711,7 +711,7 @@ void PIFFT::ftbase_ffticltrec(PIVector<double>* a, int astart, int astride, PIVe
|
|||||||
int idx1, idx2, m2, m1, n1;
|
int idx1, idx2, m2, m1, n1;
|
||||||
if( m==0||n==0 )
|
if( m==0||n==0 )
|
||||||
return;
|
return;
|
||||||
if( piMax(m, n)<=8 ) {
|
if( piMax<int>(m, n)<=8 ) {
|
||||||
m2 = 2*bstride;
|
m2 = 2*bstride;
|
||||||
for(int i=0; i<=m-1; i++) {
|
for(int i=0; i<=m-1; i++) {
|
||||||
idx1 = bstart+2*i;
|
idx1 = bstart+2*i;
|
||||||
|
|||||||
@@ -38,6 +38,10 @@ public:
|
|||||||
double toMilliseconds() const {return seconds * 1.e+3 + nanoseconds / 1.e+6;}
|
double toMilliseconds() const {return seconds * 1.e+3 + nanoseconds / 1.e+6;}
|
||||||
double toMicroseconds() const {return seconds * 1.e+6 + nanoseconds / 1.e+3;}
|
double toMicroseconds() const {return seconds * 1.e+6 + nanoseconds / 1.e+3;}
|
||||||
double toNanoseconds() const {return seconds * 1.e+9 + double(nanoseconds);}
|
double toNanoseconds() const {return seconds * 1.e+9 + double(nanoseconds);}
|
||||||
|
PISystemTime & addSeconds(double v) {*this += fromSeconds(v); return *this;}
|
||||||
|
PISystemTime & addMilliseconds(double v) {*this += fromMilliseconds(v); return *this;}
|
||||||
|
PISystemTime & addMicroseconds(double v) {*this += fromMicroseconds(v); return *this;}
|
||||||
|
PISystemTime & addNanoseconds(double v) {*this += fromNanoseconds(v); return *this;}
|
||||||
void sleep() {piUSleep(piFloord(toMicroseconds()));} // wait self value, useful to wait some dT = (t1 - t0)
|
void sleep() {piUSleep(piFloord(toMicroseconds()));} // wait self value, useful to wait some dT = (t1 - t0)
|
||||||
PISystemTime abs() const {return PISystemTime(piAbsl(seconds), piAbsl(nanoseconds));}
|
PISystemTime abs() const {return PISystemTime(piAbsl(seconds), piAbsl(nanoseconds));}
|
||||||
PISystemTime operator +(const PISystemTime & t) {PISystemTime tt(*this); tt.seconds += t.seconds; tt.nanoseconds += t.nanoseconds; tt.checkOverflows(); return tt;}
|
PISystemTime operator +(const PISystemTime & t) {PISystemTime tt(*this); tt.seconds += t.seconds; tt.nanoseconds += t.nanoseconds; tt.checkOverflows(); return tt;}
|
||||||
|
|||||||
192
protocols.conf
192
protocols.conf
@@ -1,192 +0,0 @@
|
|||||||
# Eth
|
|
||||||
|
|
||||||
#gas.receiver.ip = 192.168.5.36 #i
|
|
||||||
#gas.receiver.ip = 192.168.0.190 #i
|
|
||||||
gas.receiver.ip = 192.168.6.36 #i
|
|
||||||
gas.receiver.port = 9217 #n
|
|
||||||
gas.receiver.frequency = 100 #f
|
|
||||||
#gas.sender.ip = 192.168.5.2 #i
|
|
||||||
#gas.sender.ip = 192.168.0.190 #i
|
|
||||||
gas.sender.ip = 192.168.6.133 #i
|
|
||||||
#gas.sender.port = 1 #n
|
|
||||||
gas.sender.port = 10000 #n
|
|
||||||
gas.sender.frequency = 10 #f
|
|
||||||
gas.writeHistory = false #b
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
mcp1_c.receiver.ip = 192.168.5.36 #i
|
|
||||||
#mcp1.receiver.ip = 127.0.0.1 #i
|
|
||||||
mcp1_c.receiver.port = 4012 #n
|
|
||||||
mcp1_c.receiver.frequency = 20 #f
|
|
||||||
mcp1_c.sender.ip = 192.168.5.13 #i
|
|
||||||
#mcp1.sender.ip = 127.0.0.1 #i
|
|
||||||
mcp1_c.sender.port = 4013 #n
|
|
||||||
mcp1_c.sender.frequency = 20 #f
|
|
||||||
mcp1_c.writeHistory = false #b
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
mcp1_m.sender.ip = 192.168.5.13 #i
|
|
||||||
mcp1_m.sender.port = 4014 #n
|
|
||||||
mcp1_m.sender.frequency = 20 #f
|
|
||||||
mcp1_m.writeHistory = false #b
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
mcp1_i.receiver.ip = 192.168.5.36 #i
|
|
||||||
mcp1_i.receiver.port = 4016 #n
|
|
||||||
mcp1_i.sender.ip = 192.168.5.13 #i
|
|
||||||
mcp1_i.sender.port = 4015 #n
|
|
||||||
mcp1_i.writeHistory = false #b
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
mcp2.receiver.ip = 192.168.6.36 #i
|
|
||||||
mcp2.receiver.port = 4014 #n
|
|
||||||
mcp2.receiver.frequency = 20 #f
|
|
||||||
mcp2.sender.ip = 192.168.6.133 #i
|
|
||||||
mcp2.sender.port = 4015 #n
|
|
||||||
mcp2.sender.frequency = 20 #f
|
|
||||||
mcp2.writeHistory = false #b
|
|
||||||
|
|
||||||
# RS
|
|
||||||
#slk.receiver.ip = 192.168.0.190 #i
|
|
||||||
slk.receiver.ip = 192.168.6.36 #i
|
|
||||||
slk.receiver.port = 3108 #n
|
|
||||||
slk.receiver.frequency = 10 #f
|
|
||||||
#slk.sender.ip = 192.168.0.175 #i
|
|
||||||
slk.sender.ip = 192.168.6.133 #i
|
|
||||||
slk.sender.port = 3109 #n
|
|
||||||
slk.sender.frequency = 10 #f
|
|
||||||
slk.disconnectTimeout = 1.5 #f
|
|
||||||
slk.writeHistory = false #b
|
|
||||||
|
|
||||||
# RS
|
|
||||||
#ts.receiver.device = /dev/ttyS0
|
|
||||||
#ts.receiver.speed = 57600
|
|
||||||
#ts.receiver.parity = false
|
|
||||||
#ts.receiver.twoStopBits = false
|
|
||||||
ts.receiver.ip = 192.168.0.190 #i
|
|
||||||
ts.receiver.port = 4023 #n
|
|
||||||
ts.receiver.frequency = 23 #f
|
|
||||||
ts.sender.ip = 192.168.0.175 #i
|
|
||||||
ts.sender.port = 4023 #n
|
|
||||||
#ts.sender.frequency = 23
|
|
||||||
ts_mcp1.receiver.ip = 192.168.0.190 #i
|
|
||||||
ts_mcp1.receiver.port = 4022 #n
|
|
||||||
ts_mcp1.sender.ip = 192.168.0.175 #i
|
|
||||||
ts_mcp1.sender.port = 4022 #n
|
|
||||||
ts.writeHistory = false #b
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
mv2.receiver.ip = 192.168.150.1 #i
|
|
||||||
mv2.receiver.port = 3003 #n
|
|
||||||
mv2.receiver.frequency = 20 #f
|
|
||||||
mv2.sender.ip = 192.168.150.16 #i
|
|
||||||
mv2.sender.port = 3003 #n
|
|
||||||
mv2.sender.frequency = 20 #f
|
|
||||||
mv2.writeHistory = false #b
|
|
||||||
mv2.historyID = 43079 #n
|
|
||||||
|
|
||||||
#RS422
|
|
||||||
mv2_res.device = /dev/ttyMI0 #s
|
|
||||||
mv2_res.speed = 115200 #n
|
|
||||||
mv2_res.frequency = 10 #f
|
|
||||||
mv2_res.twoStopBits = false #b
|
|
||||||
mv2_res.parity = false #b
|
|
||||||
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
ki.mcp1.receiver.ip = 192.168.5.36 #i
|
|
||||||
ki.mcp1.receiver.port = 4102 #n
|
|
||||||
ki.mcp1.sender.ip = 192.168.5.13 #i
|
|
||||||
ki.mcp1.sender.port = 4101 #n
|
|
||||||
ki.mv2.receiver.ip = 192.168.150.1 #i
|
|
||||||
ki.mv2.receiver.port = 4104 #n
|
|
||||||
ki.mv2.sender.ip = 192.168.150.16 #i
|
|
||||||
ki.mv2.sender.port = 4103 #n
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
kpi_mcp1.receiver.ip = 192.168.5.36 #i
|
|
||||||
kpi_mcp1.receiver.port = 4204 #n
|
|
||||||
kpi_mcp1.sender.ip = 192.168.5.13 #i
|
|
||||||
kpi_mcp1.sender.port = 4203 #n
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
kpi_mcp2.receiver.ip = 192.168.6.36 #i
|
|
||||||
kpi_mcp2.receiver.port = 4206 #n
|
|
||||||
kpi_mcp2.sender.ip = 192.168.6.133 #i
|
|
||||||
kpi_mcp2.sender.port = 4205 #n
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
#rud.receiver.ip = 192.168.5.36 #i
|
|
||||||
rud.receiver.ip = 192.168.6.36 #i
|
|
||||||
rud.receiver.port = 4050 #n
|
|
||||||
rud.receiver.frequency = 20 #f
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
vpu.ip = 127.0.0.1 #i
|
|
||||||
vpu.receiver.port = 6001 #n
|
|
||||||
vpu.sender.port = 6000 #n
|
|
||||||
vpu.frequency = 20 #f
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
#kku.receiver.ip = 192.168.6.36 #i
|
|
||||||
kku.receiver.ip = 192.168.5.36 #i
|
|
||||||
kku.receiver.port = 5011 #n
|
|
||||||
kku.receiver.frequency = 20 #f
|
|
||||||
#kku.sender.ip = 192.168.6.133 #i
|
|
||||||
kku.sender.ip = 192.168.5.133 #i
|
|
||||||
kku.sender.port = 5010 #n
|
|
||||||
kku.sender.frequency = 20 #f
|
|
||||||
|
|
||||||
# ???
|
|
||||||
sep.receiver.ip = 192.168.150.1 #i
|
|
||||||
sep.receiver.port = 4031 #n
|
|
||||||
sep.receiver.frequency = 4 #f
|
|
||||||
sep.sender.ip = 192.168.150.16 #i
|
|
||||||
sep.sender.port = 4030 #n
|
|
||||||
#sep.sender.frequency = 4 #f
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
108ua.receiver.ip = 192.168.5.36 #i
|
|
||||||
108ua.receiver.port = 2002 #n
|
|
||||||
108ua.receiver.frequency = 10 #f
|
|
||||||
108ua.sender.ip = 192.168.5.36 #i
|
|
||||||
108ua.sender.port = 2011 #n
|
|
||||||
108ua.sender.frequency = 10 #f
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
108ua_r.receiver.ip = 192.168.6.36 #i
|
|
||||||
108ua_r.receiver.port = 2002 #n
|
|
||||||
108ua_r.receiver.frequency = 10 #f
|
|
||||||
108ua_r.sender.ip = 192.168.6.2 #i
|
|
||||||
108ua_r.sender.port = 2011 #n
|
|
||||||
108ua_r.sender.frequency = 10 #f
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
vpu_driver.ip = 127.0.0.1 #i
|
|
||||||
vpu_driver.receiver.port = 6000 #n
|
|
||||||
vpu_driver.sender.port = 6001 #n
|
|
||||||
vpu_driver.frequency = 20 #f
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
tvk.mv2.receiver.ip = 192.168.150.1 #i
|
|
||||||
tvk.mv2.receiver.port = 4024 #n
|
|
||||||
tvk.mv2.sender.ip = 192.168.150.16 #i
|
|
||||||
tvk.mv2.sender.port = 4024 #n
|
|
||||||
tvk.mcp2.receiver.ip = 192.168.6.36 #i
|
|
||||||
tvk.mcp2.receiver.port = 4024 #n
|
|
||||||
tvk.mcp2.sender.ip = 192.168.6.133 #i
|
|
||||||
tvk.mcp2.sender.port = 4024 #n
|
|
||||||
|
|
||||||
#Eth
|
|
||||||
bpd.receiver.ip = 127.0.0.1 #i
|
|
||||||
bpd.receiver.port = 2012 #n
|
|
||||||
bpd.sender.ip = 127.0.0.1 #i
|
|
||||||
bpd.sender.port = 2013 #n
|
|
||||||
|
|
||||||
# Eth
|
|
||||||
astd.receiver.ip = 192.168.5.36 #i
|
|
||||||
astd.receiver.port = 5298 #n
|
|
||||||
astd.sender.ip = 192.168.5.2 #i
|
|
||||||
astd.sender.port = 1101 #n
|
|
||||||
astd.frequency = 1 #f
|
|
||||||
astd.writeHistory = false #b
|
|
||||||
Reference in New Issue
Block a user