Skip to content

Commit

Permalink
Showing 1,464 changed files with 565,290 additions and 0 deletions.
401 changes: 401 additions & 0 deletions CMakeLists.txt

Large diffs are not rendered by default.

17 changes: 17 additions & 0 deletions CTestConfig.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#############################################################################
# Copyright (C) 2007-2013 Laboratório de Sistemas e Tecnologia Subaquática #
# Departamento de Engenharia Electrotécnica e de Computadores #
# Rua Dr. Roberto Frias, 4200-465 Porto, Portugal #
#############################################################################
# Author: Ricardo Martins #
#############################################################################
# $Id:: CTestConfig.cmake 12303 2013-01-01 02:14:25Z jbraga $:#
#############################################################################

set(CTEST_PROJECT_NAME "DUNE")
set(CTEST_NIGHTLY_START_TIME "01:00:00 GMT")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "whale.fe.up.pt")
set(CTEST_DROP_LOCATION "/cdash/submit.php?project=DUNE")
set(CTEST_DROP_SITE_CDASH TRUE)
set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS "500")
89 changes: 89 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
DUNE v2.3.0
===========

* Renamed Dune namespace and folders to DUNE.

* Changed bind<Task, IMC::Message>(*this) to
bind<IMC::Message>(this).

* Microsoft Windows: mutable folders such as 'log' and 'db' are now
created in %APPDATA%.

* IMC/Bus, Tasks: several internal cleanups, made interfaces more
consistent, removed legacy code and names.

* IMC/Bus: removed operator<< and dispatchTS() method. The same
functionaly is now in Tasks/Task.

* Sensors.Imagenex852: task was rewritten for robusteness and
responsiveness.

DUNE v2.2.0
===========

* Now using IMC v5.0.0.

* Control.AUV.Diving: added task to force increases in speed when vehicle
is unable to submerge.

* Monitors.OperationalLimits: is now periodic.

* Simulators.Environment: new task merging obstacle and bathymetry
simulators.

* Dune/Control/DiscretePID.*: limiting integral parcel with configurable
margins, as an anti-windup method.

* Maneuvers.CompassCalibration: new maneuver to help perform hard iron
calibration.

* Simulators.Servos: new task to simulate servos and eventual faults.

* Simulators.Docking: new task to simulate docking to a net.

* Simulators.USBL: new task to simulate remote USBL system.

* Transports.FTP: added preliminary FTP server.

* Removed 'dat' folder. Plan.db and Cache files are now stored in the
folder 'db'.

* Dune/Media/BayerDecoder.*: added Bayer 8 demosaicing class.

* Dune/Time/Format.hpp: replaced gmtime()/localtime_r() with thread
safe alternatives.

* Dune/IMC: top-level IMC enumerations and bitfields are now defined
in the IMC namespace instead of inside the message class.

* Dune/IMC: source code is now generated by a Python script. Java is no
longer required.

* Dune/IMC: removed support for LLF. IMCJava provides the same
functionality.

* Actuators.MCRT: removed task because the device is now obsolete.

* Actuators.MCRTv3: removed task because the device is now obsolete.

* Actuators.MCRTv4: removed task because the device is now obsolete.

* Sensors.LMPA: removed task because the device is now obsolete.

* Sensors.Imagenex852: added support for correcting measurements using
dynamic sound speed.

* Sensors.Microstrain3DMGX3: added support for hard iron calibration.

* Sensors.NavQuestDVL: added support for correcting measurements using
dynamic sound speed.

* Sensors.XchangeSV: added device driver for AML Xchange Sound
Velocimeter.

* Vision.DFK51BG02H: added white-balance filter.

* Transports.GenericGSM: renamed to Transports.GSM.

* UserInterfaces.LEDPatternManager: removed task and moved its
functionality to UserInterfaces.LEDs.
Binary file added assets/icons/dune.ico
Binary file not shown.
Binary file added assets/icons/dune.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
324 changes: 324 additions & 0 deletions assets/icons/dune.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/icons/install.bmp
Binary file not shown.
182 changes: 182 additions & 0 deletions cmake/Architecture.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
#############################################################################
# Copyright (C) 2007-2013 Laboratório de Sistemas e Tecnologia Subaquática #
# Departamento de Engenharia Electrotécnica e de Computadores #
# Rua Dr. Roberto Frias, 4200-465 Porto, Portugal #
#############################################################################
# Author: Ricardo Martins #
#############################################################################
# $Id:: Architecture.cmake 12303 2013-01-01 02:14:25Z jbraga $:#
#############################################################################

include(CheckCXXSourceCompiles)

macro(dune_test_cpu cpu bits endianess macro header)
string(TOUPPER ${macro} output)
string(TOUPPER ${cpu} ucpu)
string(TOLOWER ${cpu} lcpu)

set(gbits ${bits})

if(NOT DUNE_CPU)
set(output "DUNE_SYS_HAS_${output}")

check_cxx_source_compiles("#if !defined(${macro})\n#error undefined macro\n#endif\nint main(void){return 0;}" ${output})

if(${output})
check_cxx_source_compiles("#if defined(__arch64__)\n#else\n#error not defined\n#endif\nint main(void) {return 0; }\n" __ARCH64__)
if(__ARCH64__)
set(gbits 64)
endif(__ARCH64__)

set(DUNE_CPU 1)
set(DUNE_CPU_${ucpu} 1)
set(DUNE_CPU_${gbits}B 1)

set(DUNE_CPU_NAME "${cpu}")
set(DUNE_CPU_CANONICAL "${lcpu}")
set(DUNE_CPU_UCASE "${ucpu}")
set(DUNE_CPU_BITS "${gbits}")

if(${endianess} STREQUAL "big")
set(DUNE_CPU_BIG_ENDIAN 1)
set(DUNE_CPU_ENDIANNESS "Big Endian")
elseif(${endianess} STREQUAL "little")
set(DUNE_CPU_LITTLE_ENDIAN 1)
set(DUNE_CPU_ENDIANNESS "Little Endian")
endif(${endianess} STREQUAL "big")
endif(${output})
endif(NOT DUNE_CPU)
endmacro(dune_test_cpu cpu bits macro header)

macro(dune_probe_cpu)
message(STATUS "")
message(STATUS "******************************************")
message(STATUS "*** Probing Target CPU ***")
message(STATUS "******************************************")

dune_test_cpu(x86 64 little __amd64__ cstdio)
dune_test_cpu(x86 64 little __amd64 cstdio)
dune_test_cpu(x86 64 little _AMD64_ windows.h)
dune_test_cpu(x86 64 little __x86_64__ cstdio)
dune_test_cpu(x86 64 little __x86_64 cstdio)
dune_test_cpu(x86 64 little _M_X64 windows.h)
dune_test_cpu(x86 32 little __i386__ cstdio)
dune_test_cpu(x86 32 little __i386 cstdio)
dune_test_cpu(x86 32 little _M_IX86 windows.h)
dune_test_cpu(x86 32 little __x86_32__ cstdio)
dune_test_cpu(PowerPC 64 big __powerpc64__ cstdio)
dune_test_cpu(PowerPC 32 big __powerpc__ cstdio)
dune_test_cpu(PowerPC 32 big __ppc__ cstdio)
dune_test_cpu(PowerPC 32 big PPC cstdio)
dune_test_cpu(Alpha 32 big __alpha__ cstdio)
dune_test_cpu(ARMv4 32 unknown __ARM_ARCH_4T__ cstdio)
dune_test_cpu(ARMv5 32 unknown __ARM_ARCH_5T__ cstdio)
dune_test_cpu(ARMv7 32 unknown __ARM_ARCH_7A__ cstdio)
dune_test_cpu(ARM 32 unknown __arm__ cstdio)
dune_test_cpu(SPARC 32 big __sparc__ cstdio)
dune_test_cpu(SPARCv9 64 big __sparcv9 cstdio)
dune_test_cpu(SPARCv8 32 big __sparcv8 cstdio)
dune_test_cpu(MIPSEL 32 little __MIPSEL__ cstdio)
dune_test_cpu(MIPSEB 32 big __MIPSEB__ cstdio)
dune_test_cpu(AVR32 32 big __avr32__ cstdio)

# Unknown architecture
if(NOT DUNE_CPU)
set(DUNE_CPU_NAME "Unknown")
set(DUNE_CPU_UNKNOWN 1)
endif(NOT DUNE_CPU)

# If we still don't know the architecture endianness we try macro tests.
if(NOT DUNE_CPU_LITTLE_ENDIAN AND NOT DUNE_CPU_BIG_ENDIAN)
check_cxx_source_compiles("
#include <sys/types.h>
#include <sys/param.h>
#ifdef __BYTE_ORDER
# if (__BYTE_ORDER == __BIG_ENDIAN) || defined(_BIG_ENDIAN)
int main(void) { return 0; }
# endif
#endif
" DUNE_CPU_BIG_ENDIAN)

check_cxx_source_compiles("
#include <sys/types.h>
#include <sys/param.h>
#ifdef __BYTE_ORDER
# if __BYTE_ORDER == __LITTLE_ENDIAN
int main(void) { return 0; }
# endif
#endif
" DUNE_CPU_LITTLE_ENDIAN)

check_cxx_source_compiles("#if !defined(__ARMEL__)\n#error no __ARMEL__\n#endif\nint main(void) {return 0;}\n" armel)
if(armel)
set(DUNE_CPU_LITTLE_ENDIAN 1)
endif(armel)

check_cxx_source_compiles("#if !defined(__ARMEB__)\n#error no __ARMEB__\n#endif\nint main(void) {return 0;}\n" armeb)
if(armeb)
set(DUNE_CPU_BIG_ENDIAN 1)
endif(armeb)

endif(NOT DUNE_CPU_LITTLE_ENDIAN AND NOT DUNE_CPU_BIG_ENDIAN)

if(DUNE_CPU_LITTLE_ENDIAN)
set(DUNE_CPU_ENDIANNESS "Little Endian")
elseif(DUNE_CPU_BIG_ENDIAN)
set(DUNE_CPU_ENDIANNESS "Big Endian")
else(DUNE_CPU_BIG_ENDIAN)
message(FATAL_ERROR "Unable to find CPU endianness.")
endif(DUNE_CPU_LITTLE_ENDIAN)

# ARM Floating Point Unit
if(DUNE_CXX_GNU)
check_cxx_source_compiles("
#if !defined(__arm__)
# error not ARM architecture
#endif
#if defined(__VFP_FP__)
# error normal doubles.
#endif
int main(void) { return 0; }
" DUNE_CPU_MIXED_ENDIAN_DOUBLES)
if(DUNE_CPU_MIXED_ENDIAN_DOUBLES)
set(DUNE_CPU_ENDIANESS "${DUNE_CPU_ENDIANNESS} / Mixed Endian Doubles")
endif(DUNE_CPU_MIXED_ENDIAN_DOUBLES)
endif(DUNE_CXX_GNU)
endmacro(dune_probe_cpu)

macro(dune_test_cpu_variant macro name)
string(TOUPPER ${name} upper)

if(NOT DUNE_CPU_VARIANT)
set(output "DUNE_CPU_VARIANT_${upper}")

check_cxx_source_compiles("#if !defined(${macro})\n#error undefined macro\n#endif\nint main(void){return 0;}" ${output})

if(${output})
set(DUNE_CPU_VARIANT "${name}")
set(DUNE_CPU_VARIANT_UCASE "${upper}")
endif(${output})
endif(NOT DUNE_CPU_VARIANT)
endmacro(dune_test_cpu_variant macro name)

macro(dune_probe_cpu_variant)
message(STATUS "")
message(STATUS "******************************************")
message(STATUS "*** Probing Target CPU Optimizations ***")
message(STATUS "******************************************")

if(DUNE_CPU_X86)
dune_test_cpu_variant("__atom__" "atom")
dune_test_cpu_variant("__geode__" "geode")
endif(DUNE_CPU_X86)

if(NOT DUNE_CPU_VARIANT)
set(DUNE_CPU_VARIANT "${DUNE_CPU_CANONICAL}")
set(DUNE_CPU_VARIANT_UCASE "${DUNE_CPU_UCASE}")
endif(NOT DUNE_CPU_VARIANT)
endmacro(dune_probe_cpu_variant)
Loading

0 comments on commit b37e1fa

Please sign in to comment.