Code stable, serveur included in binary
This commit is contained in:
parent
2451177ccd
commit
0cdea959df
18 changed files with 1117 additions and 10 deletions
|
@ -1,6 +1,7 @@
|
|||
bin/
|
||||
build/
|
||||
CMakeFiles/
|
||||
dist/
|
||||
|
||||
.dep.inc
|
||||
Makefile
|
||||
|
|
2
software/raspberry/superviseur-robot/superviseur/gdbsudo.sh
Executable file
2
software/raspberry/superviseur-robot/superviseur/gdbsudo.sh
Executable file
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
pkexec /usr/bin/gdb $*
|
|
@ -0,0 +1,119 @@
|
|||
#
|
||||
# Generated Makefile - do not edit!
|
||||
#
|
||||
# Edit the Makefile in the project folder instead (../Makefile). Each target
|
||||
# has a -pre and a -post target defined where you can add customized code.
|
||||
#
|
||||
# This makefile implements configuration specific macros and targets.
|
||||
|
||||
|
||||
# Environment
|
||||
MKDIR=mkdir
|
||||
CP=cp
|
||||
GREP=grep
|
||||
NM=nm
|
||||
CCADMIN=CCadmin
|
||||
RANLIB=ranlib
|
||||
CC=gcc
|
||||
CCC=g++
|
||||
CXX=g++
|
||||
FC=gfortran
|
||||
AS=as
|
||||
|
||||
# Macros
|
||||
CND_PLATFORM=GNU-Linux
|
||||
CND_DLIB_EXT=so
|
||||
CND_CONF=Debug
|
||||
CND_DISTDIR=dist
|
||||
CND_BUILDDIR=build
|
||||
|
||||
# Include project Makefile
|
||||
include Makefile
|
||||
|
||||
# Object Directory
|
||||
OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||
|
||||
# Object Files
|
||||
OBJECTFILES= \
|
||||
${OBJECTDIR}/_ext/a59f760b/image.o \
|
||||
${OBJECTDIR}/_ext/a59f760b/message.o \
|
||||
${OBJECTDIR}/_ext/a59f760b/monitor.o \
|
||||
${OBJECTDIR}/_ext/a59f760b/robot.o \
|
||||
${OBJECTDIR}/_ext/a59f760b/server.o \
|
||||
${OBJECTDIR}/src/functions.o \
|
||||
${OBJECTDIR}/src/main.o
|
||||
|
||||
|
||||
# C Compiler Flags
|
||||
CFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy
|
||||
|
||||
# CC Compiler Flags
|
||||
CCFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy
|
||||
CXXFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy
|
||||
|
||||
# Fortran Compiler Flags
|
||||
FFLAGS=
|
||||
|
||||
# Assembler Flags
|
||||
ASFLAGS=
|
||||
|
||||
# Link Libraries and Options
|
||||
LDLIBSOPTIONS=`pkg-config --libs opencv`
|
||||
|
||||
# Build Targets
|
||||
.build-conf: ${BUILD_SUBPROJECTS}
|
||||
"${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur
|
||||
|
||||
${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur: ${OBJECTFILES}
|
||||
${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||
${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur ${OBJECTFILES} ${LDLIBSOPTIONS} -Wl,--no-as-needed -lalchemy -lcopperplate /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lmercury -lpthread -lrt
|
||||
|
||||
${OBJECTDIR}/_ext/a59f760b/image.o: ../lib/src/image.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/image.o ../lib/src/image.cpp
|
||||
|
||||
${OBJECTDIR}/_ext/a59f760b/message.o: ../lib/src/message.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/message.o ../lib/src/message.cpp
|
||||
|
||||
${OBJECTDIR}/_ext/a59f760b/monitor.o: ../lib/src/monitor.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/monitor.o ../lib/src/monitor.cpp
|
||||
|
||||
${OBJECTDIR}/_ext/a59f760b/robot.o: ../lib/src/robot.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/robot.o ../lib/src/robot.cpp
|
||||
|
||||
${OBJECTDIR}/_ext/a59f760b/server.o: ../lib/src/server.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/server.o ../lib/src/server.cpp
|
||||
|
||||
${OBJECTDIR}/src/functions.o: src/functions.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}/src
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/functions.o src/functions.cpp
|
||||
|
||||
${OBJECTDIR}/src/main.o: src/main.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}/src
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/main.o src/main.cpp
|
||||
|
||||
# Subprojects
|
||||
.build-subprojects:
|
||||
|
||||
# Clean Targets
|
||||
.clean-conf: ${CLEAN_SUBPROJECTS}
|
||||
${RM} -r ${CND_BUILDDIR}/${CND_CONF}
|
||||
|
||||
# Subprojects
|
||||
.clean-subprojects:
|
||||
|
||||
# Enable dependency checking
|
||||
.dep.inc: .depcheck-impl
|
||||
|
||||
include .dep.inc
|
|
@ -0,0 +1,119 @@
|
|||
#
|
||||
# Generated Makefile - do not edit!
|
||||
#
|
||||
# Edit the Makefile in the project folder instead (../Makefile). Each target
|
||||
# has a -pre and a -post target defined where you can add customized code.
|
||||
#
|
||||
# This makefile implements configuration specific macros and targets.
|
||||
|
||||
|
||||
# Environment
|
||||
MKDIR=mkdir
|
||||
CP=cp
|
||||
GREP=grep
|
||||
NM=nm
|
||||
CCADMIN=CCadmin
|
||||
RANLIB=ranlib
|
||||
CC=gcc
|
||||
CCC=g++
|
||||
CXX=g++
|
||||
FC=gfortran
|
||||
AS=as
|
||||
|
||||
# Macros
|
||||
CND_PLATFORM=GNU-Linux
|
||||
CND_DLIB_EXT=so
|
||||
CND_CONF=Release
|
||||
CND_DISTDIR=dist
|
||||
CND_BUILDDIR=build
|
||||
|
||||
# Include project Makefile
|
||||
include Makefile
|
||||
|
||||
# Object Directory
|
||||
OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||
|
||||
# Object Files
|
||||
OBJECTFILES= \
|
||||
${OBJECTDIR}/_ext/a59f760b/image.o \
|
||||
${OBJECTDIR}/_ext/a59f760b/message.o \
|
||||
${OBJECTDIR}/_ext/a59f760b/monitor.o \
|
||||
${OBJECTDIR}/_ext/a59f760b/robot.o \
|
||||
${OBJECTDIR}/_ext/a59f760b/server.o \
|
||||
${OBJECTDIR}/src/functions.o \
|
||||
${OBJECTDIR}/src/main.o
|
||||
|
||||
|
||||
# C Compiler Flags
|
||||
CFLAGS=
|
||||
|
||||
# CC Compiler Flags
|
||||
CCFLAGS=
|
||||
CXXFLAGS=
|
||||
|
||||
# Fortran Compiler Flags
|
||||
FFLAGS=
|
||||
|
||||
# Assembler Flags
|
||||
ASFLAGS=
|
||||
|
||||
# Link Libraries and Options
|
||||
LDLIBSOPTIONS=
|
||||
|
||||
# Build Targets
|
||||
.build-conf: ${BUILD_SUBPROJECTS}
|
||||
"${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur
|
||||
|
||||
${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur: ${OBJECTFILES}
|
||||
${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||
${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur ${OBJECTFILES} ${LDLIBSOPTIONS}
|
||||
|
||||
${OBJECTDIR}/_ext/a59f760b/image.o: ../lib/src/image.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/image.o ../lib/src/image.cpp
|
||||
|
||||
${OBJECTDIR}/_ext/a59f760b/message.o: ../lib/src/message.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/message.o ../lib/src/message.cpp
|
||||
|
||||
${OBJECTDIR}/_ext/a59f760b/monitor.o: ../lib/src/monitor.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/monitor.o ../lib/src/monitor.cpp
|
||||
|
||||
${OBJECTDIR}/_ext/a59f760b/robot.o: ../lib/src/robot.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/robot.o ../lib/src/robot.cpp
|
||||
|
||||
${OBJECTDIR}/_ext/a59f760b/server.o: ../lib/src/server.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/server.o ../lib/src/server.cpp
|
||||
|
||||
${OBJECTDIR}/src/functions.o: src/functions.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}/src
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/functions.o src/functions.cpp
|
||||
|
||||
${OBJECTDIR}/src/main.o: src/main.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}/src
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/main.o src/main.cpp
|
||||
|
||||
# Subprojects
|
||||
.build-subprojects:
|
||||
|
||||
# Clean Targets
|
||||
.clean-conf: ${CLEAN_SUBPROJECTS}
|
||||
${RM} -r ${CND_BUILDDIR}/${CND_CONF}
|
||||
|
||||
# Subprojects
|
||||
.clean-subprojects:
|
||||
|
||||
# Enable dependency checking
|
||||
.dep.inc: .depcheck-impl
|
||||
|
||||
include .dep.inc
|
|
@ -0,0 +1,133 @@
|
|||
#
|
||||
# Generated Makefile - do not edit!
|
||||
#
|
||||
# Edit the Makefile in the project folder instead (../Makefile). Each target
|
||||
# has a pre- and a post- target defined where you can add customization code.
|
||||
#
|
||||
# This makefile implements macros and targets common to all configurations.
|
||||
#
|
||||
# NOCDDL
|
||||
|
||||
|
||||
# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
|
||||
# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
|
||||
# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
|
||||
# and .clean-reqprojects-conf unless SUB has the value 'no'
|
||||
SUB_no=NO
|
||||
SUBPROJECTS=${SUB_${SUB}}
|
||||
BUILD_SUBPROJECTS_=.build-subprojects
|
||||
BUILD_SUBPROJECTS_NO=
|
||||
BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
|
||||
CLEAN_SUBPROJECTS_=.clean-subprojects
|
||||
CLEAN_SUBPROJECTS_NO=
|
||||
CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
|
||||
|
||||
|
||||
# Project Name
|
||||
PROJECTNAME=superviseur
|
||||
|
||||
# Active Configuration
|
||||
DEFAULTCONF=Debug
|
||||
CONF=${DEFAULTCONF}
|
||||
|
||||
# All Configurations
|
||||
ALLCONFS=Debug Release
|
||||
|
||||
|
||||
# build
|
||||
.build-impl: .build-pre .validate-impl .depcheck-impl
|
||||
@#echo "=> Running $@... Configuration=$(CONF)"
|
||||
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
|
||||
|
||||
|
||||
# clean
|
||||
.clean-impl: .clean-pre .validate-impl .depcheck-impl
|
||||
@#echo "=> Running $@... Configuration=$(CONF)"
|
||||
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
|
||||
|
||||
|
||||
# clobber
|
||||
.clobber-impl: .clobber-pre .depcheck-impl
|
||||
@#echo "=> Running $@..."
|
||||
for CONF in ${ALLCONFS}; \
|
||||
do \
|
||||
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
|
||||
done
|
||||
|
||||
# all
|
||||
.all-impl: .all-pre .depcheck-impl
|
||||
@#echo "=> Running $@..."
|
||||
for CONF in ${ALLCONFS}; \
|
||||
do \
|
||||
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
|
||||
done
|
||||
|
||||
# build tests
|
||||
.build-tests-impl: .build-impl .build-tests-pre
|
||||
@#echo "=> Running $@... Configuration=$(CONF)"
|
||||
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
|
||||
|
||||
# run tests
|
||||
.test-impl: .build-tests-impl .test-pre
|
||||
@#echo "=> Running $@... Configuration=$(CONF)"
|
||||
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
|
||||
|
||||
# dependency checking support
|
||||
.depcheck-impl:
|
||||
@echo "# This code depends on make tool being used" >.dep.inc
|
||||
@if [ -n "${MAKE_VERSION}" ]; then \
|
||||
echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES} \$${TESTOBJECTFILES}))" >>.dep.inc; \
|
||||
echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
|
||||
echo "include \$${DEPFILES}" >>.dep.inc; \
|
||||
echo "endif" >>.dep.inc; \
|
||||
else \
|
||||
echo ".KEEP_STATE:" >>.dep.inc; \
|
||||
echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
|
||||
fi
|
||||
|
||||
# configuration validation
|
||||
.validate-impl:
|
||||
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
|
||||
then \
|
||||
echo ""; \
|
||||
echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
|
||||
echo "See 'make help' for details."; \
|
||||
echo "Current directory: " `pwd`; \
|
||||
echo ""; \
|
||||
fi
|
||||
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
|
||||
then \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
|
||||
# help
|
||||
.help-impl: .help-pre
|
||||
@echo "This makefile supports the following configurations:"
|
||||
@echo " ${ALLCONFS}"
|
||||
@echo ""
|
||||
@echo "and the following targets:"
|
||||
@echo " build (default target)"
|
||||
@echo " clean"
|
||||
@echo " clobber"
|
||||
@echo " all"
|
||||
@echo " help"
|
||||
@echo ""
|
||||
@echo "Makefile Usage:"
|
||||
@echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
|
||||
@echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
|
||||
@echo " make [SUB=no] clobber"
|
||||
@echo " make [SUB=no] all"
|
||||
@echo " make help"
|
||||
@echo ""
|
||||
@echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
|
||||
@echo " also build subprojects."
|
||||
@echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
|
||||
@echo " also clean subprojects."
|
||||
@echo "Target 'clobber' will remove all built files from all configurations and,"
|
||||
@echo " unless 'SUB=no', also from subprojects."
|
||||
@echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
|
||||
@echo " also build subprojects."
|
||||
@echo "Target 'help' prints this message."
|
||||
@echo ""
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
#
|
||||
# Generated - do not edit!
|
||||
#
|
||||
# NOCDDL
|
||||
#
|
||||
CND_BASEDIR=`pwd`
|
||||
CND_BUILDDIR=build
|
||||
CND_DISTDIR=dist
|
||||
# Debug configuration
|
||||
CND_PLATFORM_Debug=GNU-Linux
|
||||
CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux
|
||||
CND_ARTIFACT_NAME_Debug=superviseur
|
||||
CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux/superviseur
|
||||
CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux/package
|
||||
CND_PACKAGE_NAME_Debug=superviseur.tar
|
||||
CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux/package/superviseur.tar
|
||||
# Release configuration
|
||||
CND_PLATFORM_Release=GNU-Linux
|
||||
CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux
|
||||
CND_ARTIFACT_NAME_Release=superviseur
|
||||
CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux/superviseur
|
||||
CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux/package
|
||||
CND_PACKAGE_NAME_Release=superviseur.tar
|
||||
CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux/package/superviseur.tar
|
||||
#
|
||||
# include compiler specific variables
|
||||
#
|
||||
# dmake command
|
||||
ROOT:sh = test -f nbproject/private/Makefile-variables.mk || \
|
||||
(mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk)
|
||||
#
|
||||
# gmake command
|
||||
.PHONY: $(shell test -f nbproject/private/Makefile-variables.mk || (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk))
|
||||
#
|
||||
include nbproject/private/Makefile-variables.mk
|
|
@ -0,0 +1,76 @@
|
|||
#!/bin/bash -x
|
||||
|
||||
#
|
||||
# Generated - do not edit!
|
||||
#
|
||||
|
||||
# Macros
|
||||
TOP=`pwd`
|
||||
CND_PLATFORM=GNU-Linux
|
||||
CND_CONF=Debug
|
||||
CND_DISTDIR=dist
|
||||
CND_BUILDDIR=build
|
||||
CND_DLIB_EXT=so
|
||||
NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
|
||||
TMPDIRNAME=tmp-packaging
|
||||
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur
|
||||
OUTPUT_BASENAME=superviseur
|
||||
PACKAGE_TOP_DIR=superviseur/
|
||||
|
||||
# Functions
|
||||
function checkReturnCode
|
||||
{
|
||||
rc=$?
|
||||
if [ $rc != 0 ]
|
||||
then
|
||||
exit $rc
|
||||
fi
|
||||
}
|
||||
function makeDirectory
|
||||
# $1 directory path
|
||||
# $2 permission (optional)
|
||||
{
|
||||
mkdir -p "$1"
|
||||
checkReturnCode
|
||||
if [ "$2" != "" ]
|
||||
then
|
||||
chmod $2 "$1"
|
||||
checkReturnCode
|
||||
fi
|
||||
}
|
||||
function copyFileToTmpDir
|
||||
# $1 from-file path
|
||||
# $2 to-file path
|
||||
# $3 permission
|
||||
{
|
||||
cp "$1" "$2"
|
||||
checkReturnCode
|
||||
if [ "$3" != "" ]
|
||||
then
|
||||
chmod $3 "$2"
|
||||
checkReturnCode
|
||||
fi
|
||||
}
|
||||
|
||||
# Setup
|
||||
cd "${TOP}"
|
||||
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
|
||||
rm -rf ${NBTMPDIR}
|
||||
mkdir -p ${NBTMPDIR}
|
||||
|
||||
# Copy files and create directories and links
|
||||
cd "${TOP}"
|
||||
makeDirectory "${NBTMPDIR}/superviseur/bin"
|
||||
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
|
||||
|
||||
|
||||
# Generate tar file
|
||||
cd "${TOP}"
|
||||
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur.tar
|
||||
cd ${NBTMPDIR}
|
||||
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur.tar *
|
||||
checkReturnCode
|
||||
|
||||
# Cleanup
|
||||
cd "${TOP}"
|
||||
rm -rf ${NBTMPDIR}
|
|
@ -0,0 +1,76 @@
|
|||
#!/bin/bash -x
|
||||
|
||||
#
|
||||
# Generated - do not edit!
|
||||
#
|
||||
|
||||
# Macros
|
||||
TOP=`pwd`
|
||||
CND_PLATFORM=GNU-Linux
|
||||
CND_CONF=Release
|
||||
CND_DISTDIR=dist
|
||||
CND_BUILDDIR=build
|
||||
CND_DLIB_EXT=so
|
||||
NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
|
||||
TMPDIRNAME=tmp-packaging
|
||||
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur
|
||||
OUTPUT_BASENAME=superviseur
|
||||
PACKAGE_TOP_DIR=superviseur/
|
||||
|
||||
# Functions
|
||||
function checkReturnCode
|
||||
{
|
||||
rc=$?
|
||||
if [ $rc != 0 ]
|
||||
then
|
||||
exit $rc
|
||||
fi
|
||||
}
|
||||
function makeDirectory
|
||||
# $1 directory path
|
||||
# $2 permission (optional)
|
||||
{
|
||||
mkdir -p "$1"
|
||||
checkReturnCode
|
||||
if [ "$2" != "" ]
|
||||
then
|
||||
chmod $2 "$1"
|
||||
checkReturnCode
|
||||
fi
|
||||
}
|
||||
function copyFileToTmpDir
|
||||
# $1 from-file path
|
||||
# $2 to-file path
|
||||
# $3 permission
|
||||
{
|
||||
cp "$1" "$2"
|
||||
checkReturnCode
|
||||
if [ "$3" != "" ]
|
||||
then
|
||||
chmod $3 "$2"
|
||||
checkReturnCode
|
||||
fi
|
||||
}
|
||||
|
||||
# Setup
|
||||
cd "${TOP}"
|
||||
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
|
||||
rm -rf ${NBTMPDIR}
|
||||
mkdir -p ${NBTMPDIR}
|
||||
|
||||
# Copy files and create directories and links
|
||||
cd "${TOP}"
|
||||
makeDirectory "${NBTMPDIR}/superviseur/bin"
|
||||
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
|
||||
|
||||
|
||||
# Generate tar file
|
||||
cd "${TOP}"
|
||||
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur.tar
|
||||
cd ${NBTMPDIR}
|
||||
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur.tar *
|
||||
checkReturnCode
|
||||
|
||||
# Cleanup
|
||||
cd "${TOP}"
|
||||
rm -rf ${NBTMPDIR}
|
|
@ -0,0 +1,156 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configurationDescriptor version="100">
|
||||
<logicalFolder name="root" displayName="root" projectFiles="true" kind="ROOT">
|
||||
<logicalFolder name="HeaderFiles"
|
||||
displayName="Header Files"
|
||||
projectFiles="true">
|
||||
<itemPath>./src/functions.h</itemPath>
|
||||
<itemPath>../lib/image.h</itemPath>
|
||||
<itemPath>../lib/message.h</itemPath>
|
||||
<itemPath>../lib/monitor.h</itemPath>
|
||||
<itemPath>../lib/robot.h</itemPath>
|
||||
<itemPath>../lib/server.h</itemPath>
|
||||
</logicalFolder>
|
||||
<logicalFolder name="ResourceFiles"
|
||||
displayName="Resource Files"
|
||||
projectFiles="true">
|
||||
<itemPath>gdbsudo.sh</itemPath>
|
||||
</logicalFolder>
|
||||
<logicalFolder name="SourceFiles"
|
||||
displayName="Source Files"
|
||||
projectFiles="true">
|
||||
<itemPath>./src/functions.cpp</itemPath>
|
||||
<itemPath>../lib/src/image.cpp</itemPath>
|
||||
<itemPath>./src/main.cpp</itemPath>
|
||||
<itemPath>../lib/src/message.cpp</itemPath>
|
||||
<itemPath>../lib/src/monitor.cpp</itemPath>
|
||||
<itemPath>../lib/src/robot.cpp</itemPath>
|
||||
<itemPath>../lib/src/server.cpp</itemPath>
|
||||
</logicalFolder>
|
||||
<logicalFolder name="TestFiles"
|
||||
displayName="Test Files"
|
||||
projectFiles="false"
|
||||
kind="TEST_LOGICAL_FOLDER">
|
||||
</logicalFolder>
|
||||
<logicalFolder name="ExternalFiles"
|
||||
displayName="Important Files"
|
||||
projectFiles="false"
|
||||
kind="IMPORTANT_FILES_FOLDER">
|
||||
<itemPath>Makefile</itemPath>
|
||||
</logicalFolder>
|
||||
</logicalFolder>
|
||||
<projectmakefile>Makefile</projectmakefile>
|
||||
<confs>
|
||||
<conf name="Debug" type="1">
|
||||
<toolsSet>
|
||||
<compilerSet>default</compilerSet>
|
||||
<dependencyChecking>true</dependencyChecking>
|
||||
<rebuildPropChanged>false</rebuildPropChanged>
|
||||
</toolsSet>
|
||||
<compileType>
|
||||
<cTool>
|
||||
<incDir>
|
||||
<pElem>src</pElem>
|
||||
<pElem>../lib</pElem>
|
||||
</incDir>
|
||||
<commandLine>-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy</commandLine>
|
||||
</cTool>
|
||||
<ccTool>
|
||||
<incDir>
|
||||
<pElem>src</pElem>
|
||||
<pElem>../lib</pElem>
|
||||
<pElem>/usr/xenomai/include</pElem>
|
||||
<pElem>/usr/xenomai/include/mercury</pElem>
|
||||
</incDir>
|
||||
<commandLine>-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy</commandLine>
|
||||
<preprocessorList>
|
||||
<Elem>_WITH_TRACE_</Elem>
|
||||
</preprocessorList>
|
||||
</ccTool>
|
||||
<linkerTool>
|
||||
<linkerLibItems>
|
||||
<linkerOptionItem>`pkg-config --libs opencv`</linkerOptionItem>
|
||||
</linkerLibItems>
|
||||
<commandLine>-Wl,--no-as-needed -lalchemy -lcopperplate /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lmercury -lpthread -lrt</commandLine>
|
||||
</linkerTool>
|
||||
</compileType>
|
||||
<item path="../lib/image.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/message.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/monitor.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/robot.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/server.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/src/image.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/src/message.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/src/monitor.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/src/robot.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/src/server.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="./src/functions.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="./src/functions.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="./src/main.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="gdbsudo.sh" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
</conf>
|
||||
<conf name="Release" type="1">
|
||||
<toolsSet>
|
||||
<compilerSet>default</compilerSet>
|
||||
<dependencyChecking>true</dependencyChecking>
|
||||
<rebuildPropChanged>false</rebuildPropChanged>
|
||||
</toolsSet>
|
||||
<compileType>
|
||||
<cTool>
|
||||
<developmentMode>5</developmentMode>
|
||||
</cTool>
|
||||
<ccTool>
|
||||
<developmentMode>5</developmentMode>
|
||||
</ccTool>
|
||||
<fortranCompilerTool>
|
||||
<developmentMode>5</developmentMode>
|
||||
</fortranCompilerTool>
|
||||
<asmTool>
|
||||
<developmentMode>5</developmentMode>
|
||||
</asmTool>
|
||||
</compileType>
|
||||
<item path="../lib/image.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/message.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/monitor.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/robot.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/server.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/src/image.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/src/message.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/src/monitor.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/src/robot.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="../lib/src/server.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="./src/functions.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="./src/functions.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="./src/main.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="gdbsudo.sh" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
</conf>
|
||||
</confs>
|
||||
</configurationDescriptor>
|
|
@ -0,0 +1,7 @@
|
|||
#
|
||||
# Generated - do not edit!
|
||||
#
|
||||
# NOCDDL
|
||||
#
|
||||
# Debug configuration
|
||||
# Release configuration
|
|
@ -0,0 +1,75 @@
|
|||
/*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
|
||||
*
|
||||
* Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Oracle and Java are registered trademarks of Oracle and/or its affiliates.
|
||||
* Other names may be trademarks of their respective owners.
|
||||
*
|
||||
* The contents of this file are subject to the terms of either the GNU
|
||||
* General Public License Version 2 only ("GPL") or the Common
|
||||
* Development and Distribution License("CDDL") (collectively, the
|
||||
* "License"). You may not use this file except in compliance with the
|
||||
* License. You can obtain a copy of the License at
|
||||
* http://www.netbeans.org/cddl-gplv2.html
|
||||
* or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
|
||||
* specific language governing permissions and limitations under the
|
||||
* License. When distributing the software, include this License Header
|
||||
* Notice in each file and include the License file at
|
||||
* nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the GPL Version 2 section of the License file that
|
||||
* accompanied this code. If applicable, add the following below the
|
||||
* License Header, with the fields enclosed by brackets [] replaced by
|
||||
* your own identifying information:
|
||||
* "Portions Copyrighted [year] [name of copyright owner]"
|
||||
*
|
||||
* If you wish your version of this file to be governed by only the CDDL
|
||||
* or only the GPL Version 2, indicate your decision by adding
|
||||
* "[Contributor] elects to include this software in this distribution
|
||||
* under the [CDDL or GPL Version 2] license." If you do not indicate a
|
||||
* single choice of license, a recipient has the option to distribute
|
||||
* your version of this file under either the CDDL, the GPL Version 2 or
|
||||
* to extend the choice of license to its licensees as provided above.
|
||||
* However, if you add GPL Version 2 code and therefore, elected the GPL
|
||||
* Version 2 license, then the option applies only if the new code is
|
||||
* made subject to such option by the copyright holder.
|
||||
*
|
||||
* Contributor(s):
|
||||
*/
|
||||
|
||||
// List of standard headers was taken in http://en.cppreference.com/w/c/header
|
||||
|
||||
#include <assert.h> // Conditionally compiled macro that compares its argument to zero
|
||||
#include <ctype.h> // Functions to determine the type contained in character data
|
||||
#include <errno.h> // Macros reporting error conditions
|
||||
#include <float.h> // Limits of float types
|
||||
#include <limits.h> // Sizes of basic types
|
||||
#include <locale.h> // Localization utilities
|
||||
#include <math.h> // Common mathematics functions
|
||||
#include <setjmp.h> // Nonlocal jumps
|
||||
#include <signal.h> // Signal handling
|
||||
#include <stdarg.h> // Variable arguments
|
||||
#include <stddef.h> // Common macro definitions
|
||||
#include <stdio.h> // Input/output
|
||||
#include <string.h> // String handling
|
||||
#include <stdlib.h> // General utilities: memory management, program utilities, string conversions, random numbers
|
||||
#include <time.h> // Time/date utilities
|
||||
#include <iso646.h> // (since C95) Alternative operator spellings
|
||||
#include <wchar.h> // (since C95) Extended multibyte and wide character utilities
|
||||
#include <wctype.h> // (since C95) Wide character classification and mapping utilities
|
||||
#ifdef _STDC_C99
|
||||
#include <complex.h> // (since C99) Complex number arithmetic
|
||||
#include <fenv.h> // (since C99) Floating-point environment
|
||||
#include <inttypes.h> // (since C99) Format conversion of integer types
|
||||
#include <stdbool.h> // (since C99) Boolean type
|
||||
#include <stdint.h> // (since C99) Fixed-width integer types
|
||||
#include <tgmath.h> // (since C99) Type-generic math (macros wrapping math.h and complex.h)
|
||||
#endif
|
||||
#ifdef _STDC_C11
|
||||
#include <stdalign.h> // (since C11) alignas and alignof convenience macros
|
||||
#include <stdatomic.h> // (since C11) Atomic types
|
||||
#include <stdnoreturn.h> // (since C11) noreturn convenience macros
|
||||
#include <threads.h> // (since C11) Thread library
|
||||
#include <uchar.h> // (since C11) UTF-16 and UTF-32 character utilities
|
||||
#endif
|
|
@ -0,0 +1,78 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configurationDescriptor version="100">
|
||||
<projectmakefile>Makefile</projectmakefile>
|
||||
<confs>
|
||||
<conf name="Debug" type="1">
|
||||
<toolsSet>
|
||||
<developmentServer>localhost</developmentServer>
|
||||
<platform>2</platform>
|
||||
</toolsSet>
|
||||
<dbx_gdbdebugger version="1">
|
||||
<gdb_pathmaps>
|
||||
</gdb_pathmaps>
|
||||
<gdb_interceptlist>
|
||||
<gdbinterceptoptions gdb_all="false" gdb_unhandled="true" gdb_unexpected="true"/>
|
||||
</gdb_interceptlist>
|
||||
<gdb_signals>
|
||||
</gdb_signals>
|
||||
<gdb_options>
|
||||
<DebugOptions>
|
||||
</DebugOptions>
|
||||
</gdb_options>
|
||||
<gdb_buildfirst gdb_buildfirst_overriden="false" gdb_buildfirst_old="false"/>
|
||||
</dbx_gdbdebugger>
|
||||
<nativedebugger version="1">
|
||||
<engine>gdb</engine>
|
||||
</nativedebugger>
|
||||
<runprofile version="9">
|
||||
<runcommandpicklist>
|
||||
<runcommandpicklistitem>sudo "${OUTPUT_PATH}"</runcommandpicklistitem>
|
||||
<runcommandpicklistitem>sudo -E "${OUTPUT_PATH}"</runcommandpicklistitem>
|
||||
<runcommandpicklistitem>pkexec "${OUTPUT_PATH}"</runcommandpicklistitem>
|
||||
<runcommandpicklistitem>"${OUTPUT_PATH}"</runcommandpicklistitem>
|
||||
</runcommandpicklist>
|
||||
<runcommand>"${OUTPUT_PATH}"</runcommand>
|
||||
<rundir></rundir>
|
||||
<buildfirst>true</buildfirst>
|
||||
<console-type>1</console-type>
|
||||
<terminal-type>0</terminal-type>
|
||||
<remove-instrumentation>0</remove-instrumentation>
|
||||
<environment>
|
||||
</environment>
|
||||
</runprofile>
|
||||
</conf>
|
||||
<conf name="Release" type="1">
|
||||
<toolsSet>
|
||||
<developmentServer>localhost</developmentServer>
|
||||
<platform>2</platform>
|
||||
</toolsSet>
|
||||
<dbx_gdbdebugger version="1">
|
||||
<gdb_pathmaps>
|
||||
</gdb_pathmaps>
|
||||
<gdb_interceptlist>
|
||||
<gdbinterceptoptions gdb_all="false" gdb_unhandled="true" gdb_unexpected="true"/>
|
||||
</gdb_interceptlist>
|
||||
<gdb_options>
|
||||
<DebugOptions>
|
||||
</DebugOptions>
|
||||
</gdb_options>
|
||||
<gdb_buildfirst gdb_buildfirst_overriden="false" gdb_buildfirst_old="false"/>
|
||||
</dbx_gdbdebugger>
|
||||
<nativedebugger version="1">
|
||||
<engine>gdb</engine>
|
||||
</nativedebugger>
|
||||
<runprofile version="9">
|
||||
<runcommandpicklist>
|
||||
<runcommandpicklistitem>"${OUTPUT_PATH}"</runcommandpicklistitem>
|
||||
</runcommandpicklist>
|
||||
<runcommand>"${OUTPUT_PATH}"</runcommand>
|
||||
<rundir></rundir>
|
||||
<buildfirst>true</buildfirst>
|
||||
<terminal-type>0</terminal-type>
|
||||
<remove-instrumentation>0</remove-instrumentation>
|
||||
<environment>
|
||||
</environment>
|
||||
</runprofile>
|
||||
</conf>
|
||||
</confs>
|
||||
</configurationDescriptor>
|
|
@ -0,0 +1,135 @@
|
|||
/*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
|
||||
*
|
||||
* Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Oracle and Java are registered trademarks of Oracle and/or its affiliates.
|
||||
* Other names may be trademarks of their respective owners.
|
||||
*
|
||||
* The contents of this file are subject to the terms of either the GNU
|
||||
* General Public License Version 2 only ("GPL") or the Common
|
||||
* Development and Distribution License("CDDL") (collectively, the
|
||||
* "License"). You may not use this file except in compliance with the
|
||||
* License. You can obtain a copy of the License at
|
||||
* http://www.netbeans.org/cddl-gplv2.html
|
||||
* or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
|
||||
* specific language governing permissions and limitations under the
|
||||
* License. When distributing the software, include this License Header
|
||||
* Notice in each file and include the License file at
|
||||
* nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the GPL Version 2 section of the License file that
|
||||
* accompanied this code. If applicable, add the following below the
|
||||
* License Header, with the fields enclosed by brackets [] replaced by
|
||||
* your own identifying information:
|
||||
* "Portions Copyrighted [year] [name of copyright owner]"
|
||||
*
|
||||
* If you wish your version of this file to be governed by only the CDDL
|
||||
* or only the GPL Version 2, indicate your decision by adding
|
||||
* "[Contributor] elects to include this software in this distribution
|
||||
* under the [CDDL or GPL Version 2] license." If you do not indicate a
|
||||
* single choice of license, a recipient has the option to distribute
|
||||
* your version of this file under either the CDDL, the GPL Version 2 or
|
||||
* to extend the choice of license to its licensees as provided above.
|
||||
* However, if you add GPL Version 2 code and therefore, elected the GPL
|
||||
* Version 2 license, then the option applies only if the new code is
|
||||
* made subject to such option by the copyright holder.
|
||||
*
|
||||
* Contributor(s):
|
||||
*/
|
||||
|
||||
// List of standard headers was taken in http://en.cppreference.com/w/cpp/header
|
||||
|
||||
#include <cstdlib> // General purpose utilities: program control, dynamic memory allocation, random numbers, sort and search
|
||||
#include <csignal> // Functions and macro constants for signal management
|
||||
#include <csetjmp> // Macro (and function) that saves (and jumps) to an execution context
|
||||
#include <cstdarg> // Handling of variable length argument lists
|
||||
#include <typeinfo> // Runtime type information utilities
|
||||
#include <bitset> // std::bitset class template
|
||||
#include <functional> // Function objects, designed for use with the standard algorithms
|
||||
#include <utility> // Various utility components
|
||||
#include <ctime> // C-style time/date utilites
|
||||
#include <cstddef> // typedefs for types such as size_t, NULL and others
|
||||
#include <new> // Low-level memory management utilities
|
||||
#include <memory> // Higher level memory management utilities
|
||||
#include <climits> // limits of integral types
|
||||
#include <cfloat> // limits of float types
|
||||
#include <limits> // standardized way to query properties of arithmetic types
|
||||
#include <exception> // Exception handling utilities
|
||||
#include <stdexcept> // Standard exception objects
|
||||
#include <cassert> // Conditionally compiled macro that compares its argument to zero
|
||||
#include <cerrno> // Macro containing the last error number
|
||||
#include <cctype> // functions to determine the type contained in character data
|
||||
#include <cwctype> // functions for determining the type of wide character data
|
||||
#include <cstring> // various narrow character string handling functions
|
||||
#include <cwchar> // various wide and multibyte string handling functions
|
||||
#include <string> // std::basic_string class template
|
||||
#include <vector> // std::vector container
|
||||
#include <deque> // std::deque container
|
||||
#include <list> // std::list container
|
||||
#include <set> // std::set and std::multiset associative containers
|
||||
#include <map> // std::map and std::multimap associative containers
|
||||
#include <stack> // std::stack container adaptor
|
||||
#include <queue> // std::queue and std::priority_queue container adaptors
|
||||
#include <algorithm> // Algorithms that operate on containers
|
||||
#include <iterator> // Container iterators
|
||||
#include <cmath> // Common mathematics functions
|
||||
#include <complex> // Complex number type
|
||||
#include <valarray> // Class for representing and manipulating arrays of values
|
||||
#include <numeric> // Numeric operations on values in containers
|
||||
#include <iosfwd> // forward declarations of all classes in the input/output library
|
||||
#include <ios> // std::ios_base class, std::basic_ios class template and several typedefs
|
||||
#include <istream> // std::basic_istream class template and several typedefs
|
||||
#include <ostream> // std::basic_ostream, std::basic_iostream class templates and several typedefs
|
||||
#include <iostream> // several standard stream objects
|
||||
#include <fstream> // std::basic_fstream, std::basic_ifstream, std::basic_ofstream class templates and several typedefs
|
||||
#include <sstream> // std::basic_stringstream, std::basic_istringstream, std::basic_ostringstream class templates and several typedefs
|
||||
#include <strstream> // std::strstream, std::istrstream, std::ostrstream(deprecated)
|
||||
#include <iomanip> // Helper functions to control the format or input and output
|
||||
#include <streambuf> // std::basic_streambuf class template
|
||||
#include <cstdio> // C-style input-output functions
|
||||
#include <locale> // Localization utilities
|
||||
#include <clocale> // C localization utilities
|
||||
#include <ciso646> // empty header. The macros that appear in iso646.h in C are keywords in C++
|
||||
#if __cplusplus >= 201103L
|
||||
#include <typeindex> // (since C++11) std::type_index
|
||||
#include <type_traits> // (since C++11) Compile-time type information
|
||||
#include <chrono> // (since C++11) C++ time utilites
|
||||
#include <initializer_list> // (since C++11) std::initializer_list class template
|
||||
#include <tuple> // (since C++11) std::tuple class template
|
||||
#include <scoped_allocator> // (since C++11) Nested allocator class
|
||||
#include <cstdint> // (since C++11) fixed-size types and limits of other types
|
||||
#include <cinttypes> // (since C++11) formatting macros , intmax_t and uintmax_t math and conversions
|
||||
#include <system_error> // (since C++11) defines std::error_code, a platform-dependent error code
|
||||
#include <cuchar> // (since C++11) C-style Unicode character conversion functions
|
||||
#include <array> // (since C++11) std::array container
|
||||
#include <forward_list> // (since C++11) std::forward_list container
|
||||
#include <unordered_set> // (since C++11) std::unordered_set and std::unordered_multiset unordered associative containers
|
||||
#include <unordered_map> // (since C++11) std::unordered_map and std::unordered_multimap unordered associative containers
|
||||
#include <random> // (since C++11) Random number generators and distributions
|
||||
#include <ratio> // (since C++11) Compile-time rational arithmetic
|
||||
#include <cfenv> // (since C++11) Floating-point environment access functions
|
||||
#include <codecvt> // (since C++11) Unicode conversion facilities
|
||||
#include <regex> // (since C++11) Classes, algorithms and iterators to support regular expression processing
|
||||
#include <atomic> // (since C++11) Atomic operations library
|
||||
#include <ccomplex> // (since C++11)(deprecated in C++17) simply includes the header <complex>
|
||||
#include <ctgmath> // (since C++11)(deprecated in C++17) simply includes the headers <ccomplex> (until C++17)<complex> (since C++17) and <cmath>: the overloads equivalent to the contents of the C header tgmath.h are already provided by those headers
|
||||
#include <cstdalign> // (since C++11)(deprecated in C++17) defines one compatibility macro constant
|
||||
#include <cstdbool> // (since C++11)(deprecated in C++17) defines one compatibility macro constant
|
||||
#include <thread> // (since C++11) std::thread class and supporting functions
|
||||
#include <mutex> // (since C++11) mutual exclusion primitives
|
||||
#include <future> // (since C++11) primitives for asynchronous computations
|
||||
#include <condition_variable> // (since C++11) thread waiting conditions
|
||||
#endif
|
||||
#if __cplusplus >= 201300L
|
||||
#include <shared_mutex> // (since C++14) shared mutual exclusion primitives
|
||||
#endif
|
||||
#if __cplusplus >= 201500L
|
||||
#include <any> // (since C++17) std::any class template
|
||||
#include <optional> // (since C++17) std::optional class template
|
||||
#include <variant> // (since C++17) std::variant class template
|
||||
#include <memory_resource> // (since C++17) Polymorphic allocators and memory resources
|
||||
#include <string_view> // (since C++17) std::basic_string_view class template
|
||||
#include <execution> // (since C++17) Predefined execution policies for parallel versions of the algorithms
|
||||
#include <filesystem> // (since C++17) std::path class and supporting functions
|
||||
#endif
|
|
@ -0,0 +1,42 @@
|
|||
# Launchers File syntax:
|
||||
#
|
||||
# [Must-have property line]
|
||||
# launcher1.runCommand=<Run Command>
|
||||
# [Optional extra properties]
|
||||
# launcher1.displayName=<Display Name, runCommand by default>
|
||||
# launcher1.hide=<true if lancher is not visible in menu, false by default>
|
||||
# launcher1.buildCommand=<Build Command, Build Command specified in project properties by default>
|
||||
# launcher1.runDir=<Run Directory, ${PROJECT_DIR} by default>
|
||||
# launcher1.runInOwnTab=<false if launcher reuse common "Run" output tab, true by default>
|
||||
# launcher1.symbolFiles=<Symbol Files loaded by debugger, ${OUTPUT_PATH} by default>
|
||||
# launcher1.env.<Environment variable KEY>=<Environment variable VALUE>
|
||||
# (If this value is quoted with ` it is handled as a native command which execution result will become the value)
|
||||
# [Common launcher properties]
|
||||
# common.runDir=<Run Directory>
|
||||
# (This value is overwritten by a launcher specific runDir value if the latter exists)
|
||||
# common.env.<Environment variable KEY>=<Environment variable VALUE>
|
||||
# (Environment variables from common launcher are merged with launcher specific variables)
|
||||
# common.symbolFiles=<Symbol Files loaded by debugger>
|
||||
# (This value is overwritten by a launcher specific symbolFiles value if the latter exists)
|
||||
#
|
||||
# In runDir, symbolFiles and env fields you can use these macroses:
|
||||
# ${PROJECT_DIR} - project directory absolute path
|
||||
# ${OUTPUT_PATH} - linker output path (relative to project directory path)
|
||||
# ${OUTPUT_BASENAME}- linker output filename
|
||||
# ${TESTDIR} - test files directory (relative to project directory path)
|
||||
# ${OBJECTDIR} - object files directory (relative to project directory path)
|
||||
# ${CND_DISTDIR} - distribution directory (relative to project directory path)
|
||||
# ${CND_BUILDDIR} - build directory (relative to project directory path)
|
||||
# ${CND_PLATFORM} - platform name
|
||||
# ${CND_CONF} - configuration name
|
||||
# ${CND_DLIB_EXT} - dynamic library extension
|
||||
#
|
||||
# All the project launchers must be listed in the file!
|
||||
#
|
||||
# launcher1.runCommand=...
|
||||
# launcher2.runCommand=...
|
||||
# ...
|
||||
# common.runDir=...
|
||||
# common.env.KEY=VALUE
|
||||
|
||||
# launcher1.runCommand=<type your run command here>
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
||||
<data xmlns="http://www.netbeans.org/ns/make-project-private/1">
|
||||
<activeConfTypeElem>1</activeConfTypeElem>
|
||||
<activeConfIndexElem>0</activeConfIndexElem>
|
||||
</data>
|
||||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
|
||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||
<group>
|
||||
<file>file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/src/functions.cpp</file>
|
||||
</group>
|
||||
</open-files>
|
||||
</project-private>
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://www.netbeans.org/ns/project/1">
|
||||
<type>org.netbeans.modules.cnd.makeproject</type>
|
||||
<configuration>
|
||||
<data xmlns="http://www.netbeans.org/ns/make-project/1">
|
||||
<name>superviseur</name>
|
||||
<c-extensions/>
|
||||
<cpp-extensions>cpp</cpp-extensions>
|
||||
<header-extensions>h</header-extensions>
|
||||
<sourceEncoding>UTF-8</sourceEncoding>
|
||||
<make-dep-projects/>
|
||||
<sourceRootList/>
|
||||
<confList>
|
||||
<confElem>
|
||||
<name>Debug</name>
|
||||
<type>1</type>
|
||||
</confElem>
|
||||
<confElem>
|
||||
<name>Release</name>
|
||||
<type>1</type>
|
||||
</confElem>
|
||||
</confList>
|
||||
<formatting>
|
||||
<project-formatting-style>false</project-formatting-style>
|
||||
</formatting>
|
||||
</data>
|
||||
</configuration>
|
||||
</project>
|
|
@ -12,16 +12,27 @@ void f_server(void *arg) {
|
|||
printf("Init %s\n", info.name);
|
||||
rt_sem_p(&sem_barrier, TM_INFINITE);
|
||||
|
||||
err = run_nodejs("/usr/local/bin/node", "/home/pi/Interface_Robot/server.js");
|
||||
err=openServer(DEFAULT_SERVER_PORT);
|
||||
|
||||
if (err < 0) {
|
||||
printf("Failed to start nodejs: %s\n", strerror(-err));
|
||||
printf("Failed to start server: %s\n", strerror(-err));
|
||||
exit(EXIT_FAILURE);
|
||||
} else {
|
||||
#ifdef _WITH_TRACE_
|
||||
printf("%s: nodejs started\n", info.name);
|
||||
printf("%s: server started\n", info.name);
|
||||
#endif
|
||||
open_server();
|
||||
//Waiting for a client to connect
|
||||
err=acceptClient();
|
||||
|
||||
if (err<0) {
|
||||
printf("Client accept failed: %s\n", strerror(-err));
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
#ifdef _WITH_TRACE_
|
||||
printf ("client connected: %d\n", err);
|
||||
printf ("Rock'n'roll baby !\n");
|
||||
#endif
|
||||
rt_sem_broadcast(&sem_serverOk);
|
||||
}
|
||||
}
|
||||
|
@ -105,7 +116,7 @@ void f_receiveFromMon(void *arg) {
|
|||
robotMove = msg.data[0];
|
||||
rt_mutex_release(&mutex_move);
|
||||
#ifdef _WITH_TRACE_
|
||||
printf("%s: message update movement with %c\n", info.name, move);
|
||||
printf("%s: message update movement with %c\n", info.name, robotMove);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
@ -191,18 +202,18 @@ void f_move(void *arg) {
|
|||
rt_sem_p(&sem_barrier, TM_INFINITE);
|
||||
|
||||
/* PERIODIC START */
|
||||
#ifdef _WITH_TRACE_
|
||||
#ifdef _WITH_PERIODIC_TRACE_
|
||||
printf("%s: start period\n", info.name);
|
||||
#endif
|
||||
rt_task_set_periodic(NULL, TM_NOW, 100000000);
|
||||
while (1) {
|
||||
#ifdef _WITH_TRACE_
|
||||
#ifdef _WITH_PERIODIC_TRACE_
|
||||
printf("%s: Wait period \n", info.name);
|
||||
#endif
|
||||
rt_task_wait_period(NULL);
|
||||
#ifdef _WITH_TRACE_
|
||||
#ifdef _WITH_PERIODIC_TRACE_
|
||||
printf("%s: Periodic activation\n", info.name);
|
||||
printf("%s: move equals %c\n", info.name, move);
|
||||
printf("%s: move equals %c\n", info.name, robotMove);
|
||||
#endif
|
||||
rt_mutex_acquire(&mutex_robotStarted, TM_INFINITE);
|
||||
if (robotStarted) {
|
||||
|
@ -210,7 +221,7 @@ void f_move(void *arg) {
|
|||
send_command_to_robot(robotMove);
|
||||
rt_mutex_release(&mutex_move);
|
||||
#ifdef _WITH_TRACE_
|
||||
printf("%s: the movement %c was sent\n", info.name, move);
|
||||
printf("%s: the movement %c was sent\n", info.name, robotMove);
|
||||
#endif
|
||||
}
|
||||
rt_mutex_release(&mutex_robotStarted);
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include "robot.h"
|
||||
#include "image.h"
|
||||
#include "message.h"
|
||||
#include "server.h"
|
||||
|
||||
extern RT_TASK th_server;
|
||||
extern RT_TASK th_sendToMon;
|
||||
|
|
Loading…
Reference in a new issue