mirror of
https://github.com/thelsing/knx.git
synced 2024-12-18 19:08:18 +01:00
make GOT completely dynamic from ETS. GOs are now only available if device was programmed via ETS
This commit is contained in:
parent
c79b921d1c
commit
174e29372c
@ -2,33 +2,18 @@
|
||||
#include <knx.h>
|
||||
#include <WiFiManager.h>
|
||||
|
||||
// declare array of all groupobjects with their sizes in byte
|
||||
GroupObject groupObjects[]
|
||||
{
|
||||
GroupObject(2),
|
||||
GroupObject(2),
|
||||
GroupObject(2),
|
||||
GroupObject(2),
|
||||
GroupObject(2),
|
||||
GroupObject(1),
|
||||
GroupObject(2),
|
||||
GroupObject(2),
|
||||
GroupObject(1),
|
||||
GroupObject(2)
|
||||
}
|
||||
;
|
||||
|
||||
// create named references for easy access to group objects
|
||||
GroupObject& goRawTemperature = groupObjects[0];
|
||||
GroupObject& goPressure = groupObjects[1];
|
||||
GroupObject& goRawHumidity = groupObjects[2];
|
||||
GroupObject& goGasResistance = groupObjects[3];
|
||||
GroupObject& goIaqEstimate = groupObjects[4];
|
||||
GroupObject& goIaqAccurace = groupObjects[5];
|
||||
GroupObject& goTemperature = groupObjects[6];
|
||||
GroupObject& goHumidity = groupObjects[7];
|
||||
GroupObject& goTriggerSample = groupObjects[8];
|
||||
GroupObject& goCo2Ppm = groupObjects[9];
|
||||
#define goRawTemperature knx.getGroupObject(0)
|
||||
#define goPressure knx.getGroupObject(1)
|
||||
#define goRawHumidity knx.getGroupObject(2)
|
||||
#define goGasResistance knx.getGroupObject(3)
|
||||
#define goIaqEstimate knx.getGroupObject(4)
|
||||
#define goIaqAccurace knx.getGroupObject(5)
|
||||
#define goTemperature knx.getGroupObject(6)
|
||||
#define goHumidity knx.getGroupObject(7)
|
||||
#define goTriggerSample knx.getGroupObject(8)
|
||||
#define goCo2Ppm knx.getGroupObject(9)
|
||||
|
||||
#define STATE_SAVE_PERIOD UINT32_C(360 * 60 * 1000) // 360 minutes - 4 times a day
|
||||
|
||||
@ -62,14 +47,12 @@ void setup(void)
|
||||
WiFiManager wifiManager;
|
||||
wifiManager.autoConnect("knx-bme680");
|
||||
|
||||
// register group objects
|
||||
knx.registerGroupObjects(groupObjects, 10);
|
||||
|
||||
// read adress table, association table, groupobject table and parameters from eeprom
|
||||
knx.readMemory();
|
||||
|
||||
// register callback for reset GO
|
||||
goTriggerSample.callback(triggerCallback);
|
||||
if(knx.configured())
|
||||
goTriggerSample.callback(triggerCallback);
|
||||
|
||||
|
||||
iaqSensor.begin(BME680_I2C_ADDR_SECONDARY, Wire);
|
||||
|
@ -1,19 +1,11 @@
|
||||
#include <knx.h>
|
||||
|
||||
// declare array of all groupobjects with their sizes in byte
|
||||
GroupObject groupObjects[]
|
||||
{
|
||||
GroupObject(2),
|
||||
GroupObject(2),
|
||||
GroupObject(2),
|
||||
GroupObject(1)
|
||||
};
|
||||
|
||||
// create named references for easy access to group objects
|
||||
GroupObject& goCurrent = groupObjects[0];
|
||||
GroupObject& goMax = groupObjects[1];
|
||||
GroupObject& goMin = groupObjects[2];
|
||||
GroupObject& goReset = groupObjects[3];
|
||||
#define goCurrent knx.getGroupObject(0)
|
||||
#define goMax knx.getGroupObject(1)
|
||||
#define goMin knx.getGroupObject(2)
|
||||
#define goReset knx.getGroupObject(3)
|
||||
|
||||
float currentValue = 0;
|
||||
float maxValue = 0;
|
||||
@ -64,17 +56,15 @@ void setup()
|
||||
|
||||
randomSeed(millis());
|
||||
|
||||
// register group objects
|
||||
knx.registerGroupObjects(groupObjects, 4);
|
||||
// read adress table, association table, groupobject table and parameters from eeprom
|
||||
knx.readMemory();
|
||||
|
||||
// register callback for reset GO
|
||||
goReset.callback(resetCallback);
|
||||
|
||||
// print values of parameters if device is already configured
|
||||
if (knx.configured())
|
||||
{
|
||||
// register callback for reset GO
|
||||
goReset.callback(resetCallback);
|
||||
|
||||
SerialDBG.print("Timeout: "); SerialDBG.println(knx.paramByte(0));
|
||||
SerialDBG.print("Zykl. senden: "); SerialDBG.println(knx.paramByte(1));
|
||||
SerialDBG.print("Min/Max senden: "); SerialDBG.println(knx.paramByte(2));
|
||||
|
@ -3,19 +3,10 @@
|
||||
|
||||
#define RELAYPIN 12
|
||||
|
||||
// declare array of all groupobjects with their sizes in byte
|
||||
GroupObject groupObjects[]
|
||||
{
|
||||
GroupObject(1),
|
||||
GroupObject(1),
|
||||
GroupObject(1)
|
||||
};
|
||||
|
||||
// create named references for easy access to group objects
|
||||
GroupObject& goSwitch = groupObjects[0];
|
||||
GroupObject& goBlock = groupObjects[1];
|
||||
GroupObject& goStatus = groupObjects[2];
|
||||
|
||||
#define goSwitch knx.getGroupObject(0)
|
||||
#define goBlock knx.getGroupObject(1)
|
||||
#define goStatus knx.getGroupObject(2)
|
||||
|
||||
|
||||
// callback from switch-GO
|
||||
@ -33,17 +24,18 @@ void setup()
|
||||
{
|
||||
SerialDBG.begin(115200);
|
||||
|
||||
WiFiManager wifiManager;
|
||||
WiFiManager wifiManager;
|
||||
wifiManager.autoConnect("knx-sonoffS20");
|
||||
|
||||
// register group objects
|
||||
knx.registerGroupObjects(groupObjects, 3);
|
||||
// read adress table, association table, groupobject table and parameters from eeprom
|
||||
knx.readMemory();
|
||||
|
||||
// register callback for reset GO
|
||||
goSwitch.callback(switchCallback);
|
||||
|
||||
if (knx.configured())
|
||||
{
|
||||
// register callback for reset GO
|
||||
goSwitch.callback(switchCallback);
|
||||
}
|
||||
|
||||
// start the framework. Will get wifi first.
|
||||
knx.start();
|
||||
}
|
||||
@ -54,7 +46,7 @@ void loop()
|
||||
knx.loop();
|
||||
|
||||
// only run the application code if the device was configured with ETS
|
||||
if (!knx.configured())
|
||||
if(!knx.configured())
|
||||
return;
|
||||
|
||||
// nothing else to do.
|
||||
|
@ -75,12 +75,6 @@ static bool Configured()
|
||||
return bau.configured();
|
||||
}
|
||||
|
||||
static void RegisterGroupObjects(std::vector<GroupObject>& gos)
|
||||
{
|
||||
GroupObjectTableObject& got(bau.groupObjectTable());
|
||||
got.groupObjects(gos.data(), gos.size());
|
||||
}
|
||||
|
||||
PYBIND11_MAKE_OPAQUE(std::vector<GroupObject>);
|
||||
|
||||
PYBIND11_MODULE(knx, m)
|
||||
@ -94,12 +88,12 @@ PYBIND11_MODULE(knx, m)
|
||||
m.def("ProgramMode", (bool(*)())&ProgramMode, "get programing mode active.");
|
||||
m.def("ProgramMode", (bool(*)(bool))&ProgramMode, "Activate / deactivate programing mode.");
|
||||
m.def("Configured", (bool(*)())&Configured, "get configured status.");
|
||||
m.def("RegisterGroupObjects", &RegisterGroupObjects);
|
||||
m.def("FlashFilePath", []() { return platform.flashFilePath(); });
|
||||
m.def("FlashFilePath", [](std::string path) { platform.flashFilePath(path); });
|
||||
m.def("GetGroupObject", [](uint16_t goNr) { return bau.groupObjectTable().get(goNr); });
|
||||
|
||||
py::class_<GroupObject>(m, "GroupObject", py::dynamic_attr())
|
||||
.def(py::init<uint8_t>())
|
||||
.def(py::init())
|
||||
.def("objectWrite", (void(GroupObject::*)(float))&GroupObject::objectWrite)
|
||||
.def("asap", &GroupObject::asap)
|
||||
.def("size", &GroupObject::valueSize)
|
||||
|
@ -171,4 +171,167 @@ size_t EspPlatform::readBytesUart(uint8_t *buffer, size_t length)
|
||||
printHex("p>", buffer, length);
|
||||
return length;
|
||||
}
|
||||
|
||||
void print(const char* s)
|
||||
{
|
||||
printf("%s", s);
|
||||
}
|
||||
void print(char c)
|
||||
{
|
||||
printf("%c", c);
|
||||
}
|
||||
|
||||
void print(unsigned char num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(unsigned char num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X", num);
|
||||
else
|
||||
printf("%d", num);
|
||||
}
|
||||
|
||||
void print(int num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X", num);
|
||||
else
|
||||
printf("%d", num);
|
||||
}
|
||||
|
||||
void print(unsigned int num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(unsigned int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X", num);
|
||||
else
|
||||
printf("%d", num);
|
||||
}
|
||||
|
||||
void print(long num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX", num);
|
||||
else
|
||||
printf("%ld", num);
|
||||
}
|
||||
|
||||
void print(unsigned long num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(unsigned long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX", num);
|
||||
else
|
||||
printf("%ld", num);
|
||||
}
|
||||
|
||||
void print(double num)
|
||||
{
|
||||
printf("%f", num);
|
||||
}
|
||||
|
||||
void println(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
void println(char c)
|
||||
{
|
||||
printf("%c\n", c);
|
||||
}
|
||||
|
||||
void println(unsigned char num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(unsigned char num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X\n", num);
|
||||
else
|
||||
printf("%d\n", num);
|
||||
}
|
||||
|
||||
void println(int num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X\n", num);
|
||||
else
|
||||
printf("%d\n", num);
|
||||
}
|
||||
|
||||
void println(unsigned int num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(unsigned int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X\n", num);
|
||||
else
|
||||
printf("%d\n", num);
|
||||
}
|
||||
|
||||
void println(long num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX\n", num);
|
||||
else
|
||||
printf("%ld\n", num);
|
||||
}
|
||||
|
||||
void println(unsigned long num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(unsigned long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX\n", num);
|
||||
else
|
||||
printf("%ld\n", num);
|
||||
}
|
||||
|
||||
void println(double num)
|
||||
{
|
||||
printf("%f\n", num);
|
||||
}
|
||||
|
||||
void println(void)
|
||||
{
|
||||
printf("\n");
|
||||
}
|
||||
#endif
|
||||
|
@ -40,14 +40,14 @@ uint8_t APDU::length() const
|
||||
|
||||
void APDU::printPDU()
|
||||
{
|
||||
_print("APDU: ");
|
||||
_print(type(), HEX);
|
||||
_print(" ");
|
||||
_print(_data[0] & 0x3, HEX);
|
||||
print("APDU: ");
|
||||
print(type(), HEX);
|
||||
print(" ");
|
||||
print(_data[0] & 0x3, HEX);
|
||||
for (uint8_t i = 1; i < length() + 1; ++i)
|
||||
{
|
||||
if (i) _print(" ");
|
||||
_print(_data[i], HEX);
|
||||
if (i) print(" ");
|
||||
print(_data[i], HEX);
|
||||
}
|
||||
_println();
|
||||
println();
|
||||
}
|
||||
|
178
src/knx/bits.cpp
178
src/knx/bits.cpp
@ -9,13 +9,13 @@ uint8_t* popByte(uint8_t& b, uint8_t* data)
|
||||
|
||||
void printHex(const char* suffix, const uint8_t *data, size_t length)
|
||||
{
|
||||
_print(suffix);
|
||||
print(suffix);
|
||||
for (int i = 0; i < length; i++) {
|
||||
if (data[i] < 0x10) { _print("0"); }
|
||||
_print(data[i], HEX);
|
||||
_print(" ");
|
||||
if (data[i] < 0x10) { print("0"); }
|
||||
print(data[i], HEX);
|
||||
print(" ");
|
||||
}
|
||||
_println();
|
||||
println();
|
||||
}
|
||||
|
||||
uint8_t* popWord(uint16_t& w, uint8_t* data)
|
||||
@ -84,171 +84,3 @@ uint32_t getInt(uint8_t * data)
|
||||
{
|
||||
return (data[0] << 24) + (data[1] << 16) + (data[2] << 8) + data[3];
|
||||
}
|
||||
|
||||
|
||||
#ifdef __linux__
|
||||
|
||||
void print(const char* s)
|
||||
{
|
||||
printf("%s", s);
|
||||
}
|
||||
void print(char c)
|
||||
{
|
||||
printf("%c", c);
|
||||
}
|
||||
|
||||
void print(unsigned char num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(unsigned char num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X", num);
|
||||
else
|
||||
printf("%d", num);
|
||||
}
|
||||
|
||||
void print(int num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X", num);
|
||||
else
|
||||
printf("%d", num);
|
||||
}
|
||||
|
||||
void print(unsigned int num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(unsigned int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X", num);
|
||||
else
|
||||
printf("%d", num);
|
||||
}
|
||||
|
||||
void print(long num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX", num);
|
||||
else
|
||||
printf("%ld", num);
|
||||
}
|
||||
|
||||
void print(unsigned long num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(unsigned long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX", num);
|
||||
else
|
||||
printf("%ld", num);
|
||||
}
|
||||
|
||||
void print(double num)
|
||||
{
|
||||
printf("%f", num);
|
||||
}
|
||||
|
||||
void println(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
void println(char c)
|
||||
{
|
||||
printf("%c\n", c);
|
||||
}
|
||||
|
||||
void println(unsigned char num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(unsigned char num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X\n", num);
|
||||
else
|
||||
printf("%d\n", num);
|
||||
}
|
||||
|
||||
void println(int num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X\n", num);
|
||||
else
|
||||
printf("%d\n", num);
|
||||
}
|
||||
|
||||
void println(unsigned int num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(unsigned int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X\n", num);
|
||||
else
|
||||
printf("%d\n", num);
|
||||
}
|
||||
|
||||
void println(long num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX\n", num);
|
||||
else
|
||||
printf("%ld\n", num);
|
||||
}
|
||||
|
||||
void println(unsigned long num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(unsigned long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX\n", num);
|
||||
else
|
||||
printf("%ld\n", num);
|
||||
}
|
||||
|
||||
void println(double num)
|
||||
{
|
||||
printf("%f\n", num);
|
||||
}
|
||||
|
||||
void println(void)
|
||||
{
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
#endif
|
@ -1,21 +1,30 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
#ifdef __linux__
|
||||
#include <arpa/inet.h>
|
||||
#include <cstdio>
|
||||
#elif ARDUINO_ARCH_SAMD
|
||||
#define htons(x) ( (((x)<<8)&0xFF00) | (((x)>>8)&0xFF) )
|
||||
#define ntohs(x) htons(x)
|
||||
#define htonl(x) ( ((x)<<24 & 0xFF000000UL) | \
|
||||
((x)<< 8 & 0x00FF0000UL) | \
|
||||
((x)>> 8 & 0x0000FF00UL) | \
|
||||
((x)>>24 & 0x000000FFUL) )
|
||||
#define ntohl(x) htonl(x)
|
||||
#elif ARDUINO_ARCH_ESP8266
|
||||
#include <user_interface.h>
|
||||
#endif
|
||||
|
||||
#define lowByte(val) ((val) & 255)
|
||||
#define highByte(val) (((val) >> ((sizeof(val) - 1) << 3)) & 255)
|
||||
#define bitRead(val, bitno) (((val) >> (bitno)) & 1)
|
||||
|
||||
|
||||
// print functions are implemented in the platform files
|
||||
#define DEC 10
|
||||
#define HEX 16
|
||||
|
||||
#define _print print
|
||||
#define _println println
|
||||
|
||||
void print(const char[]);
|
||||
void print(char);
|
||||
void print(unsigned char, int = DEC);
|
||||
@ -35,23 +44,7 @@ void println(unsigned long, int = DEC);
|
||||
void println(double, int = 2);
|
||||
void println(void);
|
||||
|
||||
#elif ARDUINO_ARCH_SAMD
|
||||
#include <Arduino.h>
|
||||
#define htons(x) ( (((x)<<8)&0xFF00) | (((x)>>8)&0xFF) )
|
||||
#define ntohs(x) htons(x)
|
||||
#define htonl(x) ( ((x)<<24 & 0xFF000000UL) | \
|
||||
((x)<< 8 & 0x00FF0000UL) | \
|
||||
((x)>> 8 & 0x0000FF00UL) | \
|
||||
((x)>>24 & 0x000000FFUL) )
|
||||
#define ntohl(x) htonl(x)
|
||||
#define _print SerialUSB.print
|
||||
#define _println SerialUSB.println
|
||||
#else
|
||||
#include <Arduino.h>
|
||||
#include <user_interface.h>
|
||||
#define _print Serial.print
|
||||
#define _println Serial.println
|
||||
#endif
|
||||
|
||||
|
||||
void printHex(const char* suffix, const uint8_t *data, size_t length);
|
||||
|
||||
|
@ -76,7 +76,7 @@ bool DataLinkLayer::sendTelegram(NPDU & npdu, AckType ack, uint16_t destinationA
|
||||
|
||||
if (!frame.valid())
|
||||
{
|
||||
_println("invalid frame");
|
||||
println("invalid frame");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -4,13 +4,12 @@
|
||||
#include "datapoint_types.h"
|
||||
#include "group_object_table_object.h"
|
||||
|
||||
GroupObject::GroupObject(uint8_t size)
|
||||
GroupObject::GroupObject()
|
||||
{
|
||||
_data = new uint8_t[size];
|
||||
memset(_data, 0, size);
|
||||
_data = 0;
|
||||
_commFlag = Ok;
|
||||
_table = 0;
|
||||
_dataLength = size;
|
||||
_dataLength = 0;
|
||||
_updateHandler = 0;
|
||||
}
|
||||
|
||||
@ -27,7 +26,8 @@ GroupObject::GroupObject(const GroupObject& other)
|
||||
|
||||
GroupObject::~GroupObject()
|
||||
{
|
||||
delete[] _data;
|
||||
if (_data)
|
||||
delete[] _data;
|
||||
}
|
||||
|
||||
bool GroupObject::responseUpdateEnable()
|
||||
|
@ -31,7 +31,7 @@ class GroupObject
|
||||
{
|
||||
friend class GroupObjectTableObject;
|
||||
public:
|
||||
GroupObject(uint8_t size);
|
||||
GroupObject();
|
||||
GroupObject(const GroupObject& other);
|
||||
virtual ~GroupObject();
|
||||
// config flags from ETS
|
||||
|
@ -7,19 +7,22 @@
|
||||
GroupObjectTableObject::GroupObjectTableObject(Platform& platform)
|
||||
: TableObject(platform)
|
||||
{
|
||||
_groupObjects = 0;
|
||||
_groupObjectCount = 0;
|
||||
}
|
||||
|
||||
GroupObjectTableObject::~GroupObjectTableObject()
|
||||
{
|
||||
freeGroupObjects();
|
||||
}
|
||||
|
||||
void GroupObjectTableObject::readProperty(PropertyID id, uint32_t start, uint32_t& count, uint8_t* data)
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
case PID_OBJECT_TYPE:
|
||||
pushWord(OT_GRP_OBJ_TABLE, data);
|
||||
break;
|
||||
default:
|
||||
TableObject::readProperty(id, start, count, data);
|
||||
case PID_OBJECT_TYPE:
|
||||
pushWord(OT_GRP_OBJ_TABLE, data);
|
||||
break;
|
||||
default:
|
||||
TableObject::readProperty(id, start, count, data);
|
||||
}
|
||||
}
|
||||
|
||||
@ -81,6 +84,7 @@ GroupObject& GroupObjectTableObject::nextUpdatedObject(bool& valid)
|
||||
|
||||
void GroupObjectTableObject::groupObjects(GroupObject * objs, uint16_t size)
|
||||
{
|
||||
freeGroupObjects();
|
||||
_groupObjects = objs;
|
||||
_groupObjectCount = size;
|
||||
initGroupObjects();
|
||||
@ -104,18 +108,22 @@ bool GroupObjectTableObject::initGroupObjects()
|
||||
{
|
||||
if (!_tableData)
|
||||
return false;
|
||||
|
||||
freeGroupObjects();
|
||||
|
||||
uint16_t goCount = ntohs(_tableData[0]);
|
||||
if (goCount != _groupObjectCount)
|
||||
return false;
|
||||
|
||||
_groupObjects = new GroupObject[goCount];
|
||||
_groupObjectCount = goCount;
|
||||
|
||||
for (uint16_t asap = 1; asap <= goCount; asap++)
|
||||
{
|
||||
GroupObject& go = _groupObjects[asap - 1];
|
||||
go._asap = asap;
|
||||
go._table = this;
|
||||
if (go._dataLength != go.goSize())
|
||||
return false;
|
||||
|
||||
go._dataLength = go.goSize();
|
||||
go._data = new uint8_t[go._dataLength];
|
||||
|
||||
if (go.valueReadOnInit())
|
||||
go.requestObjectRead();
|
||||
@ -142,4 +150,13 @@ uint8_t GroupObjectTableObject::propertyCount()
|
||||
PropertyDescription* GroupObjectTableObject::propertyDescriptions()
|
||||
{
|
||||
return _propertyDescriptions;
|
||||
}
|
||||
}
|
||||
|
||||
void GroupObjectTableObject::freeGroupObjects()
|
||||
{
|
||||
if (_groupObjects)
|
||||
delete[] _groupObjects;
|
||||
|
||||
_groupObjectCount = 0;
|
||||
_groupObjects = 0;
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ class GroupObjectTableObject: public TableObject
|
||||
|
||||
public:
|
||||
GroupObjectTableObject(Platform& platform);
|
||||
virtual ~GroupObjectTableObject();
|
||||
void readProperty(PropertyID id, uint32_t start, uint32_t& count, uint8_t* data);
|
||||
uint16_t entryCount();
|
||||
GroupObject& get(uint16_t asap);
|
||||
@ -22,8 +23,9 @@ protected:
|
||||
uint8_t propertyCount();
|
||||
PropertyDescription* propertyDescriptions();
|
||||
private:
|
||||
void freeGroupObjects();
|
||||
bool initGroupObjects();
|
||||
uint16_t* _tableData = 0;
|
||||
GroupObject* _groupObjects;
|
||||
uint16_t _groupObjectCount;
|
||||
GroupObject* _groupObjects = 0;
|
||||
uint16_t _groupObjectCount = 0;
|
||||
};
|
@ -276,7 +276,7 @@ bool TpUartDataLinkLayer::checkDataCon(uint8_t firstByte)
|
||||
|
||||
if (_sendBuffer == 0)
|
||||
{
|
||||
_println("got unexpected L_DATA_CON");
|
||||
println("got unexpected L_DATA_CON");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -293,7 +293,7 @@ bool TpUartDataLinkLayer::checkPollDataInd(uint8_t firstByte)
|
||||
return false;
|
||||
|
||||
// not sure if this can happen
|
||||
_println("got L_POLL_DATA_IND");
|
||||
println("got L_POLL_DATA_IND");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -304,7 +304,7 @@ bool TpUartDataLinkLayer::checkAckNackInd(uint8_t firstByte)
|
||||
return false;
|
||||
|
||||
// this can only happen in bus monitor mode
|
||||
_println("got L_ACKN_IND");
|
||||
println("got L_ACKN_IND");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -313,7 +313,7 @@ bool TpUartDataLinkLayer::checkResetInd(uint8_t firstByte)
|
||||
if (firstByte != U_RESET_IND)
|
||||
return false;
|
||||
|
||||
_println("got U_RESET_IND");
|
||||
println("got U_RESET_IND");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -323,9 +323,9 @@ bool TpUartDataLinkLayer::checkStateInd(uint8_t firstByte)
|
||||
if (tmp != U_STATE_IND)
|
||||
return false;
|
||||
|
||||
_print("got U_STATE_IND: 0x");
|
||||
_print(firstByte, HEX);
|
||||
_println();
|
||||
print("got U_STATE_IND: 0x");
|
||||
print(firstByte, HEX);
|
||||
println();
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -335,9 +335,9 @@ bool TpUartDataLinkLayer::checkFrameStateInd(uint8_t firstByte)
|
||||
if (tmp != U_FRAME_STATE_IND)
|
||||
return false;
|
||||
|
||||
_print("got U_FRAME_STATE_IND: 0x");
|
||||
_print(firstByte, HEX);
|
||||
_println();
|
||||
print("got U_FRAME_STATE_IND: 0x");
|
||||
print(firstByte, HEX);
|
||||
println();
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -347,9 +347,9 @@ bool TpUartDataLinkLayer::checkConfigureInd(uint8_t firstByte)
|
||||
if (tmp != U_CONFIGURE_IND)
|
||||
return false;
|
||||
|
||||
_print("got U_CONFIGURE_IND: 0x");
|
||||
_print(firstByte, HEX);
|
||||
_println();
|
||||
print("got U_CONFIGURE_IND: 0x");
|
||||
print(firstByte, HEX);
|
||||
println();
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -358,7 +358,7 @@ bool TpUartDataLinkLayer::checkFrameEndInd(uint8_t firstByte)
|
||||
if (firstByte != U_FRAME_END_IND)
|
||||
return false;
|
||||
|
||||
_println("got U_FRAME_END_IND");
|
||||
println("got U_FRAME_END_IND");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -367,7 +367,7 @@ bool TpUartDataLinkLayer::checkStopModeInd(uint8_t firstByte)
|
||||
if (firstByte != U_STOP_MODE_IND)
|
||||
return false;
|
||||
|
||||
_println("got U_STOP_MODE_IND");
|
||||
println("got U_STOP_MODE_IND");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -376,25 +376,25 @@ bool TpUartDataLinkLayer::checkSystemStatInd(uint8_t firstByte)
|
||||
if (firstByte != U_SYSTEM_STAT_IND)
|
||||
return false;
|
||||
|
||||
_print("got U_SYSTEM_STAT_IND: 0x");
|
||||
print("got U_SYSTEM_STAT_IND: 0x");
|
||||
while (true)
|
||||
{
|
||||
int tmp = _platform.readUart();
|
||||
if (tmp < 0)
|
||||
continue;
|
||||
|
||||
_print(tmp, HEX);
|
||||
print(tmp, HEX);
|
||||
break;
|
||||
}
|
||||
_println();
|
||||
println();
|
||||
return true;
|
||||
}
|
||||
|
||||
void TpUartDataLinkLayer::handleUnexpected(uint8_t firstByte)
|
||||
{
|
||||
_print("got UNEXPECTED: 0x");
|
||||
_print(firstByte, HEX);
|
||||
_println();
|
||||
print("got UNEXPECTED: 0x");
|
||||
print(firstByte, HEX);
|
||||
println();
|
||||
}
|
||||
|
||||
void TpUartDataLinkLayer::enabled(bool value)
|
||||
@ -402,8 +402,8 @@ void TpUartDataLinkLayer::enabled(bool value)
|
||||
if (value && !_enabled)
|
||||
{
|
||||
_platform.setupUart();
|
||||
_print("ownaddr ");
|
||||
_println(_deviceObject.induvidualAddress(), HEX);
|
||||
print("ownaddr ");
|
||||
println(_deviceObject.induvidualAddress(), HEX);
|
||||
resetChip();
|
||||
_enabled = true;
|
||||
return;
|
||||
|
@ -89,11 +89,6 @@ void KnxFacade::loop()
|
||||
_bau.loop();
|
||||
}
|
||||
|
||||
void KnxFacade::registerGroupObjects(GroupObject* groupObjects, uint16_t count)
|
||||
{
|
||||
_bau.groupObjectTable().groupObjects(groupObjects, count);
|
||||
}
|
||||
|
||||
void KnxFacade::manufacturerId(uint16_t value)
|
||||
{
|
||||
_bau.deviceObject().manufacturerId(value);
|
||||
@ -190,3 +185,9 @@ uint8_t* KnxFacade::restore(uint8_t* buffer)
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
|
||||
GroupObject& KnxFacade::getGroupObject(uint16_t goNr)
|
||||
{
|
||||
return _bau.groupObjectTable().get(goNr);
|
||||
}
|
||||
|
@ -29,7 +29,6 @@ public:
|
||||
void readMemory();
|
||||
void writeMemory();
|
||||
void loop();
|
||||
void registerGroupObjects(GroupObject* groupObjects, uint16_t count);
|
||||
void manufacturerId(uint16_t value);
|
||||
void bauNumber(uint32_t value);
|
||||
void orderNumber(const char* value);
|
||||
@ -42,6 +41,7 @@ public:
|
||||
uint8_t paramByte(uint32_t addr);
|
||||
uint16_t paramWord(uint32_t addr);
|
||||
uint32_t paramInt(uint32_t addr);
|
||||
GroupObject& getGroupObject(uint16_t goNr);
|
||||
private:
|
||||
BauSystemB& _bau;
|
||||
uint32_t _ledPin = LED_BUILTIN;
|
||||
|
@ -329,4 +329,168 @@ std::string LinuxPlatform::flashFilePath()
|
||||
{
|
||||
return _flashFilePath;
|
||||
}
|
||||
|
||||
void print(const char* s)
|
||||
{
|
||||
printf("%s", s);
|
||||
}
|
||||
void print(char c)
|
||||
{
|
||||
printf("%c", c);
|
||||
}
|
||||
|
||||
void print(unsigned char num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(unsigned char num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X", num);
|
||||
else
|
||||
printf("%d", num);
|
||||
}
|
||||
|
||||
void print(int num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X", num);
|
||||
else
|
||||
printf("%d", num);
|
||||
}
|
||||
|
||||
void print(unsigned int num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(unsigned int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X", num);
|
||||
else
|
||||
printf("%d", num);
|
||||
}
|
||||
|
||||
void print(long num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX", num);
|
||||
else
|
||||
printf("%ld", num);
|
||||
}
|
||||
|
||||
void print(unsigned long num)
|
||||
{
|
||||
print(num, DEC);
|
||||
}
|
||||
|
||||
void print(unsigned long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX", num);
|
||||
else
|
||||
printf("%ld", num);
|
||||
}
|
||||
|
||||
void print(double num)
|
||||
{
|
||||
printf("%f", num);
|
||||
}
|
||||
|
||||
void println(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
void println(char c)
|
||||
{
|
||||
printf("%c\n", c);
|
||||
}
|
||||
|
||||
void println(unsigned char num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(unsigned char num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X\n", num);
|
||||
else
|
||||
printf("%d\n", num);
|
||||
}
|
||||
|
||||
void println(int num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X\n", num);
|
||||
else
|
||||
printf("%d\n", num);
|
||||
}
|
||||
|
||||
void println(unsigned int num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(unsigned int num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%X\n", num);
|
||||
else
|
||||
printf("%d\n", num);
|
||||
}
|
||||
|
||||
void println(long num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX\n", num);
|
||||
else
|
||||
printf("%ld\n", num);
|
||||
}
|
||||
|
||||
void println(unsigned long num)
|
||||
{
|
||||
println(num, DEC);
|
||||
}
|
||||
|
||||
void println(unsigned long num, int base)
|
||||
{
|
||||
if (base == HEX)
|
||||
printf("%lX\n", num);
|
||||
else
|
||||
printf("%ld\n", num);
|
||||
}
|
||||
|
||||
void println(double num)
|
||||
{
|
||||
printf("%f\n", num);
|
||||
}
|
||||
|
||||
void println(void)
|
||||
{
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
#endif
|
21
src/main.cpp
21
src/main.cpp
@ -15,17 +15,10 @@ float maxValue = 0;
|
||||
float minValue = RAND_MAX;
|
||||
long lastsend = 0;
|
||||
|
||||
GroupObject groupObjects[]
|
||||
{
|
||||
GroupObject(2),
|
||||
GroupObject(2),
|
||||
GroupObject(2),
|
||||
GroupObject(1)
|
||||
};
|
||||
#define CURR groupObjects[0]
|
||||
#define MAX groupObjects[1]
|
||||
#define MIN groupObjects[2]
|
||||
#define RESET groupObjects[3]
|
||||
#define CURR bau.groupObjectTable().get(0)
|
||||
#define MAX bau.groupObjectTable().get(1)
|
||||
#define MIN bau.groupObjectTable().get(2)
|
||||
#define RESET bau.groupObjectTable().get(3)
|
||||
|
||||
void measureTemp()
|
||||
{
|
||||
@ -75,10 +68,8 @@ void setup()
|
||||
srand((unsigned int)time(NULL));
|
||||
bau.readMemory();
|
||||
|
||||
GroupObjectTableObject& got(bau.groupObjectTable());
|
||||
got.groupObjects(groupObjects, 4);
|
||||
|
||||
RESET.callback(resetCallback);
|
||||
if (bau.configured())
|
||||
RESET.callback(resetCallback);
|
||||
|
||||
if (bau.deviceObject().induvidualAddress() == 0)
|
||||
bau.deviceObject().progMode(true);
|
||||
|
@ -45,7 +45,7 @@ void SamdPlatform::mdelay(uint32_t millis)
|
||||
|
||||
void SamdPlatform::restart()
|
||||
{
|
||||
SerialUSB.println("restart");
|
||||
SerialDBG.println("restart");
|
||||
NVIC_SystemReset();
|
||||
}
|
||||
|
||||
@ -153,4 +153,138 @@ size_t SamdPlatform::readBytesUart(uint8_t *buffer, size_t length)
|
||||
//printHex("p>", buffer, length);
|
||||
return length;
|
||||
}
|
||||
|
||||
void print(const char* s)
|
||||
{
|
||||
SerialDBG.print(s);
|
||||
}
|
||||
void print(char c)
|
||||
{
|
||||
SerialDBG.print(c);
|
||||
}
|
||||
|
||||
void print(unsigned char num)
|
||||
{
|
||||
SerialDBG.print(num);
|
||||
}
|
||||
|
||||
void print(unsigned char num, int base)
|
||||
{
|
||||
SerialDBG.print(num, base);
|
||||
}
|
||||
|
||||
void print(int num)
|
||||
{
|
||||
SerialDBG.print(num);
|
||||
}
|
||||
|
||||
void print(int num, int base)
|
||||
{
|
||||
SerialDBG.print(num, base);
|
||||
}
|
||||
|
||||
void print(unsigned int num)
|
||||
{
|
||||
SerialDBG.print(num);
|
||||
}
|
||||
|
||||
void print(unsigned int num, int base)
|
||||
{
|
||||
SerialDBG.print(num, base);
|
||||
}
|
||||
|
||||
void print(long num)
|
||||
{
|
||||
SerialDBG.print(num);
|
||||
}
|
||||
|
||||
void print(long num, int base)
|
||||
{
|
||||
SerialDBG.print(num, base);
|
||||
}
|
||||
|
||||
void print(unsigned long num)
|
||||
{
|
||||
SerialDBG.print(num);
|
||||
}
|
||||
|
||||
void print(unsigned long num, int base)
|
||||
{
|
||||
SerialDBG.print(num, base);
|
||||
}
|
||||
|
||||
void print(double num)
|
||||
{
|
||||
SerialDBG.print(num);
|
||||
}
|
||||
|
||||
void println(const char* s)
|
||||
{
|
||||
SerialDBG.println(s);
|
||||
}
|
||||
|
||||
void println(char c)
|
||||
{
|
||||
SerialDBG.println(c);
|
||||
}
|
||||
|
||||
void println(unsigned char num)
|
||||
{
|
||||
SerialDBG.println(num);
|
||||
}
|
||||
|
||||
void println(unsigned char num, int base)
|
||||
{
|
||||
SerialDBG.println(num, base);
|
||||
}
|
||||
|
||||
void println(int num)
|
||||
{
|
||||
SerialDBG.println(num);
|
||||
}
|
||||
|
||||
void println(int num, int base)
|
||||
{
|
||||
SerialDBG.println(num, base);
|
||||
}
|
||||
|
||||
void println(unsigned int num)
|
||||
{
|
||||
SerialDBG.println(num);
|
||||
}
|
||||
|
||||
void println(unsigned int num, int base)
|
||||
{
|
||||
SerialDBG.println(num, base);
|
||||
}
|
||||
|
||||
void println(long num)
|
||||
{
|
||||
SerialDBG.println(num);
|
||||
}
|
||||
|
||||
void println(long num, int base)
|
||||
{
|
||||
SerialDBG.println(num, base);
|
||||
}
|
||||
|
||||
void println(unsigned long num)
|
||||
{
|
||||
SerialDBG.println(num);
|
||||
}
|
||||
|
||||
void println(unsigned long num, int base)
|
||||
{
|
||||
SerialDBG.println(num, base);
|
||||
}
|
||||
|
||||
void println(double num)
|
||||
{
|
||||
SerialDBG.println(num);
|
||||
}
|
||||
|
||||
void println(void)
|
||||
{
|
||||
SerialDBG.println();
|
||||
}
|
||||
#endif
|
@ -17,21 +17,25 @@ EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Arduino Genuino Zero (Native USB Port) = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
Debug|Mixed = Debug|Mixed
|
||||
Debug|NodeMCU_1 0_(ESP-12E_Module) = Debug|NodeMCU_1 0_(ESP-12E_Module)
|
||||
Debug|VisualGDB = Debug|VisualGDB
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
MinSizeRel|Arduino Genuino Zero (Native USB Port) = MinSizeRel|Arduino Genuino Zero (Native USB Port)
|
||||
MinSizeRel|Mixed = MinSizeRel|Mixed
|
||||
MinSizeRel|NodeMCU_1 0_(ESP-12E_Module) = MinSizeRel|NodeMCU_1 0_(ESP-12E_Module)
|
||||
MinSizeRel|VisualGDB = MinSizeRel|VisualGDB
|
||||
MinSizeRel|x64 = MinSizeRel|x64
|
||||
MinSizeRel|x86 = MinSizeRel|x86
|
||||
Release|Arduino Genuino Zero (Native USB Port) = Release|Arduino Genuino Zero (Native USB Port)
|
||||
Release|Mixed = Release|Mixed
|
||||
Release|NodeMCU_1 0_(ESP-12E_Module) = Release|NodeMCU_1 0_(ESP-12E_Module)
|
||||
Release|VisualGDB = Release|VisualGDB
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
RelWithDebInfo|Arduino Genuino Zero (Native USB Port) = RelWithDebInfo|Arduino Genuino Zero (Native USB Port)
|
||||
RelWithDebInfo|Mixed = RelWithDebInfo|Mixed
|
||||
RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module) = RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module)
|
||||
RelWithDebInfo|VisualGDB = RelWithDebInfo|VisualGDB
|
||||
RelWithDebInfo|x64 = RelWithDebInfo|x64
|
||||
@ -39,6 +43,7 @@ Global
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|Mixed.ActiveCfg = Debug|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Debug|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|VisualGDB.ActiveCfg = Debug|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|VisualGDB.Build.0 = Debug|VisualGDB
|
||||
@ -46,6 +51,8 @@ Global
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|x86.ActiveCfg = Debug|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|Mixed.ActiveCfg = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|Mixed.Build.0 = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|VisualGDB.ActiveCfg = Release|VisualGDB
|
||||
@ -55,6 +62,7 @@ Global
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|x86.ActiveCfg = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|x86.Build.0 = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.Release|Mixed.ActiveCfg = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.Release|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.Release|VisualGDB.ActiveCfg = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.Release|VisualGDB.Build.0 = Release|VisualGDB
|
||||
@ -62,6 +70,8 @@ Global
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.Release|x86.ActiveCfg = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|Mixed.ActiveCfg = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|Mixed.Build.0 = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|VisualGDB
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|VisualGDB
|
||||
@ -72,6 +82,8 @@ Global
|
||||
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|x86.Build.0 = Release|VisualGDB
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|Arduino Genuino Zero (Native USB Port).Build.0 = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|Mixed.ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|Mixed.Build.0 = Debug|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Debug|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|VisualGDB.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
@ -79,6 +91,8 @@ Global
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|x86.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|Mixed.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|Mixed.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
@ -89,12 +103,15 @@ Global
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|x86.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|Mixed.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|x64.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|x86.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|Mixed.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|Mixed.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
@ -105,6 +122,8 @@ Global
|
||||
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|x86.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|Arduino Genuino Zero (Native USB Port).Build.0 = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|Mixed.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|Mixed.Build.0 = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Debug|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|VisualGDB.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
@ -112,6 +131,8 @@ Global
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|x86.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|Mixed.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|Mixed.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
@ -122,6 +143,8 @@ Global
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|x86.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|Mixed.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|Mixed.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
@ -129,6 +152,8 @@ Global
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|x86.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|Mixed.ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|Mixed.Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
@ -138,12 +163,15 @@ Global
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|x86.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|x86.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|Mixed.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|VisualGDB.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|x64.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|x86.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|Mixed.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|Mixed.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
@ -154,12 +182,15 @@ Global
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|x86.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|Mixed.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|VisualGDB.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|x64.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|x86.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|Mixed.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|Mixed.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
@ -169,6 +200,8 @@ Global
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|x86.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|x86.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|Mixed.ActiveCfg = Debug|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|Mixed.Build.0 = Debug|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Debug|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|VisualGDB.ActiveCfg = Debug|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
@ -176,6 +209,8 @@ Global
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|x86.Build.0 = Debug|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|Mixed.ActiveCfg = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|Mixed.Build.0 = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|VisualGDB.ActiveCfg = Release|Win32
|
||||
@ -185,6 +220,7 @@ Global
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|x86.ActiveCfg = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|x86.Build.0 = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|Mixed.ActiveCfg = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|VisualGDB.ActiveCfg = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|x64.ActiveCfg = Release|Win32
|
||||
@ -192,6 +228,8 @@ Global
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|x86.Build.0 = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|Mixed.ActiveCfg = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|Mixed.Build.0 = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Win32
|
||||
@ -201,6 +239,8 @@ Global
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|x86.ActiveCfg = Release|Win32
|
||||
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|x86.Build.0 = Release|Win32
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|Mixed.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|Mixed.Build.0 = Debug|NodeMCU 1 0 (ESP-12E Module)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Debug|NodeMCU 1 0 (ESP-12E Module)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|VisualGDB.ActiveCfg = Debug|Generic ESP8266 Module
|
||||
@ -208,6 +248,8 @@ Global
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|x86.ActiveCfg = Debug|Generic ESP8266 Module
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|Mixed.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|Mixed.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|VisualGDB.ActiveCfg = Release|Generic ESP8266 Module
|
||||
@ -218,12 +260,15 @@ Global
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|x86.Build.0 = Release|Generic ESP8266 Module
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|Mixed.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|VisualGDB.ActiveCfg = Release|Generic ESP8266 Module
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|x64.ActiveCfg = Release|Generic ESP8266 Module
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|x86.ActiveCfg = Release|Generic ESP8266 Module
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|Mixed.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|Mixed.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
|
||||
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Generic ESP8266 Module
|
||||
|
Loading…
Reference in New Issue
Block a user