diff --git a/.vscode/cmake-kits.json b/.vscode/cmake-kits.json index a48c891..d1aa225 100644 --- a/.vscode/cmake-kits.json +++ b/.vscode/cmake-kits.json @@ -16,6 +16,15 @@ }, "cmakeSettings": { "TgtEnv": "Host" - } + }, + "isTrusted": true + }, + { + "name": "Esp32 Tests", + "environmentSetupScript": "/home/gustice/esp/v5.4.1/esp-idf/export.sh", + "cmakeSettings": { + "TgtEnv": "Target" + }, + "isTrusted": true } ] \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 5f13472..d1044ae 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -19,7 +19,6 @@ "sonarlint.pathToCompileCommands": "${workspaceFolder}\\build\\compile_commands.json", "idf.port": "/dev/ttyACM0", "cmake.showSystemKits": false, - "cmake.buildDirectory": "${workspaceFolder}/buildHost", "cmake.defaultVariants": { "buildType": { "default": "debug", diff --git a/CMakeLists.txt b/CMakeLists.txt index 78563d7..4d6bc22 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,18 +1,17 @@ cmake_minimum_required(VERSION 3.16) -if(CMAKE_BUILD_TYPE) +if(TgtEnv STREQUAL "Host") message("Using Host-Branch") - if(${CMAKE_BUILD_TYPE} STREQUAL "uTest") - # Own Workspace scaffold - add_subdirectory(test/unitOnHost) - endif() + add_subdirectory("test/unitOnHost") +elseif(TgtEnv STREQUAL "Target") + # add_subdirectory("test/unitOnTarget") + add_subdirectory("core/test/unitOnTarget") else() message("Using ESP-Branch") set(EXTRA_COMPONENT_DIRS "core/components" "core/managed_components" ) - include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(X_WatchController_FW) endif() diff --git a/components/spit/src/SPIT_Client.cpp b/components/spit/src/SPIT_Client.cpp index 329237e..bc251b0 100644 --- a/components/spit/src/SPIT_Client.cpp +++ b/components/spit/src/SPIT_Client.cpp @@ -194,7 +194,7 @@ void SPIT_Client::eventServerChanged(SAD_DetectedServer &server) { // m_ServerIP = detected.getIP(); // #if defined(DEBUGOUTPUT) -// printf("MySPITApp: connect to %s ", detected.getIP().data()); +// ESP_LOGD(TAG, "MySPITApp: connect to %s ", detected.getIP().data()); // #endif // // Use the m_BoardNumber as login name // string stringLoginName = ""; @@ -573,7 +573,7 @@ void SPIT_Client::parseDisconnect(SPIT_Message::Disconnect &p_Disconnect) { * @param p_Watchdog */ void SPIT_Client::parseWatchdog(SPIT_Message::Watchdog &p_Watchdog) { - // printf("parse Watchdog \n"); + // ESP_LOGD(TAG, "parse Watchdog "); SPIT_Message::WatchdogAnswer o_WatchdogAnswer; sendSPITMessage(o_WatchdogAnswer); } @@ -604,7 +604,7 @@ void SPIT_Client::eventWatchdogLost() { //----- SPIT Project ------ void SPIT_Client::parseReportSPITProject(SPIT_Message::ReportSPITProject &p_ReportSPITProject) { - // printf("parse ReportSPITProject \n"); + ESP_LOGD(TAG, "parse ReportSPITProject"); m_ServerProjectID = p_ReportSPITProject.getProjectID(); m_ServerProjectName = p_ReportSPITProject.getProjectName(); m_ServerFramesPerSecond = p_ReportSPITProject.getFramesPerSecond(); @@ -617,7 +617,7 @@ void SPIT_Client::parseReportSPITProject(SPIT_Message::ReportSPITProject &p_Repo // Send RequestProjectTransfer SPIT_Message::RequestProjectTransfer sMRequestProjectTransfer; if (sendSPITMessage(sMRequestProjectTransfer) < 0) { - ESP_LOGD(TAG, "SPIT_Client::parseReportSPITProject could not send RequestProjectTransfer\n"); + ESP_LOGD(TAG, "SPIT_Client::parseReportSPITProject could not send RequestProjectTransfer"); } // todo Don't send the ReportSPITProject here it should be sended after parseEndProjectTransfer @@ -629,7 +629,7 @@ void SPIT_Client::parseReportSPITProject(SPIT_Message::ReportSPITProject &p_Repo } } void SPIT_Client::parseCloseSPITProject(SPIT_Message::CloseSPITProject &p_CloseSPITProject) { - // printf("parse CloseSPITProject \n"); + ESP_LOGD(TAG, "parse CloseSPITProject"); string stringProjectID; mCallbacks.onProjectUpdate(ProjUpdate::ServerClosed, p_CloseSPITProject.getProjectID()); SPITPlayer::clearPlayers(); @@ -640,7 +640,7 @@ string SPIT_Client::getServerProjectName() { return m_ServerProjectName; } int SPIT_Client::getServerFramesPerSecond() { return m_ServerFramesPerSecond; } void SPIT_Client::parseRequestProjectTransfer(SPIT_Message::RequestProjectTransfer &p_RequestProjectTransfer) { - // printf("parse RequestProjectTransfer \n"); + ESP_LOGD(TAG, "parse RequestProjectTransfer"); // StartProjectTransfer SPIT_Message::StartProjectTransfer sMStartProjectTransfer; if (sendSPITMessage(sMStartProjectTransfer) < 0) { @@ -674,7 +674,7 @@ void SPIT_Client::parseRequestProjectTransfer(SPIT_Message::RequestProjectTransf /* NEW IMPLEMENTATION void SPIT_Client::parseRequestProjectTransfer(SPIT_Message::RequestProjectTransfer* p_RequestProjectTransfer) { -// printf("parse RequestProjectTransfer \n"); +// ESP_LOGD(TAG, "parse RequestProjectTransfer"); thread* o_ThreadSend; o_ThreadSend = new thread(&this->sendProject, this); // int intResult; @@ -814,7 +814,7 @@ void SPIT_Client::parseEndProjectTransfer(SPIT_Message::EndProjectTransfer &p_En //----- SPIT Types ------ void SPIT_Client::parseReportSPITType(SPIT_Message::ReportSPITType &p_ReportSPITType) { - // printf("parse ReportSPITType ID %s Name %s \n",p_ReportSPITType.getID(), p_ReportSPITType.getName()); + ESP_LOGD(TAG, "parse ReportSPITType ID %s Name %s",p_ReportSPITType.getID().c_str(), p_ReportSPITType.getName().c_str()); SPITType *ptrSPITType; bool boolNew = false; bool boolChanged = false; @@ -864,7 +864,7 @@ void SPIT_Client::parseReportSPITType(SPIT_Message::ReportSPITType &p_ReportSPIT } } void SPIT_Client::parseRemoveSPITType(SPIT_Message::RemoveSPITType &p_RemoveSPITType) { - // printf("parse RemoveSPITType %s\n", p_RemoveSPITType.getID()); + ESP_LOGD(TAG, "parse RemoveSPITType %s", p_RemoveSPITType.getID().c_str()); bool boolRemote = false; string stringSPITTypeID = p_RemoveSPITType.getID(); @@ -989,14 +989,14 @@ SPITType *SPIT_Client::createSPITType(string p_ID, string p_GroupName, string p_ //----- SPIT Objects ------ void SPIT_Client::parseReportSPITObject(SPIT_Message::ReportSPITObject &p_ReportSPITObject) { - ESP_LOGD(TAG, "parse ReportSPITObject %s\n", p_ReportSPITObject.getID().c_str()); + ESP_LOGD(TAG, "parse ReportSPITObject %s", p_ReportSPITObject.getID().c_str()); SPITObject *ptrSPITObject; SPITType *ptrSPITType; bool boolNew = false; bool boolRemote = false; bool boolChanged = false; { - ESP_LOGD(TAG, "parseReportSPITObject %s / %s", p_ReportSPITObject.getID().c_str(), p_ReportSPITObject.getName().c_str()); + ESP_LOGD(TAG, "parse ReportSPITObject %s / %s", p_ReportSPITObject.getID().c_str(), p_ReportSPITObject.getName().c_str()); if (p_ReportSPITObject.getServerRemote() == false) { boolRemote = false; ptrSPITObject = mSpitObjects.getEntry(p_ReportSPITObject.getID()); @@ -1069,7 +1069,7 @@ void SPIT_Client::parseReportSPITObject(SPIT_Message::ReportSPITObject &p_Report } } void SPIT_Client::parseRemoveSPITObject(SPIT_Message::RemoveSPITObject &p_RemoveSPITObject) { - // printf("parse RemoveSPITObject %s\n", p_RemoveSPITObject.getID()); + ESP_LOGD(TAG, "parse RemoveSPITObject %s", p_RemoveSPITObject.getID().c_str()); SPITObject *ptrSPITObject = mRemoteSpitObjects.getEntry(p_RemoveSPITObject.getID()); if (ptrSPITObject != nullptr) { SPITType *ptrSPITType = mRemoteSpitTypes.getEntry(ptrSPITObject->getSPITTypeID()); diff --git a/components/spit/tools/spit.lua b/components/spit/tools/spit.lua new file mode 100644 index 0000000..0c1636a --- /dev/null +++ b/components/spit/tools/spit.lua @@ -0,0 +1,362 @@ +-- LiveShowSoftware SPIT-Protocol +spit_proto = Proto("spit", "LiveShowSoftware SPIT") +spit_sad_proto = Proto("spit_sad", "LiveShowSoftware SPIT SAD") + +-- Define fields (add more as needed) +local f_hVer = ProtoField.uint32("spit.version", "Version") +local f_hNum = ProtoField.uint8("spit.msgCount", "MsgCount") +local f_hLen = ProtoField.uint32("spit.len", "Length") +local f_hSerId = ProtoField.string("spit.serverId", "ServerID") +local f_hCliId = ProtoField.string("spit.clientId", "ClientID") +local f_hType = ProtoField.uint8("spit.msgType", "MsgType") +local f_pLen = ProtoField.uint32("spit.paylen", "Length") + +local f_pSession = ProtoField.string("spit.key", "Spit Session") +local f_pKey = ProtoField.string("spit.key", "Spit Key") +local f_pSadKey = ProtoField.string("spit.sadKey", "Spit SAD Key") +local f_pServerDevName = ProtoField.string("spit.serverDevName", "Server Device Name") + +local f_pClientDevName = ProtoField.string("spit.clientDevName", "Client Device Name") +local f_pClientName = ProtoField.string("spit.clientName", "Client Name") +local f_pLoginName = ProtoField.string("spit.loginName", "Login Name") +local f_pLoginPassword = ProtoField.string("spit.loginPassword", "Login Password") +local f_pServerName = ProtoField.string("spit.serverName", "Server Name") +local f_pServerIp = ProtoField.string("spit.serverIp", "Server IP") +local f_pServerPort = ProtoField.uint16("spit.serverIp", "Server Port") +local f_pSrvParam = ProtoField.string("spit.serverParam", "Server Paramter") +local f_pStepTime = ProtoField.string("spit.stepTime", "Step Time") +local f_pConnected = ProtoField.string("spit.connected", "Connected") +local f_pProjectId = ProtoField.string("spit.projectId", "Project ID") +local f_pProjectName = ProtoField.string("spit.projectName", "Project Name") + +local f_pObjectId = ProtoField.string("spit.ObjectId", "Object ID") +local f_pObjectName = ProtoField.string("spit.ObjectName", "Object Name") +local f_pTypeId = ProtoField.string("spit.TypeId", "Type ID") +local f_pTypeName = ProtoField.string("spit.TypeName", "Type Name") +local f_pTypeGroupName = ProtoField.string("spit.TypeGroupName", "Type Group Name") +local f_pObjectsFrames = ProtoField.uint64("spit.ObjectFrames", "Object Frames") +local f_pValue = ProtoField.uint64("spit.Value", "Value") +local f_pValueFlag = ProtoField.uint8("spit.ValueFlag", "ValueFlag") + +local f_pConfirm = ProtoField.uint8("spit.confirmed", "Confirmation") +local f_pFixed = ProtoField.uint8("spit.fixed", "Fixed") +local f_pAssigned = ProtoField.uint8("spit.assigned", "Action assigned") +local f_pSrvRemote = ProtoField.uint8("spit.serverRemote", "Server Remote") +local f_pProjIndep = ProtoField.uint8("spit.projectIndipendent", "Project Indipendent") +local f_pValueUse = ProtoField.uint8("spit.valueUse", "Value Use") + +local f_pFrameStart = ProtoField.uint64("spit.frameStart", "Frame Start") +local f_pFrameLength = ProtoField.uint64("spit.frameLength", "Frame Length") +local f_pFrameFadeIn = ProtoField.uint64("spit.fadeInLength", "Fade In Length") +local f_pFrameFadeOut = ProtoField.uint64("spit.fadeOutLength", "Fade Out Length") +local f_pValueFactor = ProtoField.uint32("spit.valueFactor", "Value Factor") +local f_pFramesPerSec = ProtoField.uint32("spit.framesPerSec", "Frames per second") +local f_pTrack = ProtoField.uint32("spit.track", "Track") +local f_pRemark = ProtoField.string("spit.remark", "Remack") +local f_pDelay = ProtoField.uint64("spit.delay", "Delay") +local f_pDuration = ProtoField.uint64("spit.duration", "Duration") + +local f_pPlayerId = ProtoField.string("spit.PlayerId", "Player ID") +local f_pPlayerName = ProtoField.string("spit.PlayerName", "Player Name") +local f_pPlayerType = ProtoField.uint8("spit.PlayerType", "Player Type") +local f_pPlayerRunning = ProtoField.uint8("spit.PlayerRunning", "Player Running") +local f_pPlayerFrames = ProtoField.uint64("spit.PlayerFrame", "Player Frames") +local f_pPlayerPrePos = ProtoField.uint8("spit.PlayerPrePos", "Player Preposition") + +local sessionInfos = {} + +spit_proto.fields = { + f_pSession, f_pKey, f_pSadKey, f_pServerDevName, + f_hVer, f_hNum, f_hLen, f_hSerId, f_hCliId, f_hType, f_pLen, + f_pClientDevName, f_pClientName, f_pLoginName, f_pLoginPassword, f_pServerName, f_pServerIp, f_pServerPort, f_pSrvParam, f_pStepTime, f_pConnected, f_pProjectId, f_pProjectName, + f_pObjectId, f_pObjectName, f_pTypeId, f_pTypeName, f_pTypeGroupName, f_pObjectsFrames, f_pValue, f_pValueFlag, + f_pConfirm, f_pFixed, f_pAssigned, f_pSrvRemote, f_pProjIndep, f_pValueUse, + f_pFrameStart, f_pFrameLength, f_pFrameFadeIn, f_pFrameFadeOut, f_pValueFactor, f_pFramesPerSec, f_pTrack, f_pRemark, f_pDelay, f_pDuration, + f_pPlayerId, f_pPlayerName, f_pPlayerType, f_pPlayerRunning, f_pPlayerFrames, f_pPlayerPrePos + } + +function extractSession(buffer, pinfo) + local serverHash = buffer(16,41):string() + local clientHash = buffer(57,41):string() + return string.format("%s - %s", sessionInfos[serverHash], sessionInfos[clientHash]) +end + +function extractVersionString(buffer) + local vBytes = buffer(7,4):bytes() + local vStr = "" + for i = 0, 3 do + local byte = vBytes:get_index(i) + local high_nibble = bit.rshift(byte, 4) + local low_nibble = bit.band(byte, 0x0F) + vStr = vStr .. tostring(high_nibble) .. tostring(low_nibble) + end + return vStr + +end + +-- Heuristic dissector function +function spit_proto.dissector(buffer, pinfo, tree) + if buffer:len() < 6 then return false end + if buffer(0,6):string() ~= "#spit#" then return false end + + pinfo.cols.protocol = "SPIT" + local subtree = tree:add(spit_proto, buffer(), "SPIT Protocol Data") + + local hTree = subtree:add("Header") + hTree:add(f_hVer, buffer(7,4)):set_text("Version: " .. extractVersionString(buffer)) + hTree:add(f_hNum, buffer(11,1)) + local hLen = buffer(12,4):le_uint() + subtree:add(f_hLen, buffer(12,4)):set_text("Length: " .. hLen) + hTree:add(f_hSerId, buffer(16,41)) + hTree:add(f_hCliId, buffer(57,41)) + + local type = buffer(98,1):uint() + hTree:add(f_hType, buffer(98,1)) + + local pTree = subtree:add("Payload") + local pLen = buffer(99,4):le_uint() + pTree:add(f_pLen, buffer(99,4)):set_text("Pyload Length: " .. pLen) + + local info_text = "Type: " .. type + if type == 1 then -- Connect + pTree:add(f_pClientDevName, buffer(103,64)) + pTree:add(f_pClientName, buffer(167,64)) + pTree:add(f_pLoginName, buffer(231,64)) + pTree:add(f_pLoginPassword, buffer(295,64)) + pTree:add(f_pServerIp, buffer(359,40)) + pTree:add(f_pServerPort, buffer(399,2)) + + local clientName = buffer(167,64):string() + local clientHash = buffer(57,41):string() + sessionInfos[clientName] = clientHash -- e.g. 70866c9b-af1c-4765-a17e-8b45c93f3aca + sessionInfos[clientHash] = clientName -- + sessionInfos[tostring(pinfo.src)] = clientName + + info_text = string.format("Connect Req | Client: %s (%s) | ADDR: %s:%s", + clientName, clientHash, buffer(359,40):string(), buffer(399,2):uint()) + + elseif type == 2 then -- Connect Response + pTree:add(f_pServerDevName, buffer(103,64)) + pTree:add(f_pServerName, buffer(167,64)) + pTree:add(f_pStepTime, buffer(231,4)) + pTree:add(f_pConnected, buffer(235,1)) + + local serverName = buffer(167,64):string() + local serverHash = buffer(16,41):string() + sessionInfos[serverName] = serverHash -- e.g. 405c7100-64e8-435d-8a7b-00c5629f9ccf + sessionInfos[serverHash] = serverName + sessionInfos[tostring(pinfo.src)] = serverName + + info_text = string.format("Connect Res | Server: %s (%s) ", + serverName, serverHash) + + elseif type == 3 then + pTree:add(f_pSession, extractSession(buffer, pinfo)) + + info_text = string.format("Disconnect") + + elseif type == 8 then + info_text = string.format("Watchdog") + + elseif type == 9 then + info_text = string.format("Watchdog Ans") + + elseif type == 11 then -- Report Porject + pTree:add(f_pSession, extractSession(buffer, pinfo)) + + pTree:add(f_pProjectId, buffer(103,41)) + pTree:add(f_pProjectName, buffer(144,64)) + pTree:add(f_pFramesPerSec, buffer(208,4)) + info_text = string.format("%s -> %s | Report Project | Project: %s / %s", + sessionInfos[tostring(pinfo.src)], sessionInfos[tostring(pinfo.dst)], buffer(103,41):string(), buffer(144,64):string()) + + elseif type == 13 then -- Close Porject + pTree:add(f_pSession, extractSession(buffer, pinfo)) + + pTree:add(f_pProjectId, buffer(103,41)) + info_text = string.format("Close Project | Project: %s", + buffer(103,64):string()) + + elseif type == 15 then + pTree:add(f_pSession, extractSession(buffer, pinfo)) + + info_text = string.format("Request Project Transfer") + + elseif type == 16 then + pTree:add(f_pSession, extractSession(buffer, pinfo)) + + info_text = string.format("Start Project Transfer") + + elseif type == 17 then + pTree:add(f_pSession, extractSession(buffer, pinfo)) + + info_text = string.format("End Project Transfer") + + elseif type == 21 then -- Report Type + pTree:add(f_pSession, extractSession(buffer, pinfo)) + + pTree:add(f_pConfirm, buffer(103,1)) + pTree:add(f_pTypeId, buffer(104,41)) + pTree:add(f_pFixed, buffer(145,1)) + pTree:add(f_pSrvRemote, buffer(146,1)) + pTree:add(f_pProjIndep, buffer(147,1)) + pTree:add(f_pTypeGroupName, buffer(148,39)) + pTree:add(f_pTypeName, buffer(187,64)) + pTree:add(f_pDelay, buffer(251,8)) + pTree:add(f_pDuration, buffer(259,8)) + + local group = buffer(148,39):string() + local name = buffer(187,64):string() + local id = buffer(104,41):string() + info_text = string.format("%s -> %s | Report SPIT Type: %s.%s (%s)", sessionInfos[tostring(pinfo.src)], sessionInfos[tostring(pinfo.dst)], group, name, id) + + elseif type == 23 then + pTree:add(f_pSession, extractSession(buffer, pinfo)) + + pTree:add(f_pTypeId, buffer(103,41)) + info_text = string.format("Remove SPIT Type") + + elseif type == 31 then -- Report Object + pTree:add(f_pSession, extractSession(buffer, pinfo)) + + pTree:add(f_pConfirm, buffer(103,1)) + pTree:add(f_pObjectId, buffer(104,41)) + pTree:add(f_pFixed, buffer(145,1)) + pTree:add(f_pSrvRemote, buffer(146,1)) + pTree:add(f_pObjectName, buffer(147,64)) + pTree:add(f_pTypeId, buffer(211,41)) + pTree:add(f_pSrvParam, buffer(252,64)) + pTree:add(f_pFrameStart, buffer(316,8)) + pTree:add(f_pFrameLength, buffer(324,8)) + pTree:add(f_pFrameFadeIn, buffer(332,8)) + pTree:add(f_pFrameFadeOut, buffer(340,8)) + local valueFactor = buffer(348,4):le_uint() + pTree:add(f_pValueFactor, buffer(348,4)):set_text("Value Factor" .. valueFactor) + pTree:add(f_pValueUse, buffer(349,1)) + pTree:add(f_pTrack, buffer(350,4)) + pTree:add(f_pRemark, buffer(354,64)) + pTree:add(f_pDelay, buffer(418,8)) + pTree:add(f_pDuration, buffer(426,8)) + pTree:add(f_pAssigned, buffer(435,1)) + + local name = buffer(147,64):string() + local tId = buffer(211,41):string() + local oId = buffer(104,41):string() + info_text = string.format("%s -> %s | Report SPIT Object: %s (%s / %s)", sessionInfos[tostring(pinfo.src)], sessionInfos[tostring(pinfo.dst)], name, oId, tId) + + elseif type == 33 then + pTree:add(f_pSession, extractSession(buffer, pinfo)) + + pTree:add(f_pObjectId, buffer(103,41)) + info_text = string.format("Remove SPIT Object") + + elseif type == 37 then + pTree:add(f_pSession, extractSession(buffer, pinfo)) + + pTree:add(f_pPlayerId, buffer(103,41)) + pTree:add(f_pPlayerName, buffer(144,64)) + pTree:add(f_pPlayerType, buffer(208,1)) + pTree:add(f_pPlayerRunning, buffer(209,1)) + pTree:add(f_pPlayerFrames, buffer(210,8)) + info_text = string.format("Play SPIT Start") + + elseif type == 38 then -- Play Spit object + pTree:add(f_pSession, extractSession(buffer, pinfo)) + + pTree:add(f_pPlayerId, buffer(103,41)) + pTree:add(f_pObjectId, buffer(144,41)) + pTree:add(f_pObjectsFrames, buffer(185,8)) + pTree:add(f_pPlayerPrePos, buffer(193,1)) + pTree:add(f_pValue, buffer(194,4)) + pTree:add(f_pValueFlag, buffer(198,1)) + + local oId = buffer(144,41):string() + info_text = string.format("%s -> %s | Play SPIT Object: %s", sessionInfos[tostring(pinfo.src)], sessionInfos[tostring(pinfo.dst)], oId) + + elseif type == 39 then + pTree:add(f_pSession, extractSession(buffer, pinfo)) + + pTree:add(f_pPlayerId, buffer(103,41)) + info_text = string.format("Play SPIT End") + + elseif type == 40 then + pTree:add(f_pSession, extractSession(buffer, pinfo)) + + pTree:add(f_pObjectId, buffer(103,41)) + pTree:add(f_pObjectsFrames, buffer(144,8)) + pTree:add(f_pValue, buffer(152,4)) + info_text = string.format("Report Play Status") + + else + info_text = string.format("ERROR Unknown") + end + + pinfo.cols['info'] = info_text + return true -- We handled this packet +end + +function split(str, delim) + local result = {} + local delim_len = delim + local s = 1 + while true do + local e, next_e = string.find(str, delim, s) + if not e then + table.insert(result, string.sub(str, s)) + break + end + table.insert(result, string.sub(str, s, e - 1)) + s = next_e + 1 + end + return result +end + +-- Heuristic dissector function +function spit_sad_proto.dissector(buffer, pinfo, tree) + if buffer:len() < 14 then return false end + if buffer(0,14):string() ~= "#SAD##,##spit#" then return false end + + pinfo.cols.protocol = "SPIT-SAD" + + local info_text = "SAD" + if buffer:len() > 16 then + local payload = buffer(0,buffer:len()):string() + local parts = split(payload, "#,#") + + local subtree = tree:add(spit_sad_proto, buffer(), "Discovery Data") + subtree:add(f_pSadKey, parts[1]) -- 1 #SAD# + subtree:add(f_pKey, parts[2]) -- 2 #spit# + subtree:add(f_pServerName, parts[3]) -- 3 liveShowSPIT + subtree:add(f_hSerId , parts[4]) -- 4 405c7100-64e8-435d-8a7b-00c5629f9ccf + subtree:add(f_pServerDevName, parts[5]) -- 5 P17gen1 + subtree:add(f_pServerPort, parts[6]) -- 6 15120 + subtree:add(f_pServerIp, parts[7]) -- 7 172.16.17.56 + subtree:add(f_pProjectName, parts[9]) -- 9 CatasWatchProject + + info_text = string.format("SPIT-SAD Discover Data | Client: %s Porject: %s ", + parts[4], parts[9]) + else + info_text = string.format("SPIT-SAD Discover") + end + + pinfo.cols['info'] = info_text + return true -- We handled this packet +end + +-- Register as a heuristic UDP dissector +spit_proto:register_heuristic("udp", spit_proto.dissector) + +spit_sad_proto:register_heuristic("udp", spit_sad_proto.dissector) + + +-- local f_pFramesPerSec = ProtoField.uint32("spit.framesPerSec", "Frames per second") +-- local f_pTrack = ProtoField.uint32("spit.track", "Track") +-- local f_pObjectsFrames = ProtoField.uint64("spit.ObjectFrames", "Object Frames") +-- local f_pValue = ProtoField.uint64("spit.Value", "Value") +-- local f_pFrameStart = ProtoField.uint64("spit.frameStart", "Frame Start") +-- local f_pFrameLength = ProtoField.uint64("spit.frameLength", "Frame Length") +-- local f_pFrameFadeIn = ProtoField.uint64("spit.fadeInLength", "Fade In Length") +-- local f_pFrameFadeOut = ProtoField.uint64("spit.fadeOutLength", "Fade Out Length") +-- local f_pDelay = ProtoField.uint64("spit.delay", "Delay") +-- local f_pDuration = ProtoField.uint64("spit.duration", "Duration") +-- local f_pPlayerFrames = ProtoField.uint64("spit.PlayerFrame", "Player Frames") diff --git a/core b/core index 8d7dda8..02db420 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 8d7dda8fd84a0d9cb4fc26047ad1ab43d1e26205 +Subproject commit 02db420163fd6bc8e7eec5b6fff957b01b0db476 diff --git a/dependencies.lock b/dependencies.lock index ee8d95c..9fb4267 100644 --- a/dependencies.lock +++ b/dependencies.lock @@ -2,7 +2,7 @@ dependencies: ethernet_init: dependencies: [] source: - path: /home/gustice/tools/esp/v5.4.1/esp-idf/examples/ethernet/basic/components/ethernet_init + path: /home/gustice/esp/v5.4.1/esp-idf/examples/ethernet/basic/components/ethernet_init type: local version: '*' idf: diff --git a/doc/Gegengier_Engineering_CatasWatch.dvd b/doc/Gegengier_Engineering_CatasWatch.dvd new file mode 100644 index 0000000..34476a7 Binary files /dev/null and b/doc/Gegengier_Engineering_CatasWatch.dvd differ diff --git a/main/watchMain.cpp b/main/watchMain.cpp index d08abf0..815e588 100644 --- a/main/watchMain.cpp +++ b/main/watchMain.cpp @@ -486,9 +486,9 @@ namespace Effect { void LightingTask() { ESP_LOGI(TAG, "Start Lighting"); - static I2cMaster master(I2C_NUM_0, - /*sda=*/GPIO_NUM_10, - /*scl=*/GPIO_NUM_11); + static I2cMaster master(I2C_NUM_0, + { /*sda=*/GPIO_NUM_10, /*scl=*/GPIO_NUM_11} + ); // static PmwExpanderPca9685 pca9685(master); static PmwExpanderPca9685 ledDriver1(master, /*iverted=*/false); static PmwExpanderPca9685 ledDriver2(master, /*iverted=*/false, 0x41); @@ -563,8 +563,8 @@ void LightingTask() { sp[3] = (uint16_t)(col.getRed()) << 7; } - ledDriver1.sendImage(values[0]); - ledDriver2.sendImage(values[1]); + ledDriver1.send(values[0]); + ledDriver2.send(values[1]); fos::Task::delayMs(40); } } @@ -954,6 +954,8 @@ void app_main(void) { fos::Task::delayMs(10000); ESP_LOGI(TAG, "Start net services"); + // esp_log_level_set("SPIT", esp_log_level_t::ESP_LOG_DEBUG); + static int ipVersion = AF_INET; static fos::TaskT telnetSocket(telnetSocketTask, ipVersion, "tcpServer", 4096); static fos::TaskT dmxNode(dmxSocketTask, ipVersion, "dmxNode", 4096); diff --git a/sdkconfig b/sdkconfig index ecec5db..3fb6282 100644 --- a/sdkconfig +++ b/sdkconfig @@ -401,7 +401,7 @@ CONFIG_IDF_TOOLCHAIN_GCC=y CONFIG_IDF_TARGET_ARCH_RISCV=y CONFIG_IDF_TARGET_ARCH="riscv" CONFIG_IDF_TARGET="esp32c6" -CONFIG_IDF_INIT_VERSION="5.3.0" +CONFIG_IDF_INIT_VERSION="5.4.1" CONFIG_IDF_TARGET_ESP32C6=y CONFIG_IDF_FIRMWARE_CHIP_ID=0x000D @@ -595,6 +595,12 @@ CONFIG_ENV_GPIO_RANGE_MIN=0 CONFIG_ENV_GPIO_RANGE_MAX=30 CONFIG_ENV_GPIO_IN_RANGE_MAX=30 CONFIG_ENV_GPIO_OUT_RANGE_MAX=30 +# CONFIG_USE_SPI_ETHERNET is not set +# end of Example Ethernet Configuration + +# +# Example Ethernet Configuration +# CONFIG_EXAMPLE_USE_SPI_ETHERNET=y CONFIG_EXAMPLE_SPI_ETHERNETS_NUM=1 # CONFIG_EXAMPLE_USE_DM9051 is not set @@ -1495,10 +1501,10 @@ CONFIG_LOG_DEFAULT_LEVEL_INFO=y # CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set # CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set CONFIG_LOG_DEFAULT_LEVEL=3 -CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y -# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT is not set +CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y # CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set -CONFIG_LOG_MAXIMUM_LEVEL=3 +CONFIG_LOG_MAXIMUM_LEVEL=4 # # Level Settings diff --git a/test/unitOnTarget/CMakeLists.txt b/test/unitOnTarget/CMakeLists.txt index 0f78a91..7452576 100644 --- a/test/unitOnTarget/CMakeLists.txt +++ b/test/unitOnTarget/CMakeLists.txt @@ -5,7 +5,8 @@ cmake_minimum_required(VERSION 3.16) # set(EXTRA_COMPONENT_DIRS "../../components" - # "../../managed_components" + "../../core/components" + "../../core/managed_components" ) # Set the components to include the tests for. diff --git a/test/unitOnTarget/ReadMe.md b/test/unitOnTarget/ReadMe.md index 82a7efe..efdc98c 100644 --- a/test/unitOnTarget/ReadMe.md +++ b/test/unitOnTarget/ReadMe.md @@ -1,35 +1,3 @@ # Unit Testing -Unit Test based on unity-library [Unity](https://github.com/ThrowTheSwitch/Unity). - -* _Assertions_ (`TEST_ASSERT` and similar) are used when writing the test cases. See [the reference](https://github.com/ThrowTheSwitch/Unity/blob/master/docs/UnityAssertionsReference.md) for more information about assertions. - -* `UNITY_BEGIN()` and `UNITY_END()` macros allow Unity to count the number of tests which have passed or failed, and display the summary. - -In addition to features of Unity, _test registration_ feature of ESP-IDF is used. This feature works when unit test functions are declared using `TEST_CASE` macro. Such functions from all the object files in the program are automatically collected into a list, and run-time facilities are provided to run functions from this list. - -Note testable components have a *test* subdirectory which is included in the *test project* -When the main application project is compiled, tests are not included. -Test project includes the tests by setting `TEST_COMPONENTS` variable in the project makefile. - -## Build and flash production code - -* Start an ESP-IDF-Terminal -* Run `idf.py -p PORT flash monitor` in the current directory (`unit_test`). -* Observe the output: a list of random numbers and their mean value. -To exit the serial monitor, type ``Ctrl-]``. - -## Build and flash test code - -* Start an ESP-IDF-Terminal -* Enter `test` directory (`unit_test/test`), and run `idf.py -p PORT flash monitor`. -To exit the serial monitor, type ``Ctrl-]``. -* Observe the output: results of test case execution. - -This is the test menu, which is launched by `unity_run_menu` function in the test project. It allows running the tests in a few ways: -* Run specific test by its index: type the number and press ENTER. -* Run a group of tests with a certain tag: type the tag, including square brackets, and press ENTER. -* nRu all tests except the ones with a certain tag: press `!`, then type the tag, including the square brackets, then press ENTER. -* Run test with a specific name: type the name of the test, including quotes, and press ENTER. -* Run all the tests: press `*` and then ENTER. - +see Redme in `Project/core/test/unitOnTarget/ReadMe.md` \ No newline at end of file diff --git a/test/unitOnTarget/dependencies.lock b/test/unitOnTarget/dependencies.lock index 68be0f1..e9e979e 100644 --- a/test/unitOnTarget/dependencies.lock +++ b/test/unitOnTarget/dependencies.lock @@ -1,9 +1,10 @@ dependencies: idf: - component_hash: null source: type: idf - version: 5.3.0 -manifest_hash: c4f4ec05313d427eb56c633f78ce213e553379725bf2af3c511665f930571beb + version: 5.4.1 +direct_dependencies: +- idf +manifest_hash: 00d8efc8e59d9f2cc6a576ada310175e19e6f7506dd0b59211849f065dadccae target: esp32c6 -version: 1.0.0 +version: 2.0.0 diff --git a/test/unitOnTarget/main/makefile b/test/unitOnTarget/main/makefile new file mode 100644 index 0000000..e099bd1 --- /dev/null +++ b/test/unitOnTarget/main/makefile @@ -0,0 +1,7 @@ +# Run Exportport Script first + +build: + idf.py build + +run: + idf.py -p /dev/ttyUSB0 flash monitor \ No newline at end of file diff --git a/test/unitOnTarget/sdkconfig b/test/unitOnTarget/sdkconfig index 4d49c82..07196fc 100644 --- a/test/unitOnTarget/sdkconfig +++ b/test/unitOnTarget/sdkconfig @@ -1,6 +1,6 @@ # # Automatically generated file. DO NOT EDIT. -# Espressif IoT Development Framework (ESP-IDF) 5.3.0 Project Configuration +# Espressif IoT Development Framework (ESP-IDF) 5.4.1 Project Configuration # CONFIG_SOC_ADC_SUPPORTED=y CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y @@ -104,6 +104,7 @@ CONFIG_SOC_CPU_WATCHPOINTS_NUM=4 CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x80000000 CONFIG_SOC_CPU_HAS_PMA=y CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP=y +CONFIG_SOC_CPU_PMP_REGION_GRANULARITY=4 CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=3072 CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 @@ -114,6 +115,7 @@ CONFIG_SOC_GDMA_SUPPORT_ETM=y CONFIG_SOC_GDMA_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_ETM_GROUPS=1 CONFIG_SOC_ETM_CHANNELS_PER_GROUP=50 +CONFIG_SOC_ETM_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_GPIO_PORT=1 CONFIG_SOC_GPIO_PIN_COUNT=31 CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y @@ -128,6 +130,7 @@ CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0 CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT=8 CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x000000007FFFFF00 CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +CONFIG_SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP=y CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP=y CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y CONFIG_SOC_CLOCKOUT_HAS_SOURCE_GATE=y @@ -136,7 +139,6 @@ CONFIG_SOC_RTCIO_PIN_COUNT=8 CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_RTCIO_VALID_RTCIO_MASK=0xFF CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y @@ -154,10 +156,12 @@ CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y CONFIG_SOC_I2C_SLAVE_SUPPORT_SLAVE_UNMATCH=y +CONFIG_SOC_I2C_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_LP_I2C_NUM=1 CONFIG_SOC_LP_I2C_FIFO_LEN=16 CONFIG_SOC_I2S_NUM=1 CONFIG_SOC_I2S_HW_VERSION_2=y +CONFIG_SOC_I2S_SUPPORTS_ETM=y CONFIG_SOC_I2S_SUPPORTS_XTAL=y CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y CONFIG_SOC_I2S_SUPPORTS_PCM=y @@ -165,15 +169,19 @@ CONFIG_SOC_I2S_SUPPORTS_PDM=y CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 CONFIG_SOC_I2S_SUPPORTS_TDM=y +CONFIG_SOC_I2S_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK=y CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_LEDC_TIMER_NUM=4 CONFIG_SOC_LEDC_CHANNEL_NUM=6 CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED=y CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX=16 CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH=10 +CONFIG_SOC_LEDC_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE=y +CONFIG_SOC_MMU_PAGE_SIZE_8KB_SUPPORTED=y CONFIG_SOC_MMU_PERIPH_NUM=1 CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 CONFIG_SOC_MMU_DI_VADDR_SHARED=y @@ -184,6 +192,7 @@ CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE=y +CONFIG_SOC_PCNT_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_RMT_GROUPS=1 CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=2 CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=2 @@ -198,6 +207,7 @@ CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y CONFIG_SOC_RMT_SUPPORT_XTAL=y CONFIG_SOC_RMT_SUPPORT_RC_FAST=y +CONFIG_SOC_RMT_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_MCPWM_GROUPS=1 CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 @@ -211,12 +221,14 @@ CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y CONFIG_SOC_MCPWM_SUPPORT_ETM=y CONFIG_SOC_MCPWM_CAPTURE_CLK_FROM_GROUP=y +CONFIG_SOC_MCPWM_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_PARLIO_GROUPS=1 CONFIG_SOC_PARLIO_TX_UNITS_PER_GROUP=1 CONFIG_SOC_PARLIO_RX_UNITS_PER_GROUP=1 CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH=16 CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH=16 CONFIG_SOC_PARLIO_TX_RX_SHARE_INTERRUPT=y +CONFIG_SOC_PARLIO_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 CONFIG_SOC_MPI_OPERATIONS_NUM=3 CONFIG_SOC_RSA_MAX_BIT_LEN=3072 @@ -239,6 +251,7 @@ CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y CONFIG_SOC_SPI_SUPPORT_CD_SIG=y CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F80M=y CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST=y @@ -278,11 +291,13 @@ CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=2 CONFIG_SOC_TIMER_SUPPORT_ETM=y CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_MWDT_SUPPORT_XTAL=y +CONFIG_SOC_MWDT_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_TWAI_CONTROLLER_NUM=2 CONFIG_SOC_TWAI_CLK_SUPPORT_XTAL=y CONFIG_SOC_TWAI_BRP_MIN=2 CONFIG_SOC_TWAI_BRP_MAX=32768 CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y +CONFIG_SOC_TWAI_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y CONFIG_SOC_EFUSE_DIS_USB_JTAG=y @@ -298,6 +313,8 @@ CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED=y +CONFIG_SOC_APM_LP_APM0_SUPPORTED=y CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=y CONFIG_SOC_UART_NUM=3 CONFIG_SOC_UART_HP_NUM=2 @@ -310,6 +327,7 @@ CONFIG_SOC_UART_SUPPORT_RTC_CLK=y CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y CONFIG_SOC_UART_HAS_LP_UART=y +CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION=y CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y CONFIG_SOC_COEX_HW_PTI=y CONFIG_SOC_EXTERNAL_COEX_ADVANCE=y @@ -335,7 +353,12 @@ CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y CONFIG_SOC_PM_RETENTION_HAS_CLOCK_BUG=y +CONFIG_SOC_EXT_MEM_CACHE_TAG_IN_CPU_DOMAIN=y CONFIG_SOC_PM_PAU_LINK_NUM=4 +CONFIG_SOC_PM_PAU_REGDMA_LINK_MULTI_ADDR=y +CONFIG_SOC_PM_PAU_REGDMA_LINK_WIFIMAC=y +CONFIG_SOC_PM_PAU_REGDMA_UPDATE_CACHE_BEFORE_WAIT_COMPARE=y +CONFIG_SOC_PM_RETENTION_MODULE_NUM=32 CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y @@ -346,6 +369,8 @@ CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_ETM=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_TEMPERATURE_SENSOR_UNDER_PD_TOP_DOMAIN=y CONFIG_SOC_RNG_CLOCK_IS_INDEPENDENT=y CONFIG_SOC_WIFI_HW_TSF=y CONFIG_SOC_WIFI_FTM_SUPPORT=y @@ -354,6 +379,7 @@ CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y CONFIG_SOC_WIFI_HE_SUPPORT=y +CONFIG_SOC_WIFI_MAC_VERSION_NUM=2 CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y CONFIG_SOC_ESP_NIMBLE_CONTROLLER=y @@ -367,8 +393,11 @@ CONFIG_SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND=y CONFIG_SOC_PHY_COMBO_MODULE=y CONFIG_SOC_CAPS_NO_RESET_BY_ANA_BOD=y CONFIG_SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR=y +CONFIG_SOC_LP_CORE_SUPPORT_ETM=y +CONFIG_SOC_DEBUG_HAVE_OCD_STUB_BINS=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TOOLCHAIN="gcc" +CONFIG_IDF_TOOLCHAIN_GCC=y CONFIG_IDF_TARGET_ARCH_RISCV=y CONFIG_IDF_TARGET_ARCH="riscv" CONFIG_IDF_TARGET="esp32c6" @@ -403,6 +432,10 @@ CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set + +# +# Log +# # CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set # CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set # CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set @@ -411,6 +444,14 @@ CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y # CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set CONFIG_BOOTLOADER_LOG_LEVEL=3 +# +# Format +# +# CONFIG_BOOTLOADER_LOG_COLORS is not set +CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y +# end of Format +# end of Log + # # Serial Flash Configurations # @@ -480,6 +521,7 @@ CONFIG_ESP_ROM_HAS_SW_FLOAT=y CONFIG_ESP_ROM_USB_OTG_NUM=-1 CONFIG_ESP_ROM_HAS_VERSION=y CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y +CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y # # Boot ROM Behavior @@ -503,7 +545,6 @@ CONFIG_ESPTOOLPY_FLASHMODE="dio" CONFIG_ESPTOOLPY_FLASHFREQ_80M=y # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set -CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y CONFIG_ESPTOOLPY_FLASHFREQ="80m" # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y @@ -530,6 +571,7 @@ CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 CONFIG_PARTITION_TABLE_SINGLE_APP=y # CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set # CONFIG_PARTITION_TABLE_TWO_OTA is not set +# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set # CONFIG_PARTITION_TABLE_CUSTOM is not set CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" @@ -537,6 +579,16 @@ CONFIG_PARTITION_TABLE_OFFSET=0x8000 CONFIG_PARTITION_TABLE_MD5=y # end of Partition Table +# +# Example Ethernet Configuration +# +CONFIG_ENV_GPIO_RANGE_MIN=0 +CONFIG_ENV_GPIO_RANGE_MAX=30 +CONFIG_ENV_GPIO_IN_RANGE_MAX=30 +CONFIG_ENV_GPIO_OUT_RANGE_MAX=30 +# CONFIG_USE_SPI_ETHERNET is not set +# end of Example Ethernet Configuration + # # Compiler options # @@ -547,6 +599,7 @@ CONFIG_COMPILER_OPTIMIZATION_DEBUG=y CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE=y # CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB is not set CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB=y CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 @@ -559,15 +612,19 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y # CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set # CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set # CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set # CONFIG_COMPILER_WARN_WRITE_STRINGS is not set # CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set +CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS=y # CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set # CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set # CONFIG_COMPILER_DUMP_RTL_FILES is not set CONFIG_COMPILER_RT_LIB_GCCLIB=y CONFIG_COMPILER_RT_LIB_NAME="gcc" # CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y +# CONFIG_COMPILER_STATIC_ANALYZER is not set # end of Compiler options # @@ -613,6 +670,7 @@ CONFIG_BT_ALARM_MAX_NUM=50 # Legacy ADC Driver Configuration # # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_ADC_SKIP_LEGACY_CONFLICT_CHECK is not set # # Legacy ADC Calibration Configuration @@ -625,42 +683,49 @@ CONFIG_BT_ALARM_MAX_NUM=50 # Legacy MCPWM Driver Configurations # # CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_MCPWM_SKIP_LEGACY_CONFLICT_CHECK is not set # end of Legacy MCPWM Driver Configurations # # Legacy Timer Group Driver Configurations # # CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_GPTIMER_SKIP_LEGACY_CONFLICT_CHECK is not set # end of Legacy Timer Group Driver Configurations # # Legacy RMT Driver Configurations # # CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_RMT_SKIP_LEGACY_CONFLICT_CHECK is not set # end of Legacy RMT Driver Configurations # # Legacy I2S Driver Configurations # # CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_I2S_SKIP_LEGACY_CONFLICT_CHECK is not set # end of Legacy I2S Driver Configurations # # Legacy PCNT Driver Configurations # # CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_PCNT_SKIP_LEGACY_CONFLICT_CHECK is not set # end of Legacy PCNT Driver Configurations # # Legacy SDM Driver Configurations # # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_SDM_SKIP_LEGACY_CONFLICT_CHECK is not set # end of Legacy SDM Driver Configurations # # Legacy Temperature Sensor Driver Configurations # # CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_TEMP_SENSOR_SKIP_LEGACY_CONFLICT_CHECK is not set # end of Legacy Temperature Sensor Driver Configurations # end of Driver Configurations @@ -700,6 +765,7 @@ CONFIG_ESP_COEX_ENABLED=y CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y # CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set # CONFIG_ESP_COEX_POWER_MANAGEMENT is not set +# CONFIG_ESP_COEX_GPIO_DEBUG is not set # end of Wireless Coexistence # @@ -728,6 +794,7 @@ CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # # CONFIG_I2C_ISR_IRAM_SAFE is not set # CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# CONFIG_I2C_ENABLE_SLAVE_DRIVER_VERSION_2 is not set # end of ESP-Driver:I2C Configurations # @@ -838,6 +905,13 @@ CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y CONFIG_ESP_GDBSTUB_MAX_TASKS=32 # end of GDB Stub +# +# ESP HID +# +CONFIG_ESPHID_TASK_SIZE_BT=2048 +CONFIG_ESPHID_TASK_SIZE_BLE=4096 +# end of ESP HID + # # ESP HTTP client # @@ -845,6 +919,7 @@ CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y # CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set # CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set # CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 # end of ESP HTTP client # @@ -857,6 +932,7 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # CONFIG_HTTPD_LOG_PURGE_DATA is not set # CONFIG_HTTPD_WS_SUPPORT is not set # CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 # end of HTTP Server # @@ -864,12 +940,14 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # # CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set # CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 # end of ESP HTTPS OTA # # ESP HTTPS server # # CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 # end of ESP HTTPS server # @@ -889,6 +967,12 @@ CONFIG_ESP_REV_MIN_FULL=0 # CONFIG_ESP32C6_REV_MAX_FULL=99 CONFIG_ESP_REV_MAX_FULL=99 +CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 +CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=99 + +# +# Maximum Supported ESP32-C6 eFuse Block Revision (eFuse Block Rev v0.99) +# # end of Chip revision # @@ -926,7 +1010,7 @@ CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y CONFIG_RTC_CLK_SRC_INT_RC=y # CONFIG_RTC_CLK_SRC_EXT_CRYS is not set # CONFIG_RTC_CLK_SRC_EXT_OSC is not set -# CONFIG_RTC_CLK_SRC_INT_RC32K is not set +# CONFIG_RTC_CLK_SRC_USE_DANGEROUS_RC32K_ALLOWED is not set CONFIG_RTC_CLK_CAL_CYCLES=1024 # end of RTC Clock Config @@ -957,44 +1041,33 @@ CONFIG_XTAL_FREQ_40=y CONFIG_XTAL_FREQ=40 # end of Main XTAL Config -# -# Crypto DPA Protection -# -CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP=y -CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW=y -# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM is not set -# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH is not set -CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1 -# end of Crypto DPA Protection - CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y # end of Hardware Settings # -# LCD and Touch Panel -# - -# -# LCD Touch Drivers are maintained in the IDF Component Registry -# - -# -# LCD Peripheral Configuration +# ESP-Driver:LCD Controller Configurations # # CONFIG_LCD_ENABLE_DEBUG_LOG is not set -# end of LCD Peripheral Configuration -# end of LCD and Touch Panel +# end of ESP-Driver:LCD Controller Configurations + +# +# ESP-MM: Memory Management Configurations +# +# end of ESP-MM: Memory Management Configurations # # ESP NETIF Adapter # CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set CONFIG_ESP_NETIF_TCPIP_LWIP=y # CONFIG_ESP_NETIF_LOOPBACK is not set CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=y # CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set # CONFIG_ESP_NETIF_L2_TAP is not set # CONFIG_ESP_NETIF_BRIDGE_EN is not set +# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set # end of ESP NETIF Adapter # @@ -1011,17 +1084,20 @@ CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP_PHY_MAX_TX_POWER=20 # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set CONFIG_ESP_PHY_RF_CAL_PARTIAL=y # CONFIG_ESP_PHY_RF_CAL_NONE is not set # CONFIG_ESP_PHY_RF_CAL_FULL is not set CONFIG_ESP_PHY_CALIBRATION_MODE=0 # CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# CONFIG_ESP_PHY_RECORD_USED_TIME is not set # end of PHY # # Power Management # # CONFIG_PM_ENABLE is not set +# CONFIG_PM_SLP_IRAM_OPT is not set CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y # CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set @@ -1037,6 +1113,21 @@ CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y # CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set # end of ESP Ringbuf +# +# ESP Security Specific +# + +# +# Crypto DPA Protection +# +CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP=y +CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW=y +# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM is not set +# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH is not set +CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1 +# end of Crypto DPA Protection +# end of ESP Security Specific + # # ESP System Settings # @@ -1058,6 +1149,7 @@ CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y # Memory protection # CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT=y +# CONFIG_ESP_SYSTEM_PMP_LP_CORE_RESERVE_MEM_EXECUTABLE is not set # end of Memory protection CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 @@ -1083,6 +1175,7 @@ CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 # CONFIG_ESP_TASK_WDT_EN is not set # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +# CONFIG_ESP_DEBUG_INCLUDE_OCD_STUB_BINS is not set CONFIG_ESP_DEBUG_OCDAWARE=y CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y @@ -1237,6 +1330,9 @@ CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_PER_FILE_CACHE=y # CONFIG_FATFS_USE_FASTSEEK is not set +CONFIG_FATFS_USE_STRFUNC_NONE=y +# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set +# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 # CONFIG_FATFS_IMMEDIATE_FSYNC is not set # CONFIG_FATFS_USE_LABEL is not set @@ -1263,6 +1359,7 @@ CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 # CONFIG_FREERTOS_USE_TICK_HOOK is not set CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 # CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +CONFIG_FREERTOS_USE_TIMERS=y CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" # CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y @@ -1297,6 +1394,11 @@ CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set # end of Port +# +# Extra +# +# end of Extra + CONFIG_FREERTOS_PORT=y CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y @@ -1353,7 +1455,11 @@ CONFIG_IEEE802154_PENDING_TABLE_SIZE=20 # end of IEEE 802.15.4 # -# Log output +# Log +# + +# +# Log Level # # CONFIG_LOG_DEFAULT_LEVEL_NONE is not set # CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set @@ -1366,11 +1472,29 @@ CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y # CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set # CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set CONFIG_LOG_MAXIMUM_LEVEL=3 + +# +# Level Settings +# # CONFIG_LOG_MASTER_LEVEL is not set +CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y +# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set +# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y +# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set +CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 +# end of Level Settings +# end of Log Level + +# +# Format +# CONFIG_LOG_COLORS=y CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y # CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set -# end of Log output +# end of Format +# end of Log # # LWIP @@ -1409,6 +1533,8 @@ CONFIG_LWIP_ESP_MLDV6_REPORT=y CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# CONFIG_LWIP_DHCP_DOES_ACD_CHECK is not set +# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set # CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y # CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set @@ -1423,6 +1549,7 @@ CONFIG_LWIP_DHCPS=y CONFIG_LWIP_DHCPS_LEASE_UNIT=60 CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +CONFIG_LWIP_DHCPS_ADD_DNS=y # end of DHCP server # CONFIG_LWIP_AUTOIP is not set @@ -1480,9 +1607,12 @@ CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF -# CONFIG_LWIP_PPP_SUPPORT is not set CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 +CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 +CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 +# CONFIG_LWIP_PPP_SUPPORT is not set # CONFIG_LWIP_SLIP_SUPPORT is not set # @@ -1512,8 +1642,10 @@ CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 # # DNS # +CONFIG_LWIP_DNS_MAX_HOST_IP=1 CONFIG_LWIP_DNS_MAX_SERVERS=3 # CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set # end of DNS CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 @@ -1537,6 +1669,8 @@ CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE=y +# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y # CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set # CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set @@ -1601,6 +1735,7 @@ CONFIG_MBEDTLS_HAVE_TIME=y # CONFIG_MBEDTLS_HAVE_TIME_DATE is not set CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y CONFIG_MBEDTLS_SHA512_C=y +# CONFIG_MBEDTLS_SHA3_C is not set CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y # CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set # CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set @@ -1654,6 +1789,8 @@ CONFIG_MBEDTLS_X509_CSR_PARSE_C=y # end of Certificates CONFIG_MBEDTLS_ECP_C=y +CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y +CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y # CONFIG_MBEDTLS_DHM_C is not set CONFIG_MBEDTLS_ECDH_C=y CONFIG_MBEDTLS_ECDSA_C=y @@ -1677,6 +1814,7 @@ CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y # CONFIG_MBEDTLS_HKDF_C is not set # CONFIG_MBEDTLS_THREADING_C is not set CONFIG_MBEDTLS_ERROR_STRINGS=y +CONFIG_MBEDTLS_FS_IO=y # end of mbedTLS # @@ -1725,25 +1863,10 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # CONFIG_OPENTHREAD_ENABLED is not set # -# Thread Operational Dataset +# OpenThread Spinel # -CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP" -CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64" -CONFIG_OPENTHREAD_NETWORK_CHANNEL=15 -CONFIG_OPENTHREAD_NETWORK_PANID=0x1234 -CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe" -CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff" -CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" -# end of Thread Operational Dataset - -CONFIG_OPENTHREAD_XTAL_ACCURACY=130 # CONFIG_OPENTHREAD_SPINEL_ONLY is not set -# CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE is not set - -# -# Thread Address Query Config -# -# end of Thread Address Query Config +# end of OpenThread Spinel # end of OpenThread # @@ -1752,6 +1875,7 @@ CONFIG_OPENTHREAD_XTAL_ACCURACY=130 CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y # end of Protocomm # @@ -1790,7 +1914,9 @@ CONFIG_SPI_FLASH_BROWNOUT_RESET=y # # Features here require specific hardware (READ DOCS FIRST!) # +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set # end of Optional and Experimental Features (READ DOCS FIRST) # end of Main Flash configuration @@ -1916,6 +2042,8 @@ CONFIG_VFS_MAX_COUNT=8 # CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 # end of Host File System I/O (Semihosting) + +CONFIG_VFS_INITIALIZE_DEV_NULL=y # end of Virtual file system # @@ -1931,7 +2059,6 @@ CONFIG_WL_SECTOR_SIZE=4096 # CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 -# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y # CONFIG_WIFI_PROV_STA_FAST_SCAN is not set # end of Wi-Fi Provisioning Manager @@ -2085,8 +2212,6 @@ CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP32_WIFI_TX_BA_WIN=6 CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP32_WIFI_RX_BA_WIN=6 CONFIG_ESP32_WIFI_RX_BA_WIN=6 CONFIG_ESP32_WIFI_NVS_ENABLED=y CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752