-->
Page 1 of 1

About the SDK and developing for ESP8266s

PostPosted: Sun Dec 21, 2014 2:09 pm
by philnm
I have several questions about programming for the ESP8266s.

[list=]
1. Assuming OS X is not an option, which OS makes things easier when programming for ESP8266s?
Windows or Ubuntu? If Windows, which version 7 or 8? (also please tell if it is possible to use a VM or do we need to boot right in the OS).

2. Do you use or recommend using an IDE?

3. How does the SDK work? Is it libraries that are imported in a Main sequence?

4. What is the programming language? Is it possible to use C++ or is it strictly C?

5. Is there any chance to run Wiring?

6. Finally, is there a documentation for the SDK for function names etc?
[/list]

Thank you.

Re: About the SDK and developing for ESP8266s

PostPosted: Mon Dec 22, 2014 5:34 am
by RogerClark
1. Assuming OS X is not an option

Its probably possible to compile on OS X, but you'd probably need to compile the GCC compiler (like some linux examples do).

which OS makes things easier when programming for ESP8266s


Personally after trying it under Windows 7 Cygwin etc, I'm using the Lubuntu VM image supplied by Expressive on their public bbs
I share a folder in windows with the VM, and put the SDK etc in that folder (from the linux side) then edit in windows and upload from windows
But I make in the VM

2. Do you use or recommend using an IDE?

Can't help on that one, I'm still using notepad++ which is not an IDE

You can try going down the Visual Studio route on Windows as that is supposed to work for most things (but not all)

3. How does the SDK work? Is it libraries that are imported in a Main sequence?


Someone can correct me, but as far as I can tell, the SDK is a precompile library which is linked at the end of the build process, however the output from make always seems to be 2 files, the App (your program) and the SDK which both need to be uploaded into different memory locations (0x00000 for user 0x40000 for SDK), I've tried only uploading the user program after making some changes, but it didn't work

I suspect the linker may be taking functions from the SDK and creating a cut down version that only includes functions you use

(I'm sure someone will correct me on that one, but I posted a similar question last week and I don't think I got a reply :-(


4. What is the programming language? Is it possible to use C++ or is it strictly C?


AFIK its currently C only. Not because C++ is impossible but there are library issues if you use C++ (as the SDK is a C lib and is closed source) plus there are issues with stdlibs and C++

5. Is there any chance to run Wiring?


You could probably write something like wiring, but as the code is event driven it doesnt fit that well with the wiring paridyme

you'd need to setup a timer and call a function called loop() from the timer

actually even better setup a new task / proc and then call loop for idle events.

GPIO and serial could be done farily easily, but I suspect SPI and I2C would be a pain to do (I know I've just been working on a port of STM32 to Arduino 1.5.x)