Anyone interested in Arduino Environment?
- ESP_Me-no-dev
- Posts: 80
- Joined: Mon Jan 04, 2016 6:30 pm
Anyone interested in Arduino Environment?
I've translated over just about everything over from ESP8266.
I have the following hardware working:
HSPI and VSPI SPI busses attached to any pin
UART 0 and 1 (0 is attached to pins 1 and 3) UART 1 can be attached to any pins
pinMode/digitalRead/digitalWrite/attachInterrupt
analogRead (duh) SDK functions are exposed (same goes for touch pads)
4 types of PWM! SigmaDelta, LEDC_HF, LEDC_LF and the old style based on timer (currently the one attached to analogWrite)
ccompare and 1 hardware timers with Interrupts
pinMatrix functions for easy signal routing (those are mostly the same as the ones in the driver lib)
Mostly everything should work the same as on ESP8266. Some methods are removed from the ESP and WiFi classes as they are not available anymore.
UDP Multicasts are not build into lwip yet so any service that depends on them would not work (mDNS, SSDP and such).
ArduinoOTA is also not working yet as it requires different rom layout.
Toolchains that I have tested and are working:
Mac OS X: http://static.ficeto.com/xtensa-esp108-elf-osx.tar.gz
Linux 32: http://static.ficeto.com/xtensa-esp108- ... x32.tar.gz
Linux 64: http://static.ficeto.com/xtensa-esp108- ... x64.tar.gz
Windows 32: http://static.ficeto.com/xtensa-esp108-elf-cygwin32.zip << Needs https://cygwin.com/setup-x86.exe installed (defaults are fine) and "C:\cygwin\bin" added to Path
Windows 64: http://static.ficeto.com/xtensa-esp108-elf-cygwin64.zip << Needs https://cygwin.com/setup-x86_64.exe installed (defaults are fine) and "C:\cygwin64\bin" added to Path
To compile sketches you need one of the toolchains above or to build it yourself. The toolchain should go inside the "ESP31B/tools" folder.
For Windows, Python2.7 needs to be installed and in Path.
I include inside my Async TCP and Web server as well (regular blocking server and client are there also) for those that want to run full speed and handle more than one client at a time.
https://github.com/me-no-dev/ESP31B
I have the following hardware working:
HSPI and VSPI SPI busses attached to any pin
UART 0 and 1 (0 is attached to pins 1 and 3) UART 1 can be attached to any pins
pinMode/digitalRead/digitalWrite/attachInterrupt
analogRead (duh) SDK functions are exposed (same goes for touch pads)
4 types of PWM! SigmaDelta, LEDC_HF, LEDC_LF and the old style based on timer (currently the one attached to analogWrite)
ccompare and 1 hardware timers with Interrupts
pinMatrix functions for easy signal routing (those are mostly the same as the ones in the driver lib)
Mostly everything should work the same as on ESP8266. Some methods are removed from the ESP and WiFi classes as they are not available anymore.
UDP Multicasts are not build into lwip yet so any service that depends on them would not work (mDNS, SSDP and such).
ArduinoOTA is also not working yet as it requires different rom layout.
Toolchains that I have tested and are working:
Mac OS X: http://static.ficeto.com/xtensa-esp108-elf-osx.tar.gz
Linux 32: http://static.ficeto.com/xtensa-esp108- ... x32.tar.gz
Linux 64: http://static.ficeto.com/xtensa-esp108- ... x64.tar.gz
Windows 32: http://static.ficeto.com/xtensa-esp108-elf-cygwin32.zip << Needs https://cygwin.com/setup-x86.exe installed (defaults are fine) and "C:\cygwin\bin" added to Path
Windows 64: http://static.ficeto.com/xtensa-esp108-elf-cygwin64.zip << Needs https://cygwin.com/setup-x86_64.exe installed (defaults are fine) and "C:\cygwin64\bin" added to Path
To compile sketches you need one of the toolchains above or to build it yourself. The toolchain should go inside the "ESP31B/tools" folder.
For Windows, Python2.7 needs to be installed and in Path.
I include inside my Async TCP and Web server as well (regular blocking server and client are there also) for those that want to run full speed and handle more than one client at a time.
https://github.com/me-no-dev/ESP31B
Last edited by ESP_Me-no-dev on Mon Jan 18, 2016 11:38 pm, edited 5 times in total.
Re: Anyone interested in Arduino Environment?
Hi,
Can you deploy also for ESP32 ?
Br, Xatax
Can you deploy also for ESP32 ?
Br, Xatax
- ESP_Me-no-dev
- Posts: 80
- Joined: Mon Jan 04, 2016 6:30 pm
Re: Anyone interested in Arduino Environment?
When it's available all we currently have is ESP31B (look at markings at the module).
So it works on what we all have, will rework it for ESP32 (hopefully together with @igrr) when it's released.
So it works on what we all have, will rework it for ESP32 (hopefully together with @igrr) when it's released.
- DAFlippers
- Posts: 22
- Joined: Sat Nov 14, 2015 9:20 am
Re: Anyone interested in Arduino Environment?
I'm definitely interested.
David
David
Re: Anyone interested in Arduino Environment?
I would like the Arduino environment too.
That makes it easier as I use a Mac.
Dendad.
That makes it easier as I use a Mac.
Dendad.
- ESP_Me-no-dev
- Posts: 80
- Joined: Mon Jan 04, 2016 6:30 pm
- martinayotte
- Posts: 141
- Joined: Fri Nov 13, 2015 4:27 pm
Re: Anyone interested in Arduino Environment?
Congrats to me-no-dev !!!
Re: Anyone interested in Arduino Environment?
nice work! thanks!me-no-dev wrote:...
I include inside my Async TCP and Web server as well (regular blocking server and client are there also) for those that want to run full speed and handle more than one client at a time.
https://github.com/me-no-dev/ESP31B
give you us the "ESP31BmDNS.h" too?
just in time is missing..
best wishes!
rudi
compiler error (toolchain)
:
Code: Select all
Arduino: 1.6.7 (Windows 7), Board: "Beta ESP31B Module, 80 MHz, 40MHz, QIO, 256000, 2M (1M SPIFFS)"
C:\Program Files (x86)\Arduino\hardware\Espressif\ESP31B\cores\esp31b\core_esp31b_i2s.c: In function 'i2s_slc_begin':
C:\Program Files (x86)\Arduino\hardware\Espressif\ESP31B\cores\esp31b\core_esp31b_i2s.c:130:23: warning: passing argument 2 of 'xt_set_interrupt_handler' from incompatible pointer type [-Wincompatible-pointer-types]
ETS_SLC_INTR_ATTACH(i2s_slc_isr, NULL);
^
C:\Program Files (x86)\Arduino\hardware\Espressif\ESP31B\cores\esp31b\core_esp31b_i2s.c:35:42: note: in definition of macro 'ETS_SLC_INTR_ATTACH'
xt_set_interrupt_handler(ETS_SLC_INUM, fn, arg); \
^
In file included from C:\Program Files (x86)\Arduino\hardware\Espressif\ESP31B\cores\esp31b\Arduino.h:28:0,
from C:\Program Files (x86)\Arduino\hardware\Espressif\ESP31B\cores\esp31b\core_esp31b_i2s.c:23:
C:\Program Files (x86)\Arduino\hardware\Espressif\ESP31B/tools/sdk/include/freertos/xtensa_api.h:71:19: note: expected 'xt_handler {aka void (*)(void *)}' but argument is of type 'void (*)(void)'
extern xt_handler xt_set_interrupt_handler(int n, xt_handler f, void * arg);
^
C:\Program Files (x86)\Arduino\hardware\Espressif\ESP31B\cores\esp31b\core_esp31b_noniso.c: In function 'dtostrf':
C:\Program Files (x86)\Arduino\hardware\Espressif\ESP31B\cores\esp31b\core_esp31b_noniso.c:180:9: internal compiler error: Segmentation fault
rounding *= 10.0;
^
libbacktrace could not find executable to open
Sketch:
Code: Select all
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
Most Arduinos have an on-board LED you can control. On the Uno and
Leonardo, it is attached to digital pin 13. If you're unsure what
pin the on-board LED is connected to on your Arduino model, check
the documentation at http://www.arduino.cc
This example code is in the public domain.
modified 8 May 2014
by Scott Fitzgerald
modified 08 Jan 2016
by rudi - esp31b pin 22
*/
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin 13 as an output.
// modified for test with esp31b
pinMode(22, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(22, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(22, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪
- ESP_Me-no-dev
- Posts: 80
- Joined: Mon Jan 04, 2016 6:30 pm
Re: Anyone interested in Arduino Environment?
good catch on the warning. No clue on the segmentation fault though. Any chance there is something different on our toolchains?
I compiled mine on Mac using the instructions provided by espressif.
I compiled mine on Mac using the instructions provided by espressif.
Re: Anyone interested in Arduino Environment?
have tested yours just in time with the compiled version for windows taken from Unofficial Development Kit for Espressif ESP32 (Windows)me-no-dev wrote:.. Any chance there is something different on our toolchains?
I compiled mine on Mac using the instructions provided by espressif.
had posted Mikhail, because this goes wrong too:
Code: Select all
..
uint8 temper; // result in fahrenheit
float celsius; // conversion in Celsius later
celsius = ( temper - 32 ) / 1.8 ;
..
there is no segmentation fault though. so i think Mikhail must go on in this again
think perhabs usual suspects are versions of : gmp & mpfr
thanks for your fast responding!
( and help in SPI pins )
best wishes
rudi
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪
Who is online
Users browsing this forum: Majestic-12 [Bot] and 76 guests