mirror of
https://github.com/thooge/esp32-nmea2000-obp60.git
synced 2025-12-13 05:53:06 +01:00
add info about conversions to UI, tweak layout
This commit is contained in:
@@ -13,7 +13,8 @@ public:
|
||||
typedef void (*LConverter)(const Msg &msg, T *);
|
||||
|
||||
private:
|
||||
double dummy;
|
||||
String keyList;
|
||||
bool keyListFilled=false;
|
||||
class ConverterEntry
|
||||
{
|
||||
public:
|
||||
@@ -44,7 +45,7 @@ private:
|
||||
typedef std::map<String, ConverterEntry> ConverterMap;
|
||||
ConverterMap converters;
|
||||
|
||||
public:
|
||||
public:
|
||||
/**
|
||||
* register a converter
|
||||
* each of the converter functions must be registered in the constructor
|
||||
@@ -54,70 +55,82 @@ public:
|
||||
unsigned long *lpgn=new unsigned long[1]{pgn};
|
||||
ConverterEntry e(1,lpgn, converter);
|
||||
converters[String(pgn)] = e;
|
||||
keyListFilled=false;
|
||||
}
|
||||
void registerConverter(unsigned long pgn, LConverter converter)
|
||||
{
|
||||
unsigned long *lpgn=new unsigned long[1]{pgn};
|
||||
ConverterEntry e(1,lpgn, converter);
|
||||
converters[String(pgn)] = e;
|
||||
keyListFilled=false;
|
||||
}
|
||||
void registerConverter(unsigned long pgn, String sentence, Converter converter)
|
||||
{
|
||||
unsigned long *lpgn=new unsigned long[1]{pgn};
|
||||
ConverterEntry e(1,lpgn, converter);
|
||||
converters[sentence] = e;
|
||||
keyListFilled=false;
|
||||
}
|
||||
void registerConverter(unsigned long pgn, String sentence, LConverter converter)
|
||||
{
|
||||
unsigned long *lpgn=new unsigned long[1]{pgn};
|
||||
ConverterEntry e(1,lpgn, converter);
|
||||
converters[sentence] = e;
|
||||
keyListFilled=false;
|
||||
}
|
||||
void registerConverter(int num,unsigned long *lpgn, String sentence, Converter converter)
|
||||
{
|
||||
ConverterEntry e(num,lpgn, converter);
|
||||
converters[sentence] = e;
|
||||
keyListFilled=false;
|
||||
}
|
||||
void registerConverter(int num,unsigned long *lpgn, String sentence, LConverter converter)
|
||||
{
|
||||
ConverterEntry e(num,lpgn, converter);
|
||||
converters[sentence] = e;
|
||||
keyListFilled=false;
|
||||
}
|
||||
void registerConverter(unsigned long pgn, unsigned long pgn2, String sentence, Converter converter)
|
||||
{
|
||||
unsigned long *lpgn=new unsigned long[2]{pgn,pgn2};
|
||||
ConverterEntry e(2, lpgn, converter);
|
||||
converters[sentence] = e;
|
||||
keyListFilled=false;
|
||||
}
|
||||
void registerConverter(unsigned long pgn, unsigned long pgn2, String sentence, LConverter converter)
|
||||
{
|
||||
unsigned long *lpgn=new unsigned long[2]{pgn,pgn2};
|
||||
ConverterEntry e(2, lpgn, converter);
|
||||
converters[sentence] = e;
|
||||
keyListFilled=false;
|
||||
}
|
||||
void registerConverter(unsigned long pgn, unsigned long pgn2, unsigned long pgn3,String sentence, Converter converter)
|
||||
{
|
||||
unsigned long *lpgn=new unsigned long[3]{pgn,pgn2,pgn3};
|
||||
ConverterEntry e(3, lpgn,converter);
|
||||
converters[sentence] = e;
|
||||
keyListFilled=false;
|
||||
}
|
||||
void registerConverter(unsigned long pgn, unsigned long pgn2, unsigned long pgn3,String sentence, LConverter converter)
|
||||
{
|
||||
unsigned long *lpgn=new unsigned long[3]{pgn,pgn2,pgn3};
|
||||
ConverterEntry e(3, lpgn,converter);
|
||||
converters[sentence] = e;
|
||||
keyListFilled=false;
|
||||
}
|
||||
void registerConverter(unsigned long pgn, unsigned long pgn2, unsigned long pgn3,unsigned long pgn4,String sentence, Converter converter)
|
||||
{
|
||||
unsigned long *lpgn=new unsigned long[4]{pgn,pgn2,pgn3,pgn4};
|
||||
ConverterEntry e(4, lpgn,converter);
|
||||
converters[sentence] = e;
|
||||
keyListFilled=false;
|
||||
}
|
||||
void registerConverter(unsigned long pgn, unsigned long pgn2, unsigned long pgn3,unsigned long pgn4,String sentence, LConverter converter)
|
||||
{
|
||||
unsigned long *lpgn=new unsigned long[4]{pgn,pgn2,pgn3,pgn4};
|
||||
ConverterEntry e(4, lpgn,converter);
|
||||
converters[sentence] = e;
|
||||
keyListFilled=false;
|
||||
}
|
||||
|
||||
bool handleMessage(String code, const Msg &msg, T *base)
|
||||
@@ -182,5 +195,18 @@ public:
|
||||
json[prefix][String(it->first)] = it->second.count;
|
||||
}
|
||||
}
|
||||
String handledKeys(){
|
||||
if (! keyListFilled){
|
||||
keyList=String();
|
||||
bool first=true;
|
||||
for (auto it=converters.begin();it != converters.end();it++){
|
||||
if (! first) keyList.concat(',');
|
||||
first=false;
|
||||
keyList.concat(it->first);
|
||||
}
|
||||
keyListFilled=true;
|
||||
}
|
||||
return keyList;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
Reference in New Issue
Block a user