aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBarattero Laurent <laurent@larueluberlu.net>2014-01-21 04:02:33 +0100
committerBarattero Laurent <laurent@larueluberlu.net>2014-01-21 04:02:33 +0100
commit98f60a7659f12e0474ecd3fed0632a059fb4133f (patch)
tree8f10736fec6777df15b70230489429d45978cd0f /src
parent6ed6128396063cc4d1676d41fb63517eb29162e4 (diff)
update to version 0.3.0
adds improved driver support for linux
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am5
-rw-r--r--src/Makefile.in25
-rw-r--r--src/buffer.cpp2
-rw-r--r--src/buffer.hpp2
-rw-r--r--src/buffermanager.cpp2
-rw-r--r--src/buffermanager.hpp2
-rw-r--r--src/define_ultimate_fct.h2
-rw-r--r--src/global.hpp2
-rw-r--r--src/gloseq.cpp2
-rw-r--r--src/gloseq.hpp2
-rw-r--r--src/main.cpp23
-rw-r--r--src/main.hpp2
-rw-r--r--src/optmanager.cpp23
-rw-r--r--src/optmanager.hpp10
-rw-r--r--src/regboost.cpp6
-rw-r--r--src/regboost.hpp2
-rw-r--r--src/reglinux.cpp2
-rw-r--r--src/reglinux.hpp2
-rw-r--r--src/rules.cpp2
-rw-r--r--src/rules.hpp2
-rw-r--r--src/ruleserror.hpp2
-rw-r--r--src/serialboost.cpp22
-rw-r--r--src/serialboost.hpp2
-rw-r--r--src/seriallinux.cpp2
-rw-r--r--src/seriallinux.hpp2
-rw-r--r--src/serialprop.cpp2
-rw-r--r--src/serialprop.hpp2
-rw-r--r--src/symlink.cpp118
-rw-r--r--src/symlink.hpp48
-rw-r--r--src/ultimate.cpp2
-rw-r--r--src/ultimate.hpp2
31 files changed, 274 insertions, 50 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index bf11705..26da352 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -11,8 +11,7 @@ ext_src += seriallinux.cpp
#echo have not boost
endif
-aeroup_SOURCES = \
- main.cpp \
+aeroup_SOURCES = main.cpp \
ultimate.cpp \
serialprop.cpp \
optmanager.cpp \
@@ -20,9 +19,11 @@ aeroup_SOURCES = \
buffer.cpp \
buffermanager.cpp \
rules.cpp \
+ symlink.cpp \
${ext_src}
aeroup_CPPFLAGS = -W -Wall -std=c++11
aeroup_LDFLAGS =
#LIBS +=
#-DSERIAL_BOOST_LIB
+
diff --git a/src/Makefile.in b/src/Makefile.in
index 25f19e1..51fb0db 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -95,8 +95,8 @@ am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am__aeroup_SOURCES_DIST = main.cpp ultimate.cpp serialprop.cpp \
optmanager.cpp gloseq.cpp buffer.cpp buffermanager.cpp \
- rules.cpp serialboost.cpp regboost.cpp reglinux.cpp \
- seriallinux.cpp
+ rules.cpp symlink.cpp serialboost.cpp regboost.cpp \
+ reglinux.cpp seriallinux.cpp
@BOOST_TRUE@am__objects_1 = aeroup-serialboost.$(OBJEXT) \
@BOOST_TRUE@ aeroup-regboost.$(OBJEXT)
@BOOST_FALSE@am__objects_2 = aeroup-reglinux.$(OBJEXT) \
@@ -106,7 +106,7 @@ am_aeroup_OBJECTS = aeroup-main.$(OBJEXT) aeroup-ultimate.$(OBJEXT) \
aeroup-serialprop.$(OBJEXT) aeroup-optmanager.$(OBJEXT) \
aeroup-gloseq.$(OBJEXT) aeroup-buffer.$(OBJEXT) \
aeroup-buffermanager.$(OBJEXT) aeroup-rules.$(OBJEXT) \
- $(am__objects_3)
+ aeroup-symlink.$(OBJEXT) $(am__objects_3)
aeroup_OBJECTS = $(am_aeroup_OBJECTS)
aeroup_LDADD = $(LDADD)
aeroup_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(aeroup_LDFLAGS) \
@@ -268,8 +268,7 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ext_src = $(am__append_1) $(am__append_2)
#echo have not boost
-aeroup_SOURCES = \
- main.cpp \
+aeroup_SOURCES = main.cpp \
ultimate.cpp \
serialprop.cpp \
optmanager.cpp \
@@ -277,6 +276,7 @@ aeroup_SOURCES = \
buffer.cpp \
buffermanager.cpp \
rules.cpp \
+ symlink.cpp \
${ext_src}
aeroup_CPPFLAGS = -W -Wall -std=c++11
@@ -395,6 +395,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aeroup-serialboost.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aeroup-seriallinux.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aeroup-serialprop.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aeroup-symlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aeroup-ultimate.Po@am__quote@
.cpp.o:
@@ -523,6 +524,20 @@ aeroup-rules.obj: rules.cpp
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(aeroup_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o aeroup-rules.obj `if test -f 'rules.cpp'; then $(CYGPATH_W) 'rules.cpp'; else $(CYGPATH_W) '$(srcdir)/rules.cpp'; fi`
+aeroup-symlink.o: symlink.cpp
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(aeroup_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT aeroup-symlink.o -MD -MP -MF $(DEPDIR)/aeroup-symlink.Tpo -c -o aeroup-symlink.o `test -f 'symlink.cpp' || echo '$(srcdir)/'`symlink.cpp
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/aeroup-symlink.Tpo $(DEPDIR)/aeroup-symlink.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='symlink.cpp' object='aeroup-symlink.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(aeroup_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o aeroup-symlink.o `test -f 'symlink.cpp' || echo '$(srcdir)/'`symlink.cpp
+
+aeroup-symlink.obj: symlink.cpp
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(aeroup_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT aeroup-symlink.obj -MD -MP -MF $(DEPDIR)/aeroup-symlink.Tpo -c -o aeroup-symlink.obj `if test -f 'symlink.cpp'; then $(CYGPATH_W) 'symlink.cpp'; else $(CYGPATH_W) '$(srcdir)/symlink.cpp'; fi`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/aeroup-symlink.Tpo $(DEPDIR)/aeroup-symlink.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='symlink.cpp' object='aeroup-symlink.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(aeroup_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o aeroup-symlink.obj `if test -f 'symlink.cpp'; then $(CYGPATH_W) 'symlink.cpp'; else $(CYGPATH_W) '$(srcdir)/symlink.cpp'; fi`
+
aeroup-serialboost.o: serialboost.cpp
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(aeroup_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT aeroup-serialboost.o -MD -MP -MF $(DEPDIR)/aeroup-serialboost.Tpo -c -o aeroup-serialboost.o `test -f 'serialboost.cpp' || echo '$(srcdir)/'`serialboost.cpp
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/aeroup-serialboost.Tpo $(DEPDIR)/aeroup-serialboost.Po
diff --git a/src/buffer.cpp b/src/buffer.cpp
index 9c0ffec..d342c30 100644
--- a/src/buffer.cpp
+++ b/src/buffer.cpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 28/12/2013 07:06:20
* Revision: none
* Compiler: gcc
diff --git a/src/buffer.hpp b/src/buffer.hpp
index eae7080..538dfce 100644
--- a/src/buffer.hpp
+++ b/src/buffer.hpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 28/12/2013 07:01:58
* Revision: none
* Compiler: gcc
diff --git a/src/buffermanager.cpp b/src/buffermanager.cpp
index 72ae576..46d412f 100644
--- a/src/buffermanager.cpp
+++ b/src/buffermanager.cpp
@@ -22,7 +22,7 @@
* Description: take the parsed, tokenized lines and manage them.
* send also some rules test
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 30/12/2013 12:12:46
* Revision: none
* Compiler: gcc
diff --git a/src/buffermanager.hpp b/src/buffermanager.hpp
index 0b14781..2042329 100644
--- a/src/buffermanager.hpp
+++ b/src/buffermanager.hpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 30/12/2013 12:07:43
* Revision: none
* Compiler: gcc
diff --git a/src/define_ultimate_fct.h b/src/define_ultimate_fct.h
index 36fe030..85450ba 100644
--- a/src/define_ultimate_fct.h
+++ b/src/define_ultimate_fct.h
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 30/12/2013 12:50:40
* Revision: none
* Compiler: gcc
diff --git a/src/global.hpp b/src/global.hpp
index be20d98..da114c1 100644
--- a/src/global.hpp
+++ b/src/global.hpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 20/12/2013 00:09:35
* Revision: none
* Compiler: gcc
diff --git a/src/gloseq.cpp b/src/gloseq.cpp
index 370b522..7bdf70a 100644
--- a/src/gloseq.cpp
+++ b/src/gloseq.cpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 27/12/2013 10:38:49
* Revision: none
* Compiler: gcc
diff --git a/src/gloseq.hpp b/src/gloseq.hpp
index 3487f6b..83d80d0 100644
--- a/src/gloseq.hpp
+++ b/src/gloseq.hpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 27/12/2013 10:40:44
* Revision: none
* Compiler: gcc
diff --git a/src/main.cpp b/src/main.cpp
index 920a89b..68d919f 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -23,7 +23,7 @@
* lib getopt needed this is for unix users
*
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 20/12/2013 00:57:44
* Revision: none
* Compiler: gcc
@@ -80,6 +80,7 @@ main ( int argc, char *argv[] )
{"verify", required_argument, NULL, 'i'},
{"uploadGlo", required_argument, NULL, 'u'},
{"uploadGloc", no_argument, NULL, 'U'},
+ {"symlink", no_argument, NULL, 'k'},
{"verbose", no_argument, NULL, 'v'},
{"thread", no_argument, NULL, 1 },
{"version", no_argument, &version, 1 },
@@ -88,7 +89,7 @@ main ( int argc, char *argv[] )
};
/* getopt_long stores the option index here. */
int option_index = 0;
- c = getopt_long (argc, argv, "o:t:c:G:S:u:U:i:vh",
+ c = getopt_long (argc, argv, "o:t:c:G:S:u:U:k:i:vh",
long_options, &option_index);
/* Detect the end of the options. */
@@ -145,6 +146,10 @@ main ( int argc, char *argv[] )
manager.subRoutine(FLAG_UP_GLOC);
break;
+ case 'k':
+ manager.addItemSymlink(optarg);
+ break;
+
case 'v':
VERBOSE_AERO = true;
break;
@@ -196,6 +201,12 @@ main ( int argc, char *argv[] )
{
return(EXIT_FAILURE);
}
+ catch( Symlink::Bad_Symlink )
+ {
+ cerr << "Error : Bad Symlink input\n"
+ << "'$man aeroup' section 'Improved management driver' may be help you\n";
+ return(EXIT_FAILURE);
+ }
catch(...)
{
//return(EXIT_FAILURE);
@@ -221,14 +232,16 @@ aeroHelp()
<< " -c, --color=R,G,B,serialPort Send a color command on dev serialPort.\n"
<< " R,G,B can be hex (0x#), dec (#) value,\n"
<< " in range of [0-255] (8bit).\n"
- << " -G, --getSerial=serialPort get serial number on dev serialPort, and print it to standard output.\n"
+ << " -G, --getSerial=serialPort Get serial number on dev serialPort, and print it to standard output.\n"
<< " -S, --setSerial=serialNumber,serialPort Set serialNumber on dev serialPort. the 32 bits serialNumber value\n"
<< " can be writen in hex (0x#) or dec (#).\n"
<< " -i, --verify=gloFile Verify that syntax glo file is valid.\n"
- << " -u, --uploadGloc=gloFile,serialPort Verify that syntax glo file is valid, and if this is the case\n"
+ << " -k --symlink Return the serial name used as symlink of kernel name by udev.\n"
+ << " More info in the AeroUp man.\n"
+ << " -u, --uploadGloc=gloFile,serialPort Verify that syntax glo file is valid, and if this is the case,\n"
<< " upload it on dev serialPort.\n"
<< " -P, --thread Multithread mode, not implemented yet...\n"
- << " -U, --uploadGloc=glocFile,serialPort not implemented yet...\n"
+ << " -U, --uploadGloc=glocFile,serialPort Not implemented yet...\n"
<< " -v Verbose mode.\n"
<< " -h, --help Print help.\n"
<< " --version Print version.\n\n"
diff --git a/src/main.hpp b/src/main.hpp
index d66dfff..351cd10 100644
--- a/src/main.hpp
+++ b/src/main.hpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 21/12/2013 03:56:20
* Revision: none
* Compiler: gcc
diff --git a/src/optmanager.cpp b/src/optmanager.cpp
index 9ea843f..6a82787 100644
--- a/src/optmanager.cpp
+++ b/src/optmanager.cpp
@@ -27,7 +27,7 @@
* for the time being, the value is set to max.
* we could test string before conversion.
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 23/12/2013 23:31:46
* Revision: none
* Compiler: gcc
@@ -112,6 +112,13 @@ OptManager::start()
sendGetSerial(*iter);
}
+ // Symlink
+ for (vector<string>::iterator iter = symlinkList.begin();
+ iter != symlinkList.end(); ++iter)
+ {
+ sendSymlink(*iter);
+ }
+
// Set serial number
for (vector<optSerial>::iterator iter = setSerialList.begin();
iter != setSerialList.end(); ++iter)
@@ -179,6 +186,20 @@ OptManager::sendGetSerial( std::string port_name)
}
/*
+ * Method: OptManager :: sendSymlink
+ */
+ void
+OptManager::sendSymlink( std::string port_name)
+{
+ string sym_out;
+ Ultimate prop(port_name);
+ string serial_number = prop.getSerial();
+ sym_out = Symlink::getSym(serial_number);
+ cout << sym_out << endl;
+
+
+}
+/*
* Method: OptManager :: sendSetSerial
*/
void
diff --git a/src/optmanager.hpp b/src/optmanager.hpp
index 3252a91..2b89933 100644
--- a/src/optmanager.hpp
+++ b/src/optmanager.hpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 23/12/2013 22:59:22
* Revision: none
* Compiler: gcc
@@ -39,9 +39,11 @@
#include <getopt.h>
#include <string>
#include <vector>
+
#include "global.hpp"
#include "ultimate.hpp"
#include "gloInterface.hpp"
+#include "symlink.hpp"
#define MAX_LEN_OPT 2
@@ -50,6 +52,7 @@
#define FLAG_UP_GLOC 0x4
#define FLAG_COLOR 0x8
#define FLAG_VERIFY 0x10
+#define FLAG_SYMLINK 0x20
/*
* Class: OptManager
@@ -74,6 +77,9 @@ class OptManager
void addItemVerify(std::string glo_file)
{verifyList.push_back(glo_file);}
+ void addItemSymlink(std::string port_name)
+ {symlinkList.push_back(port_name);}
+
void subRoutine(const short int FLAG);
private:
@@ -82,6 +88,7 @@ class OptManager
void sendStart(std::string port_name);
void sendColor(uint8_t red, uint8_t green, uint8_t blue, std::string port_name);
void sendGetSerial(std::string port_name);
+ void sendSymlink(std::string port_name);
void sendSetSerial(uint32_t i_serialNumber, std::string port);
void sendVerify(std::string fileName);
void sendUpGlo(std::string fileName, std::string port);
@@ -134,6 +141,7 @@ class OptManager
std::vector<std::string> verifyList;
std::vector<optSerial> setSerialList;
std::vector<std::string> getSerialList;
+ std::vector<std::string> symlinkList;
// end of Structures and variables for opts containers
}; /* ----- end of class OptManager ----- */
diff --git a/src/regboost.cpp b/src/regboost.cpp
index bf3cf87..453bf08 100644
--- a/src/regboost.cpp
+++ b/src/regboost.cpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 19/12/2013 05:22:37
* Revision: none
* Compiler: gcc
@@ -34,7 +34,7 @@
using namespace std;
-using namespace boost;
+//using namespace boost;
RegBoost::RegBoost ( )
{
@@ -47,7 +47,7 @@ RegBoost::isValidSyntax ( string &rline )
{
for (int i = 0; i < REG_TAB_LEN; i++)
{
- if ( regex_match(rline.begin(), rline.end(), reg_tab[i]) )
+ if ( boost::regex_match(rline.begin(), rline.end(), reg_tab[i]) )
{
#ifdef DEBUG
cout << rline << " -> ok" << endl;
diff --git a/src/regboost.hpp b/src/regboost.hpp
index 956be25..3fe5c80 100644
--- a/src/regboost.hpp
+++ b/src/regboost.hpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 19/12/2013 05:23:16
* Revision: none
* Compiler: gcc
diff --git a/src/reglinux.cpp b/src/reglinux.cpp
index 854d1b4..60d3f20 100644
--- a/src/reglinux.cpp
+++ b/src/reglinux.cpp
@@ -21,7 +21,7 @@
*
* Description: Regex lib (linux version)
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 18/01/2014 01:16:04
* Revision: none
* Compiler: gcc
diff --git a/src/reglinux.hpp b/src/reglinux.hpp
index 16ffd43..742adcc 100644
--- a/src/reglinux.hpp
+++ b/src/reglinux.hpp
@@ -21,7 +21,7 @@
*
* Description: Regex lib (linux version)
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 18/01/2014 01:16:31
* Revision: none
* Compiler: gcc
diff --git a/src/rules.cpp b/src/rules.cpp
index 741a2cd..c209fba 100644
--- a/src/rules.cpp
+++ b/src/rules.cpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 31/12/2013 18:33:14
* Revision: none
* Compiler: gcc
diff --git a/src/rules.hpp b/src/rules.hpp
index a658fce..3c7c7e8 100644
--- a/src/rules.hpp
+++ b/src/rules.hpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 31/12/2013 18:32:35
* Revision: none
* Compiler: gcc
diff --git a/src/ruleserror.hpp b/src/ruleserror.hpp
index d84192d..3bf3d56 100644
--- a/src/ruleserror.hpp
+++ b/src/ruleserror.hpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 06/01/2014 10:04:32
* Revision: none
* Compiler: gcc
diff --git a/src/serialboost.cpp b/src/serialboost.cpp
index 821fed8..bd55630 100644
--- a/src/serialboost.cpp
+++ b/src/serialboost.cpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 20/12/2013 00:06:15
* Revision: none
* Compiler: gcc
@@ -32,7 +32,7 @@
#include <serialboost.hpp>
using namespace std;
-using namespace boost;
+//using namespace boost;
/*
@@ -53,7 +53,7 @@ SerialBoost::SerialBoost ( std::string port_name ):
throw;
}
- typedef asio::serial_port_base asio_serial;
+ typedef boost::asio::serial_port_base asio_serial;
port.set_option(asio_serial::baud_rate(19200));
port.set_option(asio_serial::flow_control(asio_serial::flow_control::none));
port.set_option(asio_serial::parity( asio_serial::parity::none));
@@ -88,7 +88,7 @@ SerialBoost::~SerialBoost ( )
void
SerialBoost::sendChar(char c)
{
- port.write_some(asio::buffer(&c, 1));
+ port.write_some(boost::asio::buffer(&c, 1));
}
/*
@@ -100,7 +100,7 @@ SerialBoost::sendChar(char c)
void
SerialBoost::sendChar(unsigned char c)
{
- port.write_some(asio::buffer(&c, 1));
+ port.write_some(boost::asio::buffer(&c, 1));
}
@@ -117,7 +117,7 @@ SerialBoost::sendChar(unsigned char c)
void
SerialBoost::sendString(char* s, int nb_char)
{
- port.write_some(asio::buffer(s, nb_char));
+ port.write_some(boost::asio::buffer(s, nb_char));
}
/*
@@ -129,7 +129,7 @@ SerialBoost::sendString(char* s, int nb_char)
void
SerialBoost::sendString(unsigned char* s, int nb_char)
{
- port.write_some(asio::buffer(s, nb_char));
+ port.write_some(boost::asio::buffer(s, nb_char));
}
/*
@@ -141,7 +141,7 @@ SerialBoost::sendString(unsigned char* s, int nb_char)
void
SerialBoost::sendString(const char* s, int nb_char)
{
- port.write_some(asio::buffer(s, nb_char));
+ port.write_some(boost::asio::buffer(s, nb_char));
}
/*
@@ -153,7 +153,7 @@ SerialBoost::sendString(const char* s, int nb_char)
void
SerialBoost::sendString(string s)
{
- port.write_some(asio::buffer(s.c_str(),s.size()));
+ port.write_some(boost::asio::buffer(s.c_str(),s.size()));
}
/**
@@ -173,7 +173,7 @@ SerialBoost::readLine()
string result;
for(;;)
{
- asio::read(port, asio::buffer(&c,1));
+ boost::asio::read(port, boost::asio::buffer(&c,1));
switch(c)
{
case '\r':
@@ -194,7 +194,7 @@ SerialBoost::readLine()
*/
void SerialBoost::getString(char* s, int nb_char)
{
- asio::read(port, asio::buffer(s, nb_char));
+ boost::asio::read(port, boost::asio::buffer(s, nb_char));
}
diff --git a/src/serialboost.hpp b/src/serialboost.hpp
index 0b5dd9d..18aa1a6 100644
--- a/src/serialboost.hpp
+++ b/src/serialboost.hpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 20/12/2013 00:06:28
* Revision: none
* Compiler: gcc
diff --git a/src/seriallinux.cpp b/src/seriallinux.cpp
index 27ba784..9d20618 100644
--- a/src/seriallinux.cpp
+++ b/src/seriallinux.cpp
@@ -22,7 +22,7 @@
* Description: Serial lib linux (termios version)
* used if haven't boost
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 17/01/2014 03:31:32
* Revision: none
* Compiler: gcc
diff --git a/src/seriallinux.hpp b/src/seriallinux.hpp
index 82b7475..b515725 100644
--- a/src/seriallinux.hpp
+++ b/src/seriallinux.hpp
@@ -22,7 +22,7 @@
* Description: Serial lib linux (termios version)
* used if haven't boost
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 17/01/2014 03:31:35
* Revision: none
* Compiler: gcc
diff --git a/src/serialprop.cpp b/src/serialprop.cpp
index 309a75c..bbcef9a 100644
--- a/src/serialprop.cpp
+++ b/src/serialprop.cpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 21/12/2013 01:39:53
* Revision: none
* Compiler: gcc
diff --git a/src/serialprop.hpp b/src/serialprop.hpp
index d335c46..a78a0b2 100644
--- a/src/serialprop.hpp
+++ b/src/serialprop.hpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 19/12/2013 23:25:14
* Revision: none
* Compiler: gcc
diff --git a/src/symlink.cpp b/src/symlink.cpp
new file mode 100644
index 0000000..2d1216a
--- /dev/null
+++ b/src/symlink.cpp
@@ -0,0 +1,118 @@
+/*
+ * Filename: Symlink.cpp
+ *
+ * Description: Return a beautiful Symlink for udev
+ *
+ * Version: 0.3.0.1
+ * Created: 19/01/2014 14:51:05
+ * Revision: none
+ * Compiler: gcc
+ *
+ * Author: BARATTERO Laurent, laurentba<at>larueluberlu.net
+ * Organization: La rue Luberlu
+ */
+
+#include "symlink.hpp"
+
+static uint32_t serialNumber;
+static uint8_t id_prob;
+static uint8_t num;
+static std::stringstream ss;
+
+const uint8_t BALL = 0x62; // 'b'
+const uint8_t STAFF = 0x73; // 's'
+const uint8_t CLUB = 0x63; // 'c'
+const uint8_t POI = 0x70; // 'p'
+const uint32_t PROB_MASK = 0x0000ff00;
+const uint32_t NUM_MASK = 0x000000ff;
+
+ /*
+ * Name: Symlink::getSym
+ * Description: return Symlink
+ */
+ std::string
+Symlink::getSym(std::string serial_str)
+{
+ /* test entry */
+ if(EOF == sscanf(serial_str.c_str(), "%d", &serialNumber))
+ {
+ throw Symlink::Bad_Symlink();
+ }
+ //if (serialNumber > 0xffffffff)
+ if (serialNumber > 0x0)
+ {
+ throw Symlink::Bad_Symlink();
+ }
+
+ ss << std::hex << serial_str ;
+ ss >> serialNumber;
+
+ // comment
+ //std::cout << serial_str;
+ //std::cout << serialNumber;
+
+ if((serialNumber & 0xffff0000) != 0)
+ Symlink::badSerNum();
+
+ id_prob = ((PROB_MASK & serialNumber) >> 8 );
+ num = (NUM_MASK & serialNumber);
+
+
+ ss << num;
+ std::string x;
+ ss >> x;
+ std::cout << x;
+
+ // now we use serial_str for output
+ serial_str = Symlink::whatProp(id_prob);
+ serial_str += std::to_string(num);
+
+ //std::cout << serial_str;
+
+ return serial_str;
+}
+
+
+ /*
+ * Name: Symlink::whatProp
+ * Description: send error ( for future)
+ */
+ void
+Symlink::badSerNum()
+{
+ throw Symlink::Bad_Symlink();
+
+}
+
+
+ /*
+ * Name: Symlink::whatProp
+ * Description: addr to symlink
+ */
+ std::string
+Symlink::whatProp(uint8_t id)
+{
+ switch (id)
+ {
+ case BALL:
+ return "Ball";
+ break;
+
+ case STAFF:
+ return "Staff";
+ break;
+
+ case CLUB:
+ return "Club";
+ break;
+
+ case POI:
+ return "Poi";
+ break;
+
+ default:
+ //UdevLink::badSerNum();
+ return "AeroProb";
+ break;
+ } /* ----- end switch ----- */
+}
diff --git a/src/symlink.hpp b/src/symlink.hpp
new file mode 100644
index 0000000..6bfe035
--- /dev/null
+++ b/src/symlink.hpp
@@ -0,0 +1,48 @@
+/*
+ * Filename: Symlink.hpp
+ *
+ * Description: Return a beautiful Symlink for udev
+ *
+ * Version: 0.3.0.1
+ * Created: 19/01/2014 14:51:08
+ * Revision: none
+ * Compiler: gcc
+ *
+ * Author: BARATTERO Laurent, laurentba<at>larueluberlu.net
+ * Organization: La rue Luberlu
+ */
+
+#ifndef Symlink_INC
+#define Symlink_INC
+
+#include <stdlib.h>
+#include <string>
+#include <exception>
+#include <sstream>
+#include <unistd.h>
+#include <iostream>
+
+/*
+ * Name: Symlink
+ * Description: Symlink declaration
+ */
+namespace Symlink
+{
+// extern uint16_t BALL;
+// extern uint16_t STAFF;
+// extern uint16_t CLUB;
+// extern uint16_t POI;
+
+
+
+// const uint32_t PROB_MASK;
+// const uint32_t NUM_MASK;
+
+ std::string getSym(std::string serial_str);
+ std::string whatProp(uint8_t id);
+ void badSerNum();
+
+ class Bad_Symlink{};
+}
+
+#endif /* ----- #ifndef symlink_INC ----- */
diff --git a/src/ultimate.cpp b/src/ultimate.cpp
index 63df51e..0293ea2 100644
--- a/src/ultimate.cpp
+++ b/src/ultimate.cpp
@@ -21,7 +21,7 @@
*
* Description: Interface for Ultimate props
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 19/12/2013 20:28:22
* Revision: none
* Compiler: gcc
diff --git a/src/ultimate.hpp b/src/ultimate.hpp
index 355bd14..77c5055 100644
--- a/src/ultimate.hpp
+++ b/src/ultimate.hpp
@@ -21,7 +21,7 @@
*
* Description:
*
- * Version: 0.2
+ * Version: 0.3.0.1
* Created: 19/12/2013 20:28:34
* Revision: none
* Compiler: gcc