mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-17 22:23:10 +03:00
Add notes for ESP8266 version
This commit is contained in:
73
NOTES
Normal file
73
NOTES
Normal file
@ -0,0 +1,73 @@
|
||||
Arduino IDE with ESP8266 support
|
||||
================================
|
||||
|
||||
This is an early beta. Things might not work as expected, please do report any bugs you find.
|
||||
|
||||
What works
|
||||
----------
|
||||
|
||||
- pinMode, digitalRead, digitalWrite
|
||||
- analogRead
|
||||
- shiftIn, shiftOut
|
||||
- millis, micros, delay, delayMicroseconds
|
||||
- yield (call that once in a while in long loops; delay() works as well)
|
||||
- Serial
|
||||
Only 8n1 is supported right now. flush() doesn't work, and there is no propper TX buffer.
|
||||
When sending long strings (>128 chars at a time) something might get lost.
|
||||
There will be some diagnostic output from WiFi libraries unless you call Serial.begin.
|
||||
|
||||
- EEPROM
|
||||
This is a bit different from standard EEPROM class. You need to call EEPROM.begin(size)
|
||||
before you start reading or writing, size being the number of bytes you want to use.
|
||||
EEPROM.write does not write to flash immediately, instead you must call EEPROM.commit()
|
||||
whenever you wish to save changes to flash. EEPROM.end() will also commit, and will
|
||||
release the RAM copy of EEPROM contents.
|
||||
|
||||
- I2C (Wire library)
|
||||
Only master mode works, and I haven't tested if Wire.setClock gives correct frequency.
|
||||
Before using I2C, you need to set pins you will use for SDA and SCL by calling
|
||||
Wire.pins(int sda, int scl), i.e. Wire.pins(0, 2); on ESP-01.
|
||||
|
||||
- WiFi (ESP8266WiFi library)
|
||||
This is mostly similar to WiFi shield library. Differences include:
|
||||
* WiFi.mode(m): set mode to WIFI_AP, WIFI_STA, or WIFI_AP_STA.
|
||||
* WiFi.softAP(ssid) or WiFi.softAP(ssid, passphrase) to set up an AP.
|
||||
* WiFi.macAddress(mac) is for STA, WiFi.softAPmacAddress(mac) is for AP.
|
||||
* WiFi.localIP() is for STA, WiFi.softAPIP() is for AP.
|
||||
* WiFi.RSSI() doesn't work
|
||||
* WiFi.scanNetworks() doesn't work yet
|
||||
WiFiServer and WiFiClient behave mostly the same way as with WiFi shield library.
|
||||
|
||||
- Other libraries that don't rely on low-level access to AVR registers.
|
||||
|
||||
- Upload via serial port
|
||||
Select "esptool" as a programmer, and pick the correct serial port.
|
||||
You need to put ESP8266 into bootloader mode before uploading code (pull GPIO0 low and toggle power).
|
||||
|
||||
What is not done yet
|
||||
--------------------
|
||||
|
||||
- pin interrupts (attachInterrupt, detachInterrupt)
|
||||
- analogWrite (PWM)
|
||||
- pulseIn, pulseOut
|
||||
- SPI
|
||||
- UDP
|
||||
- I2C slave mode
|
||||
- Serial modes other than 8n1
|
||||
- Serial TX buffer
|
||||
- WiFi.scanNetworks
|
||||
- WiFi.RSSI
|
||||
- Upload sketches via WiFi
|
||||
- Samples for all the libraries
|
||||
|
||||
|
||||
License and credits
|
||||
-------------------
|
||||
|
||||
Arduino is licensed under GPL, with Arduino core libraries licensed under LGPL.
|
||||
This build includes an xtensa gcc toolchain, which is also under GPL.
|
||||
Espressif SDK included in this build is under Espressif Public License.
|
||||
|
||||
ESP8266 port contributed by Ivan Grokhotkov, igrokhotkov at gmail dot com.
|
||||
Drop me a line if you find some bugs not mentioned here!
|
||||
|
Reference in New Issue
Block a user