Error in calculating Rotational Projection Statistics (RoPS) feature using PCL - point-cloud-library

I'm working on this Rotational Projection Statistics (RoPS) example from the following link.
https://robotica.unileon.es/index.php?title=PCL/OpenNI_tutorial_4:_3D_object_recognition_(descriptors)#RoPS
I'm getting the following error. Does anyone know what's wrong? Thanks
[ 50%] Building CXX object CMakeFiles/project_local_feature_estimation.dir/local_feature_estimation.cpp.o
In file included from /usr/local/include/pcl-1.12/pcl/type_traits.h:40:0,
from /usr/local/include/pcl-1.12/pcl/memory.h:46,
from /usr/local/include/pcl-1.12/pcl/io/pcd_io.h:42,
from /home/jibanul/research/pc_robustness/code/descriptors/rops/local_feature_estimation.cpp:64:
/usr/local/include/pcl-1.12/pcl/point_struct_traits.h: In instantiation of ‘struct pcl::traits::fieldList<pcl::Histogram<135> >’:
/usr/local/include/pcl-1.12/pcl/common/impl/io.hpp:102:3: required from ‘std::vector<pcl::PCLPointField> pcl::getFields() [with PointT = pcl::Histogram<135>]’
/usr/local/include/pcl-1.12/pcl/io/impl/pcd_io.hpp:144:40: required from ‘int pcl::PCDWriter::writeBinary(const string&, const pcl::PointCloud<PointT>&) [with PointT = pcl::Histogram<135>; std::__cxx11::string = std::__cxx11::basic_string<char>]’
/usr/local/include/pcl-1.12/pcl/io/pcd_io.h:558:39: required from ‘int pcl::PCDWriter::write(const string&, const pcl::PointCloud<PointT>&, bool) [with PointT = pcl::Histogram<135>; std::__cxx11::string = std::__cxx11::basic_string<char>]’
/usr/local/include/pcl-1.12/pcl/io/pcd_io.h:722:56: required from ‘int pcl::io::savePCDFileASCII(const string&, const pcl::PointCloud<PointT>&) [with PointT = pcl::Histogram<135>; std::__cxx11::string = std::__cxx11::basic_string<char>]’
/home/jibanul/research/pc_robustness/code/descriptors/rops/local_feature_estimation.cpp:162:58: required from here
/usr/local/include/pcl-1.12/pcl/point_struct_traits.h:195:8: error: invalid use of incomplete type ‘struct pcl::traits::fieldList<pcl::Histogram<135> >’
struct fieldList /** \cond NO_WARN_RECURSIVE */ : fieldList<typename POD<PointT>::type> /** \endcond */
^~~~~~~~~
/usr/local/include/pcl-1.12/pcl/point_struct_traits.h:195:8: note: declaration of ‘struct pcl::traits::fieldList<pcl::Histogram<135> >’
In file included from /usr/local/include/pcl-1.12/pcl/point_struct_traits.h:40:0,
from /usr/local/include/pcl-1.12/pcl/type_traits.h:40,
from /usr/local/include/pcl-1.12/pcl/memory.h:46,
from /usr/local/include/pcl-1.12/pcl/io/pcd_io.h:42,
from /home/jibanul/research/pc_robustness/code/descriptors/rops/local_feature_estimation.cpp:64:
/usr/local/include/pcl-1.12/pcl/point_struct_traits.h:201:3: error: no matching function for call to ‘assertion_failed<false>(mpl_::failed************ (pcl::traits::fieldList<pcl::Histogram<135> >::POINT_TYPE_NOT_PROPERLY_REGISTERED::************)(pcl::Histogram<135>&))’
BOOST_MPL_ASSERT_MSG((!std::is_same<PointT, typename POD<PointT>::type>::value),
^
/usr/include/boost/mpl/assert.hpp:83:5: note: candidate: template<bool C> int mpl_::assertion_failed(typename mpl_::assert<C>::type)
int assertion_failed( typename assert<C>::type );
^~~~~~~~~~~~~~~~
/usr/include/boost/mpl/assert.hpp:83:5: note: template argument deduction/substitution failed:
/usr/local/include/pcl-1.12/pcl/point_struct_traits.h:201:3: note: cannot convert ‘pcl::traits::fieldList<pcl::Histogram<135> >::POINT_TYPE_NOT_PROPERLY_REGISTERED202::assert_arg()’ (type ‘mpl_::failed************ (pcl::traits::fieldList<pcl::Histogram<135> >::POINT_TYPE_NOT_PROPERLY_REGISTERED::************)(pcl::Histogram<135>&)’) to type ‘mpl_::assert<false>::type {aka mpl_::assert<false>}’
BOOST_MPL_ASSERT_MSG((!std::is_same<PointT, typename POD<PointT>::type>::value),
^
In file included from /usr/local/include/pcl-1.12/pcl/common/io.h:538:0,
from /usr/local/include/pcl-1.12/pcl/io/impl/pcd_io.hpp:48,
from /usr/local/include/pcl-1.12/pcl/io/pcd_io.h:789,
from /home/jibanul/research/pc_robustness/code/descriptors/rops/local_feature_estimation.cpp:64:
/usr/local/include/pcl-1.12/pcl/common/impl/io.hpp: In instantiation of ‘std::vector<pcl::PCLPointField> pcl::getFields() [with PointT = pcl::Histogram<135>]’:
/usr/local/include/pcl-1.12/pcl/io/impl/pcd_io.hpp:144:40: required from ‘int pcl::PCDWriter::writeBinary(const string&, const pcl::PointCloud<PointT>&) [with PointT = pcl::Histogram<135>; std::__cxx11::string = std::__cxx11::basic_string<char>]’
/usr/local/include/pcl-1.12/pcl/io/pcd_io.h:558:39: required from ‘int pcl::PCDWriter::write(const string&, const pcl::PointCloud<PointT>&, bool) [with PointT = pcl::Histogram<135>; std::__cxx11::string = std::__cxx11::basic_string<char>]’
/usr/local/include/pcl-1.12/pcl/io/pcd_io.h:722:56: required from ‘int pcl::io::savePCDFileASCII(const string&, const pcl::PointCloud<PointT>&) [with PointT = pcl::Histogram<135>; std::__cxx11::string = std::__cxx11::basic_string<char>]’
/home/jibanul/research/pc_robustness/code/descriptors/rops/local_feature_estimation.cpp:162:58: required from here
/usr/local/include/pcl-1.12/pcl/common/impl/io.hpp:102:3: error: no type named ‘type’ in ‘struct pcl::traits::fieldList<pcl::Histogram<135> >’
pcl::for_each_type<typename pcl::traits::fieldList<PointT>::type>(pcl::detail::FieldAdder<PointT>(fields));
^~~
make[2]: *** [CMakeFiles/project_local_feature_estimation.dir/build.make:76: CMakeFiles/project_local_feature_estimation.dir/local_feature_estimation.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/project_local_feature_estimation.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

Related

R Package `flowCore` is failing to compile due to errors in the RcppArmadillo

I am trying to install flowCore on an AWS instance, but I am receiving errors from RcppArmadillo.
The installation command is as follows.
BiocManager::install("flowCore")
The errors in the standard error start here:
In file included from /home/ec2-user/R/x86_64-koji-linux-gnu-library/4.0/RcppArma\
dillo/include/RcppArmadillo.h:29:0,
from pairVectorRcppWrap.h:13,
from flowCore_types.h:12,
from RcppExports.cpp:4:
/home/ec2-user/R/x86_64-koji-linux-gnu-library/4.0/RcppArmadillo/include/RcppArma\
dillo/interface/RcppArmadilloForward.h: At global scope:
/home/ec2-user/R/x86_64-koji-linux-gnu-library/4.0/RcppArmadillo/include/RcppArma\
dillo/interface/RcppArmadilloForward.h:68:51: error: ‘subview_cols’ in namespace \
‘arma’ does not name a template type
template <typename T> SEXP wrap ( const arma::subview_cols<T>& ) ;
/home/ec2-user/R/x86_64-koji-linux-gnu-library/4.0/RcppArmadillo/include/RcppArma\
dillo/interface/RcppArmadilloForward.h:68:63: error: expected ‘,’ or ‘...’ before\
‘<’ token
template <typename T> SEXP wrap ( const arma::subview_cols<T>& ) ;
In file included from /home/ec2-user/R/x86_64-koji-linux-gnu-library/4.0/RcppArma\
dillo/include/RcppArmadillo.h:35:0,
from pairVectorRcppWrap.h:13,
from flowCore_types.h:12,
from RcppExports.cpp:4:
/home/ec2-user/R/x86_64-koji-linux-gnu-library/4.0/RcppArmadillo/include/RcppArma\
dillo/interface/RcppArmadilloWrap.h:57:38: error: ‘subview_cols’ in namespace ‘ar\
ma’ does not name a template type
SEXP arma_subview_wrap( const arma::subview_cols<T>& data, int nrows, int ncols\
){
^~~~~~~~~~~~
/home/ec2-user/R/x86_64-koji-linux-gnu-library/4.0/RcppArmadillo/include/RcppArma\
dillo/interface/RcppArmadilloWrap.h:57:50: error: expected ‘,’ or ‘...’ before ‘<\
’ token
SEXP arma_subview_wrap( const arma::subview_cols<T>& data, int nrows, int ncols\
){
/home/ec2-user/R/x86_64-koji-linux-gnu-library/4.0/RcppArmadillo/include/RcppArma\
dillo/interface/RcppArmadilloWrap.h: In function ‘SEXPREC* Rcpp::RcppArmadillo::a\
rma_subview_wrap(int)’:
/home/ec2-user/R/x86_64-koji-linux-gnu-library/4.0/RcppArmadillo/include/RcppArma\
dillo/interface/RcppArmadilloWrap.h:59:38: error: ‘nrows’ was not declared in thi\
s scope
Rcpp::Matrix<RTYPE> mat( nrows, ncols ) ;
^~~~~
/home/ec2-user/R/x86_64-koji-linux-gnu-library/4.0/RcppArmadillo/include/RcppArma\
dillo/interface/RcppArmadilloWrap.h:59:38: note: suggested alternative: ‘row’
Rcpp::Matrix<RTYPE> mat( nrows, ncols ) ;
and continue for some time.

getting error while I am trying to compile my following code for connecting nodeMCU(ESP8266) to firebase

This is an error message that i am getting while I am trying to compile my code for arduino while connecting it to firebase. So, if any one can help me in this regard i will be very thankful to you in advance.
// error I am getting
Arduino: 1.8.19 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"
C:\Users\Nitro\Desktop\arduino-1.8.19-windows\arduino-1.8.19\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp: In member function 'virtual void FirebaseHttpClientEsp8266::begin(const string&)':
C:\Users\Nitro\Desktop\arduino-1.8.19-windows\arduino-1.8.19\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:50: error: no matching function for call to 'begin(const char*, const char [60])'
47 | http_.begin(url.c_str(), kFirebaseFingerprint);
| ^
In file included from C:\Users\Nitro\Desktop\arduino-1.8.19-windows\arduino-1.8.19\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9:
C:\Users\Nitro\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:166:10: note: candidate: 'bool HTTPClient::begin(String, uint16_t, String)' (near match)
166 | bool begin(String host, uint16_t port, String uri = "/") __attribute__ ((error("obsolete API, use ::begin(WiFiClient, host, port, uri)")));
| ^~~~~
C:\Users\Nitro\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:166:10: note: conversion of argument 2 would be ill-formed:
C:\Users\Nitro\Desktop\arduino-1.8.19-windows\arduino-1.8.19\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:30: error: invalid conversion from 'const char*' to 'uint16_t' {aka 'short unsigned int'} [-fpermissive]
47 | http_.begin(url.c_str(), kFirebaseFingerprint);
| ^~~~~~~~~~~~~~~~~~~~
| |
| const char*
In file included from C:\Users\Nitro\Desktop\arduino-1.8.19-windows\arduino-1.8.19\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9:
C:\Users\Nitro\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:167:10: note: candidate: 'bool HTTPClient::begin(String, const uint8_t*)' (near match)
167 | bool begin(String url, const uint8_t httpsFingerprint[20]) __attribute__ ((error("obsolete API, use ::begin(WiFiClientSecure, ...)")));
| ^~~~~
C:\Users\Nitro\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:167:10: note: conversion of argument 2 would be ill-formed:
C:\Users\Nitro\Desktop\arduino-1.8.19-windows\arduino-1.8.19\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:30: error: invalid conversion from 'const char*' to 'const uint8_t*' {aka 'const unsigned char*'} [-fpermissive]
47 | http_.begin(url.c_str(), kFirebaseFingerprint);
| ^~~~~~~~~~~~~~~~~~~~
| |
| const char*
C:\Users\Nitro\Desktop\arduino-1.8.19-windows\arduino-1.8.19\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp: In member function 'virtual void FirebaseHttpClientEsp8266::begin(const string&, const string&)':
C:\Users\Nitro\Desktop\arduino-1.8.19-windows\arduino-1.8.19\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:51:60: error: invalid conversion from 'const char*' to 'const uint8_t*' {aka 'const unsigned char*'} [-fpermissive]
51 | http_.begin(host.c_str(), kFirebasePort, path.c_str(), kFirebaseFingerprint);
| ^~~~~~~~~~~~~~~~~~~~
| |
| const char*
In file included from C:\Users\Nitro\Desktop\arduino-1.8.19-windows\arduino-1.8.19\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9:
C:\Users\Nitro\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.1\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:168:70: note: initializing argument 4 of 'bool HTTPClient::begin(String, uint16_t, String, const uint8_t*)'
168 | bool begin(String host, uint16_t port, String uri, const uint8_t httpsFingerprint[20]) __attribute__ ((error("obsolete API, use ::begin(WiFiClientSecure, ...)")));
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
exit status 1
Error compiling for board NodeMCU 1.0 (ESP-12E Module).
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
I have tried all those solutions that were available online
giving preference
I have already installed all the required libraries.

ESP32 AsyncWebServer

I currently trying to setup an Async Web Server on the ESP32. But unfortunately I don't get the code to run. I'm usign platform io on windows 10.
#include <Arduino.h>
#include <ESPAsyncWebServer.h>
const char* ssid = "myAP";
const char* password = "123456789";
AsyncWebServer server(80);
setup() and loop() are empty.
If I try to compile the code these message shows up.
compilation terminated.
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp: In constructor 'AsyncPrinter::AsyncPrinter(AsyncClient*, size_t)':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp:48:11: error: 'panic' was not declared in this scope
panic(); //What should we do?
^
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp: In member function 'int AsyncPrinter::connect(IPAddress, uint16_t)':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp:71:11: error: 'panic' was not declared in this scope
panic();
^
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp: In member function 'size_t AsyncPrinter::_sendBuffer()':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp:182:11: error: 'panic' was not declared in this scope
panic(); // Connection should be aborted instead
^
^
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCPbuffer.cpp: In member function 'size_t AsyncTCPbuffer::_handleRxBuffer(uint8_t*, size_t)':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCPbuffer.cpp:469:21: error: 'panic' was not declared in this scope
panic(); //TODO: What action should this be ?
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'bool AsyncClient::operator==(const AsyncClient&)':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:331:66: error: 'ip_addr_t {aka struct ip_addr}' has no membec
r named 'addr'
return (_pcb != NULL && other._pcb != NULL && (_pcb->remote_ip.addr == other._pcb->remote_ip.addr) && (_pcb->remote_port == other._pcb->remote_port));
^
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'void AsyncClient::_dns_found(const ip_addr*)':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:707:31: error: 'const struct ip_addr' has no member named 'addr'
connect(IPAddress(ipaddr->addr), _connect_port);
^
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'uint32_t AsyncClient::getRemoteAddress()':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:837:26: error: 'ip_addr_t {aka struct ip_addr}' has no member named 'addr'
return _pcb->remote_ip.addr;
^
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'uint32_t AsyncClient::getLocalAddress()':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:849:25: error: 'ip_addr_t {aka struct ip_addr}' has no member named 'addr'
return _pcb->local_ip.addr;
^
C:\Users\x\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'void AsyncServer::begin()':
C:\Users\xanix\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:1122:14: error: 'ip_addr_t {aka struct ip_addr}' has no member named 'addr'
local_addr.addr = (uint32_t) _addr;
^
You're using the wrong async TCP library. The one you're using is for the ESP8266, not the ESP32.
Here's its PlatformIO library registry entry:
https://platformio.org/lib/show/305/ESPAsyncTCP
You're seeing errors because it's trying to call functions that are available on the ESP8266 and not the ESP32.
You want the AsyncTCP library:
https://platformio.org/lib/show/1826/AsyncTCP
You should update your platformio.lib file to include this library instead of ESPAsyncTCP. You may also need to remove the build or library directory to get rid of the old library.
had the same issue, downgrading the core of PlatformIO solved for me the issue.
pip install -U "platformio<4.2.0"

Compilation issues with ntopng

I am trying to install ntopng on CentOS 5.5. When I run the make command, during the compilation process I am getting an error related to the sqlite library. I have sqlite v3.3.6 installed.
src/../third-party/lsqlite3/lsqlite3.c: In function 'int dbvm_get_name(lua_State*)':
src/../third-party/lsqlite3/lsqlite3.c:344: warning: converting to 'int' from 'lua_Number'
src/../third-party/lsqlite3/lsqlite3.c: In function 'int dbvm_get_type(lua_State*)':
src/../third-party/lsqlite3/lsqlite3.c:352: warning: converting to 'int' from 'lua_Number'
src/../third-party/lsqlite3/lsqlite3.c: In function 'int dbvm_bind_parameter_name(lua_State*)':
src/../third-party/lsqlite3/lsqlite3.c:501: warning: converting to 'int' from 'lua_Number'
src/../third-party/lsqlite3/lsqlite3.c: In function 'int db_create_collation(lua_State*)':
src/../third-party/lsqlite3/lsqlite3.c:1191: error: 'sqlite3_create_collation_v2' was not declared in this scope
src/../third-party/lsqlite3/lsqlite3.c: At global scope:
src/../third-party/lsqlite3/lsqlite3.c:1261: error: 'sqlite3_int64' has not been declared
src/../third-party/lsqlite3/lsqlite3.c: In function 'int db_update_hook(lua_State*)':
src/../third-party/lsqlite3/lsqlite3.c:1311: error: invalid conversion from 'void (*)(void*, int, const char*, const char*, int)' to 'void (*)(void*, int, const char*, const char*, sqlite_int64)'
src/../third-party/lsqlite3/lsqlite3.c:1311: error: initializing argument 2 of 'void* sqlite3_update_hook(sqlite3*, void (*)(void*, int, const char*, const char*, sqlite_int64), void*)'
src/../third-party/lsqlite3/lsqlite3.c: In function 'int db_exec_callback(void*, int, char**, char**)':
src/../third-party/lsqlite3/lsqlite3.c:1617: warning: converting to 'int' from 'lua_Number'
src/../third-party/lsqlite3/lsqlite3.c: At global scope:
src/../third-party/lsqlite3/lsqlite3.c:1979: error: 'SQLITE_CREATE_VTABLE' was not declared in this scope
src/../third-party/lsqlite3/lsqlite3.c:1980: error: 'SQLITE_DROP_VTABLE' was not declared in this scope
src/../third-party/lsqlite3/lsqlite3.c:1981: error: 'SQLITE_FUNCTION' was not declared in this scope
src/../third-party/lsqlite3/lsqlite3.c:1983: error: 'SQLITE_SAVEPOINT' was not declared in this scope
make: *** [src/Lua.o] Error 1
I resolved this issue by installing the latest sqlite package from source -> 3.8.10.2

Using MPU6050 accelerometer/gyroscope module

I'm testing my MPU6050 module with Arduino Mega. I found Jeff Rowberg has written a library for this. I tried with this example provided by him. But the Arduino IDE gives a large number of errors when trying to verify the sketch.
I've already installed Jeffs library. (following image shows the library content)
This is the error I'm getting:
In file included from C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:42,
from sketch_dec08a.cpp:50:
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050.h:792: warning: only initialized variables can be placed into program memory area
In file included from sketch_dec08a.cpp:50:
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:89: warning: only initialized variables can be placed into program memory area
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:89: error: conflicting declaration 'const prog_uchar dmpMemory [1929]'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050.h:792: error: 'dmpMemory' has a previous declaration as 'prog_uchar dmpMemory [1929]'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:229: warning: only initialized variables can be placed into program memory area
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:271: warning: only initialized variables can be placed into program memory area
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:271: error: conflicting declaration 'const prog_uchar dmpUpdates [47]'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050.h:931: error: 'dmpUpdates' has a previous declaration as 'uint8_t dmpUpdates [29][9]'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:281: error: no 'uint8_t MPU6050::dmpInitialize()' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:506: error: no 'bool MPU6050::dmpPacketAvailable()' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:533: error: no 'uint8_t MPU6050::dmpGetAccel(int32_t*, const uint8_t*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:541: error: no 'uint8_t MPU6050::dmpGetAccel(int16_t*, const uint8_t*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:549: error: no 'uint8_t MPU6050::dmpGetAccel(VectorInt16*, const uint8_t*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:557: error: no 'uint8_t MPU6050::dmpGetQuaternion(int32_t*, const uint8_t*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:566: error: no 'uint8_t MPU6050::dmpGetQuaternion(int16_t*, const uint8_t*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:575: error: no 'uint8_t MPU6050::dmpGetQuaternion(Quaternion*, const uint8_t*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:590: error: no 'uint8_t MPU6050::dmpGetGyro(int32_t*, const uint8_t*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:598: error: no 'uint8_t MPU6050::dmpGetGyro(int16_t*, const uint8_t*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:608: error: no 'uint8_t MPU6050::dmpGetLinearAccel(VectorInt16*, VectorInt16*, VectorFloat*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:616: error: no 'uint8_t MPU6050::dmpGetLinearAccelInWorld(VectorInt16*, VectorInt16*, Quaternion*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:628: error: no 'uint8_t MPU6050::dmpGetGravity(VectorFloat*, Quaternion*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:639: error: no 'uint8_t MPU6050::dmpGetEuler(float*, Quaternion*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:645: error: no 'uint8_t MPU6050::dmpGetYawPitchRoll(float*, Quaternion*, VectorFloat*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:658: error: no 'uint8_t MPU6050::dmpProcessFIFOPacket(const unsigned char*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:668: error: no 'uint8_t MPU6050::dmpReadAndProcessFIFOPacket(uint8_t, uint8_t*)' member function declared in class 'MPU6050'
C:\Users\LordXaX\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:693: error: no 'uint16_t MPU6050::dmpGetFIFOPacketSize()' member function declared in class 'MPU6050'
sketch_dec08a.cpp: In function 'void setup()':
sketch_dec08a.cpp:177: warning: only initialized variables can be placed into program memory area
sketch_dec08a.cpp:181: warning: only initialized variables can be placed into program memory area
sketch_dec08a.cpp:182: warning: only initialized variables can be placed into program memory area
sketch_dec08a.cpp:182: warning: only initialized variables can be placed into program memory area
sketch_dec08a.cpp:185: warning: only initialized variables can be placed into program memory area
sketch_dec08a.cpp:191: warning: only initialized variables can be placed into program memory area
sketch_dec08a:187: error: 'class MPU6050' has no member named 'dmpInitialize'
sketch_dec08a.cpp:197: warning: only initialized variables can be placed into program memory area
sketch_dec08a.cpp:201: warning: only initialized variables can be placed into program memory area
sketch_dec08a:198: error: 'class MPU6050' has no member named 'getIntStatus'
sketch_dec08a.cpp:206: warning: only initialized variables can be placed into program memory area
sketch_dec08a:205: error: 'class MPU6050' has no member named 'dmpGetFIFOPacketSize'
sketch_dec08a.cpp:216: warning: only initialized variables can be placed into program memory area
sketch_dec08a.cpp:218: warning: only initialized variables can be placed into program memory area
sketch_dec08a.cpp: In function 'void loop()':
sketch_dec08a:246: error: 'class MPU6050' has no member named 'getIntStatus'
sketch_dec08a.cpp:260: warning: only initialized variables can be placed into program memory area
sketch_dec08a:263: error: 'class MPU6050' has no member named 'getFIFOBytes'
How do I overcome this?
I've been trying very hard to use this device to get acceleration/gyroscope values. But still no success.
EDIT
This is what I get when trying to compile (verify).
The MPU6050_DMP6 example provided by Jeff works for me. From your compile error, it seems that you've included MPU6050.h, instead of MPU6050_6Axis_MotionApps20.h. Make sure you include the correct one.
If you look at the library code, you'll notice that the .dmp___ methods are not implemented in the MPU6050.cpp file, but in the MPU6050_6Axis_MotionApps20.h file. If this doesn't solve it, post your code.
try putting jeffs i2c .cpp and .h files into the same folder as the mpu6050 library files i found that this then worked for me, sorry if this is a litte late but hopefully helpful :P
I was having the same problem and it turned out I was including both
MPU6050.h and MPU6050_6Axis_MotionApps20.h. I commented out MPU6050.h and it now compiles fine. Seems that the former was overriding the latter.
I've solved the compile problem by putting I2Cdev.cpp and I2C.h in the MPU6050 library folder. (Mind: these are the dev files). These are Jeff's libraries and can be found at GitHub

Resources