ESP8266 Wizard 1.3.1 OpenSource for Visual Studio 2013, 2015 & 2017 with FlashTool, Intellisense and VIDEO Tutorial

Fleuve
Posts: 24
Joined: Wed Dec 09, 2015 1:16 pm

ESP8266 Wizard 1.3.1 OpenSource for Visual Studio 2013, 2015 & 2017 with FlashTool, Intellisense and VIDEO Tutorial

Postby Fleuve » Fri Mar 31, 2017 9:05 pm

After reading a lot comment on Version 1.2.5. and after the announcement of Visual Studio 2017, we decide to update the entire package.

ESP8266 Wizard and Compiler tools for Visual Studio.

Develop ESP Firmware on Windows come easier.

Image

Include
  • VSIX Template Wizard
  • RTOS 1.3.0
  • RTOS 1.4.0
  • RTOS 1.5.0
  • NON-OS 1.5.0
  • NON-OS 1.5.2
  • NON-OS 1.5.4
  • NON-OS 2.0.0
  • ESPMesh 1.3.1
  • ESPMesh 1.3.2
  • ESPMesh 1.3.2b-09-2016
  • ESPMesh 1.3.2b-12-2017
  • Xtensa Compiler
  • Don Kinzer Flash Utility

Compatibility tested
  • Windows 10
  • Visual Studio 2013, 2015 & 2017
  • NON-OS 1.5.0 / 1.5.2 / 1.5.4 / 2.0.0
  • RTOS 1.3.0 / 1.4.0 / 1.5.0
  • ESPMesh 1.3.1 / 1.3.2 / 1.3.2b-09-2016 / 1.3.2b-12-2016

Release updates
    Version 1.0
    • Initial launch
    Version 1.2
    • RTOS Compatible
    • Multi-project inside same solution
    Version 1.2.1
    • Fix 0kb file for irom0.text.bin in non-boot mode
    • Xtensa LD : Additional Library bug -> you can add airkiss in NON-OS 1.5.2
    Version 1.2.2
    • Project Property override glitch
    • ESP Flash Panel
    • Don Kinzer Flash Utility
    • Remove Old Concept from Boot Mode. Now V1.2/1.4/1.5 was build with NEW LD Script File
    • ESP Flash Output Table
    Version 1.2.4
    • Microsoft Visual Studio 2015 Intellisenses support
    • Error List with line number inside output windows during build.
    • Setup detect older version and uninstall VSIX properly.
    Version 1.2.5
    • Fix LIB/LD Default folder (thanks to Reallife)
    • Fix Release/Version default value was taken form wizard dialog interface.
    • Include Non-Os 1.5.4
    • Include RTOS 1.4.0
    Version 1.2.6
    • Modify setup program (see: Installation troubleshooting)
    • Extend VSIX Install Target to 11.0 to 16.0
    • Include Non-Os 2.0.0
    • Include RTOS 1.5.0
    Version 1.2.7
    • EspTool Chip ID Detect, missing COM port and Baud speed (thanks to lele)
    • COM Port string was replaced by a combo-list.
    • COM Speed string was replaced by a combo-list.
    • EspTool Reset option combo-list was now added.
    Version 1.2.8b
    • Place port and speed at begin of ESP_Tool.
    • Reactive Intellisense inside VCX Project.
    • Adding additional define in Xtensa C/C++ Menu.
    • Adding ESP Mesh compatibility.
    Version 1.2.9
    • First Open Source Version
    Version 1.3.0
    • VSIX Installer Update
    Version 1.3.1
    • Fix Design time error

Proposed ideas
  • Compatible AtemlStudio 2017 (maybe incompatible, too much difference)
  • Compatible Visual Studio Express (If you want support and ready to test it, write me)
  • Serial Debugging with xtensa-lx106-elf-gdb.exe


Download

Enjoy.

Installation troubleshooting

The Setup have completely changed, the package was not depend anymore of lasted Visual Studio installed on your computer. That's mean two new thing:
  • Installation can be placed everywhere.
  • Now, you can use on multi version of visual studio at the same time.

How Setup work
Setup was depend now to one variable : "InstallLocation". This one was placed into the registry during the installation.

On 64 bits Windows

Code: Select all

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ESP8266 Wizard_is1

or on 32 bits Windows

Code: Select all

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ESP8266 Wizard_is1


ESP8266Diag
For the moment any Diagnostic tools was created for this version.

Video Tutorial
Image


P.S. See some bug or need improvement, just reply me!


Open Source
After some comment, I decide to let go ESP8266 Wizard to Open Source. Feel free to modify, but it's gonna be under some rules. Before, let's understand the esp8266 Wizard.

1. Props vs XML vs targets
  • Props : This files contains the default value of your properties interface
  • XML : This files was the properties interface
  • Targets : Inside this files, you gonna find the command line to execute the process on your CPP and H files
    Actually, if you handle well the concept, XTENSA folder can be recompiled inside a DLL, to convert targets command line based to DLL function.

2.Targets was queue based
Image
That's mean, this way was multi-project secure. You can have with another Microsoft project inside same solution. Take care to have unique name for every target, don't attempt to override "Build" target or something used by Microsoft. Also, by include FromminimalBuild.target you can create another builder like example "an Atmel compiler".

3.Windows 10 Partition and Writing Right
If you modify the package on windows 10, be sure that you don't install on same partition that Window 10. The new right of C: Partition, made in sort, that you must start your visual studio 2017 in administration mode. That's a little annoying.

4.The wizard use folder based
If you create a new SDK package. Try to keep in philosophy, that you need two sub-folder to keep compatibility with other project.
    ESPressif
      Release
        Version

5.How use REPACKAGE
  • Unzip the downloaded file.
  • Install a version inside Release folder. (Try to not use C: Drive)
  • Modify the package (targets, XML and Props) directly inside Installation folder
  • Put your paw and fill logbook... see below.
  • If you modify the VSIX, don't forget to replace the .VSIX file from Release folder to Installation folder.
  • When ready to repackage, start CopySources.bat script.
  • Start InnoSetup (that you must find, download and install)
  • Compile

6. Put your paw rules
Because XML, PROPS and Targets can't be really compatible with Git or something similar. I mean, you can't keep trace of modification or branch. I ask you to put your paw at specific place to see which package you really install. Like this, we gonna be enable to see which part used during installation and we gonna be in mesure to offer support with specific version name.

Replace OpenSource by your name and change also the version. Change one place and the rest is automatic.

Inside Inno Setup:
Image

Inside VSIX manifest:
Image

7. Fill the LogBook
Modify the Logbook.txt to include date, package name, coder name and description of update item.

EX:
[YYYY/MM/DD] Package Name - Coder Name
* Fix that...
* Add this...


Enjoy!
Last edited by Fleuve on Thu May 09, 2019 9:37 pm, edited 12 times in total.

lele
Posts: 5
Joined: Wed Apr 12, 2017 5:40 pm

Re: ESP8266 Wizard 1.2.6 for Visual Studio 2013, 2015 & 2017 with FlashTool, Intellisense and VIDEO Tutorial

Postby lele » Wed Apr 12, 2017 6:01 pm

A fix is required in file:
C:\Program Files (x86)\Relentless.rad\ESP8266Wizard\MSBuildTemplate\ESPbuilder.targets
when using a port different than COM1 modify:
...
<Exec Command="esp_tool -of -rauto > &quot;$(MSBuildProjectDirectory)\ConsoleOutput.dbg&quot;" Condition="'$(AdresseList)'!=''"/>
...
to
...
<Exec Command="esp_tool -p$(ComPort) -b$(ComSpeed) -rauto -of > &quot;$(MSBuildProjectDirectory)\ConsoleOutput.dbg&quot;" Condition="'$(AdresseList)'!=''"/>

also an option to change the reset mode would be nice (-rnodeMCU or -rck or...)
Thanks

Fleuve
Posts: 24
Joined: Wed Dec 09, 2015 1:16 pm

Re: ESP8266 Wizard 1.2.6 for Visual Studio 2013, 2015 & 2017 with FlashTool, Intellisense and VIDEO Tutorial

Postby Fleuve » Thu Apr 13, 2017 10:33 pm

You totally right with the bug. This one check Chip id before programming, that's means if the chips was not detect, this one gonna skip the programming stage.

I'm gonna release 1.2.7 soon with, some update:

  • esp_tool chip detect need baud and port
  • Baud enumeration menu (9600,14400....115200)
  • Reset enumeration menu (none, auto, dtronly, ck, wifio, nodemcu)

I must admit, that i really take the thing brief with esp_tool.

In 1 or 2 day, it's gonna be updated.

Thanks.

lele
Posts: 5
Joined: Wed Apr 12, 2017 5:40 pm

Re: ESP8266 Wizard 1.2.6 for Visual Studio 2013, 2015 & 2017 with FlashTool, Intellisense and VIDEO Tutorial

Postby lele » Fri Apr 14, 2017 12:47 am

A suggestion:
esp_tool is very slow for flashing, could interface with flash download tool instead?
( https://espressif.com/sites/default/fil ... v3.4.4.zip )
it is really fast

Fleuve
Posts: 24
Joined: Wed Dec 09, 2015 1:16 pm

Re: ESP8266 Wizard 1.2.6 for Visual Studio 2013, 2015 & 2017 with FlashTool, Intellisense and VIDEO Tutorial

Postby Fleuve » Fri Apr 14, 2017 1:11 am

lele wrote:A suggestion:
esp_tool is very slow for flashing, could interface with flash download tool instead?
( https://espressif.com/sites/default/fil ... v3.4.4.zip )
it is really fast


I take a look and to do that, i need some thing:
  • The entire package contain 3 Flash tool, i need to extract the proper one.
  • After, i need to know if the proper flash tool, can be command line called (flash.exe "PARAM")
  • After that it's gonna be easier to integrate.
  • No user interaction was required to perform this operation (at the beginning, you get a wall by the dialog box)

lele
Posts: 5
Joined: Wed Apr 12, 2017 5:40 pm

Re: ESP8266 Wizard 1.2.7 for Visual Studio 2013, 2015 & 2017 with FlashTool, Intellisense and VIDEO Tutorial

Postby lele » Sat Apr 15, 2017 6:42 pm

Thanks Fleuve for fast fix, I installed ver. 1.2.7 but I'm afraid esp_too requires com port and speed parameter for first in command line because I'm getting thir error when compiling:
...
1>*** Flash Info **************************************
1>Can't open port COM1.
1>C:\Program Files (x86)\Relentless.rad\ESP8266Wizard\MSBuildTemplate\ESPbuilder.targets(133,5): error MSB3073: uscita dal comando "esp_tool -of -rNodeMCU -b128000 -pCOM3 > "C:\Users\raffa\Desktop\EspWS2812\EspWS2812\ConsoleOutput.dbg"" con codice 1.
1>Compilazione progetto "EspWS2812.vcxproj" NON COMPLETATA.
========== Ricompilazione: 1 completate, 1 non riuscite, 0 ignorate ==========
---

so even if command line has -pCOM3 it seems that esp_tool tries to open COM1

I changhed parameter odrer in ESPbuilder.target in this way:
<ESPToolBaseParam>-p$(ComPort) -b$(ComSpeed) -r$(ESPToolReset) -q -ff%(ESPBuilder.SPISpeedName) -fm%(ESPBuilder.SPIModeName) -fs%(ESPBuilder.SPIRamName)</ESPToolBaseParam>
<ESPToolChipIDParam>-p$(ComPort) -b$(ComSpeed) -r$(ESPToolReset) -of</ESPToolChipIDParam>

and it solved.

I have another question: How did you make intellisense work? In my visual studio 2017 I can't go to definition get struct field suggestion

Fleuve
Posts: 24
Joined: Wed Dec 09, 2015 1:16 pm

Re: ESP8266 Wizard 1.2.7 for Visual Studio 2013, 2015 & 2017 with FlashTool, Intellisense and VIDEO Tutorial

Postby Fleuve » Sat Apr 15, 2017 9:34 pm

lele wrote:Thanks Fleuve for fast fix, I installed ver. 1.2.7 but I'm afraid esp_too requires com port and speed parameter for first in command line


I'm gonna fix it in 1.2.8 - Thanks!

lele wrote:I have another question: How did you make intellisense work? In my visual studio 2017 I can't go to definition get struct field suggestion


My fault (project template have error), but you can fix it until i release 1.2.8

  • Unload Project (left button on project)
  • Modify projects (left button on project)
  • Find : <!--Import Project="$(VCTargetsPath)\Microsoft.Cpp.DesignTime.targets" /-->
    and replace by (remove comment)
    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.DesignTime.targets" />

lele wrote:A suggestion:
esp_tool is very slow for flashing, could interface with flash download tool instead?
( https://espressif.com/sites/default/fil ... v3.4.4.zip )
it is really fast


I find esptool py version on GitHub, but i hate python.
Also I've find NodeMCU Flasher Pascal version on GitHub. Maybe if i install delphi, i can modify it to fit in command line mode with output display and -nogui flag or something like that.

But for the moment i working to program an Atmega1284p with Chinese isp key, it's for this reason that didn't test ESP programming (need to reinstall my ESP on my protoboard).

Today is my day off, then 1.2.8 gonna be fixed tomorrow.

lele
Posts: 5
Joined: Wed Apr 12, 2017 5:40 pm

Re: ESP8266 Wizard 1.2.7 for Visual Studio 2013, 2015 & 2017 with FlashTool, Intellisense and VIDEO Tutorial

Postby lele » Tue Apr 18, 2017 4:14 am

This tool is almost perfect! Just missing debugger, do you plan to integrate serial gdbstub?

pardmx
Posts: 2
Joined: Thu Apr 13, 2017 6:41 am

Re: ESP8266 Wizard 1.2.7 for Visual Studio 2013, 2015 & 2017 with FlashTool, Intellisense and VIDEO Tutorial

Postby pardmx » Tue Apr 18, 2017 6:15 am

This tool is incredible you made a great work, as a suggestion, is there any chance to add the MESH_DEMO to the supported SDKs and examples?

Fleuve
Posts: 24
Joined: Wed Dec 09, 2015 1:16 pm

Re: ESP8266 Wizard 1.2.7 for Visual Studio 2013, 2015 & 2017 with FlashTool, Intellisense and VIDEO Tutorial

Postby Fleuve » Wed Apr 19, 2017 1:28 am

lele wrote:This tool is almost perfect! Just missing debugger, do you plan to integrate serial gdbstub?


Ok,

The entire process is actually a test that I made, because Visual Studio 2015 & 2107 Plugins have change a lot. I just decide to apply on ESP8266 to make concrete test. I have a lot to relearn before the entire process gonna be more professional. There is the main Visual Studio plan.

Have a Solution who can contain multi-project:
  • DirectX GUI interface compatible with PC/Surface Pro and Surface (ARM).
  • Atmel Atmega Firmware
  • ESP Wifi Firmware

Now where i'm in this hell plan?
DirectX GUI Bug Fixed, video not updated but give idea
  • Main interface build
  • Support all Input: Mouse, keyboard, XBox game-pad, Gesture.
  • Support picture : png, bmp, jpg.
  • Support Music : mp3, wave...
  • Support Video : avi, mp4, mkv.
  • Working On GUI Object: Button, radio, combo, list, tree, blabla

Atmel Atmega : Not started.
ESP8266 : Near Final, but still need update.

VSIX Pluging
  • Dll Wizard template : Complete See Video
  • How add Visual Studio Function inside menu (I have a auto-comment to re-enable)
  • Now i must learn how to put out all tools inside package (xtensa exe, python script "gen_app.py", esp_tool) and repack inside a dll. It's gonna be more flexible to complete task. It's for this reason that i've found ESP_TOOL Programming, ESPTool2 (GenApp.py). Just missing Xtensa source code... I don't know if you remark but xtensa compiler don't send proper error line (like offset), a thing that i can repair only by recompile xtensa

Now for the serial debugger, I've see some information about this : https://github.com/espressif/esp-gdbstub. The concept, seem to be simple.
Like:
  • Include Package
  • Change build parameter in debug mode -og
  • #include <../gdbstub/gdbstub.h> and call gdbstub_init() inside main.c
  • Also the GDB executable must be added in xtensa https://bintray.com/kireevco/generic/esp-alt-sdk/view
  • Now, how plug it and test it... I have any idea.... :?

You look, more grounded on ESP that me. Then if you know more and ready to make a test (update package, config Project and a simple test with xtensa-lx106-elf-gdb in command prompt), it can be handful.

Who is online

Users browsing this forum: No registered users and 221 guests