├── doc ├── _static │ └── .keep ├── .gitignore ├── ESP_min.png ├── esp12.png ├── ESP01_connect.jpg ├── ESP_to_serial.png ├── pin_functions.png ├── ESP_improved_stability.png ├── esp8266_tcp_active_close.png ├── Troubleshooting │ ├── debug_level.png │ ├── debug_port.png │ └── ESP_Exception_Decoderp.png ├── eclipse │ ├── 2_Install_software.png │ ├── 1_Install_New_Software.png │ └── makefile.init ├── faq │ └── pictures │ │ ├── a01-test-stand.jpg │ │ ├── a01-board-selection.png │ │ ├── a01-circuit-ck-reset.fzz │ │ ├── a01-circuit-ck-reset.png │ │ ├── a01-reset-ck-closeup.png │ │ ├── a01-reset-ck-complete.png │ │ ├── a02-typical-crash-log.png │ │ ├── a04-remove-package-no.png │ │ ├── a01-boot-mode-decoding.png │ │ ├── a01-espcomm_open-failed.png │ │ ├── a01-espcomm_sync-failed.png │ │ ├── a02-hw-watchdog-example.png │ │ ├── a02-sw-watchdog-example.png │ │ ├── a04-remove-package-yes.png │ │ ├── a01-circuit-nodemcu-reset.fzz │ │ ├── a01-circuit-nodemcu-reset.png │ │ ├── a01-reset-nodemcu-closeup.png │ │ ├── a01-reset-nodemcu-complete.png │ │ ├── a01-serial-port-selection.png │ │ ├── a01-serial-speed-selection.png │ │ ├── a02-decode-stack-tace-1-2.png │ │ ├── a02-decode-stack-tace-3-6.png │ │ ├── a04-board-is-unknown-error.png │ │ ├── a01-example-boards-with-usb.png │ │ ├── a01-reset-ck-complete-1-retry.png │ │ ├── a01-secondary-serial-hookup.fzz │ │ ├── a01-secondary-serial-hookup.png │ │ ├── a01-usb-to-serial-loop-back.png │ │ ├── a02-exception-cause-decoding.png │ │ ├── a04-arduino-ide-preferences.png │ │ ├── a01-example-boards-without-usb.png │ │ ├── a04-contents-of-package-folder.png │ │ ├── a01-nodemcu-reset-implementation.png │ │ ├── a04-contents-of-preferences-folder.png │ │ └── a01-reset-nodemcu-complete-2-retries.png ├── ota_updates │ ├── ota-web-browser-form.png │ ├── update_memory_copy.png │ ├── a-ota-network-terminal.png │ ├── a-ota-sketch-selection.png │ ├── a-ota-ssid-pass-entry.png │ ├── ota-web-path-to-binary.png │ ├── termite-configuration.png │ ├── a-ota-ota-port-selection.png │ ├── a-ota-ota-upload-complete.png │ ├── ota-web-browser-form-ok.png │ ├── a-ota-python-configuration.png │ ├── a-ota-ota-upload-configuration.png │ ├── a-ota-upload-password-prompt.png │ ├── ota-web-serial-monitor-ready.png │ ├── ota-web-serial-monitor-reboot.png │ ├── ota-web-show-verbose-compilation.png │ ├── a-ota-serial-upload-configuration.png │ ├── a-ota-external-serial-terminal-output.png │ ├── a-ota-upload-complete-and-joined-wifi.png │ ├── a-ota-upload-password-authenticating-ok.png │ ├── a-ota-upload-password-passing-upload-ok.png │ ├── a-ota-external-serial-terminal-output-failed.png │ └── a-ota-upload-password-passing-again-upload-ok.png ├── esp8266wifi │ └── pictures │ │ ├── esp8266-client.png │ │ ├── esp8266-server.png │ │ ├── esp8266-station.png │ │ ├── udp-packet-sender.png │ │ ├── client-example-domain.png │ │ ├── doxygen-class-index.png │ │ ├── esp8266-client-secure.png │ │ ├── server-browser-output.png │ │ ├── doxygen-example-udp-begin.png │ │ ├── esp8266-soft-access-point.png │ │ ├── wifi-simple-connect-terminal.png │ │ ├── client-secure-check-fingerprint.png │ │ ├── doxygen-example-station-begin.png │ │ ├── doxygen-esp8266wifi-documentation.png │ │ ├── doxygen-example-station-hostname.png │ │ ├── esp8266-arduino-build-status-json.png │ │ ├── esp8266-station-soft-access-point.png │ │ └── esp8266-arduino-build-status-travisci.png ├── requirements.txt ├── reference_items.yml ├── index.rst └── Makefile ├── programmers.txt ├── cores └── esp8266 │ ├── user_config.h │ ├── libb64 │ ├── AUTHORS │ ├── cdecode.h │ └── cencode.h │ ├── FunctionalInterrupt.h │ ├── core_version.h │ ├── debug.h │ ├── eboot_command.h │ ├── FunctionalInterrupt.cpp │ ├── spiffs │ ├── TODO │ └── LICENSE │ ├── Schedule.h │ ├── Server.h │ ├── umm_malloc │ ├── LICENSE │ └── umm_malloc.h │ ├── sigma_delta.h │ ├── core_esp8266_features.h │ ├── wiring_private.h │ ├── StreamString.h │ ├── core_esp8266_wiring_analog.c │ └── Printable.h ├── tests ├── .gitignore ├── device │ ├── .gitignore │ ├── libraries │ │ ├── test_config │ │ │ ├── .gitignore │ │ │ ├── library.properties │ │ │ └── test_config.h.template │ │ └── BSTest │ │ │ ├── .gitignore │ │ │ ├── library.properties │ │ │ ├── requirements.txt │ │ │ ├── Makefile │ │ │ ├── mock_decorators.py │ │ │ ├── src │ │ │ ├── BSStdio.h │ │ │ └── BSArduino.h │ │ │ └── test │ │ │ └── test.cpp │ ├── test_umm_malloc │ │ └── test_umm_malloc.ino │ ├── test_newlib │ │ └── test_newlib.ino │ ├── test_overrides │ │ └── test_overrides.ino │ ├── test_tests │ │ └── test_tests.ino │ ├── test_Print_printf │ │ └── test_Print_printf.ino │ ├── test_http_client │ │ ├── server.csr │ │ └── server.crt │ └── test_WiFiServer │ │ ├── test_WiFiServer.ino │ │ └── test_WiFiServer.py └── host │ └── common │ ├── pins_arduino.h │ ├── Arduino.cpp │ └── spiffs_mock.h ├── tools └── sdk │ ├── lwip │ ├── include │ │ ├── arch │ │ │ └── sys_arch.h │ │ ├── lwip │ │ │ ├── icmp.h │ │ │ ├── netif.h │ │ │ └── puck_def.h │ │ └── netif │ │ │ └── wlan_lwip_if.h │ └── src │ │ ├── api │ │ ├── tcpip.c │ │ └── netbuf.c │ │ ├── core │ │ ├── ipv4 │ │ │ └── icmp.c │ │ └── sys_arch.c │ │ └── Makefile │ ├── version │ ├── libc │ └── xtensa-lx106-elf │ │ ├── include │ │ ├── fcntl.h │ │ ├── machine │ │ │ ├── termios.h │ │ │ ├── ansi.h │ │ │ ├── param.h │ │ │ ├── _types.h │ │ │ ├── malloc.h │ │ │ ├── stdlib.h │ │ │ ├── endian.h │ │ │ ├── time.h │ │ │ ├── types.h │ │ │ └── setjmp-dj.h │ │ ├── sys │ │ │ ├── custom_file.h │ │ │ ├── fcntl.h │ │ │ ├── string.h │ │ │ ├── dir.h │ │ │ ├── resource.h │ │ │ ├── dirent.h │ │ │ ├── utime.h │ │ │ ├── _intsup.h │ │ │ ├── param.h │ │ │ ├── times.h │ │ │ ├── stdio.h │ │ │ ├── timeb.h │ │ │ └── wait.h │ │ ├── utmp.h │ │ ├── termios.h │ │ ├── errno.h │ │ ├── paths.h │ │ ├── utime.h │ │ ├── regdef.h │ │ ├── fastmath.h │ │ ├── dirent.h │ │ ├── unistd.h │ │ ├── libgen.h │ │ ├── envlock.h │ │ ├── alloca.h │ │ ├── setjmp.h │ │ ├── envz.h │ │ ├── signal.h │ │ ├── strings.h │ │ ├── wctype.h │ │ ├── _syslist.h │ │ └── assert.h │ │ └── lib │ │ ├── crt0.o │ │ ├── libc.a │ │ ├── libg.a │ │ └── libm.a │ ├── lib │ ├── libat.a │ ├── libgcc.a │ ├── libhal.a │ ├── libphy.a │ ├── libpp.a │ ├── libpwm.a │ ├── libssl.a │ ├── libwpa.a │ ├── libwps.a │ ├── libaxtls.a │ ├── libc_orig.a │ ├── libcrypto.a │ ├── libdriver.a │ ├── libespnow.a │ ├── libjson.a │ ├── liblwip.a │ ├── libmain.a │ ├── libmesh.a │ ├── libstdc++.a │ ├── libwpa2.a │ ├── libairkiss.a │ ├── liblwip_536.a │ ├── liblwip_gcc.a │ ├── libnet80211.a │ ├── libupgrade.a │ ├── libsmartconfig.a │ └── README.md │ └── ld │ ├── eagle.flash.1m0.ld │ ├── eagle.flash.512k0.ld │ ├── eagle.flash.16m.ld │ ├── eagle.flash.1m128.ld │ ├── eagle.flash.1m144.ld │ ├── eagle.flash.1m160.ld │ ├── eagle.flash.1m192.ld │ ├── eagle.flash.1m256.ld │ ├── eagle.flash.1m512.ld │ ├── eagle.flash.1m64.ld │ ├── eagle.flash.2m.ld │ ├── eagle.flash.4m.ld │ ├── eagle.flash.512k64.ld │ ├── eagle.flash.8m.ld │ ├── eagle.flash.512k128.ld │ └── eagle.flash.4m1m.ld ├── libraries ├── TFT_Touch_Shield_V2 │ ├── examples │ │ ├── paint │ │ │ └── .test.skip │ │ ├── tftbmp │ │ │ ├── .test.skip │ │ │ ├── test.bmp │ │ │ ├── flower.BMP │ │ │ └── hibiscus.bmp │ │ ├── tftbmp2 │ │ │ └── .test.skip │ │ ├── shapes │ │ │ └── shapes.ino │ │ ├── drawRectangle │ │ │ └── drawRectangle.ino │ │ ├── drawCircle │ │ │ └── drawCircle.ino │ │ ├── text │ │ │ └── text.ino │ │ └── drawLines │ │ │ └── drawLines.ino │ └── License.txt ├── ESP8266mDNS │ ├── examples │ │ └── OTA-mDNS-SPIFFS │ │ │ └── data │ │ │ └── cl_conf.txt │ └── keywords.txt ├── GDBStub │ ├── License │ ├── gdbcmds │ ├── src │ │ ├── GDBStub.h │ │ └── internal │ │ │ ├── gdbstub.h │ │ │ └── gdbstub-entry.h │ ├── library.properties │ ├── library.json │ └── README.rst ├── ESP8266WebServer │ ├── examples │ │ ├── FSBrowser │ │ │ └── data │ │ │ │ ├── edit.htm.gz │ │ │ │ ├── favicon.ico │ │ │ │ └── graphs.js.gz │ │ ├── SDWebServer │ │ │ └── SdRoot │ │ │ │ ├── pins.png │ │ │ │ └── index.htm │ │ └── HttpBasicAuth │ │ │ └── HttpBasicAuth.ino │ ├── library.properties │ ├── src │ │ └── detail │ │ │ └── RequestHandler.h │ └── keywords.txt ├── esp8266 │ ├── src │ │ └── dummy.h │ ├── library.properties │ └── examples │ │ ├── CallSDKFunctions │ │ └── CallSDKFunctions.ino │ │ ├── BlinkWithoutDelay │ │ └── BlinkWithoutDelay.ino │ │ ├── Blink │ │ └── Blink.ino │ │ └── CheckFlashConfig │ │ └── CheckFlashConfig.ino ├── Hash │ ├── library.properties │ ├── examples │ │ └── sha1 │ │ │ └── sha1.ino │ └── src │ │ └── sha1 │ │ └── sha1.h ├── SPISlave │ ├── library.properties │ └── keywords.txt ├── Ticker │ ├── library.properties │ ├── keywords.txt │ └── examples │ │ ├── TickerParameter │ │ └── TickerParameter.ino │ │ └── TickerBasic │ │ └── TickerBasic.ino ├── ESP8266HTTPClient │ └── library.properties ├── ESP8266WiFiMesh │ ├── library.properties │ ├── keywords.txt │ └── examples │ │ └── HelloMesh │ │ └── HelloMesh.ino ├── DNSServer │ ├── library.properties │ └── examples │ │ ├── CaptivePortalAdvanced │ │ ├── tools.ino │ │ └── credentials.ino │ │ ├── CaptivePortal │ │ └── CaptivePortal.ino │ │ └── DNSServer │ │ └── DNSServer.ino ├── EEPROM │ ├── library.properties │ ├── keywords.txt │ └── examples │ │ ├── eeprom_clear │ │ └── eeprom_clear.ino │ │ ├── eeprom_read │ │ └── eeprom_read.ino │ │ └── eeprom_write │ │ └── eeprom_write.ino ├── ESP8266httpUpdate │ └── library.properties ├── Wire │ ├── library.properties │ └── keywords.txt ├── ESP8266AVRISP │ └── library.properties ├── SPI │ ├── library.properties │ └── keywords.txt ├── ESP8266NetBIOS │ ├── library.properties │ ├── keywords.txt │ ├── ESP8266NetBIOS.h │ └── examples │ │ └── ESP_NBNST │ │ └── ESP_NBNST.ino ├── ESP8266HTTPUpdateServer │ ├── library.properties │ ├── keywords.txt │ ├── src │ │ └── ESP8266HTTPUpdateServer.h │ └── examples │ │ └── WebUpdater │ │ └── WebUpdater.ino ├── Ethernet │ ├── src │ │ ├── utility │ │ │ └── util.h │ │ ├── EthernetServer.h │ │ ├── EthernetClient.h │ │ ├── Ethernet.h │ │ └── Dns.h │ ├── library.properties │ ├── examples │ │ └── udpntpclient_pedantic │ │ │ └── readme.txt │ ├── keywords.txt │ └── README.adoc ├── ArduinoOTA │ ├── library.properties │ └── keywords.txt ├── Servo │ ├── library.properties │ ├── keywords.txt │ └── examples │ │ └── Sweep │ │ └── Sweep.ino ├── SD │ ├── src │ │ └── README.txt │ ├── library.properties │ ├── keywords.txt │ └── README.adoc ├── ESP8266WiFi │ ├── library.properties │ ├── src │ │ └── include │ │ │ └── slist.h │ └── examples │ │ ├── WiFiMulti │ │ └── WiFiMulti.ino │ │ └── WiFiScan │ │ └── WiFiScan.ino ├── ESP8266LLMNR │ └── keywords.txt └── ESP8266SSDP │ └── README.rst ├── bootloaders └── eboot │ ├── eboot.elf │ ├── eboot_command.h │ ├── flash.h │ └── Makefile ├── package.json ├── .gitignore ├── ISSUE_TEMPLATE.md ├── .travis.yml └── variants ├── arduino_spi └── pins_arduino.h ├── arduino_uart └── pins_arduino.h ├── generic └── pins_arduino.h ├── thing └── pins_arduino.h └── espinotee └── pins_arduino.h /doc/_static/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /programmers.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /doc/.gitignore: -------------------------------------------------------------------------------- 1 | _build 2 | -------------------------------------------------------------------------------- /cores/esp8266/user_config.h: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- 1 | hardware 2 | tmp 3 | -------------------------------------------------------------------------------- /tools/sdk/lwip/include/arch/sys_arch.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/sdk/version: -------------------------------------------------------------------------------- 1 | v2.1.0-10-g509eae8 -------------------------------------------------------------------------------- /tests/device/.gitignore: -------------------------------------------------------------------------------- 1 | .build 2 | .hardware 3 | -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/paint/.test.skip: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/tftbmp/.test.skip: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/tftbmp2/.test.skip: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/device/libraries/test_config/.gitignore: -------------------------------------------------------------------------------- 1 | test_config.h 2 | -------------------------------------------------------------------------------- /tests/device/libraries/BSTest/.gitignore: -------------------------------------------------------------------------------- 1 | test/test 2 | virtualenv 3 | 4 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/fcntl.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /doc/ESP_min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ESP_min.png -------------------------------------------------------------------------------- /doc/esp12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp12.png -------------------------------------------------------------------------------- /libraries/ESP8266mDNS/examples/OTA-mDNS-SPIFFS/data/cl_conf.txt: -------------------------------------------------------------------------------- 1 | YOUR_SSID 2 | YOUR_PSK 3 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/machine/termios.h: -------------------------------------------------------------------------------- 1 | #define __MAX_BAUD B4000000 2 | -------------------------------------------------------------------------------- /doc/ESP01_connect.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ESP01_connect.jpg -------------------------------------------------------------------------------- /doc/ESP_to_serial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ESP_to_serial.png -------------------------------------------------------------------------------- /doc/pin_functions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/pin_functions.png -------------------------------------------------------------------------------- /tools/sdk/lib/libat.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libat.a -------------------------------------------------------------------------------- /tools/sdk/lib/libgcc.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libgcc.a -------------------------------------------------------------------------------- /tools/sdk/lib/libhal.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libhal.a -------------------------------------------------------------------------------- /tools/sdk/lib/libphy.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libphy.a -------------------------------------------------------------------------------- /tools/sdk/lib/libpp.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libpp.a -------------------------------------------------------------------------------- /tools/sdk/lib/libpwm.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libpwm.a -------------------------------------------------------------------------------- /tools/sdk/lib/libssl.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libssl.a -------------------------------------------------------------------------------- /tools/sdk/lib/libwpa.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libwpa.a -------------------------------------------------------------------------------- /tools/sdk/lib/libwps.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libwps.a -------------------------------------------------------------------------------- /libraries/GDBStub/License: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/libraries/GDBStub/License -------------------------------------------------------------------------------- /tools/sdk/lib/libaxtls.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libaxtls.a -------------------------------------------------------------------------------- /tools/sdk/lib/libc_orig.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libc_orig.a -------------------------------------------------------------------------------- /tools/sdk/lib/libcrypto.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libcrypto.a -------------------------------------------------------------------------------- /tools/sdk/lib/libdriver.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libdriver.a -------------------------------------------------------------------------------- /tools/sdk/lib/libespnow.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libespnow.a -------------------------------------------------------------------------------- /tools/sdk/lib/libjson.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libjson.a -------------------------------------------------------------------------------- /tools/sdk/lib/liblwip.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/liblwip.a -------------------------------------------------------------------------------- /tools/sdk/lib/libmain.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libmain.a -------------------------------------------------------------------------------- /tools/sdk/lib/libmesh.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libmesh.a -------------------------------------------------------------------------------- /tools/sdk/lib/libstdc++.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libstdc++.a -------------------------------------------------------------------------------- /tools/sdk/lib/libwpa2.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libwpa2.a -------------------------------------------------------------------------------- /bootloaders/eboot/eboot.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/bootloaders/eboot/eboot.elf -------------------------------------------------------------------------------- /tools/sdk/lib/libairkiss.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libairkiss.a -------------------------------------------------------------------------------- /tools/sdk/lib/liblwip_536.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/liblwip_536.a -------------------------------------------------------------------------------- /tools/sdk/lib/liblwip_gcc.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/liblwip_gcc.a -------------------------------------------------------------------------------- /tools/sdk/lib/libnet80211.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libnet80211.a -------------------------------------------------------------------------------- /tools/sdk/lib/libupgrade.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libupgrade.a -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/machine/ansi.h: -------------------------------------------------------------------------------- 1 | /* dummy header file to support BSD compiler */ 2 | -------------------------------------------------------------------------------- /doc/ESP_improved_stability.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ESP_improved_stability.png -------------------------------------------------------------------------------- /tools/sdk/lib/libsmartconfig.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lib/libsmartconfig.a -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/machine/param.h: -------------------------------------------------------------------------------- 1 | /* Place holder for machine-specific param.h. */ 2 | -------------------------------------------------------------------------------- /tools/sdk/lwip/src/api/tcpip.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lwip/src/api/tcpip.c -------------------------------------------------------------------------------- /doc/esp8266_tcp_active_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266_tcp_active_close.png -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/sys/custom_file.h: -------------------------------------------------------------------------------- 1 | #error System-specific custom_file.h is missing. 2 | 3 | -------------------------------------------------------------------------------- /tools/sdk/lwip/src/api/netbuf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lwip/src/api/netbuf.c -------------------------------------------------------------------------------- /doc/Troubleshooting/debug_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/Troubleshooting/debug_level.png -------------------------------------------------------------------------------- /doc/Troubleshooting/debug_port.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/Troubleshooting/debug_port.png -------------------------------------------------------------------------------- /doc/eclipse/2_Install_software.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/eclipse/2_Install_software.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-test-stand.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-test-stand.jpg -------------------------------------------------------------------------------- /tools/sdk/lwip/include/lwip/icmp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lwip/include/lwip/icmp.h -------------------------------------------------------------------------------- /tools/sdk/lwip/include/lwip/netif.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lwip/include/lwip/netif.h -------------------------------------------------------------------------------- /tools/sdk/lwip/src/core/ipv4/icmp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/lwip/src/core/ipv4/icmp.c -------------------------------------------------------------------------------- /doc/eclipse/1_Install_New_Software.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/eclipse/1_Install_New_Software.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-board-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-board-selection.png -------------------------------------------------------------------------------- /doc/ota_updates/ota-web-browser-form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/ota-web-browser-form.png -------------------------------------------------------------------------------- /doc/ota_updates/update_memory_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/update_memory_copy.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-circuit-ck-reset.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-circuit-ck-reset.fzz -------------------------------------------------------------------------------- /doc/faq/pictures/a01-circuit-ck-reset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-circuit-ck-reset.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-reset-ck-closeup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-reset-ck-closeup.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-reset-ck-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-reset-ck-complete.png -------------------------------------------------------------------------------- /doc/faq/pictures/a02-typical-crash-log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a02-typical-crash-log.png -------------------------------------------------------------------------------- /doc/faq/pictures/a04-remove-package-no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a04-remove-package-no.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-network-terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-network-terminal.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-sketch-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-sketch-selection.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-ssid-pass-entry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-ssid-pass-entry.png -------------------------------------------------------------------------------- /doc/ota_updates/ota-web-path-to-binary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/ota-web-path-to-binary.png -------------------------------------------------------------------------------- /doc/ota_updates/termite-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/termite-configuration.png -------------------------------------------------------------------------------- /libraries/GDBStub/gdbcmds: -------------------------------------------------------------------------------- 1 | set remote hardware-breakpoint-limit 1 2 | set remote hardware-watchpoint-limit 1 3 | target remote :9980 4 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/lib/crt0.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/libc/xtensa-lx106-elf/lib/crt0.o -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/lib/libc.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/libc/xtensa-lx106-elf/lib/libc.a -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/lib/libg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/libc/xtensa-lx106-elf/lib/libg.a -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/lib/libm.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/tools/sdk/libc/xtensa-lx106-elf/lib/libm.a -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-client.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/esp8266-client.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/esp8266-server.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/esp8266-station.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-boot-mode-decoding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-boot-mode-decoding.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-espcomm_open-failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-espcomm_open-failed.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-espcomm_sync-failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-espcomm_sync-failed.png -------------------------------------------------------------------------------- /doc/faq/pictures/a02-hw-watchdog-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a02-hw-watchdog-example.png -------------------------------------------------------------------------------- /doc/faq/pictures/a02-sw-watchdog-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a02-sw-watchdog-example.png -------------------------------------------------------------------------------- /doc/faq/pictures/a04-remove-package-yes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a04-remove-package-yes.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-ota-port-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-ota-port-selection.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-ota-upload-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-ota-upload-complete.png -------------------------------------------------------------------------------- /doc/ota_updates/ota-web-browser-form-ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/ota-web-browser-form-ok.png -------------------------------------------------------------------------------- /doc/Troubleshooting/ESP_Exception_Decoderp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/Troubleshooting/ESP_Exception_Decoderp.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/udp-packet-sender.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/udp-packet-sender.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-circuit-nodemcu-reset.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-circuit-nodemcu-reset.fzz -------------------------------------------------------------------------------- /doc/faq/pictures/a01-circuit-nodemcu-reset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-circuit-nodemcu-reset.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-reset-nodemcu-closeup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-reset-nodemcu-closeup.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-reset-nodemcu-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-reset-nodemcu-complete.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-serial-port-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-serial-port-selection.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-serial-speed-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-serial-speed-selection.png -------------------------------------------------------------------------------- /doc/faq/pictures/a02-decode-stack-tace-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a02-decode-stack-tace-1-2.png -------------------------------------------------------------------------------- /doc/faq/pictures/a02-decode-stack-tace-3-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a02-decode-stack-tace-3-6.png -------------------------------------------------------------------------------- /doc/faq/pictures/a04-board-is-unknown-error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a04-board-is-unknown-error.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-python-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-python-configuration.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/client-example-domain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/client-example-domain.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/doxygen-class-index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/doxygen-class-index.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-client-secure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/esp8266-client-secure.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/server-browser-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/server-browser-output.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-example-boards-with-usb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-example-boards-with-usb.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-reset-ck-complete-1-retry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-reset-ck-complete-1-retry.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-secondary-serial-hookup.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-secondary-serial-hookup.fzz -------------------------------------------------------------------------------- /doc/faq/pictures/a01-secondary-serial-hookup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-secondary-serial-hookup.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-usb-to-serial-loop-back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-usb-to-serial-loop-back.png -------------------------------------------------------------------------------- /doc/faq/pictures/a02-exception-cause-decoding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a02-exception-cause-decoding.png -------------------------------------------------------------------------------- /doc/faq/pictures/a04-arduino-ide-preferences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a04-arduino-ide-preferences.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-ota-upload-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-ota-upload-configuration.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-upload-password-prompt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-upload-password-prompt.png -------------------------------------------------------------------------------- /doc/ota_updates/ota-web-serial-monitor-ready.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/ota-web-serial-monitor-ready.png -------------------------------------------------------------------------------- /doc/ota_updates/ota-web-serial-monitor-reboot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/ota-web-serial-monitor-reboot.png -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/sys/fcntl.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_FCNTL_H_ 2 | #define _SYS_FCNTL_H_ 3 | #include 4 | #endif 5 | -------------------------------------------------------------------------------- /doc/faq/pictures/a01-example-boards-without-usb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-example-boards-without-usb.png -------------------------------------------------------------------------------- /doc/faq/pictures/a04-contents-of-package-folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a04-contents-of-package-folder.png -------------------------------------------------------------------------------- /doc/ota_updates/ota-web-show-verbose-compilation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/ota-web-show-verbose-compilation.png -------------------------------------------------------------------------------- /doc/requirements.txt: -------------------------------------------------------------------------------- 1 | # Requirements file for pip 2 | # list of Python packages used in documentation build 3 | sphinx 4 | sphinx-rtd-theme 5 | breathe 6 | -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/doxygen-example-udp-begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/doxygen-example-udp-begin.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-soft-access-point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/esp8266-soft-access-point.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-nodemcu-reset-implementation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-nodemcu-reset-implementation.png -------------------------------------------------------------------------------- /doc/faq/pictures/a04-contents-of-preferences-folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a04-contents-of-preferences-folder.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-serial-upload-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-serial-upload-configuration.png -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/tftbmp/test.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/libraries/TFT_Touch_Shield_V2/examples/tftbmp/test.bmp -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/wifi-simple-connect-terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/wifi-simple-connect-terminal.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-reset-nodemcu-complete-2-retries.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/faq/pictures/a01-reset-nodemcu-complete-2-retries.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-external-serial-terminal-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-external-serial-terminal-output.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-upload-complete-and-joined-wifi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-upload-complete-and-joined-wifi.png -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/tftbmp/flower.BMP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/libraries/TFT_Touch_Shield_V2/examples/tftbmp/flower.BMP -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/utmp.h: -------------------------------------------------------------------------------- 1 | #ifdef __cplusplus 2 | extern "C" { 3 | #endif 4 | #include 5 | #ifdef __cplusplus 6 | } 7 | #endif 8 | 9 | -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/client-secure-check-fingerprint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/client-secure-check-fingerprint.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/doxygen-example-station-begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/doxygen-example-station-begin.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-upload-password-authenticating-ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-upload-password-authenticating-ok.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-upload-password-passing-upload-ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-upload-password-passing-upload-ok.png -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/tftbmp/hibiscus.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/libraries/TFT_Touch_Shield_V2/examples/tftbmp/hibiscus.bmp -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/termios.h: -------------------------------------------------------------------------------- 1 | #ifdef __cplusplus 2 | extern "C" { 3 | #endif 4 | #include 5 | #ifdef __cplusplus 6 | } 7 | #endif 8 | -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/doxygen-esp8266wifi-documentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/doxygen-esp8266wifi-documentation.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/doxygen-example-station-hostname.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/doxygen-example-station-hostname.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-arduino-build-status-json.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/esp8266-arduino-build-status-json.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-station-soft-access-point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/esp8266-station-soft-access-point.png -------------------------------------------------------------------------------- /libraries/ESP8266WebServer/examples/FSBrowser/data/edit.htm.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/libraries/ESP8266WebServer/examples/FSBrowser/data/edit.htm.gz -------------------------------------------------------------------------------- /libraries/ESP8266WebServer/examples/FSBrowser/data/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/libraries/ESP8266WebServer/examples/FSBrowser/data/favicon.ico -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/sys/string.h: -------------------------------------------------------------------------------- 1 | /* This is a dummy used as a placeholder for 2 | systems that need to have a special header file. */ 3 | -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-external-serial-terminal-output-failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-external-serial-terminal-output-failed.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-upload-password-passing-again-upload-ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/ota_updates/a-ota-upload-password-passing-again-upload-ok.png -------------------------------------------------------------------------------- /libraries/ESP8266WebServer/examples/FSBrowser/data/graphs.js.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/libraries/ESP8266WebServer/examples/FSBrowser/data/graphs.js.gz -------------------------------------------------------------------------------- /libraries/ESP8266WebServer/examples/SDWebServer/SdRoot/pins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/libraries/ESP8266WebServer/examples/SDWebServer/SdRoot/pins.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-arduino-build-status-travisci.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/me-no-dev/Arduino/HEAD/doc/esp8266wifi/pictures/esp8266-arduino-build-status-travisci.png -------------------------------------------------------------------------------- /libraries/GDBStub/src/GDBStub.h: -------------------------------------------------------------------------------- 1 | #ifndef GDBSTUB_H 2 | #define GDBSTUB_H 3 | 4 | // this header is intentionally left blank 5 | 6 | bool crash_for_gdb = 1; 7 | 8 | #endif //GDBSTUB_H 9 | -------------------------------------------------------------------------------- /libraries/esp8266/src/dummy.h: -------------------------------------------------------------------------------- 1 | // This file is here only to silence warnings from Arduino IDE 2 | // Currently IDE doesn't support no-code libraries, like this collection of example sketches. 3 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/machine/_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id$ 3 | */ 4 | 5 | #ifndef _MACHINE__TYPES_H 6 | #define _MACHINE__TYPES_H 7 | #include 8 | #endif 9 | -------------------------------------------------------------------------------- /tests/device/libraries/test_config/library.properties: -------------------------------------------------------------------------------- 1 | name=TestConfig 2 | version=0.0 3 | author= 4 | maintainer= 5 | sentence= 6 | paragraph= 7 | category=Uncategorized 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /cores/esp8266/libb64/AUTHORS: -------------------------------------------------------------------------------- 1 | libb64: Base64 Encoding/Decoding Routines 2 | ====================================== 3 | 4 | Authors: 5 | ------- 6 | 7 | Chris Venter chris.venter@gmail.com http://rocketpod.blogspot.com 8 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/machine/malloc.h: -------------------------------------------------------------------------------- 1 | #ifndef _MACHMALLOC_H_ 2 | #define _MACHMALLOC_H_ 3 | 4 | /* place holder so platforms may add malloc.h extensions */ 5 | 6 | #endif /* _MACHMALLOC_H_ */ 7 | 8 | 9 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/machine/stdlib.h: -------------------------------------------------------------------------------- 1 | #ifndef _MACHSTDLIB_H_ 2 | #define _MACHSTDLIB_H_ 3 | 4 | /* place holder so platforms may add stdlib.h extensions */ 5 | 6 | #endif /* _MACHSTDLIB_H_ */ 7 | 8 | 9 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "framework-arduinoespressif8266", 3 | "description": "Arduino Wiring-based Framework (ESP8266 Core)", 4 | "url": "https://github.com/esp8266/Arduino", 5 | "version": "2.4.0-rc.1" 6 | } 7 | -------------------------------------------------------------------------------- /libraries/GDBStub/src/internal/gdbstub.h: -------------------------------------------------------------------------------- 1 | #ifndef GDBSTUB_H 2 | #define GDBSTUB_H 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | void gdbstub_init(); 9 | 10 | #ifdef __cplusplus 11 | } 12 | #endif 13 | 14 | #endif -------------------------------------------------------------------------------- /libraries/Hash/library.properties: -------------------------------------------------------------------------------- 1 | name=Hash 2 | version=1.0 3 | author=Markus Sattler 4 | maintainer=Markus Sattler 5 | sentence=Generate Hash from data 6 | paragraph= 7 | category=Data Processing 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/sys/dir.h: -------------------------------------------------------------------------------- 1 | /* BSD predecessor of POSIX.1 and struct dirent */ 2 | 3 | #ifndef _SYS_DIR_H_ 4 | #define _SYS_DIR_H_ 5 | 6 | #include 7 | 8 | #define direct dirent 9 | 10 | #endif /*_SYS_DIR_H_*/ 11 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/errno.h: -------------------------------------------------------------------------------- 1 | #ifndef __ERRNO_H__ 2 | #define __ERRNO_H__ 3 | 4 | #ifndef __error_t_defined 5 | typedef int error_t; 6 | #define __error_t_defined 1 7 | #endif 8 | 9 | #include 10 | 11 | #endif /* !__ERRNO_H__ */ 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | tools/dist/ 3 | tools/xtensa-lx106-elf/ 4 | tools/esptool/ 5 | tools/mkspiffs/ 6 | package/versions/ 7 | exclude.txt 8 | tools/sdk/lib/liblwip_src.a 9 | tools/sdk/lwip/src/build 10 | tools/sdk/lwip/src/liblwip_src.a 11 | 12 | *.pyc 13 | *.gch 14 | -------------------------------------------------------------------------------- /tests/device/libraries/test_config/test_config.h.template: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define STA_SSID "test_wifi" 4 | #define STA_PASS "test_wifi_pass" 5 | 6 | #define AP_SSID "test_wifi_ap" 7 | #define AP_PASS "test_wifi_ap_pass" 8 | 9 | #define SERVER_IP "192.168.10.1" 10 | -------------------------------------------------------------------------------- /libraries/SPISlave/library.properties: -------------------------------------------------------------------------------- 1 | name=SPISlave 2 | version=1.0 3 | author=Hristo Gochkov 4 | maintainer=Hristo Gochkov 5 | sentence=SPI Slave library for ESP8266 6 | paragraph= 7 | category=Signal Input/Output 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/paths.h: -------------------------------------------------------------------------------- 1 | #ifndef _PATHS_H_ 2 | #define _PATHS_H_ 3 | 4 | #define _PATH_DEV "/dev/" 5 | #define _PATH_DEVNULL "/dev/null" 6 | #define _PATH_DEVZERO "/dev/zero" 7 | #define _PATH_BSHELL "/bin/sh" 8 | 9 | #endif /* _PATHS_H_ */ 10 | -------------------------------------------------------------------------------- /libraries/esp8266/library.properties: -------------------------------------------------------------------------------- 1 | name=ESP8266 2 | version=1.0 3 | author=Simon Peter,Markus Sattler,Ivan Grokhotkov 4 | maintainer=Ivan Grokhtkov 5 | sentence=ESP8266 sketches examples 6 | paragraph= 7 | category=Other 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/utime.h: -------------------------------------------------------------------------------- 1 | #ifdef __cplusplus 2 | extern "C" { 3 | #endif 4 | 5 | #include <_ansi.h> 6 | 7 | /* The utime function is defined in libc/sys//sys if it exists. */ 8 | #include 9 | 10 | #ifdef __cplusplus 11 | } 12 | #endif 13 | -------------------------------------------------------------------------------- /tests/device/libraries/BSTest/library.properties: -------------------------------------------------------------------------------- 1 | name=BSTest 2 | version=0.1 3 | author=Ivan Grokhotkov 4 | maintainer=Ivan Grokhotkov 5 | sentence=BS Test library 6 | paragraph= 7 | category=Uncategorized 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/regdef.h: -------------------------------------------------------------------------------- 1 | /* regdef.h -- define register names. */ 2 | 3 | /* This is a standard include file for MIPS targets. Other target 4 | probably don't define it, and attempts to include this file will 5 | fail. */ 6 | 7 | #include 8 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/fastmath.h: -------------------------------------------------------------------------------- 1 | #ifndef _FASTMATH_H_ 2 | #ifdef __cplusplus 3 | extern "C" { 4 | #endif 5 | #define _FASTMATH_H_ 6 | 7 | #include 8 | #include 9 | 10 | #ifdef __cplusplus 11 | } 12 | #endif 13 | #endif /* _FASTMATH_H_ */ 14 | -------------------------------------------------------------------------------- /libraries/Ticker/library.properties: -------------------------------------------------------------------------------- 1 | name=Ticker 2 | version=1.0 3 | author=Ivan Grokhtokov 4 | maintainer=Ivan Grokhtokov 5 | sentence=Allows to call functions with a given interval. 6 | paragraph= 7 | category=Timing 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /tests/device/libraries/BSTest/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask==0.10.1 2 | itsdangerous==0.24 3 | Jinja2==2.8 4 | junit-xml==1.6 5 | MarkupSafe==0.23 6 | pexpect==4.0.1 7 | ptyprocess==0.5.1 8 | pyserial==3.0.1 9 | PyYAML==3.11 10 | six==1.10.0 11 | Werkzeug==0.11.9 12 | wheel==0.24.0 13 | poster==0.8.1 14 | -------------------------------------------------------------------------------- /tools/sdk/lwip/src/core/sys_arch.c: -------------------------------------------------------------------------------- 1 | /* 2 | * copyright (c) 2010 - 2011 espressif system 3 | */ 4 | 5 | #include "c_types.h" 6 | #include "ets_sys.h" 7 | #include "osapi.h" 8 | #include "os_type.h" 9 | 10 | #include "lwip/opt.h" 11 | #include "lwip/sys.h" 12 | 13 | #include "eagle_soc.h" 14 | -------------------------------------------------------------------------------- /libraries/ESP8266HTTPClient/library.properties: -------------------------------------------------------------------------------- 1 | name=ESP8266HTTPClient 2 | version=1.1 3 | author=Markus Sattler 4 | maintainer=Markus Sattler 5 | sentence=http Client for ESP8266 6 | paragraph= 7 | category=Communication 8 | url=https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266HTTPClient 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /libraries/ESP8266WiFiMesh/library.properties: -------------------------------------------------------------------------------- 1 | name=ESP8266WiFiMesh 2 | version=1.0 3 | author=Julian Fell 4 | maintainer= 5 | sentence=Mesh network library 6 | paragraph=The library sets up a Mesh Node which acts as a router, creating a Mesh Network with other nodes. 7 | category=Communication 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /libraries/DNSServer/library.properties: -------------------------------------------------------------------------------- 1 | name=DNSServer 2 | version=1.1.0 3 | author=Kristijan Novoselić 4 | maintainer=Kristijan Novoselić, 5 | sentence=A simple DNS server for ESP8266. 6 | paragraph=This library implements a simple DNS server. 7 | category=Communication 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /libraries/EEPROM/library.properties: -------------------------------------------------------------------------------- 1 | name=EEPROM 2 | version=1.0 3 | author=Ivan Grokhotkov 4 | maintainer=Ivan Grokhotkov 5 | sentence=Enables reading and writing data to the permanent FLASH storage, up to 4kb. 6 | paragraph= 7 | category=Data Storage 8 | url=http://arduino.cc/en/Reference/EEPROM 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/dirent.h: -------------------------------------------------------------------------------- 1 | #ifndef _DIRENT_H_ 2 | #define _DIRENT_H_ 3 | #ifdef __cplusplus 4 | extern "C" { 5 | #endif 6 | #include 7 | 8 | #if !defined(MAXNAMLEN) && !defined(_POSIX_SOURCE) 9 | #define MAXNAMLEN 1024 10 | #endif 11 | 12 | #ifdef __cplusplus 13 | } 14 | #endif 15 | #endif /*_DIRENT_H_*/ 16 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/unistd.h: -------------------------------------------------------------------------------- 1 | #ifndef _UNISTD_H_ 2 | #define _UNISTD_H_ 3 | 4 | # include 5 | 6 | #ifndef L_SET 7 | /* Old BSD names for the same constants; just for compatibility. */ 8 | #define L_SET SEEK_SET 9 | #define L_INCR SEEK_CUR 10 | #define L_XTND SEEK_END 11 | #endif 12 | 13 | #endif /* _UNISTD_H_ */ 14 | -------------------------------------------------------------------------------- /libraries/ESP8266httpUpdate/library.properties: -------------------------------------------------------------------------------- 1 | name=ESP8266httpUpdate 2 | version=1.1 3 | author=Markus Sattler 4 | maintainer=Markus Sattler 5 | sentence=Http Update for ESP8266 6 | paragraph= 7 | category=Data Processing 8 | url=https://github.com/Links2004/Arduino/tree/esp8266/hardware/esp8266com/esp8266/libraries/ESP8266httpUpdate 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /libraries/GDBStub/library.properties: -------------------------------------------------------------------------------- 1 | name=GDBStub 2 | version=0.2 3 | author=Jeroen Domburg 4 | maintainer=Ivan Grokhotkov 5 | sentence=GDB server stub by Espressif 6 | paragraph=GDB server stub helps debug crashes when JTAG isn't an option. 7 | category=Uncategorized 8 | url=https://github.com/espressif/esp-gdbstub 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /doc/reference_items.yml: -------------------------------------------------------------------------------- 1 | # This file defines the order in which documents will appear in the menu 2 | 3 | - path: /doc/installing.html 4 | 5 | - path: /doc/reference.html 6 | 7 | - path: /doc/libraries.html 8 | 9 | - path: /doc/filesystem.html 10 | 11 | - path: /doc/ota_updates/readme.html 12 | 13 | - path: /doc/boards.html 14 | 15 | - path: /doc/changes.html 16 | -------------------------------------------------------------------------------- /libraries/Wire/library.properties: -------------------------------------------------------------------------------- 1 | name=Wire 2 | version=1.0 3 | author=Arduino 4 | maintainer=Ivan Grokhotkov 5 | sentence=Allows the communication between devices or sensors connected via Two Wire Interface Bus. For esp8266 boards. 6 | paragraph= 7 | category=Signal Input/Output 8 | url=http://arduino.cc/en/Reference/Wire 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /libraries/ESP8266AVRISP/library.properties: -------------------------------------------------------------------------------- 1 | name=ESP8266AVRISP 2 | version=1.0 3 | author=Kiril Zyapkov 4 | maintainer=Kiril Zyapkov 5 | sentence=AVR In-System Programming over WiFi for ESP8266 6 | paragraph=This library allows programming 8-bit AVR ICSP targets via TCP over WiFi with ESP8266. 7 | category=Communication 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /libraries/ESP8266WebServer/library.properties: -------------------------------------------------------------------------------- 1 | name=ESP8266WebServer 2 | version=1.0 3 | author=Ivan Grokhotkov 4 | maintainer=Ivan Grokhtkov 5 | sentence=Simple web server library 6 | paragraph=The library supports HTTP GET and POST requests, provides argument parsing, handles one client at a time. 7 | category=Communication 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /libraries/SPI/library.properties: -------------------------------------------------------------------------------- 1 | name=SPI 2 | version=1.0 3 | author=Arduino 4 | maintainer=Arduino 5 | sentence=Enables the communication with devices that use the Serial Peripheral Interface (SPI) Bus. For all Arduino boards, BUT Arduino DUE. 6 | paragraph= 7 | category=Signal Input/Output 8 | url=http://arduino.cc/en/Reference/SPI 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /cores/esp8266/FunctionalInterrupt.h: -------------------------------------------------------------------------------- 1 | #ifndef FUNCTIONALINTERRUPT_H 2 | #define FUNCTIONALINTERRUPT_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | extern "C" { 9 | #include "c_types.h" 10 | #include "ets_sys.h" 11 | } 12 | 13 | void attachInterrupt(uint8_t pin, std::function intRoutine, int mode); 14 | 15 | #endif //INTERRUPTS_H 16 | -------------------------------------------------------------------------------- /libraries/ESP8266NetBIOS/library.properties: -------------------------------------------------------------------------------- 1 | name=ESP8266NetBIOS 2 | version=1.0 3 | author=Pablo@xpablo.cz 4 | maintainer=Hristo Gochkov 5 | sentence=Enables NBNS (NetBIOS) name resolution. 6 | paragraph=With this library you can connect to your ESP from Windows using a short name 7 | category=Communication 8 | url=http://www.xpablo.cz/?p=751#more-751 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /cores/esp8266/core_version.h: -------------------------------------------------------------------------------- 1 | #define ARDUINO_ESP8266_GIT_VER 0x00000000 2 | 3 | // ARDUINO_ESP8266_RELEASE is defined for released versions as a string containing the version name, i.e. "2_3_0_RC1" 4 | // ARDUINO_ESP8266_RELEASE is used in the core internally. Please use ESP.getCoreVersion() function instead. 5 | 6 | // ARDUINO_ESP8266_RELEASE_ are defined for releases, for use in #ifdef... constructs 7 | -------------------------------------------------------------------------------- /libraries/ESP8266HTTPUpdateServer/library.properties: -------------------------------------------------------------------------------- 1 | name=ESP8266HTTPUpdateServer 2 | version=1.0 3 | author=Ivan Grokhotkov, Miguel Ángel Ajo 4 | maintainer=Ivan Grokhtkov 5 | sentence=Simple HTTP Update server based on the ESP8266WebServer 6 | paragraph=The library accepts HTTP post requests to the /update url, and updates the ESP8266 firmware. 7 | category=Communication 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /tests/device/test_umm_malloc/test_umm_malloc.ino: -------------------------------------------------------------------------------- 1 | // test that we can include umm_malloc.h from sketch (#1652) 2 | #include 3 | 4 | #include 5 | 6 | BS_ENV_DECLARE(); 7 | 8 | void setup() 9 | { 10 | Serial.begin(115200); 11 | BS_RUN(Serial); 12 | } 13 | 14 | TEST_CASE("umm_info can be called", "[umm_malloc]") 15 | { 16 | umm_info(NULL, 1); 17 | } 18 | 19 | void loop() 20 | { 21 | } 22 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/libgen.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libgen.h - defined by XPG4 3 | */ 4 | 5 | #ifndef _LIBGEN_H_ 6 | #define _LIBGEN_H_ 7 | 8 | #include "_ansi.h" 9 | #include 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | char *_EXFUN(basename, (char *)); 16 | char *_EXFUN(dirname, (char *)); 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif 21 | 22 | #endif /* _LIBGEN_H_ */ 23 | 24 | -------------------------------------------------------------------------------- /libraries/Ethernet/src/utility/util.h: -------------------------------------------------------------------------------- 1 | #ifndef UTIL_H 2 | #define UTIL_H 3 | 4 | #define htons(x) ( ((x)<< 8 & 0xFF00) | \ 5 | ((x)>> 8 & 0x00FF) ) 6 | #define ntohs(x) htons(x) 7 | 8 | #define htonl(x) ( ((x)<<24 & 0xFF000000UL) | \ 9 | ((x)<< 8 & 0x00FF0000UL) | \ 10 | ((x)>> 8 & 0x0000FF00UL) | \ 11 | ((x)>>24 & 0x000000FFUL) ) 12 | #define ntohl(x) htonl(x) 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /libraries/ArduinoOTA/library.properties: -------------------------------------------------------------------------------- 1 | name=ArduinoOTA 2 | version=1.0 3 | author=Ivan Grokhotkov and Miguel Angel Ajo 4 | maintainer=Ivan Grokhtkov 5 | sentence=Enables Over The Air upgrades, via wifi and espota.py UDP request/TCP download. 6 | paragraph=With this library you can enable your sketch to be upgraded over network. Includes mdns anounces to get discovered by the arduino IDE. 7 | category=Communication 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /libraries/Servo/library.properties: -------------------------------------------------------------------------------- 1 | name=Servo(esp8266) 2 | version=1.0.2 3 | author=Michael C. Miller 4 | maintainer=GitHub/esp8266/arduino 5 | sentence=Allows Esp8266 boards to control a variety of servo motors. 6 | paragraph=This library can control a great number of servos.
It makes careful use of timers: the library can control 12 servos using only 1 timer.
7 | category=Device Control 8 | url=http://arduino.cc/en/Reference/Servo 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/envlock.h: -------------------------------------------------------------------------------- 1 | /* envlock.h -- header file for env routines. */ 2 | 3 | #ifndef _INCLUDE_ENVLOCK_H_ 4 | #define _INCLUDE_ENVLOCK_H_ 5 | 6 | #include <_ansi.h> 7 | #include 8 | 9 | #define ENV_LOCK __env_lock(reent_ptr) 10 | #define ENV_UNLOCK __env_unlock(reent_ptr) 11 | 12 | void _EXFUN(__env_lock,(struct _reent *reent)); 13 | void _EXFUN(__env_unlock,(struct _reent *reent)); 14 | 15 | #endif /* _INCLUDE_ENVLOCK_H_ */ 16 | -------------------------------------------------------------------------------- /libraries/SD/src/README.txt: -------------------------------------------------------------------------------- 1 | 2 | ** SD - a slightly more friendly wrapper for sdfatlib ** 3 | 4 | This library aims to expose a subset of SD card functionality in the 5 | form of a higher level "wrapper" object. 6 | 7 | License: GNU General Public License V3 8 | (Because sdfatlib is licensed with this.) 9 | 10 | (C) Copyright 2010 SparkFun Electronics 11 | 12 | Now better than ever with optimization, multiple file support, directory handling, etc - ladyada! 13 | 14 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/sys/resource.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_RESOURCE_H_ 2 | #define _SYS_RESOURCE_H_ 3 | 4 | #include 5 | 6 | #define RUSAGE_SELF 0 /* calling process */ 7 | #define RUSAGE_CHILDREN -1 /* terminated child processes */ 8 | 9 | struct rusage { 10 | struct timeval ru_utime; /* user time used */ 11 | struct timeval ru_stime; /* system time used */ 12 | }; 13 | 14 | int _EXFUN(getrusage, (int, struct rusage*)); 15 | 16 | #endif 17 | 18 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/sys/dirent.h: -------------------------------------------------------------------------------- 1 | /* includes , which is this file. On a 2 | system which supports , this file is overridden by 3 | dirent.h in the libc/sys/.../sys directory. On a system which does 4 | not support , we will get this file which uses #error to force 5 | an error. */ 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | #error " not supported" 11 | #ifdef __cplusplus 12 | } 13 | #endif 14 | -------------------------------------------------------------------------------- /libraries/SD/library.properties: -------------------------------------------------------------------------------- 1 | name=SD(esp8266) 2 | version=1.0.5 3 | author=Arduino, SparkFun 4 | maintainer=Arduino 5 | sentence=Enables reading and writing on SD cards. For all Arduino boards. 6 | paragraph=Once an SD memory card is connected to the SPI interfare of the Arduino board you are enabled to create files and read/write on them. You can also move through directories on the SD card. 7 | category=Data Storage 8 | url=http://www.arduino.cc/en/Reference/SD 9 | architectures=* 10 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/sys/utime.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_UTIME_H 2 | #define _SYS_UTIME_H 3 | 4 | /* This is a dummy file, not customized for any 5 | particular system. If there is a utime.h in libc/sys/SYSDIR/sys, 6 | it will override this one. */ 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | struct utimbuf 13 | { 14 | time_t actime; 15 | time_t modtime; 16 | }; 17 | 18 | #ifdef __cplusplus 19 | }; 20 | #endif 21 | 22 | #endif /* _SYS_UTIME_H */ 23 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/machine/endian.h: -------------------------------------------------------------------------------- 1 | #ifndef __MACHINE_ENDIAN_H__ 2 | 3 | #include 4 | 5 | #ifndef BIG_ENDIAN 6 | #define BIG_ENDIAN 4321 7 | #endif 8 | #ifndef LITTLE_ENDIAN 9 | #define LITTLE_ENDIAN 1234 10 | #endif 11 | 12 | #ifndef BYTE_ORDER 13 | #if defined(__IEEE_LITTLE_ENDIAN) || defined(__IEEE_BYTES_LITTLE_ENDIAN) 14 | #define BYTE_ORDER LITTLE_ENDIAN 15 | #else 16 | #define BYTE_ORDER BIG_ENDIAN 17 | #endif 18 | #endif 19 | 20 | #endif /* __MACHINE_ENDIAN_H__ */ 21 | -------------------------------------------------------------------------------- /libraries/Ethernet/src/EthernetServer.h: -------------------------------------------------------------------------------- 1 | #ifndef ethernetserver_h 2 | #define ethernetserver_h 3 | 4 | #include "Server.h" 5 | 6 | class EthernetClient; 7 | 8 | class EthernetServer : 9 | public Server { 10 | private: 11 | uint16_t _port; 12 | void accept(); 13 | public: 14 | EthernetServer(uint16_t); 15 | EthernetClient available(); 16 | virtual void begin(); 17 | virtual size_t write(uint8_t); 18 | virtual size_t write(const uint8_t *buf, size_t size); 19 | using Print::write; 20 | }; 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/machine/time.h: -------------------------------------------------------------------------------- 1 | #ifndef _MACHTIME_H_ 2 | #define _MACHTIME_H_ 3 | 4 | #if defined(__rtems__) 5 | #define _CLOCKS_PER_SEC_ sysconf(_SC_CLK_TCK) 6 | #else /* !__rtems__ */ 7 | #if defined(__aarch64__) || defined(__arm__) || defined(__thumb__) 8 | #define _CLOCKS_PER_SEC_ 100 9 | #endif 10 | #endif /* !__rtems__ */ 11 | 12 | #ifdef __SPU__ 13 | #include 14 | int nanosleep (const struct timespec *, struct timespec *); 15 | #endif 16 | 17 | #endif /* _MACHTIME_H_ */ 18 | 19 | 20 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/alloca.h: -------------------------------------------------------------------------------- 1 | /* libc/include/alloca.h - Allocate memory on stack */ 2 | 3 | /* Written 2000 by Werner Almesberger */ 4 | /* Rearranged for general inclusion by stdlib.h. 5 | 2001, Corinna Vinschen */ 6 | 7 | #ifndef _NEWLIB_ALLOCA_H 8 | #define _NEWLIB_ALLOCA_H 9 | 10 | #include "_ansi.h" 11 | #include 12 | 13 | #undef alloca 14 | 15 | #ifdef __GNUC__ 16 | #define alloca(size) __builtin_alloca(size) 17 | #else 18 | void * _EXFUN(alloca,(size_t)); 19 | #endif 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /libraries/EEPROM/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For Ultrasound 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | EEPROM KEYWORD1 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | 15 | ####################################### 16 | # Constants (LITERAL1) 17 | ####################################### 18 | 19 | -------------------------------------------------------------------------------- /libraries/EEPROM/examples/eeprom_clear/eeprom_clear.ino: -------------------------------------------------------------------------------- 1 | /* 2 | * EEPROM Clear 3 | * 4 | * Sets all of the bytes of the EEPROM to 0. 5 | * This example code is in the public domain. 6 | 7 | */ 8 | 9 | #include 10 | 11 | void setup() 12 | { 13 | EEPROM.begin(512); 14 | // write a 0 to all 512 bytes of the EEPROM 15 | for (int i = 0; i < 512; i++) 16 | EEPROM.write(i, 0); 17 | 18 | // turn the LED on when we're done 19 | pinMode(13, OUTPUT); 20 | digitalWrite(13, HIGH); 21 | EEPROM.end(); 22 | } 23 | 24 | void loop() 25 | { 26 | } 27 | -------------------------------------------------------------------------------- /libraries/DNSServer/examples/CaptivePortalAdvanced/tools.ino: -------------------------------------------------------------------------------- 1 | /** Is this an IP? */ 2 | boolean isIp(String str) { 3 | for (int i = 0; i < str.length(); i++) { 4 | int c = str.charAt(i); 5 | if (c != '.' && (c < '0' || c > '9')) { 6 | return false; 7 | } 8 | } 9 | return true; 10 | } 11 | 12 | /** IP to String? */ 13 | String toStringIp(IPAddress ip) { 14 | String res = ""; 15 | for (int i = 0; i < 3; i++) { 16 | res += String((ip >> (8 * i)) & 0xFF) + "."; 17 | } 18 | res += String(((ip >> 8 * 3)) & 0xFF); 19 | return res; 20 | } 21 | 22 | -------------------------------------------------------------------------------- /libraries/ESP8266WiFi/library.properties: -------------------------------------------------------------------------------- 1 | name=ESP8266WiFi 2 | version=1.0 3 | author=Ivan Grokhotkov 4 | maintainer=Ivan Grokhtkov 5 | sentence=Enables network connection (local and Internet) using the ESP8266 built-in WiFi. 6 | paragraph=With this library you can instantiate Servers, Clients and send/receive UDP packets through WiFi. The shield can connect either to open or encrypted networks (WEP, WPA). The IP address can be assigned statically or through a DHCP. The library can also manage DNS. 7 | category=Communication 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/setjmp.h: -------------------------------------------------------------------------------- 1 | /* 2 | setjmp.h 3 | stubs for future use. 4 | */ 5 | 6 | #ifndef _SETJMP_H_ 7 | #define _SETJMP_H_ 8 | 9 | #include "_ansi.h" 10 | #include 11 | 12 | _BEGIN_STD_C 13 | 14 | #ifdef __GNUC__ 15 | void _EXFUN(longjmp,(jmp_buf __jmpb, int __retval)) 16 | __attribute__ ((__noreturn__)); 17 | #else 18 | void _EXFUN(longjmp,(jmp_buf __jmpb, int __retval)); 19 | #endif 20 | int _EXFUN(setjmp,(jmp_buf __jmpb)); 21 | #define setjmp(env) setjmp(env) 22 | 23 | 24 | _END_STD_C 25 | 26 | #endif /* _SETJMP_H_ */ 27 | 28 | -------------------------------------------------------------------------------- /libraries/ESP8266WebServer/examples/SDWebServer/SdRoot/index.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ESP Index 6 | 12 | 17 | 18 | 19 |

ESP8266 Pin Functions

20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /libraries/Ethernet/library.properties: -------------------------------------------------------------------------------- 1 | name=Ethernet(esp8266) 2 | version=1.0.4 3 | author=Arduino 4 | maintainer=Arduino 5 | sentence=Enables network connection (local and Internet) using the Arduino Ethernet board or shield. For all Arduino boards. 6 | paragraph=With this library you can use the Arduino Ethernet (shield or board) to connect to Internet. The library provides both Client and server functionalities. The library permits you to connect to a local network also with DHCP and to resolve DNS. 7 | category=Communication 8 | url=http://www.arduino.cc/en/Reference/Ethernet 9 | architectures=* 10 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/sys/_intsup.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2004, 2005 by 3 | * Ralf Corsepius, Ulm/Germany. All rights reserved. 4 | * 5 | * Permission to use, copy, modify, and distribute this software 6 | * is freely granted, provided that this notice is preserved. 7 | * 8 | * Modified for xtensa arch & non-long int32_t, removes automatic setting of __have_long32. 9 | */ 10 | 11 | #ifndef _SYS__INTSUP_H 12 | #define _SYS__INTSUP_H 13 | 14 | #include 15 | 16 | #define __STDINT_EXP(x) __##x##__ 17 | 18 | #define __have_longlong64 1 19 | 20 | #endif /* _SYS__INTSUP_H */ 21 | -------------------------------------------------------------------------------- /libraries/ESP8266HTTPUpdateServer/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For HTTPUpdateServer 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | ESP8266HTTPUpdateServer KEYWORD1 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | 15 | begin KEYWORD2 16 | setup KEYWORD2 17 | 18 | ####################################### 19 | # Constants (LITERAL1) 20 | ####################################### 21 | -------------------------------------------------------------------------------- /tests/device/libraries/BSTest/Makefile: -------------------------------------------------------------------------------- 1 | PYTHON_ENV_DIR=virtualenv 2 | TEST_EXECUTABLE=test/test 3 | 4 | all: test 5 | 6 | install: $(PYTHON_ENV_DIR) 7 | 8 | clean: 9 | rm -rf $(PYTHON_ENV_DIR) 10 | rm -rf $(TEST_EXECUTABLE) 11 | 12 | $(PYTHON_ENV_DIR): 13 | virtualenv --no-site-packages $(PYTHON_ENV_DIR) 14 | source $(PYTHON_ENV_DIR)/bin/activate && pip install -r requirements.txt 15 | 16 | test: $(TEST_EXECUTABLE) $(PYTHON_ENV_DIR) 17 | source $(PYTHON_ENV_DIR)/bin/activate && python runner.py -e $(TEST_EXECUTABLE) 18 | 19 | $(TEST_EXECUTABLE): test/test.cpp 20 | g++ -std=c++11 -Isrc -o $@ test/test.cpp 21 | 22 | .PHONY: test clean install all 23 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.1m0.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 1M chips, no SPIFFS */ 2 | /* sketch 999KB */ 3 | /* eeprom 20KB */ 4 | 5 | MEMORY 6 | { 7 | dport0_0_seg : org = 0x3FF00000, len = 0x10 8 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 9 | iram1_0_seg : org = 0x40100000, len = 0x8000 10 | irom0_0_seg : org = 0x40201010, len = 0xf9ff0 11 | } 12 | 13 | PROVIDE ( _SPIFFS_start = 0x402FB000 ); 14 | PROVIDE ( _SPIFFS_end = 0x402FB000 ); 15 | PROVIDE ( _SPIFFS_page = 0 ); 16 | PROVIDE ( _SPIFFS_block = 0 ); 17 | 18 | INCLUDE "../ld/eagle.app.v6.common.ld" 19 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.512k0.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 512K chips, no SPIFFS */ 2 | /* sketch 487KB */ 3 | /* eeprom 20KB */ 4 | 5 | MEMORY 6 | { 7 | dport0_0_seg : org = 0x3FF00000, len = 0x10 8 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 9 | iram1_0_seg : org = 0x40100000, len = 0x8000 10 | irom0_0_seg : org = 0x40201010, len = 0x79ff0 11 | } 12 | 13 | PROVIDE ( _SPIFFS_start = 0x4027B000 ); 14 | PROVIDE ( _SPIFFS_end = 0x4027B000 ); 15 | PROVIDE ( _SPIFFS_page = 0 ); 16 | PROVIDE ( _SPIFFS_block = 0 ); 17 | 18 | INCLUDE "../ld/eagle.app.v6.common.ld" 19 | -------------------------------------------------------------------------------- /libraries/ESP8266LLMNR/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For Ultrasound 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | ESP8266LLMNR KEYWORD1 10 | LLMNRResponder KEYWORD1 11 | LLMNR KEYWORD1 12 | 13 | ####################################### 14 | # Methods and Functions (KEYWORD2) 15 | ####################################### 16 | 17 | begin KEYWORD2 18 | notify_ap_change KEYWORD2 19 | 20 | ####################################### 21 | # Constants (LITERAL1) 22 | ####################################### 23 | 24 | -------------------------------------------------------------------------------- /libraries/GDBStub/src/internal/gdbstub-entry.h: -------------------------------------------------------------------------------- 1 | #ifndef GDBSTUB_ENTRY_H 2 | #define GDBSTUB_ENTRY_H 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | void gdbstub_init_debug_entry(); 9 | void gdbstub_do_break(); 10 | void gdbstub_icount_ena_single_step(); 11 | void gdbstub_save_extra_sfrs_for_exception(); 12 | void gdbstub_uart_entry(); 13 | 14 | int gdbstub_set_hw_breakpoint(int addr, int len); 15 | int gdbstub_set_hw_watchpoint(int addr, int len, int type); 16 | int gdbstub_del_hw_breakpoint(int addr); 17 | int gdbstub_del_hw_watchpoint(int addr); 18 | 19 | extern void* gdbstub_do_break_breakpoint_addr; 20 | 21 | #ifdef __cplusplus 22 | { 23 | #endif 24 | 25 | #endif -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.16m.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 16M chips */ 2 | /* sketch 1019KB */ 3 | /* spiffs 15340KB */ 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0xfeff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x40300000 ); 15 | PROVIDE ( _SPIFFS_end = 0x411FB000 ); 16 | PROVIDE ( _SPIFFS_page = 0x100 ); 17 | PROVIDE ( _SPIFFS_block = 0x2000 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.1m128.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 1M chips */ 2 | /* sketch 871KB */ 3 | /* spiffs 128KB */ 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0xd9ff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x402DB000 ); 15 | PROVIDE ( _SPIFFS_end = 0x402FB000 ); 16 | PROVIDE ( _SPIFFS_page = 0x100 ); 17 | PROVIDE ( _SPIFFS_block = 0x1000 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.1m144.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 1M chips */ 2 | /* sketch 855KB */ 3 | /* spiffs 144KB */ 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0xd5ff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x402D7000 ); 15 | PROVIDE ( _SPIFFS_end = 0x402FB000 ); 16 | PROVIDE ( _SPIFFS_page = 0x100 ); 17 | PROVIDE ( _SPIFFS_block = 0x1000 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.1m160.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 1M chips */ 2 | /* sketch 839KB */ 3 | /* spiffs 160KB */ 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0xd1ff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x402D3000 ); 15 | PROVIDE ( _SPIFFS_end = 0x402FB000 ); 16 | PROVIDE ( _SPIFFS_page = 0x100 ); 17 | PROVIDE ( _SPIFFS_block = 0x1000 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.1m192.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 1M chips */ 2 | /* sketch 807KB */ 3 | /* spiffs 192KB */ 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0xc9ff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x402CB000 ); 15 | PROVIDE ( _SPIFFS_end = 0x402FB000 ); 16 | PROVIDE ( _SPIFFS_page = 0x100 ); 17 | PROVIDE ( _SPIFFS_block = 0x1000 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.1m256.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 1M chips */ 2 | /* sketch 743KB */ 3 | /* spiffs 256KB */ 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0xb9ff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x402BB000 ); 15 | PROVIDE ( _SPIFFS_end = 0x402FB000 ); 16 | PROVIDE ( _SPIFFS_page = 0x100 ); 17 | PROVIDE ( _SPIFFS_block = 0x1000 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.1m512.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 1M chips */ 2 | /* sketch 487KB */ 3 | /* spiffs 512KB */ 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0x79ff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x4027B000 ); 15 | PROVIDE ( _SPIFFS_end = 0x402FB000 ); 16 | PROVIDE ( _SPIFFS_page = 0x100 ); 17 | PROVIDE ( _SPIFFS_block = 0x2000 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.1m64.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 1M chips */ 2 | /* sketch 935KB */ 3 | /* spiffs 64KB */ 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0xe9ff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x402EB000 ); 15 | PROVIDE ( _SPIFFS_end = 0x402FB000 ); 16 | PROVIDE ( _SPIFFS_page = 0x100 ); 17 | PROVIDE ( _SPIFFS_block = 0x1000 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.2m.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 2M chips */ 2 | /* sketch 1019KB */ 3 | /* spiffs 1004KB */ 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0xfeff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x40300000 ); 15 | PROVIDE ( _SPIFFS_end = 0x403FB000 ); 16 | PROVIDE ( _SPIFFS_page = 0x100 ); 17 | PROVIDE ( _SPIFFS_block = 0x2000 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.4m.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 4M chips */ 2 | /* sketch 1019KB */ 3 | /* spiffs 3052KB */ 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0xfeff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x40300000 ); 15 | PROVIDE ( _SPIFFS_end = 0x405FB000 ); 16 | PROVIDE ( _SPIFFS_page = 0x100 ); 17 | PROVIDE ( _SPIFFS_block = 0x2000 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.512k64.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 512K chips */ 2 | /* sketch 423KB */ 3 | /* spiffs 64KB */ 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0x69ff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x4026B000 ); 15 | PROVIDE ( _SPIFFS_end = 0x4027B000 ); 16 | PROVIDE ( _SPIFFS_page = 0x100 ); 17 | PROVIDE ( _SPIFFS_block = 0x1000 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.8m.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 8M chips */ 2 | /* sketch 1019KB */ 3 | /* spiffs 7148KB */ 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0xfeff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x40300000 ); 15 | PROVIDE ( _SPIFFS_end = 0x409FB000 ); 16 | PROVIDE ( _SPIFFS_page = 0x100 ); 17 | PROVIDE ( _SPIFFS_block = 0x2000 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.512k128.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 512K chips */ 2 | /* sketch 359KB */ 3 | /* spiffs 128KB */ 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0x59ff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x4025B000 ); 15 | PROVIDE ( _SPIFFS_end = 0x4027B000 ); 16 | PROVIDE ( _SPIFFS_page = 0x100 ); 17 | PROVIDE ( _SPIFFS_block = 0x1000 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /doc/index.rst: -------------------------------------------------------------------------------- 1 | Welcome to ESP8266 Arduino Core's documentation! 2 | ================================================ 3 | 4 | .. toctree:: 5 | :maxdepth: 2 6 | :caption: Contents: 7 | 8 | Installing 9 | Reference 10 | Libraries 11 | File system 12 | ESP8266WiFi 13 | OTA Updates 14 | PROGMEM 15 | 16 | Boards 17 | FAQ 18 | 19 | Exception causes 20 | Debugging 21 | Stack Dump 22 | Using with Eclipse 23 | Changelog 24 | -------------------------------------------------------------------------------- /libraries/ESP8266WiFiMesh/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For ESP8266WiFiMesh 3 | ####################################### 4 | 5 | ####################################### 6 | # Library (KEYWORD3) 7 | ####################################### 8 | 9 | ESP8266WiFiMesh KEYWORD3 10 | 11 | ####################################### 12 | # Datatypes (KEYWORD1) 13 | ####################################### 14 | 15 | ESP8266WiFiMesh KEYWORD1 16 | 17 | ####################################### 18 | # Methods and Functions (KEYWORD2) 19 | ####################################### 20 | 21 | begin KEYWORD2 22 | attemptScan KEYWORD2 23 | acceptRequest KEYWORD2 24 | -------------------------------------------------------------------------------- /tests/device/test_newlib/test_newlib.ino: -------------------------------------------------------------------------------- 1 | #include 2 | BS_ENV_DECLARE(); 3 | 4 | 5 | void setup() 6 | { 7 | Serial.begin(115200); 8 | BS_RUN(Serial); 9 | } 10 | 11 | TEST_CASE("Floating point formatting works", "[newlib]") 12 | { 13 | char buf[16]; 14 | const float val = 0.02300; 15 | snprintf(buf, sizeof(buf), "%.05f", val); 16 | CHECK(String(buf) == "0.02300"); 17 | float res; 18 | sscanf(buf, "%f", &res); 19 | CHECK(res == val); 20 | } 21 | 22 | TEST_CASE("#612 fmod and sqrt work", "[newlib]") 23 | { 24 | CHECK(fabs(fmod(2.0, 1.5) - 0.5) < 1e-6); 25 | CHECK(fabs(fmod(-10, -3) - (-1.0)) < 1e-5); 26 | } 27 | 28 | void loop() 29 | { 30 | } 31 | -------------------------------------------------------------------------------- /doc/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | SPHINXPROJ = ESP8266ArduinoCore 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -------------------------------------------------------------------------------- /tools/sdk/lwip/include/netif/wlan_lwip_if.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2011 Espressif System 3 | * 4 | */ 5 | 6 | #ifndef _WLAN_LWIP_IF_H_ 7 | #define _WLAN_LWIP_IF_H_ 8 | 9 | #define LWIP_IF0_PRIO 28 10 | #define LWIP_IF1_PRIO 29 11 | 12 | enum { 13 | SIG_LWIP_RX = 0, 14 | }; 15 | 16 | struct netif * eagle_lwip_if_alloc(struct ieee80211_conn *conn, const uint8 *macaddr, struct ip_info *info); 17 | struct netif * eagle_lwip_getif(uint8 index); 18 | 19 | #ifndef IOT_SIP_MODE 20 | sint8 ieee80211_output_pbuf(struct netif *ifp, struct pbuf* pb); 21 | #else 22 | sint8 ieee80211_output_pbuf(struct ieee80211_conn *conn, esf_buf *eb); 23 | #endif 24 | 25 | #endif /* _WLAN_LWIP_IF_H_ */ 26 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.4m1m.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 4M chips */ 2 | /* sketch 1019KB */ 3 | /* empty 2048KB */ 4 | /* spiffs 1004KB */ 5 | /* eeprom 20KB */ 6 | 7 | MEMORY 8 | { 9 | dport0_0_seg : org = 0x3FF00000, len = 0x10 10 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 11 | iram1_0_seg : org = 0x40100000, len = 0x8000 12 | irom0_0_seg : org = 0x40201010, len = 0xfeff0 13 | } 14 | 15 | PROVIDE ( _SPIFFS_start = 0x40500000 ); 16 | PROVIDE ( _SPIFFS_end = 0x405FB000 ); 17 | PROVIDE ( _SPIFFS_page = 0x100 ); 18 | PROVIDE ( _SPIFFS_block = 0x2000 ); 19 | 20 | INCLUDE "../ld/eagle.app.v6.common.ld" 21 | -------------------------------------------------------------------------------- /libraries/ESP8266NetBIOS/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For ESPNBNS 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | NBNS KEYWORD1 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | 15 | begin KEYWORD2 16 | 17 | ####################################### 18 | # Instances (KEYWORD2) 19 | ####################################### 20 | 21 | 22 | ####################################### 23 | # Constants (LITERAL1) 24 | ####################################### 25 | -------------------------------------------------------------------------------- /libraries/ESP8266mDNS/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For Ultrasound 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | ESP8266mDNS KEYWORD1 10 | MDNSResponder KEYWORD1 11 | MDNS KEYWORD1 12 | 13 | ####################################### 14 | # Methods and Functions (KEYWORD2) 15 | ####################################### 16 | 17 | begin KEYWORD2 18 | update KEYWORD2 19 | addService KEYWORD2 20 | enableArduino KEYWORD2 21 | 22 | ####################################### 23 | # Constants (LITERAL1) 24 | ####################################### 25 | 26 | -------------------------------------------------------------------------------- /libraries/Servo/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map Servo 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | Servo KEYWORD1 Servo 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | attach KEYWORD2 15 | detach KEYWORD2 16 | write KEYWORD2 17 | read KEYWORD2 18 | attached KEYWORD2 19 | writeMicroseconds KEYWORD2 20 | readMicroseconds KEYWORD2 21 | 22 | ####################################### 23 | # Constants (LITERAL1) 24 | ####################################### 25 | -------------------------------------------------------------------------------- /libraries/ArduinoOTA/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For Ultrasound 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | ArduinoOTA KEYWORD1 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | 15 | begin KEYWORD2 16 | setup KEYWORD2 17 | handle KEYWORD2 18 | onStart KEYWORD2 19 | onEnd KEYWORD2 20 | onError KEYWORD2 21 | onProgress KEYWORD2 22 | 23 | ####################################### 24 | # Constants (LITERAL1) 25 | ####################################### 26 | 27 | -------------------------------------------------------------------------------- /libraries/SPISlave/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map SPI Slave 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | SPISlave KEYWORD1 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | 15 | begin KEYWORD2 16 | setData KEYWORD2 17 | setStatus KEYWORD2 18 | onData KEYWORD2 19 | onDataSent KEYWORD2 20 | onStatus KEYWORD2 21 | onStatusSent KEYWORD2 22 | 23 | ####################################### 24 | # Constants (LITERAL1) 25 | ####################################### 26 | -------------------------------------------------------------------------------- /tests/device/libraries/BSTest/mock_decorators.py: -------------------------------------------------------------------------------- 1 | 2 | env = dict() 3 | 4 | def setup(test_name): 5 | global env 6 | if not test_name in env: 7 | env[test_name] = dict() 8 | func_env = env[test_name] 9 | def decorator(func): 10 | def func_wrapper(): 11 | return func(env[test_name]) 12 | func_env['setup'] = func_wrapper 13 | return func_wrapper 14 | return decorator 15 | 16 | 17 | 18 | def teardown(test_name): 19 | global env 20 | if not test_name in env: 21 | env[test_name] = dict() 22 | func_env = env[test_name] 23 | def decorator(func): 24 | def func_wrapper(): 25 | return func(env[test_name]) 26 | func_env['teardown'] = func_wrapper 27 | return func_wrapper 28 | return decorator 29 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/sys/param.h: -------------------------------------------------------------------------------- 1 | /* This is a dummy file, not customized for any 2 | particular system. If there is a param.h in libc/sys/SYSDIR/sys, 3 | it will override this one. */ 4 | 5 | #ifndef _SYS_PARAM_H 6 | # define _SYS_PARAM_H 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | #ifndef HZ 14 | # define HZ (60) 15 | #endif 16 | #ifndef NOFILE 17 | # define NOFILE (60) 18 | #endif 19 | #ifndef PATHSIZE 20 | # define PATHSIZE (1024) 21 | #endif 22 | 23 | #define MAXPATHLEN PATH_MAX 24 | 25 | #define MAX(a,b) ((a) > (b) ? (a) : (b)) 26 | #define MIN(a,b) ((a) < (b) ? (a) : (b)) 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /libraries/Hash/examples/sha1/sha1.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * simple demo to show sha1 calculation 3 | */ 4 | #include 5 | #include 6 | 7 | void setup() { 8 | Serial.begin(921600); 9 | } 10 | 11 | void loop() { 12 | 13 | // usage as String 14 | // SHA1:a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 15 | 16 | Serial.print("SHA1:"); 17 | Serial.println(sha1("abc")); 18 | 19 | // usage as ptr 20 | // SHA1:a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 21 | uint8_t hash[20]; 22 | sha1("abc", &hash[0]); 23 | 24 | Serial.print("SHA1:"); 25 | for(uint16_t i = 0; i < 20; i++) { 26 | Serial.printf("%02x", hash[i]); 27 | } 28 | Serial.println(); 29 | 30 | delay(1000); 31 | } 32 | 33 | -------------------------------------------------------------------------------- /libraries/GDBStub/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GDBStub", 3 | "version": "0.2", 4 | "keywords": "gdb, debug", 5 | "description": "GDB server stub helps debug crashes when JTAG isn't an option.", 6 | "repository": 7 | { 8 | "type": "git", 9 | "url": "https://github.com/esp8266/Arduino.git" 10 | }, 11 | "export": { 12 | "include": "libraries/GDBStub" 13 | }, 14 | "authors": 15 | [ 16 | { 17 | "name": "Jeroen Domburg" 18 | }, 19 | { 20 | "name": "Ivan Grokhotkov", 21 | "email": "ivan@esp8266.com", 22 | "maintainer": true 23 | } 24 | ], 25 | "frameworks": "arduino", 26 | "platforms": "espressif8266", 27 | "build": { 28 | "libArchive": false 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /cores/esp8266/debug.h: -------------------------------------------------------------------------------- 1 | #ifndef ARD_DEBUG_H 2 | #define ARD_DEBUG_H 3 | 4 | #include 5 | #include 6 | 7 | #ifdef DEBUG_ESP_CORE 8 | #define DEBUGV(...) ets_printf(__VA_ARGS__) 9 | #endif 10 | 11 | #ifndef DEBUGV 12 | #define DEBUGV(...) 13 | #endif 14 | 15 | #ifdef __cplusplus 16 | void hexdump(const void *mem, uint32_t len, uint8_t cols = 16); 17 | #else 18 | void hexdump(const void *mem, uint32_t len, uint8_t cols); 19 | #endif 20 | 21 | #ifdef __cplusplus 22 | extern "C" { 23 | #endif 24 | 25 | void __panic_func(const char* file, int line, const char* func) __attribute__((noreturn)); 26 | #define panic() __panic_func(__FILE__, __LINE__, __func__) 27 | 28 | #ifdef __cplusplus 29 | } 30 | #endif 31 | 32 | 33 | #endif//ARD_DEBUG_H 34 | -------------------------------------------------------------------------------- /libraries/Ticker/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For Wire 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | ####################################### 10 | # Methods and Functions (KEYWORD2) 11 | ####################################### 12 | 13 | attach KEYWORD2 14 | attach_ms KEYWORD2 15 | once KEYWORD2 16 | once_ms KEYWORD2 17 | detach KEYWORD2 18 | 19 | ####################################### 20 | # Instances (KEYWORD2) 21 | ####################################### 22 | 23 | Ticker KEYWORD2 24 | 25 | ####################################### 26 | # Constants (LITERAL1) 27 | ####################################### 28 | 29 | -------------------------------------------------------------------------------- /tests/device/libraries/BSTest/src/BSStdio.h: -------------------------------------------------------------------------------- 1 | #ifndef BS_STDIO_H 2 | #define BS_STDIO_H 3 | 4 | #include 5 | #include 6 | 7 | namespace bs 8 | { 9 | class StdIOHelper 10 | { 11 | public: 12 | StdIOHelper() 13 | { 14 | } 15 | 16 | size_t printf(const char *format, ...) 17 | { 18 | va_list arg; 19 | va_start(arg, format); 20 | size_t result = vprintf(format, arg); 21 | va_end(arg); 22 | return result; 23 | } 24 | 25 | bool read_int(int& result) 26 | { 27 | return scanf("%d", &result) == 1; 28 | } 29 | }; 30 | 31 | typedef StdIOHelper IOHelper; 32 | 33 | inline void fatal() { 34 | throw std::runtime_error("fatal error"); 35 | } 36 | 37 | } // namespace bs 38 | 39 | #endif //BS_STDIO_H 40 | -------------------------------------------------------------------------------- /tests/device/test_overrides/test_overrides.ino: -------------------------------------------------------------------------------- 1 | #include 2 | BS_ENV_DECLARE(); 3 | 4 | ADC_MODE(ADC_VCC); 5 | RF_MODE(RF_CAL); 6 | 7 | static int rf_pre_init_flag = 0; 8 | 9 | RF_PRE_INIT() 10 | { 11 | rf_pre_init_flag = 42; 12 | } 13 | 14 | static unsigned setup_micros; 15 | 16 | void setup() 17 | { 18 | setup_micros = micros(); 19 | Serial.begin(115200); 20 | BS_RUN(Serial); 21 | } 22 | 23 | TEST_CASE("ADC_MODE override works", "[core]") 24 | { 25 | auto vcc = ESP.getVcc(); 26 | Serial.printf("VCC: %d\r\n", vcc); 27 | Serial.printf("A0: %d\r\n", analogRead(A0)); 28 | CHECK(vcc > 3000 && vcc < 3600); 29 | } 30 | 31 | TEST_CASE("RF_PRE_INIT override works", "[core]") 32 | { 33 | CHECK(rf_pre_init_flag == 42); 34 | } 35 | 36 | void loop() 37 | { 38 | } 39 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/sys/times.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_TIMES_H 2 | #ifdef __cplusplus 3 | extern "C" { 4 | #endif 5 | #define _SYS_TIMES_H 6 | 7 | #include <_ansi.h> 8 | #include 9 | 10 | #ifndef __clock_t_defined 11 | typedef _CLOCK_T_ clock_t; 12 | #define __clock_t_defined 13 | #endif 14 | 15 | /* Get Process Times, P1003.1b-1993, p. 92 */ 16 | struct tms { 17 | clock_t tms_utime; /* user time */ 18 | clock_t tms_stime; /* system time */ 19 | clock_t tms_cutime; /* user time, children */ 20 | clock_t tms_cstime; /* system time, children */ 21 | }; 22 | 23 | clock_t _EXFUN(times,(struct tms *)); 24 | #ifdef _COMPILING_NEWLIB 25 | clock_t _EXFUN(_times,(struct tms *)); 26 | #endif 27 | 28 | #ifdef __cplusplus 29 | } 30 | #endif 31 | #endif /* !_SYS_TIMES_H */ 32 | -------------------------------------------------------------------------------- /cores/esp8266/eboot_command.h: -------------------------------------------------------------------------------- 1 | #ifndef EBOOT_COMMAND_H 2 | #define EBOOT_COMMAND_H 3 | 4 | #include 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif 9 | 10 | #define RTC_MEM ((volatile uint32_t*)0x60001200) 11 | 12 | enum action_t { 13 | ACTION_COPY_RAW = 0x00000001, 14 | ACTION_LOAD_APP = 0xffffffff 15 | }; 16 | 17 | #define EBOOT_MAGIC 0xeb001000 18 | #define EBOOT_MAGIC_MASK 0xfffff000 19 | 20 | struct eboot_command { 21 | uint32_t magic; 22 | enum action_t action; 23 | uint32_t args[29]; 24 | uint32_t crc32; 25 | }; 26 | 27 | 28 | int eboot_command_read(struct eboot_command* cmd); 29 | void eboot_command_write(struct eboot_command* cmd); 30 | void eboot_command_clear(); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif //EBOOT_COMMAND_H 37 | -------------------------------------------------------------------------------- /libraries/ESP8266WiFi/src/include/slist.h: -------------------------------------------------------------------------------- 1 | #ifndef SLIST_H 2 | #define SLIST_H 3 | 4 | template 5 | class SList { 6 | public: 7 | SList() : _next(0) { } 8 | 9 | protected: 10 | 11 | static void _add(T* self) { 12 | T* tmp = _s_first; 13 | _s_first = self; 14 | self->_next = tmp; 15 | } 16 | 17 | static void _remove(T* self) { 18 | if (_s_first == self) { 19 | _s_first = self->_next; 20 | self->_next = 0; 21 | return; 22 | } 23 | 24 | for (T* prev = _s_first; prev->_next; prev = prev->_next) { 25 | if (prev->_next == self) { 26 | prev->_next = self->_next; 27 | self->_next = 0; 28 | return; 29 | } 30 | } 31 | } 32 | 33 | static T* _s_first; 34 | T* _next; 35 | }; 36 | 37 | 38 | #endif //SLIST_H 39 | -------------------------------------------------------------------------------- /libraries/SD/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map SD 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | SD KEYWORD1 SD 10 | File KEYWORD1 SD 11 | 12 | ####################################### 13 | # Methods and Functions (KEYWORD2) 14 | ####################################### 15 | begin KEYWORD2 16 | exists KEYWORD2 17 | mkdir KEYWORD2 18 | remove KEYWORD2 19 | rmdir KEYWORD2 20 | open KEYWORD2 21 | close KEYWORD2 22 | seek KEYWORD2 23 | position KEYWORD2 24 | size KEYWORD2 25 | 26 | ####################################### 27 | # Constants (LITERAL1) 28 | ####################################### 29 | FILE_READ LITERAL1 30 | FILE_WRITE LITERAL1 31 | -------------------------------------------------------------------------------- /tests/host/common/pins_arduino.h: -------------------------------------------------------------------------------- 1 | /* 2 | pins_arduino.h 3 | Copyright © 2016 Ivan Grokhotkov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | */ 15 | #ifndef pins_arduino_h 16 | #define pins_arduino_h 17 | 18 | 19 | #endif /* pins_arduino_h */ 20 | -------------------------------------------------------------------------------- /libraries/Ethernet/examples/udpntpclient_pedantic/readme.txt: -------------------------------------------------------------------------------- 1 | This is essentially the same as the original, classic, example. However instead of treating the NTP message as a mysterious array of bytes it is referred to by its offical name and structure. 2 | The concept of Big-Endian and Little_Endian data is introduced, which may be new to many readers. 3 | Actually there is a good historical reason for the dominance of BigEndian in internet protocols. In the early days of networking Sun computers were the major force and they had BigEndian processors. Later on Intel entered the field with LittleEndian processors and the rest is history. I wonder how many CPU cycles are wasted every second converting between the two? 4 | Treating byte arrays as structures encourages good programming style as 'magic numbers' are replaced by meaningful names. 5 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/machine/types.h: -------------------------------------------------------------------------------- 1 | #ifndef _MACHTYPES_H_ 2 | #define _MACHTYPES_H_ 3 | 4 | /* 5 | * The following section is RTEMS specific and is needed to more 6 | * closely match the types defined in the BSD machine/types.h. 7 | * This is needed to let the RTEMS/BSD TCP/IP stack compile. 8 | */ 9 | #if defined(__rtems__) 10 | #include 11 | #endif 12 | 13 | #define _CLOCK_T_ unsigned long /* clock() */ 14 | #define _TIME_T_ long /* time() */ 15 | #define _CLOCKID_T_ unsigned long 16 | #define _TIMER_T_ unsigned long 17 | 18 | #ifndef _HAVE_SYSTYPES 19 | typedef long int __off_t; 20 | typedef int __pid_t; 21 | #ifdef __GNUC__ 22 | __extension__ typedef long long int __loff_t; 23 | #else 24 | typedef long int __loff_t; 25 | #endif 26 | #endif 27 | 28 | #endif /* _MACHTYPES_H_ */ 29 | 30 | 31 | -------------------------------------------------------------------------------- /cores/esp8266/FunctionalInterrupt.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | 4 | // Duplicate typedefs from core_esp8266_wiring_digital_c 5 | typedef void (*voidFuncPtr)(void); 6 | 7 | // Helper functions for Functional interrupt routines 8 | extern "C" void ICACHE_RAM_ATTR __attachInterruptArg(uint8_t pin, voidFuncPtr userFunc, void*fp , int mode); 9 | 10 | // Structure for communication 11 | struct ArgStructure { 12 | std::function reqFunction; 13 | }; 14 | 15 | void interruptFunctional(void* arg) 16 | { 17 | ((ArgStructure*)arg)->reqFunction(); 18 | } 19 | 20 | void attachInterrupt(uint8_t pin, std::function intRoutine, int mode) 21 | { 22 | // use the local interrupt routine which takes the ArgStructure as argument 23 | __attachInterruptArg (pin, (voidFuncPtr)interruptFunctional, new ArgStructure{intRoutine}, mode); 24 | } 25 | -------------------------------------------------------------------------------- /tests/device/test_tests/test_tests.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | BS_ENV_DECLARE(); 5 | 6 | void setup() 7 | { 8 | Serial.begin(115200); 9 | BS_RUN(Serial); 10 | } 11 | 12 | 13 | TEST_CASE("this test runs successfully", "[bs]") 14 | { 15 | CHECK(1 + 1 == 2); 16 | REQUIRE(2 * 2 == 4); 17 | } 18 | 19 | TEST_CASE("another test which fails", "[bs][fail]") 20 | { 21 | CHECK(true); 22 | CHECK(false); 23 | CHECK(true); 24 | CHECK(false); 25 | } 26 | 27 | TEST_CASE("another test which fails and crashes", "[bs][fail]") 28 | { 29 | CHECK(true); 30 | REQUIRE(false); 31 | } 32 | 33 | 34 | TEST_CASE("third test which should be skipped", "[.]") 35 | { 36 | FAIL(); 37 | } 38 | 39 | 40 | TEST_CASE("this test also runs successfully", "[bs]") 41 | { 42 | 43 | } 44 | 45 | void loop() 46 | { 47 | } 48 | -------------------------------------------------------------------------------- /cores/esp8266/spiffs/TODO: -------------------------------------------------------------------------------- 1 | * When mending lost pages, also see if they fit into length specified in object index header 2 | 3 | SPIFFS2 thoughts 4 | 5 | * Instead of exact object id:s in the object lookup tables, use a hash of span index and object id. 6 | Eg. object id xor:ed with bit-reversed span index. 7 | This should decrease number of actual pages that needs to be visited when looking thru the obj lut. 8 | 9 | * Logical number of each block. When moving stuff in a garbage collected page, the free 10 | page is assigned the same number as the garbage collected. Thus, object index pages do not have to 11 | be rewritten. 12 | 13 | * Steal one page, use as a bit parity page. When starting an fs modification operation, write one bit 14 | as zero. When ending, write another bit as zero. On mount, if number of zeroes in page is uneven, a 15 | check is automatically run. -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/envz.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. 2 | * 3 | * Permission to use, copy, modify, and distribute this software 4 | * is freely granted, provided that this notice is preserved. 5 | */ 6 | 7 | #include 8 | #include 9 | 10 | /* The newlib implementation of these functions assumes that sizeof(char) == 1. */ 11 | char * envz_entry (const char *envz, size_t envz_len, const char *name); 12 | char * envz_get (const char *envz, size_t envz_len, const char *name); 13 | error_t envz_add (char **envz, size_t *envz_len, const char *name, const char *value); 14 | error_t envz_merge (char **envz, size_t *envz_len, const char *envz2, size_t envz2_len, int override); 15 | void envz_remove(char **envz, size_t *envz_len, const char *name); 16 | void envz_strip (char **envz, size_t *envz_len); 17 | -------------------------------------------------------------------------------- /libraries/DNSServer/examples/CaptivePortalAdvanced/credentials.ino: -------------------------------------------------------------------------------- 1 | /** Load WLAN credentials from EEPROM */ 2 | void loadCredentials() { 3 | EEPROM.begin(512); 4 | EEPROM.get(0, ssid); 5 | EEPROM.get(0+sizeof(ssid), password); 6 | char ok[2+1]; 7 | EEPROM.get(0+sizeof(ssid)+sizeof(password), ok); 8 | EEPROM.end(); 9 | if (String(ok) != String("OK")) { 10 | ssid[0] = 0; 11 | password[0] = 0; 12 | } 13 | Serial.println("Recovered credentials:"); 14 | Serial.println(ssid); 15 | Serial.println(strlen(password)>0?"********":""); 16 | } 17 | 18 | /** Store WLAN credentials to EEPROM */ 19 | void saveCredentials() { 20 | EEPROM.begin(512); 21 | EEPROM.put(0, ssid); 22 | EEPROM.put(0+sizeof(ssid), password); 23 | char ok[2+1] = "OK"; 24 | EEPROM.put(0+sizeof(ssid)+sizeof(password), ok); 25 | EEPROM.commit(); 26 | EEPROM.end(); 27 | } 28 | -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/shapes/shapes.ino: -------------------------------------------------------------------------------- 1 | // Draw Boxes - Demonstrate drawRectangle and fillRectangle 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | void setup() 8 | { 9 | TFT_BL_ON; // turn on the background light 10 | Tft.TFTinit(); // init TFT library 11 | } 12 | 13 | void loop() 14 | { 15 | for(int r=0;r<115;r=r+2) //set r : 0--115 16 | { 17 | Tft.drawCircle(119,160,r,random(0xFFFF)); //draw circle, center:(119, 160), color: random 18 | } 19 | delay(10); 20 | } 21 | /********************************************************************************************************* 22 | END FILE 23 | *********************************************************************************************************/ -------------------------------------------------------------------------------- /libraries/ESP8266WebServer/src/detail/RequestHandler.h: -------------------------------------------------------------------------------- 1 | #ifndef REQUESTHANDLER_H 2 | #define REQUESTHANDLER_H 3 | 4 | class RequestHandler { 5 | public: 6 | virtual ~RequestHandler() { } 7 | virtual bool canHandle(HTTPMethod method, String uri) { (void) method; (void) uri; return false; } 8 | virtual bool canUpload(String uri) { (void) uri; return false; } 9 | virtual bool handle(ESP8266WebServer& server, HTTPMethod requestMethod, String requestUri) { (void) server; (void) requestMethod; (void) requestUri; return false; } 10 | virtual void upload(ESP8266WebServer& server, String requestUri, HTTPUpload& upload) { (void) server; (void) requestUri; (void) upload; } 11 | 12 | RequestHandler* next() { return _next; } 13 | void next(RequestHandler* r) { _next = r; } 14 | 15 | private: 16 | RequestHandler* _next = nullptr; 17 | }; 18 | 19 | #endif //REQUESTHANDLER_H 20 | -------------------------------------------------------------------------------- /libraries/Hash/src/sha1/sha1.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file sha1.h 3 | * @date 20.05.2015 4 | * @author Steve Reid 5 | * 6 | * from: http://www.virtualbox.org/svn/vbox/trunk/src/recompiler/tests/sha1.c 7 | */ 8 | 9 | /* ================ sha1.h ================ */ 10 | /* 11 | SHA-1 in C 12 | By Steve Reid 13 | 100% Public Domain 14 | */ 15 | 16 | #ifndef SHA1_H_ 17 | #define SHA1_H_ 18 | 19 | typedef struct { 20 | uint32_t state[5]; 21 | uint32_t count[2]; 22 | unsigned char buffer[64]; 23 | } SHA1_CTX; 24 | 25 | void SHA1Transform(uint32_t state[5], uint8_t buffer[64]); 26 | void SHA1Init(SHA1_CTX* context); 27 | void SHA1Update(SHA1_CTX* context, uint8_t* data, uint32_t len); 28 | void SHA1Final(unsigned char digest[20], SHA1_CTX* context); 29 | 30 | #endif /* SHA1_H_ */ 31 | 32 | /* ================ end of sha1.h ================ */ 33 | -------------------------------------------------------------------------------- /libraries/Wire/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For Wire 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | ####################################### 10 | # Methods and Functions (KEYWORD2) 11 | ####################################### 12 | 13 | begin KEYWORD2 14 | setClock KEYWORD2 15 | setClockStretchLimit KEYWORD2 16 | beginTransmission KEYWORD2 17 | endTransmission KEYWORD2 18 | requestFrom KEYWORD2 19 | send KEYWORD2 20 | receive KEYWORD2 21 | onReceive KEYWORD2 22 | onRequest KEYWORD2 23 | 24 | ####################################### 25 | # Instances (KEYWORD2) 26 | ####################################### 27 | 28 | Wire KEYWORD2 29 | 30 | ####################################### 31 | # Constants (LITERAL1) 32 | ####################################### 33 | 34 | -------------------------------------------------------------------------------- /tools/sdk/lib/README.md: -------------------------------------------------------------------------------- 1 | ## Updating SDK libraries 2 | 3 | After updating SDK libraries to a new version, do the following changes. 4 | 5 | 6 | Remove mem_manager.o from libmain.a to use custom heap implementation, and time.o to fix redefinition of time-related functions: 7 | 8 | ```bash 9 | xtensa-lx106-elf-ar -d libmain.a mem_manager.o 10 | xtensa-lx106-elf-ar -d libmain.a time.o 11 | ``` 12 | 13 | ## Updating libstdc++ 14 | 15 | After building gcc using crosstool-NG, get compiled libstdc++ and remove some objects: 16 | 17 | ```bash 18 | xtensa-lx106-elf-ar d libstdc++.a pure.o 19 | xtensa-lx106-elf-ar d libstdc++.a vterminate.o 20 | xtensa-lx106-elf-ar d libstdc++.a guard.o 21 | xtensa-lx106-elf-ar d libstdc++.a functexcept.o 22 | xtensa-lx106-elf-ar d libstdc++.a del_op.o 23 | xtensa-lx106-elf-ar d libstdc++.a del_opv.o 24 | xtensa-lx106-elf-ar d libstdc++.a new_op.o 25 | xtensa-lx106-elf-ar d libstdc++.a new_opv.o 26 | ``` 27 | 28 | -------------------------------------------------------------------------------- /libraries/ESP8266WebServer/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For Ultrasound 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | ESP8266WebServer KEYWORD1 10 | HTTPMethod KEYWORD1 11 | 12 | ####################################### 13 | # Methods and Functions (KEYWORD2) 14 | ####################################### 15 | 16 | begin KEYWORD2 17 | handleClient KEYWORD2 18 | on KEYWORD2 19 | addHandler KEYWORD2 20 | uri KEYWORD2 21 | method KEYWORD2 22 | client KEYWORD2 23 | send KEYWORD2 24 | arg KEYWORD2 25 | argName KEYWORD2 26 | args KEYWORD2 27 | hasArg KEYWORD2 28 | onNotFound KEYWORD2 29 | 30 | ####################################### 31 | # Constants (LITERAL1) 32 | ####################################### 33 | 34 | HTTP_GET LITERAL1 35 | HTTP_POST LITERAL1 36 | HTTP_ANY LITERAL1 37 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/sys/stdio.h: -------------------------------------------------------------------------------- 1 | #ifndef _NEWLIB_STDIO_H 2 | #define _NEWLIB_STDIO_H 3 | 4 | #include 5 | #include 6 | 7 | /* Internal locking macros, used to protect stdio functions. In the 8 | general case, expand to nothing. Use __SSTR flag in FILE _flags to 9 | detect if FILE is private to sprintf/sscanf class of functions; if 10 | set then do nothing as lock is not initialised. */ 11 | #if !defined(_flockfile) 12 | #ifndef __SINGLE_THREAD__ 13 | # define _flockfile(fp) (((fp)->_flags & __SSTR) ? 0 : __lock_acquire_recursive((fp)->_lock)) 14 | #else 15 | # define _flockfile(fp) (_CAST_VOID 0) 16 | #endif 17 | #endif 18 | 19 | #if !defined(_funlockfile) 20 | #ifndef __SINGLE_THREAD__ 21 | # define _funlockfile(fp) (((fp)->_flags & __SSTR) ? 0 : __lock_release_recursive((fp)->_lock)) 22 | #else 23 | # define _funlockfile(fp) (_CAST_VOID 0) 24 | #endif 25 | #endif 26 | 27 | #endif /* _NEWLIB_STDIO_H */ 28 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/sys/timeb.h: -------------------------------------------------------------------------------- 1 | /* timeb.h -- An implementation of the standard Unix file. 2 | Written by Ian Lance Taylor 3 | Public domain; no rights reserved. 4 | 5 | declares the structure used by the ftime function, as 6 | well as the ftime function itself. Newlib does not provide an 7 | implementation of ftime. */ 8 | 9 | #ifndef _SYS_TIMEB_H 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | #define _SYS_TIMEB_H 16 | 17 | #include <_ansi.h> 18 | #include 19 | 20 | #ifndef __time_t_defined 21 | typedef _TIME_T_ time_t; 22 | #define __time_t_defined 23 | #endif 24 | 25 | struct timeb 26 | { 27 | time_t time; 28 | unsigned short millitm; 29 | short timezone; 30 | short dstflag; 31 | }; 32 | 33 | extern int ftime _PARAMS ((struct timeb *)); 34 | 35 | #ifdef __cplusplus 36 | } 37 | #endif 38 | 39 | #endif /* ! defined (_SYS_TIMEB_H) */ 40 | -------------------------------------------------------------------------------- /libraries/ESP8266WiFi/examples/WiFiMulti/WiFiMulti.ino: -------------------------------------------------------------------------------- 1 | /* 2 | * This sketch trys to Connect to the best AP based on a given list 3 | * 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | ESP8266WiFiMulti wifiMulti; 10 | 11 | void setup() { 12 | Serial.begin(115200); 13 | delay(10); 14 | 15 | wifiMulti.addAP("ssid_from_AP_1", "your_password_for_AP_1"); 16 | wifiMulti.addAP("ssid_from_AP_2", "your_password_for_AP_2"); 17 | wifiMulti.addAP("ssid_from_AP_3", "your_password_for_AP_3"); 18 | 19 | Serial.println("Connecting Wifi..."); 20 | if(wifiMulti.run() == WL_CONNECTED) { 21 | Serial.println(""); 22 | Serial.println("WiFi connected"); 23 | Serial.println("IP address: "); 24 | Serial.println(WiFi.localIP()); 25 | } 26 | } 27 | 28 | void loop() { 29 | if(wifiMulti.run() != WL_CONNECTED) { 30 | Serial.println("WiFi not connected!"); 31 | delay(1000); 32 | } 33 | } -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/signal.h: -------------------------------------------------------------------------------- 1 | #ifndef _SIGNAL_H_ 2 | #define _SIGNAL_H_ 3 | 4 | #include "_ansi.h" 5 | #include 6 | 7 | _BEGIN_STD_C 8 | 9 | typedef int sig_atomic_t; /* Atomic entity type (ANSI) */ 10 | #ifndef _POSIX_SOURCE 11 | typedef _sig_func_ptr sig_t; /* BSD naming */ 12 | typedef _sig_func_ptr sighandler_t; /* glibc naming */ 13 | #endif /* !_POSIX_SOURCE */ 14 | 15 | #define SIG_DFL ((_sig_func_ptr)0) /* Default action */ 16 | #define SIG_IGN ((_sig_func_ptr)1) /* Ignore action */ 17 | #define SIG_ERR ((_sig_func_ptr)-1) /* Error return */ 18 | 19 | struct _reent; 20 | 21 | _sig_func_ptr _EXFUN(_signal_r, (struct _reent *, int, _sig_func_ptr)); 22 | int _EXFUN(_raise_r, (struct _reent *, int)); 23 | 24 | #ifndef _REENT_ONLY 25 | _sig_func_ptr _EXFUN(signal, (int, _sig_func_ptr)); 26 | int _EXFUN(raise, (int)); 27 | void _EXFUN(psignal, (int, const char *)); 28 | #endif 29 | 30 | _END_STD_C 31 | 32 | #endif /* _SIGNAL_H_ */ 33 | -------------------------------------------------------------------------------- /libraries/Ticker/examples/TickerParameter/TickerParameter.ino: -------------------------------------------------------------------------------- 1 | /* 2 | Passing paramters to Ticker callbacks 3 | 4 | Apart from void(void) functions, the Ticker library supports 5 | functions taking one argument. This argument's size has to be less or 6 | equal to 4 bytes (so char, short, int, float, void*, char* types will do). 7 | 8 | This sample runs two tickers that both call one callback function, 9 | but with different arguments. 10 | 11 | The built-in LED will be pulsing. 12 | */ 13 | 14 | #include 15 | 16 | Ticker tickerSetHigh; 17 | Ticker tickerSetLow; 18 | 19 | void setPin(int state) { 20 | digitalWrite(LED_BUILTIN, state); 21 | } 22 | 23 | void setup() { 24 | pinMode(LED_BUILTIN, OUTPUT); 25 | digitalWrite(1, LOW); 26 | 27 | // every 25 ms, call setPin(0) 28 | tickerSetLow.attach_ms(25, setPin, 0); 29 | 30 | // every 26 ms, call setPin(1) 31 | tickerSetHigh.attach_ms(26, setPin, 1); 32 | } 33 | 34 | void loop() { 35 | } 36 | -------------------------------------------------------------------------------- /libraries/SPI/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map SPI 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | SPI KEYWORD1 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | begin KEYWORD2 15 | end KEYWORD2 16 | transfer KEYWORD2 17 | setBitOrder KEYWORD2 18 | setDataMode KEYWORD2 19 | setClockDivider KEYWORD2 20 | 21 | 22 | ####################################### 23 | # Constants (LITERAL1) 24 | ####################################### 25 | SPI_CLOCK_DIV4 LITERAL1 26 | SPI_CLOCK_DIV16 LITERAL1 27 | SPI_CLOCK_DIV64 LITERAL1 28 | SPI_CLOCK_DIV128 LITERAL1 29 | SPI_CLOCK_DIV2 LITERAL1 30 | SPI_CLOCK_DIV8 LITERAL1 31 | SPI_CLOCK_DIV32 LITERAL1 32 | SPI_CLOCK_DIV64 LITERAL1 33 | SPI_MODE0 LITERAL1 34 | SPI_MODE1 LITERAL1 35 | SPI_MODE2 LITERAL1 36 | SPI_MODE3 LITERAL1 -------------------------------------------------------------------------------- /tests/device/libraries/BSTest/test/test.cpp: -------------------------------------------------------------------------------- 1 | #include "BSTest.h" 2 | #include 3 | 4 | BS_ENV_DECLARE(); 5 | 6 | 7 | int main() 8 | { 9 | while(true) { 10 | try{ 11 | BS_RUN(); 12 | return 0; 13 | }catch(...) { 14 | printf("Exception\n\n"); 15 | } 16 | } 17 | return 1; 18 | } 19 | 20 | 21 | TEST_CASE("this test runs successfully", "[bluesmoke]") 22 | { 23 | CHECK(1 + 1 == 2); 24 | REQUIRE(2 * 2 == 4); 25 | } 26 | 27 | TEST_CASE("another test which fails", "[bluesmoke][fail]") 28 | { 29 | CHECK(true); 30 | CHECK(false); 31 | CHECK(true); 32 | CHECK(false); 33 | } 34 | 35 | TEST_CASE("another test which fails and crashes", "[bluesmoke][fail]") 36 | { 37 | CHECK(true); 38 | REQUIRE(false); 39 | } 40 | 41 | 42 | TEST_CASE("third test which should be skipped", "[.]") 43 | { 44 | FAIL(); 45 | } 46 | 47 | 48 | TEST_CASE("this test also runs successfully", "[bluesmoke]") 49 | { 50 | 51 | } 52 | -------------------------------------------------------------------------------- /libraries/SD/README.adoc: -------------------------------------------------------------------------------- 1 | = SD Library for Arduino = 2 | 3 | The SD library allows for reading from and writing to SD cards. 4 | 5 | For more information about this library please visit us at 6 | http://www.arduino.cc/en/Reference/SD 7 | 8 | == License == 9 | 10 | Copyright (C) 2009 by William Greiman 11 | Copyright (c) 2010 SparkFun Electronics 12 | 13 | This program is free software: you can redistribute it and/or modify 14 | it under the terms of the GNU General Public License as published by 15 | the Free Software Foundation, either version 3 of the License, or 16 | (at your option) any later version. 17 | 18 | This program is distributed in the hope that it will be useful, 19 | but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | GNU General Public License for more details. 22 | 23 | You should have received a copy of the GNU General Public License 24 | along with this program. If not, see . 25 | -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/drawRectangle/drawRectangle.ino: -------------------------------------------------------------------------------- 1 | /* Draw Boxes - Demonstrate drawRectangle and fillRectangle 2 | fillScreen(INT16U XL,INT16U XR,INT16U YU,INT16U YD,INT16U color); 3 | fillRectangle(INT16U poX, INT16U poY, INT16U length, INT16U width, INT16U color); 4 | drawRectangle(INT16U poX, INT16U poY, INT16U length,INT16U width,INT16U color); 5 | */ 6 | #include 7 | #include 8 | #include 9 | 10 | void setup() 11 | { 12 | TFT_BL_ON; // turn on the background light 13 | Tft.TFTinit(); // init TFT library 14 | 15 | Tft.fillScreen(80, 160, 50, 150,RED); 16 | Tft.fillRectangle(30, 120, 100,65,YELLOW); 17 | Tft.drawRectangle(100, 170, 120,60,BLUE); 18 | } 19 | 20 | void loop() 21 | { 22 | 23 | } 24 | /********************************************************************************************************* 25 | END FILE 26 | *********************************************************************************************************/ -------------------------------------------------------------------------------- /tests/device/test_Print_printf/test_Print_printf.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | BS_ENV_DECLARE(); 5 | 6 | void setup() 7 | { 8 | Serial.begin(115200); 9 | BS_RUN(Serial); 10 | } 11 | 12 | TEST_CASE("Print::printf works for any reasonable output length", "[Print]") 13 | { 14 | 15 | auto test_printf = [](size_t size) { 16 | StreamString str; 17 | auto buf = new char[size + 1]; 18 | for (int i = 0; i < size; ++i) { 19 | buf[i] = 'a'; 20 | } 21 | buf[size] = 0; 22 | str.printf("%s%8d", buf, 56789102); 23 | delete[] buf; 24 | CHECK(str.length() == size + 8); 25 | CHECK(str.substring(size) == "56789102"); 26 | }; 27 | 28 | auto before = ESP.getFreeHeap(); 29 | test_printf(1); 30 | test_printf(10); 31 | test_printf(100); 32 | test_printf(1000); 33 | test_printf(10000); 34 | auto after = ESP.getFreeHeap(); 35 | CHECK(before == after); 36 | } 37 | 38 | void loop() {} 39 | -------------------------------------------------------------------------------- /bootloaders/eboot/eboot_command.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2015 Ivan Grokhotkov. All rights reserved. 2 | * This file is part of eboot bootloader. 3 | * 4 | * Redistribution and use is permitted according to the conditions of the 5 | * 3-clause BSD license to be found in the LICENSE file. 6 | */ 7 | 8 | #ifndef EBOOT_COMMAND_H 9 | #define EBOOT_COMMAND_H 10 | 11 | #include 12 | #include 13 | #include 14 | 15 | #define RTC_MEM ((volatile uint32_t*)0x60001200) 16 | 17 | enum action_t { 18 | ACTION_COPY_RAW = 0x00000001, 19 | ACTION_LOAD_APP = 0xffffffff 20 | }; 21 | 22 | #define EBOOT_MAGIC 0xeb001000 23 | #define EBOOT_MAGIC_MASK 0xfffff000 24 | 25 | struct eboot_command { 26 | uint32_t magic; 27 | enum action_t action; 28 | uint32_t args[29]; 29 | uint32_t crc32; 30 | }; 31 | 32 | 33 | int eboot_command_read(struct eboot_command* cmd); 34 | void eboot_command_write(struct eboot_command* cmd); 35 | void eboot_command_clear(); 36 | 37 | #endif //EBOOT_COMMAND_H 38 | -------------------------------------------------------------------------------- /libraries/Ethernet/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For Ethernet 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | Ethernet KEYWORD1 Ethernet 10 | EthernetClient KEYWORD1 EthernetClient 11 | EthernetServer KEYWORD1 EthernetServer 12 | IPAddress KEYWORD1 EthernetIPAddress 13 | 14 | ####################################### 15 | # Methods and Functions (KEYWORD2) 16 | ####################################### 17 | 18 | status KEYWORD2 19 | connect KEYWORD2 20 | write KEYWORD2 21 | available KEYWORD2 22 | read KEYWORD2 23 | peek KEYWORD2 24 | flush KEYWORD2 25 | stop KEYWORD2 26 | connected KEYWORD2 27 | begin KEYWORD2 28 | beginPacket KEYWORD2 29 | endPacket KEYWORD2 30 | parsePacket KEYWORD2 31 | remoteIP KEYWORD2 32 | remotePort KEYWORD2 33 | 34 | ####################################### 35 | # Constants (LITERAL1) 36 | ####################################### 37 | 38 | -------------------------------------------------------------------------------- /tests/device/test_http_client/server.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIICgjCCAWoCAQAwPTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRk 3 | MRgwFgYDVQQDDA9zZXJ2ZXIudGxzLnRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IB 4 | DwAwggEKAoIBAQDCHIZI7Xf+jMbSsvoXENprFiAzI9UreEiFMd8o4r95FkVEMUCF 5 | i53P01uS9QwgXVJOgQP0UGExsmuQ/MJTdwsLXOCdMux6g5LcUoLzFV8lXCxYPxiM 6 | y/JBRX9Sj1MAdBIDhJ84HhYmNEExfYYKhYsrnBXPFf5cZ3kOeowTif8Ib4iXW3yY 7 | H4AJ4DUUrBU9OLXAa8PO4KizBIRfcnTwkH2s/l2LHu34V7OCvo+S9RycBy7i60DD 8 | p/pzQugeTRKfJcmDWNN0quUnx0jJZBHRy9rFsX7TiG+kN6nH/rYI/5pGzXNwLft4 9 | RDcFV/imEldvC5dtPtrUJR9dDRxacmDyZ19xAgMBAAGgADANBgkqhkiG9w0BAQsF 10 | AAOCAQEAE2xZjAkmVr7/p7LkV3UV3Y0wzeVP7kDBN7VnhNmEMw8xTKwXKsc6z5pY 11 | fa4/lmMMCIJ04dUPIgPC2qiYXJ1AXevLm0A7Blpay6HJilw51NMjhF6SLUkShl6e 12 | k3zyj9LnA5TxijsTrFy/km7qIoo6l7sR7+DwTOIlO/Sj/SDNJn+GAVL153zjxYCy 13 | eBYdEz07kxkeONLUjAW2bV+TkliqTdM6meRpf9GQGQksQrkHrudl7JyyKZTf2m6Z 14 | U33AnUp2SRIXESJmst824LKwkjLMYiXgxRK8ZSSP7iiNBj71DK1vQOZQwEZ2cCjW 15 | /pQxKJnHnRvZ3rityuShtHTUF+C39w== 16 | -----END CERTIFICATE REQUEST----- 17 | -------------------------------------------------------------------------------- /cores/esp8266/Schedule.h: -------------------------------------------------------------------------------- 1 | #ifndef ESP_SCHEDULE_H 2 | #define ESP_SCHEDULE_H 3 | 4 | #include 5 | 6 | #define SCHEDULED_FN_MAX_COUNT 32 7 | #define SCHEDULED_FN_INITIAL_COUNT 4 8 | 9 | // Warning 10 | // This API is not considered stable. 11 | // Function signatures will change. 12 | // You have been warned. 13 | 14 | // Run given function next time `loop` function returns, 15 | // or `run_scheduled_functions` is called. 16 | // Use std::bind to pass arguments to a function, or call a class member function. 17 | // Note: there is no mechanism for cancelling scheduled functions. 18 | // Keep that in mind when binding functions to objects which may have short lifetime. 19 | // Returns false if the number of scheduled functions exceeds SCHEDULED_FN_MAX_COUNT. 20 | bool schedule_function(std::function fn); 21 | 22 | // Run all scheduled functions. 23 | // Use this function if your are not using `loop`, or `loop` does not return 24 | // on a regular basis. 25 | void run_scheduled_functions(); 26 | 27 | #endif //ESP_SCHEDULE_H 28 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/strings.h: -------------------------------------------------------------------------------- 1 | /* 2 | * strings.h 3 | * 4 | * Definitions for string operations. 5 | */ 6 | 7 | #ifndef _STRINGS_H_ 8 | #define _STRINGS_H_ 9 | 10 | #include "_ansi.h" 11 | #include 12 | 13 | #include /* for size_t */ 14 | 15 | _BEGIN_STD_C 16 | 17 | #if !defined __STRICT_ANSI__ && _POSIX_VERSION < 200809L 18 | /* 19 | * Marked LEGACY in Open Group Base Specifications Issue 6/IEEE Std 1003.1-2004 20 | * Removed from Open Group Base Specifications Issue 7/IEEE Std 1003.1-2008 21 | */ 22 | int _EXFUN(bcmp,(const void *, const void *, size_t)); 23 | void _EXFUN(bcopy,(const void *, void *, size_t)); 24 | void _EXFUN(bzero,(void *, size_t)); 25 | char *_EXFUN(index,(const char *, int)); 26 | char *_EXFUN(rindex,(const char *, int)); 27 | #endif /* ! __STRICT_ANSI__ */ 28 | 29 | int _EXFUN(ffs,(int)); 30 | int _EXFUN(strcasecmp,(const char *, const char *)); 31 | int _EXFUN(strncasecmp,(const char *, const char *, size_t)); 32 | 33 | _END_STD_C 34 | 35 | #endif /* _STRINGS_H_ */ 36 | -------------------------------------------------------------------------------- /cores/esp8266/libb64/cdecode.h: -------------------------------------------------------------------------------- 1 | /* 2 | cdecode.h - c header for a base64 decoding algorithm 3 | 4 | This is part of the libb64 project, and has been placed in the public domain. 5 | For details, see http://sourceforge.net/projects/libb64 6 | */ 7 | 8 | #ifndef BASE64_CDECODE_H 9 | #define BASE64_CDECODE_H 10 | 11 | #define base64_decode_expected_len(n) ((n * 3) / 4) 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | typedef enum { 18 | step_a, step_b, step_c, step_d 19 | } base64_decodestep; 20 | 21 | typedef struct { 22 | base64_decodestep step; 23 | char plainchar; 24 | } base64_decodestate; 25 | 26 | void base64_init_decodestate(base64_decodestate* state_in); 27 | 28 | int base64_decode_value(char value_in); 29 | 30 | int base64_decode_block(const char* code_in, const int length_in, char* plaintext_out, base64_decodestate* state_in); 31 | 32 | int base64_decode_chars(const char* code_in, const int length_in, char* plaintext_out); 33 | 34 | #ifdef __cplusplus 35 | } // extern "C" 36 | #endif 37 | 38 | #endif /* BASE64_CDECODE_H */ 39 | -------------------------------------------------------------------------------- /libraries/esp8266/examples/CallSDKFunctions/CallSDKFunctions.ino: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * NativeSdk by Simon Peter 4 | * Access functionality from the Espressif ESP8266 SDK 5 | * This example code is in the public domain 6 | * 7 | * This is for advanced users. 8 | * Note that this makes your code dependent on the ESP8266, which is generally 9 | * a bad idea. So you should try to use esp8266/Arduino functionality 10 | * where possible instead, in order to abstract away the hardware dependency. 11 | */ 12 | 13 | // Expose Espressif SDK functionality - wrapped in ifdef so that it still 14 | // compiles on other platforms 15 | #ifdef ESP8266 16 | extern "C" { 17 | #include "user_interface.h" 18 | } 19 | #endif 20 | 21 | void setup() { 22 | Serial.begin(115200); 23 | } 24 | 25 | void loop() { 26 | // Call Espressif SDK functionality - wrapped in ifdef so that it still 27 | // compiles on other platforms 28 | #ifdef ESP8266 29 | Serial.print("wifi_station_get_hostname: "); 30 | Serial.println(wifi_station_get_hostname()); 31 | #endif 32 | delay(1000); 33 | } 34 | -------------------------------------------------------------------------------- /cores/esp8266/Server.h: -------------------------------------------------------------------------------- 1 | /* 2 | Server.h - Base class that provides Server 3 | Copyright (c) 2011 Adrian McEwen. All right reserved. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | */ 19 | 20 | #ifndef server_h 21 | #define server_h 22 | 23 | #include "Print.h" 24 | 25 | class Server: public Print { 26 | public: 27 | virtual void begin() =0; 28 | }; 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /libraries/ESP8266HTTPUpdateServer/src/ESP8266HTTPUpdateServer.h: -------------------------------------------------------------------------------- 1 | #ifndef __HTTP_UPDATE_SERVER_H 2 | #define __HTTP_UPDATE_SERVER_H 3 | 4 | class ESP8266WebServer; 5 | 6 | class ESP8266HTTPUpdateServer 7 | { 8 | public: 9 | ESP8266HTTPUpdateServer(bool serial_debug=false); 10 | 11 | void setup(ESP8266WebServer *server) 12 | { 13 | setup(server, NULL, NULL); 14 | } 15 | 16 | void setup(ESP8266WebServer *server, const char * path) 17 | { 18 | setup(server, path, NULL, NULL); 19 | } 20 | 21 | void setup(ESP8266WebServer *server, const char * username, const char * password) 22 | { 23 | setup(server, "/update", username, password); 24 | } 25 | 26 | void setup(ESP8266WebServer *server, const char * path, const char * username, const char * password); 27 | 28 | protected: 29 | void _setUpdaterError(); 30 | 31 | private: 32 | bool _serial_output; 33 | ESP8266WebServer *_server; 34 | char * _username; 35 | char * _password; 36 | bool _authenticated; 37 | String _updaterError; 38 | }; 39 | 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /libraries/esp8266/examples/BlinkWithoutDelay/BlinkWithoutDelay.ino: -------------------------------------------------------------------------------- 1 | /* 2 | ESP8266 BlinkWithoutDelay by Simon Peter 3 | Blink the blue LED on the ESP-01 module 4 | Based on the Arduino Blink without Delay example 5 | This example code is in the public domain 6 | 7 | The blue LED on the ESP-01 module is connected to GPIO1 8 | (which is also the TXD pin; so we cannot use Serial.print() at the same time) 9 | 10 | Note that this sketch uses LED_BUILTIN to find the pin with the internal LED 11 | */ 12 | 13 | int ledState = LOW; 14 | 15 | unsigned long previousMillis = 0; 16 | const long interval = 1000; 17 | 18 | void setup() { 19 | pinMode(LED_BUILTIN, OUTPUT); 20 | } 21 | 22 | void loop() 23 | { 24 | unsigned long currentMillis = millis(); 25 | if(currentMillis - previousMillis >= interval) { 26 | previousMillis = currentMillis; 27 | if (ledState == LOW) 28 | ledState = HIGH; // Note that this switches the LED *off* 29 | else 30 | ledState = LOW; // Note that this switches the LED *on* 31 | digitalWrite(LED_BUILTIN, ledState); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /libraries/esp8266/examples/Blink/Blink.ino: -------------------------------------------------------------------------------- 1 | /* 2 | ESP8266 Blink by Simon Peter 3 | Blink the blue LED on the ESP-01 module 4 | This example code is in the public domain 5 | 6 | The blue LED on the ESP-01 module is connected to GPIO1 7 | (which is also the TXD pin; so we cannot use Serial.print() at the same time) 8 | 9 | Note that this sketch uses LED_BUILTIN to find the pin with the internal LED 10 | */ 11 | 12 | void setup() { 13 | pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output 14 | } 15 | 16 | // the loop function runs over and over again forever 17 | void loop() { 18 | digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the voltage level 19 | // but actually the LED is on; this is because 20 | // it is active low on the ESP-01) 21 | delay(1000); // Wait for a second 22 | digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH 23 | delay(2000); // Wait for two seconds (to demonstrate the active low LED) 24 | } 25 | -------------------------------------------------------------------------------- /ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | Please fill the info fields, it helps to get you faster support ;) 3 | 4 | if you have a stack dump decode it: 5 | https://github.com/esp8266/Arduino/blob/master/doc/Troubleshooting/stack_dump.rst 6 | 7 | for better debug messages: 8 | https://github.com/esp8266/Arduino/blob/master/doc/Troubleshooting/debugging.rst 9 | 10 | ----------------------------- Remove above ----------------------------- 11 | 12 | ### Basic Infos 13 | 14 | #### Hardware 15 | Hardware: ?ESP-12? 16 | Core Version: ?2.1.0-rc2? 17 | 18 | ### Description 19 | 20 | Problem description 21 | 22 | ### Settings in IDE 23 | 24 | Module: ?Generic ESP8266 Module? 25 | Flash Size: ?4MB/1MB? 26 | CPU Frequency: ?80Mhz? 27 | Flash Mode: ?qio? 28 | Flash Frequency: ?40Mhz? 29 | Upload Using: ?OTA / SERIAL? 30 | Reset Method: ?ck / nodemcu? 31 | 32 | 33 | ### Sketch 34 | 35 | ```cpp 36 | 37 | #include 38 | 39 | void setup() { 40 | 41 | } 42 | 43 | void loop() { 44 | 45 | } 46 | ``` 47 | 48 | ### Debug Messages 49 | 50 | ``` 51 | messages here 52 | ``` 53 | 54 | 55 | -------------------------------------------------------------------------------- /libraries/DNSServer/examples/CaptivePortal/CaptivePortal.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | const byte DNS_PORT = 53; 6 | IPAddress apIP(192, 168, 1, 1); 7 | DNSServer dnsServer; 8 | ESP8266WebServer webServer(80); 9 | 10 | String responseHTML = "" 11 | "CaptivePortal" 12 | "

Hello World!

This is a captive portal example. All requests will " 13 | "be redirected here.

"; 14 | 15 | void setup() { 16 | WiFi.mode(WIFI_AP); 17 | WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0)); 18 | WiFi.softAP("DNSServer CaptivePortal example"); 19 | 20 | // if DNSServer is started with "*" for domain name, it will reply with 21 | // provided IP to all DNS request 22 | dnsServer.start(DNS_PORT, "*", apIP); 23 | 24 | // replay to all requests with same HTML 25 | webServer.onNotFound([]() { 26 | webServer.send(200, "text/html", responseHTML); 27 | }); 28 | webServer.begin(); 29 | } 30 | 31 | void loop() { 32 | dnsServer.processNextRequest(); 33 | webServer.handleClient(); 34 | } 35 | -------------------------------------------------------------------------------- /libraries/EEPROM/examples/eeprom_read/eeprom_read.ino: -------------------------------------------------------------------------------- 1 | /* 2 | * EEPROM Read 3 | * 4 | * Reads the value of each byte of the EEPROM and prints it 5 | * to the computer. 6 | * This example code is in the public domain. 7 | */ 8 | 9 | #include 10 | 11 | // start reading from the first byte (address 0) of the EEPROM 12 | int address = 0; 13 | byte value; 14 | 15 | void setup() 16 | { 17 | // initialize serial and wait for port to open: 18 | Serial.begin(9600); 19 | while (!Serial) { 20 | ; // wait for serial port to connect. Needed for Leonardo only 21 | } 22 | EEPROM.begin(512); 23 | } 24 | 25 | void loop() 26 | { 27 | // read a byte from the current address of the EEPROM 28 | value = EEPROM.read(address); 29 | 30 | Serial.print(address); 31 | Serial.print("\t"); 32 | Serial.print(value, DEC); 33 | Serial.println(); 34 | 35 | // advance to the next address of the EEPROM 36 | address = address + 1; 37 | 38 | // there are only 512 bytes of EEPROM, from 0 to 511, so if we're 39 | // on address 512, wrap around to address 0 40 | if (address == 512) 41 | address = 0; 42 | 43 | delay(500); 44 | } 45 | -------------------------------------------------------------------------------- /tests/device/test_http_client/server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIC3zCCAccCCQCUajf39FoF9jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtj 3 | YS50bHMudGVzdDAeFw0xNjA2MTUwMjQ2MzFaFw0xNzA2MTUwMjQ2MzFaME0xCzAJ 4 | BgNVBAYTAkNOMREwDwYDVQQIDAhTaGFuZ2hhaTESMBAGA1UECgwJRXNwcmVzc2lm 5 | MRcwFQYDVQQDDA4xOTIuMTY4Ljc3LjIwODCCASIwDQYJKoZIhvcNAQEBBQADggEP 6 | ADCCAQoCggEBAMIchkjtd/6MxtKy+hcQ2msWIDMj1St4SIUx3yjiv3kWRUQxQIWL 7 | nc/TW5L1DCBdUk6BA/RQYTGya5D8wlN3Cwtc4J0y7HqDktxSgvMVXyVcLFg/GIzL 8 | 8kFFf1KPUwB0EgOEnzgeFiY0QTF9hgqFiyucFc8V/lxneQ56jBOJ/whviJdbfJgf 9 | gAngNRSsFT04tcBrw87gqLMEhF9ydPCQfaz+XYse7fhXs4K+j5L1HJwHLuLrQMOn 10 | +nNC6B5NEp8lyYNY03Sq5SfHSMlkEdHL2sWxftOIb6Q3qcf+tgj/mkbNc3At+3hE 11 | NwVX+KYSV28Ll20+2tQlH10NHFpyYPJnX3ECAwEAATANBgkqhkiG9w0BAQsFAAOC 12 | AQEAMzNNwXnhp1OyNinGk700jRfe6zwdkpo1ZkclUD7fVEfnWxBj6j2lXReC6WT1 13 | isWXe/M9k+HS0fK7rTqDumeZYgp/Ui5LKgD2JTvLX91toG7apATWqLM1XPtLEGub 14 | webPO2CW/7aRfkPlXvP4Ss/QbqawxkmUKW3kJ4Lw1mmklu9ULGfiHPPUKvY5Qbe9 15 | 9aDC/aTrjiaDmNoToZfAWuFBnxz95bKqFdbij35ZYzyVSNpezePtdOaDBR2mOMYd 16 | P54ENzFbOjVRm3K+7I9S+xa/lUPWnfjVJ026JDw/3/HVWvnwkZI8xNWVOk5CbdPH 17 | 7d5Md13cmF1VQ0VNDqvqI3TZ5g== 18 | -----END CERTIFICATE----- 19 | -------------------------------------------------------------------------------- /libraries/ESP8266WebServer/examples/HttpBasicAuth/HttpBasicAuth.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | const char* ssid = "........"; 7 | const char* password = "........"; 8 | 9 | ESP8266WebServer server(80); 10 | 11 | const char* www_username = "admin"; 12 | const char* www_password = "esp8266"; 13 | 14 | void setup() { 15 | Serial.begin(115200); 16 | WiFi.mode(WIFI_STA); 17 | WiFi.begin(ssid, password); 18 | if(WiFi.waitForConnectResult() != WL_CONNECTED) { 19 | Serial.println("WiFi Connect Failed! Rebooting..."); 20 | delay(1000); 21 | ESP.restart(); 22 | } 23 | ArduinoOTA.begin(); 24 | 25 | server.on("/", [](){ 26 | if(!server.authenticate(www_username, www_password)) 27 | return server.requestAuthentication(); 28 | server.send(200, "text/plain", "Login OK"); 29 | }); 30 | server.begin(); 31 | 32 | Serial.print("Open http://"); 33 | Serial.print(WiFi.localIP()); 34 | Serial.println("/ in your browser to see it working"); 35 | } 36 | 37 | void loop() { 38 | ArduinoOTA.handle(); 39 | server.handleClient(); 40 | } 41 | -------------------------------------------------------------------------------- /libraries/Ethernet/README.adoc: -------------------------------------------------------------------------------- 1 | = Ethernet Library for Arduino = 2 | 3 | With the Arduino Ethernet Shield, this library allows an Arduino board to connect to the internet. 4 | 5 | For more information about this library please visit us at 6 | http://www.arduino.cc/en/Reference/Ethernet 7 | 8 | modified to run on the ESP8266 9 | 10 | == License == 11 | 12 | Copyright (c) 2010 Arduino LLC. All right reserved. 13 | 14 | This library is free software; you can redistribute it and/or 15 | modify it under the terms of the GNU Lesser General Public 16 | License as published by the Free Software Foundation; either 17 | version 2.1 of the License, or (at your option) any later version. 18 | 19 | This library is distributed in the hope that it will be useful, 20 | but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 | Lesser General Public License for more details. 23 | 24 | You should have received a copy of the GNU Lesser General Public 25 | License along with this library; if not, write to the Free Software 26 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 27 | -------------------------------------------------------------------------------- /libraries/esp8266/examples/CheckFlashConfig/CheckFlashConfig.ino: -------------------------------------------------------------------------------- 1 | /* 2 | ESP8266 CheckFlashConfig by Markus Sattler 3 | 4 | This sketch tests if the EEPROM settings of the IDE match to the Hardware 5 | 6 | */ 7 | 8 | void setup(void) { 9 | Serial.begin(115200); 10 | } 11 | 12 | void loop() { 13 | 14 | uint32_t realSize = ESP.getFlashChipRealSize(); 15 | uint32_t ideSize = ESP.getFlashChipSize(); 16 | FlashMode_t ideMode = ESP.getFlashChipMode(); 17 | 18 | Serial.printf("Flash real id: %08X\n", ESP.getFlashChipId()); 19 | Serial.printf("Flash real size: %u\n\n", realSize); 20 | 21 | Serial.printf("Flash ide size: %u\n", ideSize); 22 | Serial.printf("Flash ide speed: %u\n", ESP.getFlashChipSpeed()); 23 | Serial.printf("Flash ide mode: %s\n", (ideMode == FM_QIO ? "QIO" : ideMode == FM_QOUT ? "QOUT" : ideMode == FM_DIO ? "DIO" : ideMode == FM_DOUT ? "DOUT" : "UNKNOWN")); 24 | 25 | if(ideSize != realSize) { 26 | Serial.println("Flash Chip configuration wrong!\n"); 27 | } else { 28 | Serial.println("Flash Chip configuration ok.\n"); 29 | } 30 | 31 | delay(5000); 32 | } 33 | -------------------------------------------------------------------------------- /cores/esp8266/umm_malloc/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Ralph Hempel 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/machine/setjmp-dj.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1991 DJ Delorie 3 | * All rights reserved. 4 | * 5 | * Redistribution, modification, and use in source and binary forms is permitted 6 | * provided that the above copyright notice and following paragraph are 7 | * duplicated in all such forms. 8 | * 9 | * This file is distributed WITHOUT ANY WARRANTY; without even the implied 10 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 11 | */ 12 | 13 | /* Modified to use SETJMP_DJ_H rather than SETJMP_H to avoid 14 | conflicting with setjmp.h. Ian Taylor, Cygnus support, April, 15 | 1993. */ 16 | 17 | #ifndef _SETJMP_DJ_H_ 18 | #define _SETJMP_DJ_H_ 19 | 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | 24 | typedef struct { 25 | unsigned long eax; 26 | unsigned long ebx; 27 | unsigned long ecx; 28 | unsigned long edx; 29 | unsigned long esi; 30 | unsigned long edi; 31 | unsigned long ebp; 32 | unsigned long esp; 33 | unsigned long eip; 34 | } jmp_buf[1]; 35 | 36 | extern int setjmp(jmp_buf); 37 | extern void longjmp(jmp_buf, int); 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /libraries/EEPROM/examples/eeprom_write/eeprom_write.ino: -------------------------------------------------------------------------------- 1 | /* 2 | * EEPROM Write 3 | * 4 | * Stores values read from analog input 0 into the EEPROM. 5 | * These values will stay in the EEPROM when the board is 6 | * turned off and may be retrieved later by another sketch. 7 | */ 8 | 9 | #include 10 | 11 | // the current address in the EEPROM (i.e. which byte 12 | // we're going to write to next) 13 | int addr = 0; 14 | 15 | void setup() 16 | { 17 | EEPROM.begin(512); 18 | } 19 | 20 | void loop() 21 | { 22 | // need to divide by 4 because analog inputs range from 23 | // 0 to 1023 and each byte of the EEPROM can only hold a 24 | // value from 0 to 255. 25 | int val = analogRead(A0) / 4; 26 | 27 | // write the value to the appropriate byte of the EEPROM. 28 | // these values will remain there when the board is 29 | // turned off. 30 | EEPROM.write(addr, val); 31 | 32 | // advance to the next address. there are 512 bytes in 33 | // the EEPROM, so go back to 0 when we hit 512. 34 | // save all changes to the flash. 35 | addr = addr + 1; 36 | if (addr == 512) 37 | { 38 | addr = 0; 39 | EEPROM.commit(); 40 | } 41 | 42 | delay(100); 43 | } 44 | -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/License.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Seeed Technology Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /cores/esp8266/spiffs/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013-2017 Peter Andersson (pelleplutt1976gmail.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /libraries/ESP8266NetBIOS/ESP8266NetBIOS.h: -------------------------------------------------------------------------------- 1 | // 2 | #ifndef __ESPNBNS_h__ 3 | #define __ESPNBNS_h__ 4 | 5 | #include 6 | 7 | #define NBNS_PORT 137 8 | /** 9 | * @def NBNS_MAX_HOSTNAME_LEN 10 | * @brief maximalni delka NBNS jmena zarizeni 11 | * @remarks 12 | * Jmeno zarizeni musi byt uvedeno VELKYMI pismenami a nesmi obsahovat mezery (whitespaces). 13 | */ 14 | #define NBNS_MAX_HOSTNAME_LEN 16 15 | 16 | struct udp_pcb; 17 | struct pbuf; 18 | struct ip_addr; 19 | 20 | class ESP8266NetBIOS 21 | { 22 | protected: 23 | udp_pcb* _pcb; 24 | char _name[NBNS_MAX_HOSTNAME_LEN + 1]; 25 | void _getnbname(char *nbname, char *name, uint8_t maxlen); 26 | void _makenbname(char *name, char *nbname, uint8_t outlen); 27 | void _recv(udp_pcb *upcb, pbuf *pb, struct ip_addr *addr, uint16_t port); 28 | static void _s_recv(void *arg, udp_pcb *upcb, pbuf *p, struct ip_addr *addr, uint16_t port); 29 | public: 30 | ESP8266NetBIOS(); 31 | ~ESP8266NetBIOS(); 32 | bool begin(const char *name); 33 | void end(); 34 | }; 35 | 36 | #if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_NETBIOS) 37 | extern ESP8266NetBIOS NBNS; 38 | #endif 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /libraries/ESP8266NetBIOS/examples/ESP_NBNST/ESP_NBNST.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | const char* ssid = "............"; 6 | const char* password = ".............."; 7 | 8 | ESP8266WebServer wwwserver(80); 9 | String content; 10 | 11 | static void handleRoot(void) 12 | { 13 | content = F("\nHello world from ESP8266"); 14 | content += F("

"); 15 | content += F(""); 16 | 17 | wwwserver.send(200, F("text/html"), content); 18 | } 19 | 20 | void setup() 21 | { 22 | Serial.begin(115200); 23 | 24 | // Connect to WiFi network 25 | WiFi.begin(ssid, password); 26 | Serial.println(""); 27 | 28 | // Wait for connection 29 | while (WiFi.status() != WL_CONNECTED) { 30 | delay(500); 31 | Serial.print("."); 32 | } 33 | Serial.println(""); 34 | Serial.print("Connected to "); 35 | Serial.println(ssid); 36 | Serial.print("IP address: "); 37 | Serial.println(WiFi.localIP()); 38 | 39 | 40 | wwwserver.on("/", handleRoot); 41 | wwwserver.begin(); 42 | 43 | NBNS.begin("ESP"); 44 | } 45 | 46 | void loop() 47 | { 48 | wwwserver.handleClient(); 49 | } 50 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/sys/wait.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_WAIT_H 2 | #define _SYS_WAIT_H 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include 9 | 10 | #define WNOHANG 1 11 | #define WUNTRACED 2 12 | 13 | /* A status looks like: 14 | <2 bytes info> <2 bytes code> 15 | 16 | == 0, child has exited, info is the exit value 17 | == 1..7e, child has exited, info is the signal number. 18 | == 7f, child has stopped, info was the signal number. 19 | == 80, there was a core dump. 20 | */ 21 | 22 | #define WIFEXITED(w) (((w) & 0xff) == 0) 23 | #define WIFSIGNALED(w) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f)) 24 | #define WIFSTOPPED(w) (((w) & 0xff) == 0x7f) 25 | #define WEXITSTATUS(w) (((w) >> 8) & 0xff) 26 | #define WTERMSIG(w) ((w) & 0x7f) 27 | #define WSTOPSIG WEXITSTATUS 28 | 29 | pid_t wait (int *); 30 | pid_t waitpid (pid_t, int *, int); 31 | 32 | #ifdef _COMPILING_NEWLIB 33 | pid_t _wait (int *); 34 | #endif 35 | 36 | /* Provide prototypes for most of the _ names that are 37 | provided in newlib for some compilers. */ 38 | pid_t _wait (int *); 39 | 40 | #ifdef __cplusplus 41 | }; 42 | #endif 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /libraries/ESP8266HTTPUpdateServer/examples/WebUpdater/WebUpdater.ino: -------------------------------------------------------------------------------- 1 | /* 2 | To upload through terminal you can use: curl -F "image=@firmware.bin" esp8266-webupdate.local/update 3 | */ 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | const char* host = "esp8266-webupdate"; 12 | const char* ssid = "........"; 13 | const char* password = "........"; 14 | 15 | ESP8266WebServer httpServer(80); 16 | ESP8266HTTPUpdateServer httpUpdater; 17 | 18 | void setup(void){ 19 | 20 | Serial.begin(115200); 21 | Serial.println(); 22 | Serial.println("Booting Sketch..."); 23 | WiFi.mode(WIFI_AP_STA); 24 | WiFi.begin(ssid, password); 25 | 26 | while(WiFi.waitForConnectResult() != WL_CONNECTED){ 27 | WiFi.begin(ssid, password); 28 | Serial.println("WiFi failed, retrying."); 29 | } 30 | 31 | MDNS.begin(host); 32 | 33 | httpUpdater.setup(&httpServer); 34 | httpServer.begin(); 35 | 36 | MDNS.addService("http", "tcp", 80); 37 | Serial.printf("HTTPUpdateServer ready! Open http://%s.local/update in your browser\n", host); 38 | } 39 | 40 | void loop(void){ 41 | httpServer.handleClient(); 42 | } 43 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/wctype.h: -------------------------------------------------------------------------------- 1 | #ifndef _WCTYPE_H_ 2 | #define _WCTYPE_H_ 3 | 4 | #include <_ansi.h> 5 | #include 6 | 7 | #define __need_wint_t 8 | #include 9 | 10 | #ifndef WEOF 11 | # define WEOF ((wint_t)-1) 12 | #endif 13 | 14 | _BEGIN_STD_C 15 | 16 | #ifndef _WCTYPE_T 17 | #define _WCTYPE_T 18 | typedef int wctype_t; 19 | #endif 20 | 21 | #ifndef _WCTRANS_T 22 | #define _WCTRANS_T 23 | typedef int wctrans_t; 24 | #endif 25 | 26 | int _EXFUN(iswalpha, (wint_t)); 27 | int _EXFUN(iswalnum, (wint_t)); 28 | int _EXFUN(iswblank, (wint_t)); 29 | int _EXFUN(iswcntrl, (wint_t)); 30 | int _EXFUN(iswctype, (wint_t, wctype_t)); 31 | int _EXFUN(iswdigit, (wint_t)); 32 | int _EXFUN(iswgraph, (wint_t)); 33 | int _EXFUN(iswlower, (wint_t)); 34 | int _EXFUN(iswprint, (wint_t)); 35 | int _EXFUN(iswpunct, (wint_t)); 36 | int _EXFUN(iswspace, (wint_t)); 37 | int _EXFUN(iswupper, (wint_t)); 38 | int _EXFUN(iswxdigit, (wint_t)); 39 | wint_t _EXFUN(towctrans, (wint_t, wctrans_t)); 40 | wint_t _EXFUN(towupper, (wint_t)); 41 | wint_t _EXFUN(towlower, (wint_t)); 42 | wctrans_t _EXFUN(wctrans, (const char *)); 43 | wctype_t _EXFUN(wctype, (const char *)); 44 | 45 | _END_STD_C 46 | 47 | #endif /* _WCTYPE_H_ */ 48 | -------------------------------------------------------------------------------- /libraries/GDBStub/README.rst: -------------------------------------------------------------------------------- 1 | Using GDB stub 2 | -------------- 3 | 4 | - Add ``#include `` to the sketch 5 | - Upload the sketch 6 | - Redirect serial port to TCP port: 7 | 8 | :: 9 | 10 | tcp_serial_redirect.py -p /dev/tty.SLAB_USBtoUART -b 115200 --spy -P 9980 --rts=0 --dtr=0 11 | 12 | Change port and baud rate as necessary. This command requires python 13 | and pyserial. 14 | - Observe serial output: 15 | 16 | :: 17 | 18 | nc localhost 9980 19 | 20 | - Once crash happens, close nc and start gdb: 21 | 22 | :: 23 | 24 | xtensa-lx106-elf-gdb /path/to/Sketch.cpp.elf -ex "target remote :9980" 25 | 26 | Or, using the provided gdbcmds file: 27 | 28 | :: 29 | 30 | xtensa-lx106-elf-gdb /path/to/Sketch.cpp.elf -x gdbcmds 31 | 32 | - Use gdb to inspect program state at the point of an exception. 33 | 34 | Tips and tricks 35 | --------------- 36 | 37 | - Upon including GDBStub.h in the sketch, the target is automatically halted when software WDT fires, with 38 | 39 | :: 40 | 41 | *((int*)0) = 0; 42 | 43 | at the top of ``__wrap_system_restart_local`` in 44 | core\_esp8266\_postmortem.c. 45 | 46 | License 47 | ------- 48 | 49 | Espressif MIT License. See License file. 50 | -------------------------------------------------------------------------------- /cores/esp8266/libb64/cencode.h: -------------------------------------------------------------------------------- 1 | /* 2 | cencode.h - c header for a base64 encoding algorithm 3 | 4 | This is part of the libb64 project, and has been placed in the public domain. 5 | For details, see http://sourceforge.net/projects/libb64 6 | */ 7 | 8 | #ifndef BASE64_CENCODE_H 9 | #define BASE64_CENCODE_H 10 | 11 | #define base64_encode_expected_len(n) ((((4 * n) / 3) + 3) & ~3) 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | typedef enum { 18 | step_A, step_B, step_C 19 | } base64_encodestep; 20 | 21 | typedef struct { 22 | base64_encodestep step; 23 | char result; 24 | int stepcount; 25 | int stepsnewline; 26 | } base64_encodestate; 27 | 28 | void base64_init_encodestate(base64_encodestate* state_in); 29 | void base64_init_encodestate_nonewlines(base64_encodestate* state_in); 30 | 31 | char base64_encode_value(char value_in); 32 | 33 | int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, base64_encodestate* state_in); 34 | 35 | int base64_encode_blockend(char* code_out, base64_encodestate* state_in); 36 | 37 | int base64_encode_chars(const char* plaintext_in, int length_in, char* code_out); 38 | 39 | #ifdef __cplusplus 40 | } // extern "C" 41 | #endif 42 | 43 | #endif /* BASE64_CENCODE_H */ 44 | -------------------------------------------------------------------------------- /tests/host/common/Arduino.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Arduino.cpp - Mocks for common Arduino APIs 3 | Copyright © 2016 Ivan Grokhotkov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | */ 15 | 16 | #define CATCH_CONFIG_MAIN 17 | #include 18 | #include 19 | #include "Arduino.h" 20 | 21 | 22 | extern "C" unsigned long millis() 23 | { 24 | timeval time; 25 | gettimeofday(&time, NULL); 26 | return (time.tv_sec * 1000) + (time.tv_usec / 1000); 27 | } 28 | 29 | 30 | extern "C" void yield() 31 | { 32 | } 33 | 34 | 35 | extern "C" void __panic_func(const char* file, int line, const char* func) { 36 | abort(); 37 | } 38 | 39 | extern "C" void delay(unsigned long ms) 40 | { 41 | } 42 | -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/drawCircle/drawCircle.ino: -------------------------------------------------------------------------------- 1 | /* Demo of draw circle's APP 2 | drawCircle(int poX, int poY, int r,INT16U color); 3 | fillCircle(int poX, int poY, int r,INT16U color); 4 | */ 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | void setup() 11 | { 12 | TFT_BL_ON; //turn on the background light 13 | 14 | Tft.TFTinit(); //init TFT library 15 | 16 | Tft.drawCircle(100, 100, 30,YELLOW); //center: (100, 100), r = 30 ,color : YELLOW 17 | 18 | Tft.drawCircle(100, 200, 40,CYAN); // center: (100, 200), r = 10 ,color : CYAN 19 | 20 | Tft.fillCircle(200, 100, 30,RED); //center: (200, 100), r = 30 ,color : RED 21 | 22 | Tft.fillCircle(200, 200, 30,BLUE); //center: (200, 200), r = 30 ,color : BLUE 23 | } 24 | 25 | void loop() 26 | { 27 | 28 | } 29 | 30 | /********************************************************************************************************* 31 | END FILE 32 | *********************************************************************************************************/ -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: bash 3 | os: linux 4 | dist: trusty 5 | 6 | env: 7 | - BUILD_TYPE=build 8 | 9 | install: 10 | - pip install --user -r doc/requirements.txt 11 | 12 | script: 13 | - $TRAVIS_BUILD_DIR/tests/common.sh 14 | 15 | deploy: 16 | provider: releases 17 | prerelease: true 18 | skip_cleanup: true 19 | api_key: 20 | secure: A4FBmqyhlzy33oPeZVolg2Q/A3ZcJ3WnRQqQJ3NAPy+qGM5xcboOYtwcLL9vKaHZGfUB7lUP9QVZFGou1Wrmo9DnPvAoe3+XvCaDRGzVMxeIpu7UStbBD4Knbh98tlbMvZCXYRlT4VcusI9bMLK6UWw4sMdPislBh2FEfglTiag= 21 | file_glob: true 22 | file: 23 | - package/versions/$TRAVIS_TAG/esp8266-$TRAVIS_TAG.zip 24 | - package/versions/$TRAVIS_TAG/package_esp8266com_index.json 25 | on: 26 | repo: esp8266/Arduino 27 | tags: true 28 | 29 | notifications: 30 | email: 31 | on_success: change 32 | on_failure: change 33 | webhooks: 34 | urls: 35 | - secure: "dnSY+KA7NK+KD+Z71copmANDUsyVePrZ0iXvXxmqMEQv+lp3j2Z87G5pHn7j0WNcNZrejJqOdbElJ9Q4QESRaAYxTR7cA6ameJeEKHiFJrQtN/4abvoXb9E1CxpL8aNON/xgnqCk+fycOK3nbWWXlJBodzBm7KN64vrcHO7et+M=" 36 | on_success: change # options: [always|never|change] default: always 37 | on_failure: always # options: [always|never|change] default: always 38 | on_start: false # default: false 39 | -------------------------------------------------------------------------------- /libraries/Ethernet/src/EthernetClient.h: -------------------------------------------------------------------------------- 1 | #ifndef ethernetclient_h 2 | #define ethernetclient_h 3 | #include "Arduino.h" 4 | #include "Print.h" 5 | #include "Client.h" 6 | #include "IPAddress.h" 7 | 8 | class EthernetClient : public Client { 9 | 10 | public: 11 | EthernetClient(); 12 | EthernetClient(uint8_t sock); 13 | 14 | uint8_t status(); 15 | virtual int connect(IPAddress ip, uint16_t port); 16 | virtual int connect(const char *host, uint16_t port); 17 | virtual size_t write(uint8_t); 18 | virtual size_t write(const uint8_t *buf, size_t size); 19 | virtual int available(); 20 | virtual int read(); 21 | virtual int read(uint8_t *buf, size_t size); 22 | virtual int peek(); 23 | virtual void flush(); 24 | virtual void stop(); 25 | virtual uint8_t connected(); 26 | virtual operator bool(); 27 | virtual bool operator==(const bool value) { return bool() == value; } 28 | virtual bool operator!=(const bool value) { return bool() != value; } 29 | virtual bool operator==(const EthernetClient&); 30 | virtual bool operator!=(const EthernetClient& rhs) { return !this->operator==(rhs); }; 31 | 32 | friend class EthernetServer; 33 | 34 | using Print::write; 35 | 36 | private: 37 | static uint16_t _srcport; 38 | uint8_t _sock; 39 | }; 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /cores/esp8266/sigma_delta.h: -------------------------------------------------------------------------------- 1 | /* 2 | sigma_delta.h - esp8266 sigma-delta source 3 | 4 | Copyright (c) 2014 Ivan Grokhotkov. All rights reserved. 5 | This file is part of the esp8266 core for Arduino environment. 6 | 7 | This library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Lesser General Public 9 | License as published by the Free Software Foundation; either 10 | version 2.1 of the License, or (at your option) any later version. 11 | 12 | This library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Lesser General Public License for more details. 16 | 17 | You should have received a copy of the GNU Lesser General Public 18 | License along with this library; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef SIGMA_DELTA_H 23 | #define SIGMA_DELTA_H 24 | 25 | #include 26 | 27 | void sigma_delta_close(uint32_t gpio); 28 | void set_sigma_target(uint8_t target); 29 | void set_sigma_prescale(uint8_t prescale); 30 | void set_sigma_duty_312KHz(uint8_t duty); 31 | 32 | #endif//SIGMA_DELTA_H 33 | -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/text/text.ino: -------------------------------------------------------------------------------- 1 | /* draw text's APP 2 | drawChar(INT8U ascii,INT16U poX, INT16U poY,INT16U size, INT16U fgcolor); 3 | drawString(char *string,INT16U poX, INT16U poY,INT16U size,INT16U fgcolor); 4 | */ 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | void setup() 11 | { 12 | TFT_BL_ON; // turn on the background light 13 | Tft.TFTinit(); // init TFT library 14 | 15 | Tft.drawChar('S',0,0,1,RED); // draw char: 'S', (0, 0), size: 1, color: RED 16 | 17 | Tft.drawChar('E',10,10,2,BLUE); // draw char: 'E', (10, 10), size: 2, color: BLUE 18 | 19 | Tft.drawChar('E',20,40,3,GREEN); // draw char: 'E', (20, 40), size: 3, color: GREEN 20 | 21 | Tft.drawChar('E',30,80,4,YELLOW); // draw char: 'E', (30, 80), size: 4, color: YELLOW 22 | 23 | Tft.drawChar('D',40,120,4,YELLOW); // draw char: 'D', (40, 120), size: 4, color: YELLOW 24 | 25 | Tft.drawString("Hello",0,180,3,CYAN); // draw string: "hello", (0, 180), size: 3, color: CYAN 26 | 27 | Tft.drawString("World!!",60,220,4,WHITE); // draw string: "world!!", (80, 230), size: 4, color: WHITE 28 | 29 | 30 | } 31 | 32 | void loop() 33 | { 34 | 35 | } 36 | -------------------------------------------------------------------------------- /libraries/ESP8266SSDP/README.rst: -------------------------------------------------------------------------------- 1 | ESP8266 Simple Service Discovery Copyright (c) 2015 Hristo Gochkov 2 | Original (Arduino) version by Filippo Sallemi, July 23, 2014. Can be 3 | found at: https://github.com/nomadnt/uSSDP 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a 6 | copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included 14 | in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 17 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /libraries/Servo/examples/Sweep/Sweep.ino: -------------------------------------------------------------------------------- 1 | /* Sweep 2 | by BARRAGAN 3 | This example code is in the public domain. 4 | 5 | modified 28 May 2015 6 | by Michael C. Miller 7 | modified 8 Nov 2013 8 | by Scott Fitzgerald 9 | 10 | http://arduino.cc/en/Tutorial/Sweep 11 | */ 12 | 13 | #include 14 | 15 | Servo myservo; // create servo object to control a servo 16 | // twelve servo objects can be created on most boards 17 | 18 | 19 | void setup() 20 | { 21 | myservo.attach(2); // attaches the servo on GIO2 to the servo object 22 | } 23 | 24 | void loop() 25 | { 26 | int pos; 27 | 28 | for(pos = 0; pos <= 180; pos += 1) // goes from 0 degrees to 180 degrees 29 | { // in steps of 1 degree 30 | myservo.write(pos); // tell servo to go to position in variable 'pos' 31 | delay(15); // waits 15ms for the servo to reach the position 32 | } 33 | for(pos = 180; pos>=0; pos-=1) // goes from 180 degrees to 0 degrees 34 | { 35 | myservo.write(pos); // tell servo to go to position in variable 'pos' 36 | delay(15); // waits 15ms for the servo to reach the position 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /tests/host/common/spiffs_mock.h: -------------------------------------------------------------------------------- 1 | /* 2 | spiffs_mock.h - SPIFFS HAL mock for host side testing 3 | Copyright © 2016 Ivan Grokhotkov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | */ 15 | 16 | #ifndef spiffs_mock_hpp 17 | #define spiffs_mock_hpp 18 | 19 | #include 20 | #include 21 | #include 22 | #include 23 | 24 | class SpiffsMock { 25 | public: 26 | SpiffsMock(size_t fs_size, size_t fs_block, size_t fs_page); 27 | void reset(); 28 | ~SpiffsMock(); 29 | 30 | protected: 31 | std::vector m_fs; 32 | }; 33 | 34 | #define SPIFFS_MOCK_DECLARE(size_kb, block_kb, page_b) SpiffsMock spiffs_mock(size_kb * 1024, block_kb * 1024, page_b) 35 | #define SPIFFS_MOCK_RESET() spiffs_mock.reset() 36 | 37 | 38 | #endif /* spiffs_mock_hpp */ 39 | -------------------------------------------------------------------------------- /bootloaders/eboot/flash.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2015 Ivan Grokhotkov. All rights reserved. 2 | * This file is part of eboot bootloader. 3 | * 4 | * Redistribution and use is permitted according to the conditions of the 5 | * 3-clause BSD license to be found in the LICENSE file. 6 | */ 7 | 8 | #ifndef FLASH_H 9 | #define FLASH_H 10 | 11 | int SPIEraseBlock(uint32_t block); 12 | int SPIEraseSector(uint32_t sector); 13 | int SPIRead(uint32_t addr, void *dest, size_t size); 14 | int SPIWrite(uint32_t addr, void *src, size_t size); 15 | int SPIEraseAreaEx(const uint32_t start, const uint32_t size); 16 | 17 | #define FLASH_SECTOR_SIZE 0x1000 18 | #define FLASH_BLOCK_SIZE 0x10000 19 | #define APP_START_OFFSET 0x1000 20 | 21 | typedef struct { 22 | unsigned char magic; 23 | unsigned char num_segments; 24 | 25 | /* SPI Flash Interface (0 = QIO, 1 = QOUT, 2 = DIO, 0x3 = DOUT) */ 26 | unsigned char flash_mode; 27 | 28 | /* High four bits: 0 = 512K, 1 = 256K, 2 = 1M, 3 = 2M, 4 = 4M, 29 | Low four bits: 0 = 40MHz, 1= 26MHz, 2 = 20MHz, 0xf = 80MHz */ 30 | unsigned char flash_size_freq; 31 | 32 | uint32_t entry; 33 | } image_header_t; 34 | 35 | 36 | typedef struct { 37 | uint32_t address; 38 | uint32_t size; 39 | } section_header_t; 40 | 41 | 42 | 43 | #endif //FLASH_H 44 | -------------------------------------------------------------------------------- /cores/esp8266/core_esp8266_features.h: -------------------------------------------------------------------------------- 1 | /* 2 | core_esp8266_features.h - list of features integrated in to ESP8266 core 3 | 4 | Copyright (c) 2014 Ivan Grokhotkov. All rights reserved. 5 | This file is part of the esp8266 core for Arduino environment. 6 | 7 | This library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Lesser General Public 9 | License as published by the Free Software Foundation; either 10 | version 2.1 of the License, or (at your option) any later version. 11 | 12 | This library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Lesser General Public License for more details. 16 | 17 | You should have received a copy of the GNU Lesser General Public 18 | License along with this library; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | */ 22 | 23 | 24 | #ifndef CORE_ESP8266_FEATURES_H 25 | #define CORE_ESP8266_FEATURES_H 26 | 27 | 28 | #define CORE_HAS_LIBB64 29 | #define CORE_HAS_BASE64_CLASS 30 | #define CORE_HAS_CXA_GUARD 31 | #define CORE_HAS_UMM 32 | 33 | #define WIFI_HAS_EVENT_CALLBACK 34 | 35 | 36 | 37 | 38 | #endif 39 | 40 | -------------------------------------------------------------------------------- /cores/esp8266/wiring_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | wiring_private.h - Internal header file. 3 | Part of Arduino - http://www.arduino.cc/ 4 | 5 | Copyright (c) 2005-2006 David A. Mellis 6 | 7 | This library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Lesser General Public 9 | License as published by the Free Software Foundation; either 10 | version 2.1 of the License, or (at your option) any later version. 11 | 12 | This library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Lesser General Public License for more details. 16 | 17 | You should have received a copy of the GNU Lesser General 18 | Public License along with this library; if not, write to the 19 | Free Software Foundation, Inc., 59 Temple Place, Suite 330, 20 | Boston, MA 02111-1307 USA 21 | 22 | $Id: wiring.h 239 2007-01-12 17:58:39Z mellis $ 23 | */ 24 | 25 | #ifndef WiringPrivate_h 26 | #define WiringPrivate_h 27 | 28 | #include 29 | #include 30 | 31 | #include "Arduino.h" 32 | 33 | #ifdef __cplusplus 34 | extern "C" { 35 | #endif 36 | 37 | typedef void (*voidFuncPtr)(void); 38 | 39 | void initPins(); 40 | 41 | #ifdef __cplusplus 42 | } // extern "C" 43 | #endif 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /libraries/Ticker/examples/TickerBasic/TickerBasic.ino: -------------------------------------------------------------------------------- 1 | /* 2 | Basic Ticker usage 3 | 4 | Ticker is an object that will call a given function with a certain period. 5 | Each Ticker calls one function. You can have as many Tickers as you like, 6 | memory being the only limitation. 7 | 8 | A function may be attached to a ticker and detached from the ticker. 9 | There are two variants of the attach function: attach and attach_ms. 10 | The first one takes period in seconds, the second one in milliseconds. 11 | 12 | The built-in LED will be blinking. 13 | */ 14 | 15 | #include 16 | 17 | Ticker flipper; 18 | 19 | int count = 0; 20 | 21 | void flip() 22 | { 23 | int state = digitalRead(LED_BUILTIN); // get the current state of GPIO1 pin 24 | digitalWrite(LED_BUILTIN, !state); // set pin to the opposite state 25 | 26 | ++count; 27 | // when the counter reaches a certain value, start blinking like crazy 28 | if (count == 20) 29 | { 30 | flipper.attach(0.1, flip); 31 | } 32 | // when the counter reaches yet another value, stop blinking 33 | else if (count == 120) 34 | { 35 | flipper.detach(); 36 | } 37 | } 38 | 39 | void setup() { 40 | pinMode(LED_BUILTIN, OUTPUT); 41 | digitalWrite(LED_BUILTIN, LOW); 42 | 43 | // flip the pin every 0.3s 44 | flipper.attach(0.3, flip); 45 | } 46 | 47 | void loop() { 48 | } 49 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/_syslist.h: -------------------------------------------------------------------------------- 1 | /* internal use only -- mapping of "system calls" for libraries that lose 2 | and only provide C names, so that we end up in violation of ANSI */ 3 | #ifndef __SYSLIST_H 4 | #define __SYSLIST_H 5 | 6 | #ifdef MISSING_SYSCALL_NAMES 7 | #define _close close 8 | #define _execve execve 9 | #define _fcntl fcntl 10 | #define _fork fork 11 | #define _fstat fstat 12 | #define _getpid getpid 13 | #define _gettimeofday gettimeofday 14 | #define _isatty isatty 15 | #define _kill kill 16 | #define _link link 17 | #define _lseek lseek 18 | #define _mkdir mkdir 19 | #define _open open 20 | #define _read read 21 | #define _sbrk sbrk 22 | #define _stat stat 23 | #define _times times 24 | #define _unlink unlink 25 | #define _wait wait 26 | #define _write write 27 | #endif /* MISSING_SYSCALL_NAMES */ 28 | 29 | #if defined MISSING_SYSCALL_NAMES || !defined HAVE_OPENDIR 30 | /* If the system call interface is missing opendir, readdir, and 31 | closedir, there is an implementation of these functions in 32 | libc/posix that is implemented using open, getdents, and close. 33 | Note, these functions are currently not in the libc/syscalls 34 | directory. */ 35 | #define _opendir opendir 36 | #define _readdir readdir 37 | #define _closedir closedir 38 | #endif /* MISSING_SYSCALL_NAMES || !HAVE_OPENDIR */ 39 | 40 | #endif /* !__SYSLIST_H_ */ 41 | -------------------------------------------------------------------------------- /libraries/DNSServer/examples/DNSServer/DNSServer.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | const byte DNS_PORT = 53; 6 | IPAddress apIP(192, 168, 1, 1); 7 | DNSServer dnsServer; 8 | ESP8266WebServer webServer(80); 9 | 10 | void setup() { 11 | WiFi.mode(WIFI_AP); 12 | WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0)); 13 | WiFi.softAP("DNSServer example"); 14 | 15 | // modify TTL associated with the domain name (in seconds) 16 | // default is 60 seconds 17 | dnsServer.setTTL(300); 18 | // set which return code will be used for all other domains (e.g. sending 19 | // ServerFailure instead of NonExistentDomain will reduce number of queries 20 | // sent by clients) 21 | // default is DNSReplyCode::NonExistentDomain 22 | dnsServer.setErrorReplyCode(DNSReplyCode::ServerFailure); 23 | 24 | // start DNS server for a specific domain name 25 | dnsServer.start(DNS_PORT, "www.example.com", apIP); 26 | 27 | // simple HTTP server to see that DNS server is working 28 | webServer.onNotFound([]() { 29 | String message = "Hello World!\n\n"; 30 | message += "URI: "; 31 | message += webServer.uri(); 32 | 33 | webServer.send(200, "text/plain", message); 34 | }); 35 | webServer.begin(); 36 | } 37 | 38 | void loop() { 39 | dnsServer.processNextRequest(); 40 | webServer.handleClient(); 41 | } 42 | -------------------------------------------------------------------------------- /tools/sdk/lwip/include/lwip/puck_def.h: -------------------------------------------------------------------------------- 1 | /* 2 | * puck_def.h 3 | * 4 | * Created on: Jul 22, 2010 5 | * Author: dtoma 6 | */ 7 | 8 | #ifndef PUCK_DEF_H_ 9 | #define PUCK_DEF_H_ 10 | 11 | 12 | 13 | #define INSTRUMENT_PORT 8760 14 | 15 | #define INSTRUMENT_LENGTH 80 16 | 17 | #define MDNS_NAME_LENGTH 68 //68 18 | 19 | char* PUCK_SERVICE = NULL; 20 | //#define PUCK_SERVICE "_Escpressif._tcp.local" 21 | #define DNS_SD_SERVICE "_services._dns-sd._udp.local" 22 | #define SERVICE_DESCRIPTION "PUCK PROTOCOL" 23 | #define PUCK_SERVICE_LENGTH 30 24 | 25 | #define UUID_LEN 16 26 | #define DS_VERS_LEN 2 27 | #define DS_SIZE_LEN 2 28 | #define MAN_ID_LEN 4 29 | #define MAN_MODEL_LEN 2 30 | #define MAN_VERS_LEN 2 31 | #define SER_NUM_LEN 4 32 | #define NAME_LEN 64 33 | #define PUCK_DATASHEET_SIZE 96 34 | 35 | #define UUID_OFFSET 0 36 | #define DS_VERS_OFFSET UUID_LEN + UUID_OFFSET 37 | #define DS_SIZE_OFFSET DS_VERS_LEN + DS_VERS_OFFSET 38 | #define MAN_ID_OFFSET DS_SIZE_LEN + DS_SIZE_OFFSET 39 | #define MAN_MODEL_OFFSET MAN_ID_LEN + MAN_ID_OFFSET 40 | #define MAN_VERS_OFFSET MAN_MODEL_LEN + MAN_MODEL_OFFSET 41 | #define SER_NUM_OFFSET MAN_VERS_LEN + MAN_VERS_OFFSET 42 | #define NAME_OFFSET SER_NUM_LEN + SER_NUM_OFFSET 43 | 44 | #endif /* __PUCK_DEF_H__ */ 45 | -------------------------------------------------------------------------------- /bootloaders/eboot/Makefile: -------------------------------------------------------------------------------- 1 | XTENSA_TOOLCHAIN ?= ../../tools/xtensa-lx106-elf/bin/ 2 | ESPTOOL ?= ../../tools/esptool/esptool 3 | 4 | BIN_DIR := ./ 5 | TARGET_DIR := ./ 6 | 7 | TARGET_OBJ_FILES := \ 8 | eboot.o \ 9 | eboot_command.o \ 10 | 11 | 12 | TARGET_OBJ_PATHS := $(addprefix $(TARGET_DIR)/,$(TARGET_OBJ_FILES)) 13 | 14 | CC := $(XTENSA_TOOLCHAIN)xtensa-lx106-elf-gcc 15 | CXX := $(XTENSA_TOOLCHAIN)xtensa-lx106-elf-g++ 16 | AR := $(XTENSA_TOOLCHAIN)xtensa-lx106-elf-ar 17 | LD := $(XTENSA_TOOLCHAIN)xtensa-lx106-elf-gcc 18 | OBJDUMP := $(XTENSA_TOOLCHAIN)xtensa-lx106-elf-objdump 19 | 20 | 21 | CFLAGS += -std=gnu99 22 | 23 | CFLAGS += -O0 -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mno-text-section-literals 24 | 25 | LDFLAGS += -nostdlib -Wl,--no-check-sections -umain 26 | 27 | LD_SCRIPT := -Teboot.ld 28 | 29 | APP_OUT:= eboot.elf 30 | APP_AR := eboot.a 31 | APP_FW := eboot.bin 32 | 33 | all: $(APP_FW) 34 | 35 | $(APP_AR): $(TARGET_OBJ_PATHS) 36 | $(AR) cru $@ $^ 37 | 38 | 39 | $(APP_OUT): $(APP_AR) 40 | $(LD) $(LD_SCRIPT) $(LDFLAGS) -Wl,--start-group -Wl,--whole-archive $(APP_AR) -Wl,--end-group -o $@ 41 | 42 | $(APP_FW): $(APP_OUT) 43 | $(ESPTOOL) -vvv -eo $(APP_OUT) -bo $@ -bs .text -bs .data -bs .rodata -bc -ec || true 44 | 45 | 46 | clean: 47 | rm -f *.o 48 | rm -f $(APP_AR) 49 | rm -f $(APP_OUT) 50 | 51 | 52 | .PHONY: all clean default 53 | -------------------------------------------------------------------------------- /tests/device/test_WiFiServer/test_WiFiServer.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | 9 | BS_ENV_DECLARE(); 10 | 11 | void setup() 12 | { 13 | Serial.begin(115200); 14 | WiFi.persistent(false); 15 | WiFi.begin(STA_SSID, STA_PASS); 16 | while (WiFi.status() != WL_CONNECTED) { 17 | delay(500); 18 | } 19 | MDNS.begin("esp8266-wfs-test"); 20 | BS_RUN(Serial); 21 | } 22 | 23 | TEST_CASE("Simple echo server", "[WiFiServer]") 24 | { 25 | const uint32_t timeout = 10000; 26 | const uint16_t port = 5000; 27 | const int maxRequests = 5; 28 | const int minRequestLength = 128; 29 | WiFiServer server(port); 30 | server.begin(); 31 | auto start = millis(); 32 | 33 | int replyCount = 0; 34 | while (millis() - start < timeout) { 35 | delay(50); 36 | WiFiClient client = server.available(); 37 | if (!client) { 38 | continue; 39 | } 40 | String request = client.readStringUntil('\n'); 41 | CHECK(request.length() >= minRequestLength); 42 | client.print(request); 43 | client.print('\n'); 44 | if (++replyCount == maxRequests) { 45 | break; 46 | } 47 | } 48 | CHECK(replyCount == maxRequests); 49 | } 50 | 51 | void loop() 52 | { 53 | } 54 | 55 | -------------------------------------------------------------------------------- /variants/arduino_spi/pins_arduino.h: -------------------------------------------------------------------------------- 1 | /* 2 | pins_arduino.h - Pin definition functions for Arduino 3 | Part of Arduino - http://www.arduino.cc/ 4 | 5 | Copyright (c) 2007 David A. Mellis 6 | Modified for ESP8266 platform by Ivan Grokhotkov, 2014-2015. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2.1 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General 19 | Public License along with this library; if not, write to the 20 | Free Software Foundation, Inc., 59 Temple Place, Suite 330, 21 | Boston, MA 02111-1307 USA 22 | 23 | $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ 24 | */ 25 | 26 | /* 27 | Modified 23 March 2017 28 | by Sergio Tomasello and Andrea Cannistrá 29 | */ 30 | 31 | #ifndef Pins_Arduino_h 32 | #define Pins_Arduino_h 33 | 34 | #include "../generic/common.h" 35 | 36 | static const uint8_t LED_BUILTIN = 2; 37 | static const uint8_t BUILTIN_LED = 2; 38 | 39 | #endif /* Pins_Arduino_h */ 40 | -------------------------------------------------------------------------------- /cores/esp8266/StreamString.h: -------------------------------------------------------------------------------- 1 | /** 2 | StreamString.h 3 | 4 | Copyright (c) 2015 Markus Sattler. All rights reserved. 5 | This file is part of the esp8266 core for Arduino environment. 6 | 7 | This library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Lesser General Public 9 | License as published by the Free Software Foundation; either 10 | version 2.1 of the License, or (at your option) any later version. 11 | 12 | This library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Lesser General Public License for more details. 16 | 17 | You should have received a copy of the GNU Lesser General Public 18 | License along with this library; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | */ 22 | 23 | #ifndef STREAMSTRING_H_ 24 | #define STREAMSTRING_H_ 25 | 26 | 27 | class StreamString: public Stream, public String { 28 | public: 29 | size_t write(const uint8_t *buffer, size_t size) override; 30 | size_t write(uint8_t data) override; 31 | 32 | int available() override; 33 | int read() override; 34 | int peek() override; 35 | void flush() override; 36 | }; 37 | 38 | 39 | #endif /* STREAMSTRING_H_ */ 40 | -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/drawLines/drawLines.ino: -------------------------------------------------------------------------------- 1 | /* Demo of draw line's APP 2 | drawLine(unsigned int x0,unsigned int y0,unsigned int x1,unsigned int y1,unsigned int color); 3 | drawVerticalLine(unsigned int poX, unsigned int poY,unsigned int length,unsigned int color); 4 | drawHorizontalLine(unsigned int poX, unsigned int poY,unsigned int length,unsigned int color); 5 | */ 6 | 7 | #include 8 | #include 9 | #include 10 | void setup() 11 | { 12 | TFT_BL_ON; // turn on the background light 13 | Tft.TFTinit(); //init TFT library 14 | 15 | Tft.drawLine(0,0,239,319,RED); //start: (0, 0) end: (239, 319), color : RED 16 | 17 | Tft.drawVerticalLine(60,100,100,GREEN); // Draw a vertical line 18 | // start: (60, 100) length: 100 color: green 19 | 20 | Tft.drawHorizontalLine(30,60,150,BLUE); //Draw a horizontal line 21 | //start: (30, 60), high: 150, color: blue 22 | } 23 | 24 | void loop() 25 | { 26 | 27 | } 28 | 29 | /********************************************************************************************************* 30 | END FILE 31 | *********************************************************************************************************/ -------------------------------------------------------------------------------- /variants/arduino_uart/pins_arduino.h: -------------------------------------------------------------------------------- 1 | /* 2 | pins_arduino.h - Pin definition functions for Arduino 3 | Part of Arduino - http://www.arduino.cc/ 4 | 5 | Copyright (c) 2007 David A. Mellis 6 | Modified for ESP8266 platform by Ivan Grokhotkov, 2014-2015. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2.1 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General 19 | Public License along with this library; if not, write to the 20 | Free Software Foundation, Inc., 59 Temple Place, Suite 330, 21 | Boston, MA 02111-1307 USA 22 | 23 | $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ 24 | */ 25 | 26 | /* 27 | Modified 23 March 2017 28 | by Sergio Tomasello and Andrea Cannistrá 29 | */ 30 | 31 | #ifndef Pins_Arduino_h 32 | #define Pins_Arduino_h 33 | 34 | #include "../generic/common.h" 35 | 36 | static const uint8_t LED_BUILTIN = 14; 37 | static const uint8_t BUILTIN_LED = 14; 38 | 39 | #endif /* Pins_Arduino_h */ 40 | -------------------------------------------------------------------------------- /tests/device/libraries/BSTest/src/BSArduino.h: -------------------------------------------------------------------------------- 1 | #ifndef BS_ARDUINO_H 2 | #define BS_ARDUINO_H 3 | 4 | #include 5 | namespace bs 6 | { 7 | class ArduinoIOHelper 8 | { 9 | public: 10 | ArduinoIOHelper(Stream& stream) : m_stream(stream) 11 | { 12 | } 13 | 14 | size_t printf(const char *format, ...) 15 | { 16 | va_list arg; 17 | va_start(arg, format); 18 | char temp[128]; 19 | char* buffer = temp; 20 | size_t len = vsnprintf(temp, sizeof(temp), format, arg); 21 | va_end(arg); 22 | if (len > sizeof(temp) - 1) { 23 | buffer = new char[len + 1]; 24 | if (!buffer) { 25 | return 0; 26 | } 27 | va_start(arg, format); 28 | ets_vsnprintf(buffer, len + 1, format, arg); 29 | va_end(arg); 30 | } 31 | len = m_stream.write((const uint8_t*) buffer, len); 32 | if (buffer != temp) { 33 | delete[] buffer; 34 | } 35 | return len; 36 | } 37 | 38 | bool read_int(int& result) 39 | { 40 | // TODO: fix this for 0 value 41 | result = m_stream.parseInt(); 42 | return result != 0; 43 | } 44 | 45 | protected: 46 | Stream& m_stream; 47 | }; 48 | 49 | typedef ArduinoIOHelper IOHelper; 50 | 51 | inline void fatal() { 52 | ESP.restart(); 53 | } 54 | 55 | } // namespace bs 56 | 57 | #endif //BS_ARDUINO_H 58 | -------------------------------------------------------------------------------- /libraries/ESP8266WiFi/examples/WiFiScan/WiFiScan.ino: -------------------------------------------------------------------------------- 1 | /* 2 | * This sketch demonstrates how to scan WiFi networks. 3 | * The API is almost the same as with the WiFi Shield library, 4 | * the most obvious difference being the different file you need to include: 5 | */ 6 | #include "ESP8266WiFi.h" 7 | 8 | void setup() { 9 | Serial.begin(115200); 10 | 11 | // Set WiFi to station mode and disconnect from an AP if it was previously connected 12 | WiFi.mode(WIFI_STA); 13 | WiFi.disconnect(); 14 | delay(100); 15 | 16 | Serial.println("Setup done"); 17 | } 18 | 19 | void loop() { 20 | Serial.println("scan start"); 21 | 22 | // WiFi.scanNetworks will return the number of networks found 23 | int n = WiFi.scanNetworks(); 24 | Serial.println("scan done"); 25 | if (n == 0) 26 | Serial.println("no networks found"); 27 | else 28 | { 29 | Serial.print(n); 30 | Serial.println(" networks found"); 31 | for (int i = 0; i < n; ++i) 32 | { 33 | // Print SSID and RSSI for each network found 34 | Serial.print(i + 1); 35 | Serial.print(": "); 36 | Serial.print(WiFi.SSID(i)); 37 | Serial.print(" ("); 38 | Serial.print(WiFi.RSSI(i)); 39 | Serial.print(")"); 40 | Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE)?" ":"*"); 41 | delay(10); 42 | } 43 | } 44 | Serial.println(""); 45 | 46 | // Wait a bit before scanning again 47 | delay(5000); 48 | } 49 | -------------------------------------------------------------------------------- /doc/eclipse/makefile.init: -------------------------------------------------------------------------------- 1 | vecho := @echo 2 | Q := @ 3 | 4 | PROJECT_NAME=project_name 5 | 6 | OTA_IP=192.168.254.100 7 | OTA_PORT=8266 8 | 9 | SERIAL_PORT=COM3 10 | SERIAL_BAUD=230400 11 | 12 | ARDUINO_BASE = D:/Coding/avr/Programme/arduino-nightly 13 | ESP8266_BASE = $(ARDUINO_BASE)/hardware/esp8266com/esp8266 14 | ESP8266_TOOLS = $(ESP8266_BASE)/tools 15 | XTENSA_TOOLS_ROOT = $(ESP8266_TOOLS)/xtensa-lx106-elf/bin 16 | 17 | PYTHON_BIN = python 18 | ESPTOOL_PY_BIN = $(ESP8266_TOOLS)/esptool.py 19 | ESPOTA_PY_BIN = $(ESP8266_TOOLS)/espota.py 20 | ESPTOOL_BIN = $(ESP8266_TOOLS)/esptool/esptool.exe 21 | 22 | ota: 23 | $(vecho) ota... 24 | $(PYTHON_BIN) $(ESPOTA_PY_BIN) -i $(OTA_IP) -p $(OTA_PORT) --auth= -f ./$(PROJECT_NAME).bin 25 | 26 | ota_spiffs: 27 | $(vecho) ota spiffs... 28 | $(PYTHON_BIN) $(ESPOTA_PY_BIN) -i $(OTA_IP) -p $(OTA_PORT) --auth= -s -f ./$(PROJECT_NAME)_spiffs.bin 29 | 30 | erase_flash: 31 | $(vecho) "Erase Flash" 32 | $(PYTHON_BIN) $(ESPTOOL_PY_BIN) -p $(SERIAL_PORT) -b $(SERIAL_BAUD) erase_flash 33 | 34 | dumpmem: 35 | $(vecho) "Read Flash need some time..." 36 | $(PYTHON_BIN) $(ESPTOOL_PY_BIN) -p $(SERIAL_PORT) -b $(SERIAL_BAUD) read_flash 0 4194304 dump.bin 37 | 38 | objdump: 39 | "$(XTENSA_TOOLS_ROOT)/xtensa-lx106-elf-objdump" -S $(PROJECT_NAME).elf > $(PROJECT_NAME).dobj 40 | -------------------------------------------------------------------------------- /libraries/Ethernet/src/Ethernet.h: -------------------------------------------------------------------------------- 1 | #ifndef ethernet_h 2 | #define ethernet_h 3 | 4 | #include 5 | //#include "w5100.h" 6 | #include "IPAddress.h" 7 | #include "EthernetClient.h" 8 | #include "EthernetServer.h" 9 | #include "Dhcp.h" 10 | 11 | #define MAX_SOCK_NUM 4 12 | 13 | class EthernetClass { 14 | private: 15 | IPAddress _dnsServerAddress; 16 | DhcpClass* _dhcp; 17 | public: 18 | static uint8_t _state[MAX_SOCK_NUM]; 19 | static uint16_t _server_port[MAX_SOCK_NUM]; 20 | // Initialise the Ethernet shield to use the provided MAC address and gain the rest of the 21 | // configuration through DHCP. 22 | // Returns 0 if the DHCP configuration failed, and 1 if it succeeded 23 | int begin(uint8_t *mac_address); 24 | void begin(uint8_t *mac_address, IPAddress local_ip); 25 | void begin(uint8_t *mac_address, IPAddress local_ip, IPAddress dns_server); 26 | void begin(uint8_t *mac_address, IPAddress local_ip, IPAddress dns_server, IPAddress gateway); 27 | void begin(uint8_t *mac_address, IPAddress local_ip, IPAddress dns_server, IPAddress gateway, IPAddress subnet); 28 | int maintain(); 29 | 30 | IPAddress localIP(); 31 | IPAddress subnetMask(); 32 | IPAddress gatewayIP(); 33 | IPAddress dnsServerIP(); 34 | 35 | friend class EthernetClient; 36 | friend class EthernetServer; 37 | }; 38 | 39 | #if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_ETHERNET) 40 | extern EthernetClass Ethernet; 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /cores/esp8266/umm_malloc/umm_malloc.h: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------------- 2 | * umm_malloc.h - a memory allocator for embedded systems (microcontrollers) 3 | * 4 | * See copyright notice in LICENSE.TXT 5 | * ---------------------------------------------------------------------------- 6 | */ 7 | 8 | #ifndef UMM_MALLOC_H 9 | #define UMM_MALLOC_H 10 | 11 | /* ------------------------------------------------------------------------ */ 12 | 13 | #include "umm_malloc_cfg.h" /* user-dependent */ 14 | 15 | #ifdef __cplusplus 16 | extern "C" { 17 | #endif 18 | 19 | typedef struct UMM_HEAP_INFO_t { 20 | unsigned short int totalEntries; 21 | unsigned short int usedEntries; 22 | unsigned short int freeEntries; 23 | 24 | unsigned short int totalBlocks; 25 | unsigned short int usedBlocks; 26 | unsigned short int freeBlocks; 27 | 28 | unsigned short int maxFreeContiguousBlocks; 29 | } 30 | UMM_HEAP_INFO; 31 | 32 | extern UMM_HEAP_INFO ummHeapInfo; 33 | 34 | void umm_init( void ); 35 | 36 | void *umm_info( void *ptr, int force ); 37 | 38 | void *umm_malloc( size_t size ); 39 | void *umm_calloc( size_t num, size_t size ); 40 | void *umm_realloc( void *ptr, size_t size ); 41 | void umm_free( void *ptr ); 42 | 43 | size_t umm_free_heap_size( void ); 44 | 45 | #ifdef __cplusplus 46 | } 47 | #endif 48 | 49 | /* ------------------------------------------------------------------------ */ 50 | 51 | #endif /* UMM_MALLOC_H */ 52 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/assert.h: -------------------------------------------------------------------------------- 1 | /* 2 | assert.h 3 | */ 4 | 5 | #ifdef __cplusplus 6 | extern "C" { 7 | #endif 8 | 9 | #include "_ansi.h" 10 | #include 11 | 12 | #undef assert 13 | 14 | #ifdef NDEBUG /* required by ANSI standard */ 15 | # define assert(__e) ((void)0) 16 | #else 17 | # define assert(__e) ((__e) ? (void)0 : __assert_func (PSTR(__FILE__), __LINE__, \ 18 | __ASSERT_FUNC, #__e)) 19 | 20 | # ifndef __ASSERT_FUNC 21 | /* Use g++'s demangled names in C++. */ 22 | # if defined __cplusplus && defined __GNUC__ 23 | # define __ASSERT_FUNC __PRETTY_FUNCTION__ 24 | 25 | /* C99 requires the use of __func__. */ 26 | # elif __STDC_VERSION__ >= 199901L 27 | # define __ASSERT_FUNC __func__ 28 | 29 | /* Older versions of gcc don't have __func__ but can use __FUNCTION__. */ 30 | # elif __GNUC__ >= 2 31 | # define __ASSERT_FUNC __FUNCTION__ 32 | 33 | /* failed to detect __func__ support. */ 34 | # else 35 | # define __ASSERT_FUNC ((char *) 0) 36 | # endif 37 | # endif /* !__ASSERT_FUNC */ 38 | #endif /* !NDEBUG */ 39 | 40 | void _EXFUN(__assert, (const char *, int, const char *) 41 | _ATTRIBUTE ((__noreturn__))); 42 | void _EXFUN(__assert_func, (const char *, int, const char *, const char *) 43 | _ATTRIBUTE ((__noreturn__))); 44 | 45 | #if __STDC_VERSION__ >= 201112L && !defined __cplusplus 46 | # define static_assert _Static_assert 47 | #endif 48 | 49 | #ifdef __cplusplus 50 | } 51 | #endif 52 | -------------------------------------------------------------------------------- /variants/generic/pins_arduino.h: -------------------------------------------------------------------------------- 1 | /* 2 | pins_arduino.h - Pin definition functions for Arduino 3 | Part of Arduino - http://www.arduino.cc/ 4 | 5 | Copyright (c) 2007 David A. Mellis 6 | Modified for ESP8266 platform by Ivan Grokhotkov, 2014-2015. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2.1 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General 19 | Public License along with this library; if not, write to the 20 | Free Software Foundation, Inc., 59 Temple Place, Suite 330, 21 | Boston, MA 02111-1307 USA 22 | 23 | $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ 24 | */ 25 | 26 | #ifndef Pins_Arduino_h 27 | #define Pins_Arduino_h 28 | 29 | #include "common.h" 30 | 31 | #define PIN_WIRE_SDA (4) 32 | #define PIN_WIRE_SCL (5) 33 | 34 | static const uint8_t SDA = PIN_WIRE_SDA; 35 | static const uint8_t SCL = PIN_WIRE_SCL; 36 | 37 | static const uint8_t BUILTIN_LED = 1; 38 | static const uint8_t LED_BUILTIN = 1; 39 | 40 | #endif /* Pins_Arduino_h */ 41 | -------------------------------------------------------------------------------- /cores/esp8266/core_esp8266_wiring_analog.c: -------------------------------------------------------------------------------- 1 | /* 2 | analog.c - analogRead implementation for esp8266 3 | 4 | Copyright (c) 2015 Hristo Gochkov. All rights reserved. 5 | This file is part of the esp8266 core for Arduino environment. 6 | 7 | This library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Lesser General Public 9 | License as published by the Free Software Foundation; either 10 | version 2.1 of the License, or (at your option) any later version. 11 | 12 | This library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Lesser General Public License for more details. 16 | 17 | You should have received a copy of the GNU Lesser General Public 18 | License along with this library; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | 22 | 18/06/2015 analogRead bugfix by Testato 23 | */ 24 | 25 | #include "wiring_private.h" 26 | #include "pins_arduino.h" 27 | 28 | 29 | extern int __analogRead(uint8_t pin) 30 | { 31 | // accept both A0 constant and ADC channel number 32 | if(pin == 17 || pin == 0) { 33 | return system_adc_read(); 34 | } 35 | return digitalRead(pin) * 1023; 36 | } 37 | 38 | extern int analogRead(uint8_t pin) __attribute__ ((weak, alias("__analogRead"))); 39 | -------------------------------------------------------------------------------- /libraries/Ethernet/src/Dns.h: -------------------------------------------------------------------------------- 1 | // Arduino DNS client for WizNet5100-based Ethernet shield 2 | // (c) Copyright 2009-2010 MCQN Ltd. 3 | // Released under Apache License, version 2.0 4 | 5 | #ifndef DNSClient_h 6 | #define DNSClient_h 7 | 8 | #include 9 | 10 | class DNSClient 11 | { 12 | public: 13 | // ctor 14 | void begin(const IPAddress& aDNSServer); 15 | 16 | /** Convert a numeric IP address string into a four-byte IP address. 17 | @param aIPAddrString IP address to convert 18 | @param aResult IPAddress structure to store the returned IP address 19 | @result 1 if aIPAddrString was successfully converted to an IP address, 20 | else error code 21 | */ 22 | int inet_aton(const char *aIPAddrString, IPAddress& aResult); 23 | 24 | /** Resolve the given hostname to an IP address. 25 | @param aHostname Name to be resolved 26 | @param aResult IPAddress structure to store the returned IP address 27 | @result 1 if aIPAddrString was successfully converted to an IP address, 28 | else error code 29 | */ 30 | int getHostByName(const char* aHostname, IPAddress& aResult); 31 | 32 | protected: 33 | uint16_t BuildRequest(const char* aName); 34 | uint16_t ProcessResponse(uint16_t aTimeout, IPAddress& aAddress); 35 | 36 | IPAddress iDNSServer; 37 | uint16_t iRequestId; 38 | EthernetUDP iUdp; 39 | }; 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /tests/device/test_WiFiServer/test_WiFiServer.py: -------------------------------------------------------------------------------- 1 | from mock_decorators import setup, teardown 2 | from threading import Thread 3 | import socket 4 | import time 5 | 6 | stop_client_thread = False 7 | client_thread = None 8 | 9 | @setup('Simple echo server') 10 | def setup_echo_server(e): 11 | global stop_client_thread 12 | global client_thread 13 | def echo_client_thread(): 14 | server_address = socket.gethostbyname('esp8266-wfs-test.local') 15 | count = 0 16 | while count < 5 and not stop_client_thread: 17 | sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 18 | sock.connect((server_address, 5000)) 19 | sock.settimeout(1.0) 20 | buf = 'a' * 1023 + '\n' 21 | sock.sendall(buf) 22 | data = '' 23 | retries = 0 24 | while len(data) < 1024 and retries < 3: 25 | data += sock.recv(1024) 26 | retries += 1 27 | print 'Received {} bytes'.format(len(data)) 28 | if len(data) != 1024: 29 | raise RuntimeError('client failed to receive response') 30 | count += 1 31 | 32 | stop_client_thread = False 33 | client_thread = Thread(target=echo_client_thread) 34 | client_thread.start() 35 | 36 | @teardown('Simple echo server') 37 | def teardown_echo_server(e): 38 | global stop_client_thread 39 | stop_client_thread = True 40 | client_thread.join() 41 | 42 | 43 | -------------------------------------------------------------------------------- /variants/thing/pins_arduino.h: -------------------------------------------------------------------------------- 1 | /* 2 | pins_arduino.h - Pin definition functions for Arduino 3 | Part of Arduino - http://www.arduino.cc/ 4 | 5 | Copyright (c) 2007 David A. Mellis 6 | Modified for ESP8266 platform by Ivan Grokhotkov, 2014-2015. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2.1 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General 19 | Public License along with this library; if not, write to the 20 | Free Software Foundation, Inc., 59 Temple Place, Suite 330, 21 | Boston, MA 02111-1307 USA 22 | 23 | $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ 24 | */ 25 | 26 | #ifndef Pins_Arduino_h 27 | #define Pins_Arduino_h 28 | 29 | #include "../generic/common.h" 30 | 31 | #define PIN_WIRE_SDA (2) 32 | #define PIN_WIRE_SCL (14) 33 | 34 | static const uint8_t SDA = PIN_WIRE_SDA; 35 | static const uint8_t SCL = PIN_WIRE_SCL; 36 | 37 | static const uint8_t LED_BUILTIN = 5; 38 | static const uint8_t BUILTIN_LED = 5; 39 | 40 | #endif /* Pins_Arduino_h */ 41 | -------------------------------------------------------------------------------- /tools/sdk/lwip/src/Makefile: -------------------------------------------------------------------------------- 1 | TOOLCHAIN_DIR ?= ../../../xtensa-lx106-elf 2 | TOOLS_PATH ?= $(TOOLCHAIN_DIR)/bin/xtensa-lx106-elf- 3 | LWIP_LIB ?= liblwip_src.a 4 | SDK_PATH ?= $(abspath ../../) 5 | 6 | BUILD_PATH = build 7 | LWIP_SRCS = $(patsubst %.c,$(BUILD_PATH)/%.o,$(wildcard */*.c)) $(patsubst %.c,$(BUILD_PATH)/%.o,$(wildcard */*/*.c)) 8 | 9 | LWIP_INCLUDE = -Ibuild -I$(SDK_PATH)/include -I$(SDK_PATH)/lwip/include 10 | BUILD_FLAGS = -c -Os -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -std=gnu99 -ffunction-sections -fdata-sections 11 | BUILD_DEFINES = -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -DLWIP_OPEN_SRC 12 | 13 | ifdef WITH_DEBUG_PREFIX_MAP 14 | EXTRA_FLAGS = -fdebug-prefix-map=$(PWD)= -fdebug-prefix-map=$(TOOLCHAIN_DIR)=xtensa-lx106-elf -gno-record-gcc-switches 15 | endif 16 | 17 | CC=$(TOOLS_PATH)gcc 18 | AR=$(TOOLS_PATH)ar 19 | 20 | $(BUILD_PATH)/%.h: 21 | @mkdir -p $(dir $@) 22 | @touch $@ 23 | 24 | $(BUILD_PATH)/%.o: %.c 25 | @mkdir -p $(dir $@) 26 | $(CC) $(BUILD_FLAGS) $(BUILD_DEFINES) $(LWIP_INCLUDE) $(EXTRA_FLAGS) $< -o $@ 27 | 28 | $(LWIP_LIB): $(BUILD_PATH)/user_config.h $(LWIP_SRCS) 29 | $(AR) cru $(LWIP_LIB) $(LWIP_SRCS) 30 | 31 | all: $(LWIP_LIB) 32 | 33 | install: all 34 | cp -f $(LWIP_LIB) $(SDK_PATH)/lib/$(LWIP_LIB) 35 | 36 | release: all 37 | cp -f $(LWIP_LIB) $(SDK_PATH)/lib/liblwip_gcc.a 38 | 39 | clean: 40 | @rm -rf $(BUILD_PATH) $(LWIP_LIB) 41 | -------------------------------------------------------------------------------- /variants/espinotee/pins_arduino.h: -------------------------------------------------------------------------------- 1 | /* 2 | pins_arduino.h - Pin definition functions for Arduino 3 | Part of Arduino - http://www.arduino.cc/ 4 | 5 | Copyright (c) 2007 David A. Mellis 6 | Modified for ESP8266 platform by Ivan Grokhotkov, 2014-2015. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2.1 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General 19 | Public License along with this library; if not, write to the 20 | Free Software Foundation, Inc., 59 Temple Place, Suite 330, 21 | Boston, MA 02111-1307 USA 22 | 23 | $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ 24 | */ 25 | 26 | #ifndef Pins_Arduino_h 27 | #define Pins_Arduino_h 28 | 29 | #include "../generic/common.h" 30 | 31 | #define PIN_WIRE_SDA (4) 32 | #define PIN_WIRE_SCL (5) 33 | 34 | static const uint8_t SDA = PIN_WIRE_SDA; 35 | static const uint8_t SCL = PIN_WIRE_SCL; 36 | 37 | static const uint8_t BUILTIN_LED = 16; 38 | static const uint8_t LED_BUILTIN = 16; 39 | 40 | #endif /* Pins_Arduino_h */ 41 | -------------------------------------------------------------------------------- /cores/esp8266/Printable.h: -------------------------------------------------------------------------------- 1 | /* 2 | Printable.h - Interface class that allows printing of complex types 3 | Copyright (c) 2011 Adrian McEwen. All right reserved. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | */ 19 | 20 | #ifndef Printable_h 21 | #define Printable_h 22 | 23 | #include 24 | 25 | class Print; 26 | 27 | /** The Printable class provides a way for new classes to allow themselves to be printed. 28 | By deriving from Printable and implementing the printTo method, it will then be possible 29 | for users to print out instances of this class by passing them into the usual 30 | Print::print and Print::println methods. 31 | */ 32 | 33 | class Printable { 34 | public: 35 | virtual size_t printTo(Print& p) const = 0; 36 | }; 37 | 38 | #endif 39 | 40 | -------------------------------------------------------------------------------- /libraries/ESP8266WiFiMesh/examples/HelloMesh/HelloMesh.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | unsigned int request_i = 0; 5 | unsigned int response_i = 0; 6 | 7 | String manageRequest(String request); 8 | 9 | /* Create the mesh node object */ 10 | ESP8266WiFiMesh mesh_node = ESP8266WiFiMesh(ESP.getChipId(), manageRequest); 11 | 12 | /** 13 | * Callback for when other nodes send you data 14 | * 15 | * @request The string received from another node in the mesh 16 | * @returns The string to send back to the other node 17 | */ 18 | String manageRequest(String request) 19 | { 20 | /* Print out received message */ 21 | Serial.print("received: "); 22 | Serial.println(request); 23 | 24 | /* return a string to send back */ 25 | char response[60]; 26 | sprintf(response, "Hello world response #%d from Mesh_Node%d.", response_i++, ESP.getChipId()); 27 | return response; 28 | } 29 | 30 | void setup() 31 | { 32 | Serial.begin(115200); 33 | delay(10); 34 | 35 | Serial.println(); 36 | Serial.println(); 37 | Serial.println("Setting up mesh node..."); 38 | 39 | /* Initialise the mesh node */ 40 | mesh_node.begin(); 41 | } 42 | 43 | void loop() 44 | { 45 | /* Accept any incoming connections */ 46 | mesh_node.acceptRequest(); 47 | 48 | /* Scan for other nodes and send them a message */ 49 | char request[60]; 50 | sprintf(request, "Hello world request #%d from Mesh_Node%d.", request_i++, ESP.getChipId()); 51 | mesh_node.attemptScan(request); 52 | delay(1000); 53 | } 54 | --------------------------------------------------------------------------------