I get realy confused by one problem to bring a mapping for an arduino project in a module .h file. I previously bouild all up in one file. There the compilation was without any problems and the ode runs perfectly. Now I get an error after I put it in a module .h file:
expected constructor, destructor, or type conversion before '<' token
for that part of my code:
std::map < std::string, btComands > mapStringBtComands;
I'm not able to find out where the problem is.
Here is the complete .h:
// bluetooth.h
#ifndef _BLUETOOTH_h
#define _BLUETOOTH_h
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#include <StandardCplusplus.h>
#include <map>
#include <string>
#ifdef BT_ENABLED
enum btComands
{
setPID = 1, // set PID parameters
getPID = 2, // send PID vlaues to bluetooth
stEEP = 3, // store parameters to EEPROM
setLD = 4, // activate Live date streaming to Bluetooth
setLog = 5, //activate Log streaming over Bluetooth
setMaxSpeed = 6 // define max allowed Speed
};
//initalisation of mapping for bluetooth GetCommand
std::map < std::string, btComands > mapStringBtComands;
void inline InitBtCommands()
{
mapStringBtComands["setPID"]=setPID;
mapStringBtComands["getPID"]=getPID;
mapStringBtComands["stEEP"]=stEEP;
mapStringBtComands["setLD"]=setLD;
mapStringBtComands["setLog"]=setLog;
mapStringBtComands["setMaxSpeed"]=setMaxSpeed;
}
#endif
#endif
I hope somebody can help me.
Regards
Andreas