mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-08 20:47:08 +03:00
OTA Work in progress
This commit is contained in:
committed by
Sebastien Leclerc
parent
3bd886b8df
commit
8aedca48a7
122
.cproject
122
.cproject
@@ -1,198 +1,114 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||||
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||||
|
|
||||||
<cconfiguration id="cdt.managedbuild.toolchain.gnu.cross.base.1476804786">
|
<cconfiguration id="cdt.managedbuild.toolchain.gnu.cross.base.1476804786">
|
||||||
|
|
||||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.cross.base.1476804786" moduleId="org.eclipse.cdt.core.settings" name="Default">
|
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.cross.base.1476804786" moduleId="org.eclipse.cdt.core.settings" name="Default">
|
||||||
|
|
||||||
<externalSettings/>
|
<externalSettings/>
|
||||||
|
|
||||||
<extensions>
|
<extensions>
|
||||||
|
|
||||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||||
|
|
||||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
|
||||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
|
||||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
|
||||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
|
||||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
|
||||||
</extensions>
|
</extensions>
|
||||||
|
|
||||||
</storageModule>
|
</storageModule>
|
||||||
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||||
|
|
||||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.cross.base.1476804786" name="Default" optionalBuildProperties="org.eclipse.cdt.docker.launcher.containerbuild.property.selectedvolumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.volumes=" parent="org.eclipse.cdt.build.core.emptycfg">
|
<configuration artifactName="${ProjName}" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.cross.base.1476804786" name="Default" optionalBuildProperties="org.eclipse.cdt.docker.launcher.containerbuild.property.selectedvolumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.volumes=" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||||
|
|
||||||
<folderInfo id="cdt.managedbuild.toolchain.gnu.cross.base.1476804786.1800826258" name="/" resourcePath="">
|
<folderInfo id="cdt.managedbuild.toolchain.gnu.cross.base.1476804786.1800826258" name="/" resourcePath="">
|
||||||
|
|
||||||
<toolChain id="cdt.managedbuild.toolchain.gnu.cross.base.811827721" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.base">
|
<toolChain id="cdt.managedbuild.toolchain.gnu.cross.base.811827721" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.base">
|
||||||
|
|
||||||
<option id="cdt.managedbuild.option.gnu.cross.prefix.1666584715" name="Prefix" superClass="cdt.managedbuild.option.gnu.cross.prefix"/>
|
<option id="cdt.managedbuild.option.gnu.cross.prefix.1666584715" name="Prefix" superClass="cdt.managedbuild.option.gnu.cross.prefix"/>
|
||||||
|
|
||||||
<option id="cdt.managedbuild.option.gnu.cross.path.144124148" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path"/>
|
<option id="cdt.managedbuild.option.gnu.cross.path.144124148" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path"/>
|
||||||
|
|
||||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1562292378" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
|
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1562292378" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
|
||||||
|
<builder arguments="" command="make" id="cdt.managedbuild.builder.gnu.cross.1011968237" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.builder.gnu.cross"/>
|
||||||
<builder arguments="${IDF_PATH}/tools/windows/eclipse_make.py" command="python" id="cdt.managedbuild.builder.gnu.cross.1011968237" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.builder.gnu.cross"/>
|
|
||||||
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.1502936757" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
|
<tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.1502936757" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
|
||||||
|
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1614739014" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1614739014" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||||
|
|
||||||
</tool>
|
</tool>
|
||||||
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.254690821" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
|
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.254690821" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
|
||||||
|
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1365876654" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1365876654" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||||
|
|
||||||
</tool>
|
</tool>
|
||||||
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.cross.c.linker.407309631" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker"/>
|
<tool id="cdt.managedbuild.tool.gnu.cross.c.linker.407309631" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker"/>
|
||||||
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.765822218" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker">
|
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.765822218" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker">
|
||||||
|
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.655344480" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.655344480" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
||||||
|
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||||
|
|
||||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||||
|
|
||||||
</inputType>
|
</inputType>
|
||||||
|
|
||||||
</tool>
|
</tool>
|
||||||
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.cross.archiver.1494383819" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
|
<tool id="cdt.managedbuild.tool.gnu.cross.archiver.1494383819" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
|
||||||
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.cross.assembler.280698320" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
|
<tool id="cdt.managedbuild.tool.gnu.cross.assembler.280698320" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
|
||||||
|
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1422333326" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1422333326" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||||
|
|
||||||
</tool>
|
</tool>
|
||||||
|
|
||||||
</toolChain>
|
</toolChain>
|
||||||
|
|
||||||
</folderInfo>
|
</folderInfo>
|
||||||
|
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|
||||||
</storageModule>
|
</storageModule>
|
||||||
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||||
|
|
||||||
</cconfiguration>
|
</cconfiguration>
|
||||||
|
|
||||||
</storageModule>
|
</storageModule>
|
||||||
|
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||||
|
|
||||||
<project id="squeezelite-esp32.null.1272501664" name="squeezelite-esp32"/>
|
<project id="squeezelite-esp32.null.1272501664" name="squeezelite-esp32"/>
|
||||||
|
|
||||||
</storageModule>
|
</storageModule>
|
||||||
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||||
|
|
||||||
<storageModule moduleId="scannerConfiguration">
|
<storageModule moduleId="scannerConfiguration">
|
||||||
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
|
|
||||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1943329896;cdt.managedbuild.toolchain.gnu.cross.base.1943329896.30011915;cdt.managedbuild.tool.gnu.cross.cpp.compiler.1749746745;cdt.managedbuild.tool.gnu.cpp.compiler.input.1914005798">
|
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1943329896;cdt.managedbuild.toolchain.gnu.cross.base.1943329896.30011915;cdt.managedbuild.tool.gnu.cross.cpp.compiler.1749746745;cdt.managedbuild.tool.gnu.cpp.compiler.input.1914005798">
|
||||||
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
|
|
||||||
</scannerConfigBuildInfo>
|
</scannerConfigBuildInfo>
|
||||||
|
|
||||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1476804786;cdt.managedbuild.toolchain.gnu.cross.base.1476804786.1800826258;cdt.managedbuild.tool.gnu.cross.cpp.compiler.254690821;cdt.managedbuild.tool.gnu.cpp.compiler.input.1365876654">
|
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1476804786;cdt.managedbuild.toolchain.gnu.cross.base.1476804786.1800826258;cdt.managedbuild.tool.gnu.cross.cpp.compiler.254690821;cdt.managedbuild.tool.gnu.cpp.compiler.input.1365876654">
|
||||||
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
|
|
||||||
</scannerConfigBuildInfo>
|
</scannerConfigBuildInfo>
|
||||||
|
|
||||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1943329896;cdt.managedbuild.toolchain.gnu.cross.base.1943329896.30011915;cdt.managedbuild.tool.gnu.cross.c.compiler.2083405506;cdt.managedbuild.tool.gnu.c.compiler.input.404320567">
|
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1943329896;cdt.managedbuild.toolchain.gnu.cross.base.1943329896.30011915;cdt.managedbuild.tool.gnu.cross.c.compiler.2083405506;cdt.managedbuild.tool.gnu.c.compiler.input.404320567">
|
||||||
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
|
|
||||||
</scannerConfigBuildInfo>
|
</scannerConfigBuildInfo>
|
||||||
|
|
||||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1476804786;cdt.managedbuild.toolchain.gnu.cross.base.1476804786.1800826258;cdt.managedbuild.tool.gnu.cross.c.compiler.1502936757;cdt.managedbuild.tool.gnu.c.compiler.input.1614739014">
|
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1476804786;cdt.managedbuild.toolchain.gnu.cross.base.1476804786.1800826258;cdt.managedbuild.tool.gnu.cross.c.compiler.1502936757;cdt.managedbuild.tool.gnu.c.compiler.input.1614739014">
|
||||||
|
|
||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
|
|
||||||
</scannerConfigBuildInfo>
|
</scannerConfigBuildInfo>
|
||||||
|
|
||||||
</storageModule>
|
</storageModule>
|
||||||
|
|
||||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||||
|
|
||||||
<configuration configurationName="Default">
|
<configuration configurationName="Default">
|
||||||
|
|
||||||
<resource resourceType="PROJECT" workspacePath="/squeezelite-esp32"/>
|
<resource resourceType="PROJECT" workspacePath="/squeezelite-esp32"/>
|
||||||
|
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|
||||||
</storageModule>
|
</storageModule>
|
||||||
|
|
||||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
|
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
|
||||||
|
|
||||||
<buildTargets>
|
<buildTargets>
|
||||||
|
|
||||||
<target name="all" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
<target name="all" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
|
|
||||||
<buildCommand>make</buildCommand>
|
<buildCommand>make</buildCommand>
|
||||||
|
<buildArguments>-j8</buildArguments>
|
||||||
<buildArguments/>
|
|
||||||
|
|
||||||
<buildTarget>all</buildTarget>
|
<buildTarget>all</buildTarget>
|
||||||
|
|
||||||
<stopOnError>true</stopOnError>
|
<stopOnError>true</stopOnError>
|
||||||
|
<useDefaultCommand>false</useDefaultCommand>
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
|
||||||
|
|
||||||
<runAllBuilders>true</runAllBuilders>
|
<runAllBuilders>true</runAllBuilders>
|
||||||
|
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="size-components" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
<target name="size-components" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
|
|
||||||
<buildCommand>make</buildCommand>
|
<buildCommand>make</buildCommand>
|
||||||
|
|
||||||
<buildArguments/>
|
|
||||||
|
|
||||||
<buildTarget>size-components</buildTarget>
|
<buildTarget>size-components</buildTarget>
|
||||||
|
|
||||||
<stopOnError>true</stopOnError>
|
<stopOnError>true</stopOnError>
|
||||||
|
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
|
|
||||||
<runAllBuilders>true</runAllBuilders>
|
<runAllBuilders>true</runAllBuilders>
|
||||||
|
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="flash" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
<target name="flash" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
|
|
||||||
<buildCommand>make</buildCommand>
|
<buildCommand>make</buildCommand>
|
||||||
|
|
||||||
<buildArguments/>
|
|
||||||
|
|
||||||
<buildTarget>flash</buildTarget>
|
<buildTarget>flash</buildTarget>
|
||||||
|
|
||||||
<stopOnError>true</stopOnError>
|
<stopOnError>true</stopOnError>
|
||||||
|
|
||||||
<useDefaultCommand>true</useDefaultCommand>
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
|
|
||||||
<runAllBuilders>true</runAllBuilders>
|
<runAllBuilders>true</runAllBuilders>
|
||||||
|
|
||||||
</target>
|
</target>
|
||||||
|
<target name="recovery" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
|
<buildCommand>make</buildCommand>
|
||||||
|
<buildArguments>-j8 app PROJECT_NAME="recovery.custom" EXTRA_CFLAGS=" -DRECOVERY_APPLICATION=1"</buildArguments>
|
||||||
|
<buildTarget>recovery</buildTarget>
|
||||||
|
<stopOnError>true</stopOnError>
|
||||||
|
<useDefaultCommand>false</useDefaultCommand>
|
||||||
|
<runAllBuilders>true</runAllBuilders>
|
||||||
|
</target>
|
||||||
|
<target name="app" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||||
|
<buildCommand>python</buildCommand>
|
||||||
|
<buildArguments>${IDF_PATH}/tools/windows/eclipse_make.py -j8</buildArguments>
|
||||||
|
<buildTarget>app</buildTarget>
|
||||||
|
<stopOnError>true</stopOnError>
|
||||||
|
<useDefaultCommand>true</useDefaultCommand>
|
||||||
|
<runAllBuilders>true</runAllBuilders>
|
||||||
|
</target>
|
||||||
</buildTargets>
|
</buildTargets>
|
||||||
|
|
||||||
</storageModule>
|
</storageModule>
|
||||||
|
|
||||||
</cproject>
|
</cproject>
|
||||||
|
|||||||
@@ -1,28 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<project>
|
<project>
|
||||||
|
|
||||||
<configuration id="cdt.managedbuild.toolchain.gnu.cross.base.1476804786" name="Default">
|
<configuration id="cdt.managedbuild.toolchain.gnu.cross.base.1476804786" name="Default">
|
||||||
|
|
||||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||||
|
|
||||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||||
|
|
||||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
|
<provider-reference id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" ref="shared-provider"/>
|
||||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuildCommandParser" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" keep-relative-paths="false" name="CDT GCC Build Output Parser" parameter="xtensa-esp32-elf-(gcc|g\+\+|c\+\+|cc|cpp|clang)" prefer-non-shared="true"/>
|
<provider-reference id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" ref="shared-provider"/>
|
||||||
|
|
||||||
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1104469646593236716" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="xtensa-esp32-elf-gcc ${FLAGS} -std=c++11 -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
|
||||||
|
|
||||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
|
||||||
|
|
||||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
|
||||||
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
|
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
17
Makefile
17
Makefile
@@ -1,7 +1,14 @@
|
|||||||
#
|
# build system (Jenkins) should pass the following
|
||||||
# This is a project Makefile. It is assumed the directory this Makefile resides in is a
|
#export PROJECT_BUILD_NAME="${build_version_prefix}${BUILD_NUMBER}"
|
||||||
# project subdirectory.
|
#export PROJECT_BUILD_TARGET="${config_target}"
|
||||||
#
|
|
||||||
|
PROJECT_BUILD_NAME?=local
|
||||||
|
PROJECT_CONFIG_TARGET?=custom
|
||||||
|
PROJECT_NAME?=squeezelite.$(PROJECT_CONFIG_TARGET)
|
||||||
|
PROJECT_VER?="$(PROJECT_BUILD_NAME)-$(PROJECT_CONFIG_TARGET)"
|
||||||
|
RECOVERY_APPLICATION?=0
|
||||||
|
CFLAGS?=
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PROJECT_NAME := squeezelite
|
|
||||||
include $(IDF_PATH)/make/project.mk
|
include $(IDF_PATH)/make/project.mk
|
||||||
|
|||||||
2
Makefile_std.mk
Normal file
2
Makefile_std.mk
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
PROJECT_NAME?= squeezelite
|
||||||
|
include $(IDF_PATH)/make/project.mk
|
||||||
50
components/squeezelite-ota/cmd_ota.c
Normal file
50
components/squeezelite-ota/cmd_ota.c
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
/* Console example — various system commands
|
||||||
|
|
||||||
|
This example code is in the Public Domain (or CC0 licensed, at your option.)
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, this
|
||||||
|
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
||||||
|
CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../squeezelite-ota/cmd_ota.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#include "esp_log.h"
|
||||||
|
#include "esp_console.h"
|
||||||
|
#include "esp_system.h"
|
||||||
|
#include "esp_sleep.h"
|
||||||
|
#include "esp_spi_flash.h"
|
||||||
|
#include "driver/rtc_io.h"
|
||||||
|
#include "driver/uart.h"
|
||||||
|
#include "argtable3/argtable3.h"
|
||||||
|
#include "freertos/FreeRTOS.h"
|
||||||
|
#include "freertos/task.h"
|
||||||
|
#include "soc/rtc_cntl_reg.h"
|
||||||
|
#include "esp32/rom/uart.h"
|
||||||
|
#include "sdkconfig.h"
|
||||||
|
|
||||||
|
static const char * TAG = "platform_esp32";
|
||||||
|
|
||||||
|
/* 'heap' command prints minumum heap size */
|
||||||
|
static int perform_ota_update(int argc, char **argv)
|
||||||
|
{
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void register_ota_cmd()
|
||||||
|
{
|
||||||
|
const esp_console_cmd_t cmd = {
|
||||||
|
.command = "ota_update",
|
||||||
|
.help = "Updates the application binary from the provided URL",
|
||||||
|
.hint = NULL,
|
||||||
|
.func = &perform_ota_update,
|
||||||
|
};
|
||||||
|
ESP_ERROR_CHECK( esp_console_cmd_register(&cmd) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
19
components/squeezelite-ota/cmd_ota.h
Normal file
19
components/squeezelite-ota/cmd_ota.h
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
/* Console example — various system commands
|
||||||
|
|
||||||
|
This example code is in the Public Domain (or CC0 licensed, at your option.)
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, this
|
||||||
|
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
||||||
|
CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Register system functions
|
||||||
|
static void register_ota_cmd();
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
9
components/squeezelite-ota/component.mk
Normal file
9
components/squeezelite-ota/component.mk
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#
|
||||||
|
# "main" pseudo-component makefile.
|
||||||
|
#
|
||||||
|
# (Uses default behaviour of compiling all source files in directory, adding 'include' to include path.)
|
||||||
|
|
||||||
|
# todo: add support for https
|
||||||
|
COMPONENT_ADD_INCLUDEDIRS := .
|
||||||
|
CFLAGS += -D LOG_LOCAL_LEVEL=ESP_LOG_DEBUG -D CONFIG_OTA_ALLOW_HTTP=1
|
||||||
|
#COMPONENT_EMBED_TXTFILES := ${PROJECT_PATH}/server_certs/ca_cert.pem
|
||||||
59
components/squeezelite-ota/protocol_examples_common.h
Normal file
59
components/squeezelite-ota/protocol_examples_common.h
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
/* Common functions for protocol examples, to establish Wi-Fi or Ethernet connection.
|
||||||
|
|
||||||
|
This example code is in the Public Domain (or CC0 licensed, at your option.)
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, this
|
||||||
|
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
||||||
|
CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "esp_err.h"
|
||||||
|
#include "tcpip_adapter.h"
|
||||||
|
|
||||||
|
#ifdef CONFIG_EXAMPLE_CONNECT_ETHERNET
|
||||||
|
#define EXAMPLE_INTERFACE TCPIP_ADAPTER_IF_ETH
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_EXAMPLE_CONNECT_WIFI
|
||||||
|
#define EXAMPLE_INTERFACE TCPIP_ADAPTER_IF_STA
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Configure Wi-Fi or Ethernet, connect, wait for IP
|
||||||
|
*
|
||||||
|
* This all-in-one helper function is used in protocols examples to
|
||||||
|
* reduce the amount of boilerplate in the example.
|
||||||
|
*
|
||||||
|
* It is not intended to be used in real world applications.
|
||||||
|
* See examples under examples/wifi/getting_started/ and examples/ethernet/
|
||||||
|
* for more complete Wi-Fi or Ethernet initialization code.
|
||||||
|
*
|
||||||
|
* Read "Establishing Wi-Fi or Ethernet Connection" section in
|
||||||
|
* examples/protocols/README.md for more information about this function.
|
||||||
|
*
|
||||||
|
* @return ESP_OK on successful connection
|
||||||
|
*/
|
||||||
|
esp_err_t example_connect();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Counterpart to example_connect, de-initializes Wi-Fi or Ethernet
|
||||||
|
*/
|
||||||
|
esp_err_t example_disconnect();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Configure stdin and stdout to use blocking I/O
|
||||||
|
*
|
||||||
|
* This helper function is used in ASIO examples. It wraps installing the
|
||||||
|
* UART driver and configuring VFS layer to use UART driver for console I/O.
|
||||||
|
*/
|
||||||
|
esp_err_t example_configure_stdin_stdout();
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
107
components/squeezelite-ota/squeezelite-ota.c
Normal file
107
components/squeezelite-ota/squeezelite-ota.c
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
/* OTA example
|
||||||
|
|
||||||
|
This example code is in the Public Domain (or CC0 licensed, at your option.)
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, this
|
||||||
|
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
||||||
|
CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
*/
|
||||||
|
#include "freertos/FreeRTOS.h"
|
||||||
|
#include "freertos/task.h"
|
||||||
|
#include "esp_system.h"
|
||||||
|
#include "esp_event.h"
|
||||||
|
#include "esp_log.h"
|
||||||
|
#include "esp_ota_ops.h"
|
||||||
|
#include "esp_http_client.h"
|
||||||
|
#include "esp_https_ota.h"
|
||||||
|
#include "string.h"
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "nvs.h"
|
||||||
|
#include "nvs_flash.h"
|
||||||
|
|
||||||
|
#include "esp_err.h"
|
||||||
|
#include "tcpip_adapter.h"
|
||||||
|
|
||||||
|
|
||||||
|
static const char *TAG = "simple_ota_example";
|
||||||
|
extern const uint8_t server_cert_pem_start[] asm("_binary_ca_cert_pem_start");
|
||||||
|
extern const uint8_t server_cert_pem_end[] asm("_binary_ca_cert_pem_end");
|
||||||
|
|
||||||
|
#define OTA_URL_SIZE 256
|
||||||
|
static char ota_status[31]={0};
|
||||||
|
static uint8_t ota_pct=0;
|
||||||
|
const char * ota_get_status(){
|
||||||
|
return ota_status;
|
||||||
|
}
|
||||||
|
uint8_t ota_get_pct_complete(){
|
||||||
|
return ota_pct;
|
||||||
|
}
|
||||||
|
esp_err_t _http_event_handler(esp_http_client_event_t *evt)
|
||||||
|
{
|
||||||
|
switch (evt->event_id) {
|
||||||
|
case HTTP_EVENT_ERROR:
|
||||||
|
ESP_LOGD(TAG, "HTTP_EVENT_ERROR");
|
||||||
|
break;
|
||||||
|
case HTTP_EVENT_ON_CONNECTED:
|
||||||
|
ESP_LOGD(TAG, "HTTP_EVENT_ON_CONNECTED");
|
||||||
|
break;
|
||||||
|
case HTTP_EVENT_HEADER_SENT:
|
||||||
|
ESP_LOGD(TAG, "HTTP_EVENT_HEADER_SENT");
|
||||||
|
break;
|
||||||
|
case HTTP_EVENT_ON_HEADER:
|
||||||
|
ESP_LOGD(TAG, "HTTP_EVENT_ON_HEADER, key=%s, value=%s", evt->header_key, evt->header_value);
|
||||||
|
break;
|
||||||
|
case HTTP_EVENT_ON_DATA:
|
||||||
|
ESP_LOGD(TAG, "HTTP_EVENT_ON_DATA, len=%d", evt->data_len);
|
||||||
|
break;
|
||||||
|
case HTTP_EVENT_ON_FINISH:
|
||||||
|
ESP_LOGD(TAG, "HTTP_EVENT_ON_FINISH");
|
||||||
|
break;
|
||||||
|
case HTTP_EVENT_DISCONNECTED:
|
||||||
|
ESP_LOGD(TAG, "HTTP_EVENT_DISCONNECTED");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return ESP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ota_task(void *pvParameter, const char * bin_url)
|
||||||
|
{
|
||||||
|
ESP_LOGI(TAG, "Starting OTA example");
|
||||||
|
|
||||||
|
esp_http_client_config_t config = {
|
||||||
|
.url = bin_url,
|
||||||
|
.cert_pem = (char *)server_cert_pem_start,
|
||||||
|
.event_handler = _http_event_handler,
|
||||||
|
};
|
||||||
|
|
||||||
|
// todo: review how certificates work
|
||||||
|
config.skip_cert_common_name_check = true;
|
||||||
|
|
||||||
|
esp_err_t ret = esp_https_ota(&config);
|
||||||
|
if (ret == ESP_OK) {
|
||||||
|
esp_restart();
|
||||||
|
} else {
|
||||||
|
ESP_LOGE(TAG, "Firmware upgrade failed");
|
||||||
|
}
|
||||||
|
while (1) {
|
||||||
|
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void start_ota(const char * bin_url)
|
||||||
|
{
|
||||||
|
// Initialize NVS.
|
||||||
|
esp_err_t err = nvs_flash_init();
|
||||||
|
if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) {
|
||||||
|
// todo: If we ever change the size of the nvs partition, we need to figure out a mechanism to enlarge the nvs.
|
||||||
|
// 1.OTA app partition table has a smaller NVS partition size than the non-OTA
|
||||||
|
// partition table. This size mismatch may cause NVS initialization to fail.
|
||||||
|
// 2.NVS partition contains data in new format and cannot be recognized by this version of code.
|
||||||
|
// If this happens, we erase NVS partition and initialize NVS again.
|
||||||
|
ESP_ERROR_CHECK(nvs_flash_erase());
|
||||||
|
err = nvs_flash_init();
|
||||||
|
}
|
||||||
|
ESP_ERROR_CHECK(err);
|
||||||
|
|
||||||
|
xTaskCreate(&ota_task, "ota_task", 8192, NULL, 5, NULL);
|
||||||
|
}
|
||||||
@@ -45,10 +45,6 @@ static const char array_separator[]=",";
|
|||||||
/* @brief task handle for the http server */
|
/* @brief task handle for the http server */
|
||||||
static TaskHandle_t task_http_server = NULL;
|
static TaskHandle_t task_http_server = NULL;
|
||||||
|
|
||||||
#ifndef CONFIG_IS_RECOVERY_MODE
|
|
||||||
#define CONFIG_IS_RECOVERY_MODE 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief embedded binary data.
|
* @brief embedded binary data.
|
||||||
* @see file "component.mk"
|
* @see file "component.mk"
|
||||||
@@ -225,7 +221,7 @@ void http_server_netconn_serve(struct netconn *conn) {
|
|||||||
netconn_write(conn, http_ok_json_no_cache_hdr, sizeof(http_ok_json_no_cache_hdr) - 1, NETCONN_NOCOPY);
|
netconn_write(conn, http_ok_json_no_cache_hdr, sizeof(http_ok_json_no_cache_hdr) - 1, NETCONN_NOCOPY);
|
||||||
|
|
||||||
autoexec_flag = wifi_manager_get_flag();
|
autoexec_flag = wifi_manager_get_flag();
|
||||||
snprintf(buff,buflen-1, json_start, CONFIG_IS_RECOVERY_MODE, autoexec_flag);
|
snprintf(buff,buflen-1, json_start, RECOVERY_APPLICATION, autoexec_flag);
|
||||||
netconn_write(conn, buff, strlen(buff), NETCONN_NOCOPY);
|
netconn_write(conn, buff, strlen(buff), NETCONN_NOCOPY);
|
||||||
do {
|
do {
|
||||||
snprintf(autoexec_name,sizeof(autoexec_name)-1,"autoexec%u",i);
|
snprintf(autoexec_name,sizeof(autoexec_name)-1,"autoexec%u",i);
|
||||||
|
|||||||
@@ -55,14 +55,14 @@ Contains the freeRTOS task and all necessary support
|
|||||||
#include "lwip/netdb.h"
|
#include "lwip/netdb.h"
|
||||||
#include "lwip/ip4_addr.h"
|
#include "lwip/ip4_addr.h"
|
||||||
|
|
||||||
#ifndef SQUEEZELITE_ESP32_BASE_RELEASE
|
|
||||||
#define SQUEEZELITE_ESP32_BASE_RELEASE "unknown"
|
|
||||||
#endif
|
|
||||||
#ifndef SQUEEZELITE_ESP32_RELEASE_URL
|
#ifndef SQUEEZELITE_ESP32_RELEASE_URL
|
||||||
#define SQUEEZELITE_ESP32_RELEASE_URL "https://github.com/sle118/squeezelite-esp32/releases"
|
#define SQUEEZELITE_ESP32_RELEASE_URL "https://github.com/sle118/squeezelite-esp32/releases"
|
||||||
#endif
|
#endif
|
||||||
|
#if RECOVERY_APPLICATION
|
||||||
|
extern const char * ota_get_status();
|
||||||
|
extern uint8_t ota_get_pct_complete();
|
||||||
|
#endif
|
||||||
/* objects used to manipulate the main queue of events */
|
/* objects used to manipulate the main queue of events */
|
||||||
QueueHandle_t wifi_manager_queue;
|
QueueHandle_t wifi_manager_queue;
|
||||||
|
|
||||||
@@ -406,9 +406,11 @@ void wifi_manager_clear_ip_info_json(){
|
|||||||
void wifi_manager_generate_ip_info_json(update_reason_code_t update_reason_code){
|
void wifi_manager_generate_ip_info_json(update_reason_code_t update_reason_code){
|
||||||
wifi_config_t *config = wifi_manager_get_wifi_sta_config();
|
wifi_config_t *config = wifi_manager_get_wifi_sta_config();
|
||||||
if(config){
|
if(config){
|
||||||
|
#if !RECOVERY_APPLICATION
|
||||||
const char ip_info_json_format[] = ",\"ip\":\"%s\",\"netmask\":\"%s\",\"gw\":\"%s\",\"urc\":%d}\n";
|
const char ip_info_json_format[] = ",\"ip\":\"%s\",\"netmask\":\"%s\",\"gw\":\"%s\",\"urc\":%d}\n";
|
||||||
|
#else
|
||||||
|
const char ip_info_json_format[] = ",\"ip\":\"%s\",\"netmask\":\"%s\",\"gw\":\"%s\",\"urc\":%d, \"ota_dsc\":\"%s\", \"ota_pct\":%d}\n";
|
||||||
|
#endif
|
||||||
memset(ip_info_json, 0x00, JSON_IP_INFO_SIZE);
|
memset(ip_info_json, 0x00, JSON_IP_INFO_SIZE);
|
||||||
|
|
||||||
|
|
||||||
@@ -431,7 +433,12 @@ void wifi_manager_generate_ip_info_json(update_reason_code_t update_reason_code)
|
|||||||
ip,
|
ip,
|
||||||
netmask,
|
netmask,
|
||||||
gw,
|
gw,
|
||||||
(int)update_reason_code);
|
(int)update_reason_code
|
||||||
|
#if RECOVERY_APPLICATION
|
||||||
|
,ota_get_status(),
|
||||||
|
ota_get_pct_complete()
|
||||||
|
#endif
|
||||||
|
);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
/* notify in the json output the reason code why this was updated without a connection */
|
/* notify in the json output the reason code why this was updated without a connection */
|
||||||
@@ -439,7 +446,12 @@ void wifi_manager_generate_ip_info_json(update_reason_code_t update_reason_code)
|
|||||||
"0",
|
"0",
|
||||||
"0",
|
"0",
|
||||||
"0",
|
"0",
|
||||||
(int)update_reason_code);
|
(int)update_reason_code
|
||||||
|
#if RECOVERY_APPLICATION
|
||||||
|
,"",
|
||||||
|
0
|
||||||
|
#endif
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
|||||||
@@ -40,6 +40,13 @@ extern "C" {
|
|||||||
#include "esp_wifi.h"
|
#include "esp_wifi.h"
|
||||||
#include "esp_wifi_types.h"
|
#include "esp_wifi_types.h"
|
||||||
|
|
||||||
|
#ifndef RECOVERY_APPLICATION
|
||||||
|
#define RECOVERY_APPLICATION 0
|
||||||
|
#else
|
||||||
|
#undef RECOVERY_APPLICATION
|
||||||
|
#define RECOVERY_APPLICATION 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define DEFAULT_COMMAND_LINE CONFIG_DEFAULT_COMMAND_LINE
|
#define DEFAULT_COMMAND_LINE CONFIG_DEFAULT_COMMAND_LINE
|
||||||
|
|
||||||
@@ -163,10 +170,14 @@ extern "C" {
|
|||||||
/**
|
/**
|
||||||
* @brief Defines the maximum length in bytes of a JSON representation of the IP information
|
* @brief Defines the maximum length in bytes of a JSON representation of the IP information
|
||||||
* assuming all ips are 4*3 digits, and all characters in the ssid require to be escaped.
|
* assuming all ips are 4*3 digits, and all characters in the ssid require to be escaped.
|
||||||
* example: {"ssid":"abcdefghijklmnopqrstuvwxyz012345","ip":"192.168.1.119","netmask":"255.255.255.0","gw":"192.168.1.1","urc":0}
|
* example: {"ssid":"abcdefghijklmnopqrstuvwxyz012345","ip":"192.168.1.119","netmask":"255.255.255.0","gw":"192.168.1.1","urc":0, "ota_dsc":"Installing...", "ota_pct":100}
|
||||||
*/
|
*/
|
||||||
|
#if RECOVERY_APPLICATION
|
||||||
|
// recovery has more resources available. Let's use them to include more details about the OTA process
|
||||||
|
#define JSON_IP_INFO_SIZE 150+255
|
||||||
|
#else
|
||||||
#define JSON_IP_INFO_SIZE 150
|
#define JSON_IP_INFO_SIZE 150
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ set(COMPONENT_ADD_INCLUDEDIRS . )
|
|||||||
|
|
||||||
set(COMPONENT_SRCS "esp_app_main.c" "platform_esp32.c" "cmd_wifi.c" "console.c" "nvs_utilities.c" "cmd_squeezelite.c")
|
set(COMPONENT_SRCS "esp_app_main.c" "platform_esp32.c" "cmd_wifi.c" "console.c" "nvs_utilities.c" "cmd_squeezelite.c")
|
||||||
set(REQUIRES esp_common)
|
set(REQUIRES esp_common)
|
||||||
set(REQUIRES_COMPONENTS freertos squeezelite nvs_flash esp32 spi_flash newlib log console )
|
set(REQUIRES_COMPONENTS freertos squeezelite nvs_flash esp32 spi_flash newlib log console ota )
|
||||||
|
|
||||||
|
|
||||||
register_component()
|
register_component()
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ extern "C" {
|
|||||||
#include "cmd_wifi.h"
|
#include "cmd_wifi.h"
|
||||||
#include "cmd_nvs.h"
|
#include "cmd_nvs.h"
|
||||||
#include "cmd_i2ctools.h"
|
#include "cmd_i2ctools.h"
|
||||||
|
#include "cmd_ota.h"
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -33,6 +33,11 @@ static void * console_thread();
|
|||||||
void console_start();
|
void console_start();
|
||||||
static const char * TAG = "console";
|
static const char * TAG = "console";
|
||||||
|
|
||||||
|
#if (RECOVERY_APPLICATION )
|
||||||
|
extern void start_ota(const char * bin_url);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Prompt to be printed before each line.
|
/* Prompt to be printed before each line.
|
||||||
* This can be customized, made dynamic, etc.
|
* This can be customized, made dynamic, etc.
|
||||||
*/
|
*/
|
||||||
@@ -235,7 +240,13 @@ void console_start() {
|
|||||||
esp_console_register_help_command();
|
esp_console_register_help_command();
|
||||||
register_system();
|
register_system();
|
||||||
register_nvs();
|
register_nvs();
|
||||||
|
#if !RECOVERY_APPLICATION
|
||||||
|
#pragma message "compiling for squeezelite""
|
||||||
register_squeezelite();
|
register_squeezelite();
|
||||||
|
#else
|
||||||
|
#pragma message "compiling for recovery"
|
||||||
|
register_ota_cmd();
|
||||||
|
#endif
|
||||||
register_i2ctools();
|
register_i2ctools();
|
||||||
printf("\n"
|
printf("\n"
|
||||||
"Type 'help' to get the list of commands.\n"
|
"Type 'help' to get the list of commands.\n"
|
||||||
|
|||||||
@@ -80,10 +80,7 @@ bool wait_for_wifi(){
|
|||||||
ESP_LOGI(TAG,"WiFi Connected!");
|
ESP_LOGI(TAG,"WiFi Connected!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return connected;
|
return connected;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void app_main()
|
void app_main()
|
||||||
|
|||||||
@@ -28,3 +28,10 @@ extern bool wait_for_wifi();
|
|||||||
extern void console_start();
|
extern void console_start();
|
||||||
extern pthread_cond_t wifi_connect_suspend_cond;
|
extern pthread_cond_t wifi_connect_suspend_cond;
|
||||||
extern pthread_t wifi_connect_suspend_mutex;
|
extern pthread_t wifi_connect_suspend_mutex;
|
||||||
|
|
||||||
|
#ifndef RECOVERY_APPLICATION
|
||||||
|
#define RECOVERY_APPLICATION 0
|
||||||
|
#else
|
||||||
|
#undef RECOVERY_APPLICATION
|
||||||
|
#define RECOVERY_APPLICATION 1
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Name, Type, SubType, Offset, Size, Flags
|
# Name, Type, SubType, Offset, Size, Flags
|
||||||
# Note: if you change the phy_init or app partition offset, make sure to change the offset in Kconfig.projbuild
|
# Note: if you change the phy_init or app partition offset, make sure to change the offset in Kconfig.projbuild
|
||||||
nvs, data, nvs, 0x9000, 0x6000,
|
nvs, data, nvs, 0x9000, 0x4000,
|
||||||
phy_init, data, phy, 0xf000, 0x1000,
|
otadata, data, ota, 0xD000, 0x2000,
|
||||||
factory, app, factory, 0x10000, 3M,
|
phy_init, data, phy, 0xF000, 0x1000,
|
||||||
storage, data, fat, , 819200,
|
recovery, app, factory, 0x10000, 0x100000,
|
||||||
coredump, data, coredump,, 64K
|
ota_0, app, ota_0, 0x110000, 0x2F0000,
|
||||||
|
|||||||
|
Reference in New Issue
Block a user