├── .gitignore ├── .travis.yml ├── ISSUE_TEMPLATE.md ├── LICENSE ├── README.md ├── boards.txt ├── bootloaders └── eboot │ ├── LICENSE │ ├── Makefile │ ├── eboot.c │ ├── eboot.elf │ ├── eboot.ld │ ├── eboot_command.c │ ├── eboot_command.h │ ├── flash.c │ ├── flash.h │ └── rom.ld ├── cores └── esp8266 │ ├── Arduino.h │ ├── Client.h │ ├── Esp.cpp │ ├── Esp.h │ ├── FS.cpp │ ├── FS.h │ ├── FSImpl.h │ ├── HardwareSerial.cpp │ ├── HardwareSerial.h │ ├── IPAddress.cpp │ ├── IPAddress.h │ ├── MD5Builder.cpp │ ├── MD5Builder.h │ ├── Print.cpp │ ├── Print.h │ ├── Printable.h │ ├── Schedule.cpp │ ├── Schedule.h │ ├── Server.h │ ├── Stream.cpp │ ├── Stream.h │ ├── StreamString.cpp │ ├── StreamString.h │ ├── Tone.cpp │ ├── Udp.h │ ├── Updater.cpp │ ├── Updater.h │ ├── WCharacter.h │ ├── WMath.cpp │ ├── WString.cpp │ ├── WString.h │ ├── abi.cpp │ ├── base64.cpp │ ├── base64.h │ ├── binary.h │ ├── cbuf.cpp │ ├── cbuf.h │ ├── cont.S │ ├── cont.h │ ├── cont_util.c │ ├── core_esp8266_eboot_command.c │ ├── core_esp8266_features.h │ ├── core_esp8266_flash_utils.c │ ├── core_esp8266_i2s.c │ ├── core_esp8266_main.cpp │ ├── core_esp8266_noniso.c │ ├── core_esp8266_phy.c │ ├── core_esp8266_postmortem.c │ ├── core_esp8266_si2c.c │ ├── core_esp8266_sigma_delta.c.unused │ ├── core_esp8266_timer.c │ ├── core_esp8266_wiring.c │ ├── core_esp8266_wiring_analog.c │ ├── core_esp8266_wiring_digital.c │ ├── core_esp8266_wiring_pulse.c │ ├── core_esp8266_wiring_pwm.c │ ├── core_esp8266_wiring_shift.c │ ├── core_version.h │ ├── debug.cpp │ ├── debug.h │ ├── eboot_command.h │ ├── esp8266_peri.h │ ├── flash_utils.h │ ├── heap.c │ ├── i2s.h │ ├── interrupts.h │ ├── libb64 │ ├── AUTHORS │ ├── LICENSE │ ├── cdecode.c │ ├── cdecode.h │ ├── cencode.c │ └── cencode.h │ ├── libc_replacements.c │ ├── md5.h │ ├── pgmspace.cpp │ ├── pgmspace.h │ ├── sigma_delta.h │ ├── spiffs │ ├── LICENSE │ ├── README.md │ ├── TECH_SPEC │ ├── TODO │ ├── spiffs.h │ ├── spiffs_cache.c │ ├── spiffs_check.c │ ├── spiffs_config.h │ ├── spiffs_gc.c │ ├── spiffs_hydrogen.c │ ├── spiffs_nucleus.c │ └── spiffs_nucleus.h │ ├── spiffs_api.cpp │ ├── spiffs_api.h │ ├── spiffs_hal.cpp │ ├── stdlib_noniso.h │ ├── time.c │ ├── twi.h │ ├── uart.c │ ├── uart.h │ ├── umm_malloc │ ├── LICENSE │ ├── README.md │ ├── umm_malloc.c │ ├── umm_malloc.h │ └── umm_malloc_cfg.h │ ├── user_config.h │ └── wiring_private.h ├── doc ├── .gitignore ├── ESP01_connect.jpg ├── ESP_improved_stability.png ├── ESP_min.png ├── ESP_to_serial.png ├── Makefile ├── PROGMEM.rst ├── Troubleshooting │ ├── ESP_Exception_Decoderp.png │ ├── debug_level.png │ ├── debug_port.png │ ├── debugging.rst │ └── stack_dump.rst ├── _static │ └── .keep ├── boards.rst ├── changes.rst ├── conf.py ├── eclipse │ ├── 1_Install_New_Software.png │ ├── 2_Install_software.png │ ├── eclipse.rst │ └── makefile.init ├── esp12.png ├── esp12.svg ├── esp8266_tcp_active_close.png ├── esp8266wifi │ ├── client-class.rst │ ├── client-examples.rst │ ├── client-secure-class.rst │ ├── client-secure-examples.rst │ ├── generic-class.rst │ ├── generic-examples.rst │ ├── pictures │ │ ├── client-example-domain.png │ │ ├── client-secure-check-fingerprint.png │ │ ├── doxygen-class-index.png │ │ ├── doxygen-esp8266wifi-documentation.png │ │ ├── doxygen-example-station-begin.png │ │ ├── doxygen-example-station-hostname.png │ │ ├── doxygen-example-udp-begin.png │ │ ├── esp8266-arduino-build-status-json.png │ │ ├── esp8266-arduino-build-status-travisci.png │ │ ├── esp8266-client-secure.png │ │ ├── esp8266-client.png │ │ ├── esp8266-server.png │ │ ├── esp8266-soft-access-point.png │ │ ├── esp8266-station-soft-access-point.png │ │ ├── esp8266-station.png │ │ ├── server-browser-output.png │ │ ├── udp-packet-sender.png │ │ └── wifi-simple-connect-terminal.png │ ├── readme.rst │ ├── scan-class.rst │ ├── scan-examples.rst │ ├── server-class.rst │ ├── server-examples.rst │ ├── soft-access-point-class.rst │ ├── soft-access-point-examples.rst │ ├── station-class.rst │ ├── station-examples.rst │ ├── udp-class.rst │ └── udp-examples.rst ├── exception_causes.rst ├── faq │ ├── a01-espcomm_sync-failed.rst │ ├── a02-my-esp-crashes.rst │ ├── a03-library-does-not-work.rst │ ├── a04-board-generic-is-unknown.rst │ ├── pictures │ │ ├── a01-board-selection.png │ │ ├── a01-boot-mode-decoding.png │ │ ├── a01-circuit-ck-reset.fzz │ │ ├── a01-circuit-ck-reset.png │ │ ├── a01-circuit-nodemcu-reset.fzz │ │ ├── a01-circuit-nodemcu-reset.png │ │ ├── a01-espcomm_open-failed.png │ │ ├── a01-espcomm_sync-failed.png │ │ ├── a01-example-boards-with-usb.png │ │ ├── a01-example-boards-without-usb.png │ │ ├── a01-nodemcu-reset-implementation.png │ │ ├── a01-reset-ck-closeup.png │ │ ├── a01-reset-ck-complete-1-retry.png │ │ ├── a01-reset-ck-complete.png │ │ ├── a01-reset-nodemcu-closeup.png │ │ ├── a01-reset-nodemcu-complete-2-retries.png │ │ ├── a01-reset-nodemcu-complete.png │ │ ├── a01-secondary-serial-hookup.fzz │ │ ├── a01-secondary-serial-hookup.png │ │ ├── a01-serial-port-selection.png │ │ ├── a01-serial-speed-selection.png │ │ ├── a01-test-stand.jpg │ │ ├── a01-usb-to-serial-loop-back.png │ │ ├── a02-decode-stack-tace-1-2.png │ │ ├── a02-decode-stack-tace-3-6.png │ │ ├── a02-exception-cause-decoding.png │ │ ├── a02-hw-watchdog-example.png │ │ ├── a02-sw-watchdog-example.png │ │ ├── a02-typical-crash-log.png │ │ ├── a04-arduino-ide-preferences.png │ │ ├── a04-board-is-unknown-error.png │ │ ├── a04-contents-of-package-folder.png │ │ ├── a04-contents-of-preferences-folder.png │ │ ├── a04-remove-package-no.png │ │ └── a04-remove-package-yes.png │ └── readme.rst ├── filesystem.rst ├── index.rst ├── installing.rst ├── libraries.rst ├── ota_updates │ ├── a-ota-external-serial-terminal-output-failed.png │ ├── a-ota-external-serial-terminal-output.png │ ├── a-ota-network-terminal.png │ ├── a-ota-ota-port-selection.png │ ├── a-ota-ota-upload-complete.png │ ├── a-ota-ota-upload-configuration.png │ ├── a-ota-python-configuration.png │ ├── a-ota-serial-upload-configuration.png │ ├── a-ota-sketch-selection.png │ ├── a-ota-ssid-pass-entry.png │ ├── a-ota-upload-complete-and-joined-wifi.png │ ├── a-ota-upload-password-authenticating-ok.png │ ├── a-ota-upload-password-passing-again-upload-ok.png │ ├── a-ota-upload-password-passing-upload-ok.png │ ├── a-ota-upload-password-prompt.png │ ├── ota-web-browser-form-ok.png │ ├── ota-web-browser-form.png │ ├── ota-web-path-to-binary.png │ ├── ota-web-serial-monitor-ready.png │ ├── ota-web-serial-monitor-reboot.png │ ├── ota-web-show-verbose-compilation.png │ ├── readme.rst │ ├── termite-configuration.png │ └── update_memory_copy.png ├── pin_functions.png ├── reference.rst ├── reference_items.yml ├── requirements.txt └── rgisters_dump.txt ├── libraries ├── ArduinoOTA │ ├── ArduinoOTA.cpp │ ├── ArduinoOTA.h │ ├── examples │ │ ├── BasicOTA │ │ │ └── BasicOTA.ino │ │ └── OTALeds │ │ │ └── OTALeds.ino │ ├── keywords.txt │ └── library.properties ├── DNSServer │ ├── examples │ │ ├── CaptivePortal │ │ │ └── CaptivePortal.ino │ │ ├── CaptivePortalAdvanced │ │ │ ├── CaptivePortalAdvanced.ino │ │ │ ├── credentials.ino │ │ │ ├── handleHttp.ino │ │ │ └── tools.ino │ │ └── DNSServer │ │ │ └── DNSServer.ino │ ├── library.properties │ └── src │ │ ├── DNSServer.cpp │ │ └── DNSServer.h ├── EEPROM │ ├── EEPROM.cpp │ ├── EEPROM.h │ ├── examples │ │ ├── eeprom_clear │ │ │ └── eeprom_clear.ino │ │ ├── eeprom_read │ │ │ └── eeprom_read.ino │ │ └── eeprom_write │ │ │ └── eeprom_write.ino │ ├── keywords.txt │ └── library.properties ├── ESP8266AVRISP │ ├── README.rst │ ├── examples │ │ └── Arduino_Wifi_AVRISP │ │ │ └── Arduino_Wifi_AVRISP.ino │ ├── library.properties │ └── src │ │ ├── ESP8266AVRISP.cpp │ │ ├── ESP8266AVRISP.h │ │ └── command.h ├── ESP8266HTTPClient │ ├── examples │ │ ├── Authorization │ │ │ └── Authorization.ino │ │ ├── BasicHttpClient │ │ │ └── BasicHttpClient.ino │ │ ├── ReuseConnection │ │ │ └── ReuseConnection.ino │ │ └── StreamHttpClient │ │ │ └── StreamHttpClient.ino │ ├── library.properties │ └── src │ │ ├── ESP8266HTTPClient.cpp │ │ └── ESP8266HTTPClient.h ├── ESP8266HTTPUpdateServer │ ├── examples │ │ ├── SecureWebUpdater │ │ │ └── SecureWebUpdater.ino │ │ └── WebUpdater │ │ │ └── WebUpdater.ino │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── ESP8266HTTPUpdateServer.cpp │ │ └── ESP8266HTTPUpdateServer.h ├── ESP8266LLMNR │ ├── ESP8266LLMNR.cpp │ ├── ESP8266LLMNR.h │ ├── README.md │ ├── examples │ │ └── LLMNR_Web_Server │ │ │ └── LLMNR_Web_Server.ino │ └── keywords.txt ├── ESP8266NetBIOS │ ├── ESP8266NetBIOS.cpp │ ├── ESP8266NetBIOS.h │ ├── examples │ │ └── ESP_NBNST │ │ │ └── ESP_NBNST.ino │ ├── keywords.txt │ └── library.properties ├── ESP8266SSDP │ ├── ESP8266SSDP.cpp │ ├── ESP8266SSDP.h │ ├── README.rst │ ├── examples │ │ └── SSDP │ │ │ └── SSDP.ino │ └── keywords.txt ├── ESP8266WebServer │ ├── examples │ │ ├── AdvancedWebServer │ │ │ └── AdvancedWebServer.ino │ │ ├── FSBrowser │ │ │ ├── FSBrowser.ino │ │ │ └── data │ │ │ │ ├── edit.htm.gz │ │ │ │ ├── favicon.ico │ │ │ │ ├── graphs.js.gz │ │ │ │ └── index.htm │ │ ├── HelloServer │ │ │ └── HelloServer.ino │ │ ├── HttpBasicAuth │ │ │ └── HttpBasicAuth.ino │ │ ├── SDWebServer │ │ │ ├── SDWebServer.ino │ │ │ └── SdRoot │ │ │ │ ├── edit │ │ │ │ └── index.htm │ │ │ │ ├── index.htm │ │ │ │ └── pins.png │ │ ├── SimpleAuthentification │ │ │ └── SimpleAuthentification.ino │ │ └── WebUpdate │ │ │ └── WebUpdate.ino │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── ESP8266WebServer.cpp │ │ ├── ESP8266WebServer.h │ │ ├── Parsing.cpp │ │ └── detail │ │ ├── RequestHandler.h │ │ └── RequestHandlersImpl.h ├── ESP8266WiFi │ ├── examples │ │ ├── HTTPSRequest │ │ │ └── HTTPSRequest.ino │ │ ├── HTTPSRequestCACert │ │ │ ├── CACert.ino │ │ │ └── HTTPSRequestCACert.ino │ │ ├── NTPClient │ │ │ └── NTPClient.ino │ │ ├── WiFiAccessPoint │ │ │ └── WiFiAccessPoint.ino │ │ ├── WiFiClient │ │ │ └── WiFiClient.ino │ │ ├── WiFiClientBasic │ │ │ └── WiFiClientBasic.ino │ │ ├── WiFiEvents │ │ │ └── WiFiEvents.ino │ │ ├── WiFiMulti │ │ │ └── WiFiMulti.ino │ │ ├── WiFiScan │ │ │ └── WiFiScan.ino │ │ ├── WiFiTelnetToSerial │ │ │ └── WiFiTelnetToSerial.ino │ │ └── WiFiWebServer │ │ │ └── WiFiWebServer.ino │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── ESP8266WiFi.cpp │ │ ├── ESP8266WiFi.h │ │ ├── ESP8266WiFiAP.cpp │ │ ├── ESP8266WiFiAP.h │ │ ├── ESP8266WiFiGeneric.cpp │ │ ├── ESP8266WiFiGeneric.h │ │ ├── ESP8266WiFiMulti.cpp │ │ ├── ESP8266WiFiMulti.h │ │ ├── ESP8266WiFiSTA.cpp │ │ ├── ESP8266WiFiSTA.h │ │ ├── ESP8266WiFiScan.cpp │ │ ├── ESP8266WiFiScan.h │ │ ├── ESP8266WiFiType.h │ │ ├── WiFiClient.cpp │ │ ├── WiFiClient.h │ │ ├── WiFiClientSecure.cpp │ │ ├── WiFiClientSecure.h │ │ ├── WiFiServer.cpp │ │ ├── WiFiServer.h │ │ ├── WiFiUdp.cpp │ │ ├── WiFiUdp.h │ │ └── include │ │ ├── ClientContext.h │ │ ├── DataSource.h │ │ ├── UdpContext.h │ │ ├── slist.h │ │ ├── ssl.h │ │ └── wl_definitions.h ├── ESP8266WiFiMesh │ ├── examples │ │ └── HelloMesh │ │ │ └── HelloMesh.ino │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── ESP8266WiFiMesh.cpp │ │ └── ESP8266WiFiMesh.h ├── ESP8266httpUpdate │ ├── examples │ │ ├── httpUpdate │ │ │ └── httpUpdate.ino │ │ └── httpUpdateSPIFFS │ │ │ └── httpUpdateSPIFFS.ino │ ├── library.properties │ └── src │ │ ├── ESP8266httpUpdate.cpp │ │ └── ESP8266httpUpdate.h ├── ESP8266mDNS │ ├── ESP8266mDNS.cpp │ ├── ESP8266mDNS.h │ ├── README.rst │ ├── examples │ │ ├── OTA-mDNS-SPIFFS │ │ │ ├── OTA-mDNS-SPIFFS.ino │ │ │ └── data │ │ │ │ └── cl_conf.txt │ │ ├── mDNS-SD_Extended │ │ │ └── mDNS-SD_Extended.ino │ │ └── mDNS_Web_Server │ │ │ └── mDNS_Web_Server.ino │ └── keywords.txt ├── Ethernet │ ├── README.adoc │ ├── examples │ │ ├── AdvancedChatServer │ │ │ └── AdvancedChatServer.ino │ │ ├── BarometricPressureWebServer │ │ │ └── BarometricPressureWebServer.ino │ │ ├── ChatServer │ │ │ └── ChatServer.ino │ │ ├── DhcpAddressPrinter │ │ │ └── DhcpAddressPrinter.ino │ │ ├── DhcpChatServer │ │ │ └── DhcpChatServer.ino │ │ ├── TelnetClient │ │ │ └── TelnetClient.ino │ │ ├── UDPSendReceiveString │ │ │ └── UDPSendReceiveString.ino │ │ ├── UdpNtpClient │ │ │ └── UdpNtpClient.ino │ │ ├── WebClient │ │ │ └── WebClient.ino │ │ ├── WebClientRepeating │ │ │ └── WebClientRepeating.ino │ │ ├── WebServer │ │ │ └── WebServer.ino │ │ └── udpntpclient_pedantic │ │ │ ├── RFC1305.h │ │ │ ├── UdpNtpClient_Pedantic.ino │ │ │ └── readme.txt │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── Dhcp.cpp │ │ ├── Dhcp.h │ │ ├── Dns.cpp │ │ ├── Dns.h │ │ ├── Ethernet.cpp │ │ ├── Ethernet.h │ │ ├── EthernetClient.cpp │ │ ├── EthernetClient.h │ │ ├── EthernetServer.cpp │ │ ├── EthernetServer.h │ │ ├── EthernetUdp.cpp │ │ ├── EthernetUdp.h │ │ └── utility │ │ ├── socket.cpp │ │ ├── socket.h │ │ ├── util.h │ │ ├── w5100.cpp │ │ └── w5100.h ├── GDBStub │ ├── License │ ├── README-lib.md │ ├── README.rst │ ├── gdbcmds │ ├── library.properties │ └── src │ │ ├── GDBStub.h │ │ ├── internal │ │ ├── gdbstub-cfg.h │ │ ├── gdbstub-entry.S │ │ ├── gdbstub-entry.h │ │ ├── gdbstub.c │ │ └── gdbstub.h │ │ └── xtensa │ │ ├── config │ │ ├── core-isa.h │ │ └── specreg.h │ │ └── corebits.h ├── Hash │ ├── examples │ │ └── sha1 │ │ │ └── sha1.ino │ ├── library.properties │ └── src │ │ ├── Hash.cpp │ │ ├── Hash.h │ │ └── sha1 │ │ ├── sha1.c │ │ └── sha1.h ├── SD │ ├── README.adoc │ ├── examples │ │ ├── CardInfo │ │ │ └── CardInfo.ino │ │ ├── Datalogger │ │ │ └── Datalogger.ino │ │ ├── DumpFile │ │ │ └── DumpFile.ino │ │ ├── Files │ │ │ └── Files.ino │ │ ├── ReadWrite │ │ │ └── ReadWrite.ino │ │ └── listfiles │ │ │ └── listfiles.ino │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── File.cpp │ │ ├── README.txt │ │ ├── SD.cpp │ │ ├── SD.h │ │ └── utility │ │ ├── FatStructs.h │ │ ├── Sd2Card.cpp │ │ ├── Sd2Card.h │ │ ├── Sd2PinMap.h │ │ ├── SdFat.h │ │ ├── SdFatUtil.h │ │ ├── SdFatmainpage.h │ │ ├── SdFile.cpp │ │ ├── SdInfo.h │ │ └── SdVolume.cpp ├── SPI │ ├── SPI.cpp │ ├── SPI.h │ ├── keywords.txt │ └── library.properties ├── SPISlave │ ├── examples │ │ ├── SPISlave_Master │ │ │ └── SPISlave_Master.ino │ │ ├── SPISlave_SafeMaster │ │ │ └── SPISlave_SafeMaster.ino │ │ └── SPISlave_Test │ │ │ └── SPISlave_Test.ino │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── SPISlave.cpp │ │ ├── SPISlave.h │ │ ├── hspi_slave.c │ │ └── hspi_slave.h ├── Servo │ ├── examples │ │ └── Sweep │ │ │ └── Sweep.ino │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── Servo.h │ │ └── esp8266 │ │ ├── Servo.cpp │ │ └── ServoTimers.h ├── TFT_Touch_Shield_V2 │ ├── License.txt │ ├── README.md │ ├── TFTv2.cpp │ ├── TFTv2.h │ ├── examples │ │ ├── drawCircle │ │ │ └── drawCircle.ino │ │ ├── drawLines │ │ │ └── drawLines.ino │ │ ├── drawNumber │ │ │ └── drawNumber.ino │ │ ├── drawRectangle │ │ │ └── drawRectangle.ino │ │ ├── paint │ │ │ ├── .test.skip │ │ │ └── paint.ino │ │ ├── shapes │ │ │ └── shapes.ino │ │ ├── text │ │ │ └── text.ino │ │ ├── tftbmp │ │ │ ├── .test.skip │ │ │ ├── flower.BMP │ │ │ ├── hibiscus.bmp │ │ │ ├── test.bmp │ │ │ └── tftbmp.ino │ │ └── tftbmp2 │ │ │ ├── .test.skip │ │ │ └── tftbmp2.ino │ ├── font.c │ └── keywords.txt ├── Ticker │ ├── Ticker.cpp │ ├── Ticker.h │ ├── examples │ │ ├── TickerBasic │ │ │ └── TickerBasic.ino │ │ └── TickerParameter │ │ │ └── TickerParameter.ino │ ├── keywords.txt │ └── library.properties ├── Wire │ ├── Wire.cpp │ ├── Wire.h │ ├── keywords.txt │ └── library.properties └── esp8266 │ ├── examples │ ├── Blink │ │ └── Blink.ino │ ├── BlinkWithoutDelay │ │ └── BlinkWithoutDelay.ino │ ├── CallSDKFunctions │ │ └── CallSDKFunctions.ino │ ├── CheckFlashConfig │ │ └── CheckFlashConfig.ino │ ├── ConfigFile │ │ └── ConfigFile.ino │ ├── RTCUserMemory │ │ └── RTCUserMemory.ino │ └── TestEspApi │ │ └── TestEspApi.ino │ ├── keywords.txt │ ├── library.properties │ └── src │ └── dummy.h ├── package ├── build_boards_manager_package.sh ├── esp8266-arduino-doc.bash ├── merge_packages.py └── package_esp8266com_index.template.json ├── platform.txt ├── programmers.txt ├── tests ├── .gitignore ├── common.sh ├── device │ ├── .gitignore │ ├── Makefile │ ├── libraries │ │ ├── BSTest │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ ├── library.properties │ │ │ ├── mock_decorators.py │ │ │ ├── requirements.txt │ │ │ ├── runner.py │ │ │ ├── src │ │ │ │ ├── BSArduino.h │ │ │ │ ├── BSProtocol.h │ │ │ │ ├── BSStdio.h │ │ │ │ └── BSTest.h │ │ │ └── test │ │ │ │ └── test.cpp │ │ └── test_config │ │ │ ├── .gitignore │ │ │ ├── library.properties │ │ │ └── test_config.h.template │ ├── test_FS │ │ └── test_FS.ino │ ├── test_Print_printf │ │ └── test_Print_printf.ino │ ├── test_WiFiServer │ │ ├── test_WiFiServer.ino │ │ └── test_WiFiServer.py │ ├── test_WiFi_events │ │ └── test_WiFi_events.ino │ ├── test_http_client │ │ ├── server.crt │ │ ├── server.csr │ │ ├── server.key │ │ ├── test_http_client.ino │ │ └── test_http_client.py │ ├── test_http_server │ │ ├── test_http_server.ino │ │ └── test_http_server.py │ ├── test_newlib │ │ └── test_newlib.ino │ ├── test_overrides │ │ └── test_overrides.ino │ ├── test_random │ │ └── test_random.ino │ ├── test_schedule │ │ └── test_schedule.ino │ ├── test_tests │ │ └── test_tests.ino │ ├── test_time │ │ └── test_time.ino │ └── test_umm_malloc │ │ └── test_umm_malloc.ino └── host │ ├── Makefile │ ├── common │ ├── Arduino.cpp │ ├── Arduino.h │ ├── WMath.cpp │ ├── catch.hpp │ ├── md5.c │ ├── noniso.c │ ├── pins_arduino.h │ ├── spiffs_mock.cpp │ └── spiffs_mock.h │ ├── core │ ├── test_md5builder.cpp │ └── test_pgmspace.cpp │ └── fs │ └── test_fs.cpp ├── tools ├── build.py ├── espota.py ├── get.py └── sdk │ ├── License │ ├── changelog.txt │ ├── include │ ├── airkiss.h │ ├── at_custom.h │ ├── bios │ │ ├── add_funcs.h │ │ ├── cha1.h │ │ ├── ets.h │ │ ├── gpio.h │ │ ├── mem.h │ │ ├── rom_phy.h │ │ ├── rtc_dtm.h │ │ ├── spiflash.h │ │ ├── uart.h │ │ ├── vectors.h │ │ ├── xthal.h │ │ └── xtos.h │ ├── c_types.h │ ├── eagle_soc.h │ ├── espconn.h │ ├── espnow.h │ ├── ets_sys.h │ ├── gpio.h │ ├── hw │ │ ├── eagle_soc.h │ │ ├── eagle_soc_.h │ │ ├── esp8266.h │ │ ├── gpio_register.h │ │ ├── i2s_reg.h │ │ ├── pin_mux_register.h │ │ ├── slc_register.h │ │ ├── specreg.h │ │ ├── spi.h │ │ ├── spi_register.h │ │ ├── timer_register.h │ │ └── uart_register.h │ ├── i2s_reg.h │ ├── ip_addr.h │ ├── json │ │ ├── json.h │ │ ├── jsonparse.h │ │ └── jsontree.h │ ├── mem.h │ ├── mesh.h │ ├── os_type.h │ ├── osapi.h │ ├── ping.h │ ├── pwm.h │ ├── queue.h │ ├── simple_pair.h │ ├── slc_register.h │ ├── smartconfig.h │ ├── sntp.h │ ├── spi_flash.h │ ├── sys │ │ ├── deep_sleep.h │ │ ├── delay.h │ │ ├── fatal_errs.h │ │ ├── libmain.h │ │ ├── loader.h │ │ ├── mem_manager.h │ │ ├── os_printf.h │ │ ├── spi_flash.h │ │ ├── startup.h │ │ ├── timer_us.h │ │ └── wdt.h │ ├── uart_register.h │ ├── upgrade.h │ ├── user_interface.h │ └── wpa2_enterprise.h │ ├── ld │ ├── eagle.app.v6.common.ld │ ├── eagle.app.v6.ld │ ├── eagle.flash.16m.ld │ ├── eagle.flash.1m0.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.4m1m.ld │ ├── eagle.flash.4m_up.ld │ ├── eagle.flash.512k0.ld │ ├── eagle.flash.512k128.ld │ ├── eagle.flash.512k64.ld │ ├── eagle.flash.8m.ld │ └── eagle.rom.addr.v6.ld │ ├── lib │ ├── README.md │ ├── libairkiss.a │ ├── libat.a │ ├── libaxtls.a │ ├── libc_orig.a │ ├── libcrypto.a │ ├── libdriver.a │ ├── libespnow.a │ ├── libgcc.a │ ├── libhal.a │ ├── libjson.a │ ├── libloader.a │ ├── liblwip.a │ ├── liblwip_536.a │ ├── liblwip_gcc.a │ ├── libmain.a │ ├── libmc.a │ ├── libmem.a │ ├── libmesh.a │ ├── libmgcc.a │ ├── libnet80211.a │ ├── libphy.a │ ├── libpp.a │ ├── libpwm.a │ ├── libsmartconfig.a │ ├── libssl.a │ ├── libstdc++.a │ ├── libsys.a │ ├── libupgrade.a │ ├── libuser.a │ ├── libwpa.a │ ├── libwpa2.a │ └── libwps.a │ ├── libc │ └── xtensa-lx106-elf │ │ ├── include │ │ ├── _ansi.h │ │ ├── _syslist.h │ │ ├── alloca.h │ │ ├── ar.h │ │ ├── argz.h │ │ ├── assert.h │ │ ├── complex.h │ │ ├── config.h │ │ ├── ctype.h │ │ ├── dirent.h │ │ ├── envlock.h │ │ ├── envz.h │ │ ├── errno.h │ │ ├── fastmath.h │ │ ├── fcntl.h │ │ ├── fenv.h │ │ ├── fnmatch.h │ │ ├── getopt.h │ │ ├── glob.h │ │ ├── grp.h │ │ ├── iconv.h │ │ ├── ieeefp.h │ │ ├── inttypes.h │ │ ├── langinfo.h │ │ ├── libgen.h │ │ ├── limits.h │ │ ├── locale.h │ │ ├── machine │ │ │ ├── _default_types.h │ │ │ ├── _types.h │ │ │ ├── ansi.h │ │ │ ├── endian.h │ │ │ ├── fastmath.h │ │ │ ├── ieeefp.h │ │ │ ├── malloc.h │ │ │ ├── param.h │ │ │ ├── setjmp-dj.h │ │ │ ├── setjmp.h │ │ │ ├── stdlib.h │ │ │ ├── termios.h │ │ │ ├── time.h │ │ │ └── types.h │ │ ├── malloc.h │ │ ├── math.h │ │ ├── newlib.h │ │ ├── paths.h │ │ ├── pthread.h │ │ ├── pwd.h │ │ ├── reent.h │ │ ├── regdef.h │ │ ├── regex.h │ │ ├── sched.h │ │ ├── search.h │ │ ├── setjmp.h │ │ ├── signal.h │ │ ├── spawn.h │ │ ├── stdatomic.h │ │ ├── stdint.h │ │ ├── stdio.h │ │ ├── stdio_ext.h │ │ ├── stdlib.h │ │ ├── string.h │ │ ├── strings.h │ │ ├── sys │ │ │ ├── _default_fcntl.h │ │ │ ├── _intsup.h │ │ │ ├── _types.h │ │ │ ├── cdefs.h │ │ │ ├── config.h │ │ │ ├── custom_file.h │ │ │ ├── dir.h │ │ │ ├── dirent.h │ │ │ ├── errno.h │ │ │ ├── fcntl.h │ │ │ ├── features.h │ │ │ ├── file.h │ │ │ ├── iconvnls.h │ │ │ ├── lock.h │ │ │ ├── param.h │ │ │ ├── queue.h │ │ │ ├── reent.h │ │ │ ├── resource.h │ │ │ ├── sched.h │ │ │ ├── signal.h │ │ │ ├── stat.h │ │ │ ├── stdio.h │ │ │ ├── string.h │ │ │ ├── syslimits.h │ │ │ ├── time.h │ │ │ ├── timeb.h │ │ │ ├── times.h │ │ │ ├── types.h │ │ │ ├── unistd.h │ │ │ ├── utime.h │ │ │ └── wait.h │ │ ├── tar.h │ │ ├── termios.h │ │ ├── tgmath.h │ │ ├── time.h │ │ ├── unctrl.h │ │ ├── unistd.h │ │ ├── utime.h │ │ ├── utmp.h │ │ ├── wchar.h │ │ ├── wctype.h │ │ ├── wordexp.h │ │ └── xtensa │ │ │ └── config │ │ │ └── core-isa.h │ │ └── lib │ │ ├── crt0.o │ │ ├── libc.a │ │ ├── libg.a │ │ └── libm.a │ ├── lwip │ ├── include │ │ ├── arch │ │ │ ├── cc.h │ │ │ ├── perf.h │ │ │ └── sys_arch.h │ │ ├── lwip │ │ │ ├── api.h │ │ │ ├── api_msg.h │ │ │ ├── app │ │ │ │ ├── dhcpserver.h │ │ │ │ ├── espconn.h │ │ │ │ ├── espconn_buf.h │ │ │ │ ├── espconn_tcp.h │ │ │ │ ├── espconn_udp.h │ │ │ │ ├── ping.h │ │ │ │ └── time.h │ │ │ ├── arch.h │ │ │ ├── autoip.h │ │ │ ├── debug.h │ │ │ ├── def.h │ │ │ ├── dhcp.h │ │ │ ├── dns.h │ │ │ ├── err.h │ │ │ ├── icmp.h │ │ │ ├── igmp.h │ │ │ ├── inet.h │ │ │ ├── inet_chksum.h │ │ │ ├── init.h │ │ │ ├── ip.h │ │ │ ├── ip_addr.h │ │ │ ├── ip_frag.h │ │ │ ├── mdns.h │ │ │ ├── mem.h │ │ │ ├── memp.h │ │ │ ├── memp_std.h │ │ │ ├── netbuf.h │ │ │ ├── netdb.h │ │ │ ├── netif.h │ │ │ ├── netifapi.h │ │ │ ├── opt.h │ │ │ ├── pbuf.h │ │ │ ├── puck_def.h │ │ │ ├── raw.h │ │ │ ├── sio.h │ │ │ ├── snmp.h │ │ │ ├── snmp_asn1.h │ │ │ ├── snmp_msg.h │ │ │ ├── snmp_structs.h │ │ │ ├── sntp.h │ │ │ ├── sockets.h │ │ │ ├── stats.h │ │ │ ├── sys.h │ │ │ ├── tcp.h │ │ │ ├── tcp_impl.h │ │ │ ├── tcpip.h │ │ │ ├── timers.h │ │ │ └── udp.h │ │ ├── lwipopts.h │ │ └── netif │ │ │ ├── etharp.h │ │ │ ├── if_llc.h │ │ │ ├── ppp_oe.h │ │ │ └── wlan_lwip_if.h │ └── src │ │ ├── Makefile │ │ ├── api │ │ ├── api_lib.c │ │ ├── api_msg.c │ │ ├── err.c │ │ ├── netbuf.c │ │ ├── netdb.c │ │ ├── netifapi.c │ │ ├── sockets.c │ │ └── tcpip.c │ │ ├── app │ │ ├── dhcpserver.c │ │ ├── espconn.c │ │ ├── espconn_buf.c │ │ ├── espconn_mdns.c │ │ ├── espconn_tcp.c │ │ ├── espconn_udp.c │ │ ├── netio.c │ │ └── ping.c │ │ ├── core │ │ ├── def.c │ │ ├── dhcp.c │ │ ├── dns.c │ │ ├── init.c │ │ ├── ipv4 │ │ │ ├── autoip.c │ │ │ ├── icmp.c │ │ │ ├── igmp.c │ │ │ ├── inet.c │ │ │ ├── inet_chksum.c │ │ │ ├── ip.c │ │ │ ├── ip_addr.c │ │ │ └── ip_frag.c │ │ ├── mdns.c │ │ ├── mem.c │ │ ├── memp.c │ │ ├── netif.c │ │ ├── pbuf.c │ │ ├── raw.c │ │ ├── sntp.c │ │ ├── stats.c │ │ ├── sys.c │ │ ├── sys_arch.c │ │ ├── tcp.c │ │ ├── tcp_in.c │ │ ├── tcp_out.c │ │ ├── timers.c │ │ └── udp.c │ │ └── netif │ │ └── etharp.c │ └── version └── variants ├── ESPDuino └── pins_arduino.h ├── adafruit └── pins_arduino.h ├── arduino_spi └── pins_arduino.h ├── arduino_uart └── pins_arduino.h ├── basic_engine └── pins_arduino.h ├── d1 └── pins_arduino.h ├── d1_mini └── pins_arduino.h ├── espino └── pins_arduino.h ├── espinotee └── pins_arduino.h ├── espresso_lite_v1 └── pins_arduino.h ├── espresso_lite_v2 └── pins_arduino.h ├── generic ├── common.h └── pins_arduino.h ├── nodemcu └── pins_arduino.h ├── phoenix_v1 └── pins_arduino.h ├── phoenix_v2 └── pins_arduino.h ├── thing └── pins_arduino.h ├── wifinfo └── pins_arduino.h └── wifio ├── WifioProtocol.h ├── WifioWiring.cpp └── pins_arduino.h /.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 | -------------------------------------------------------------------------------- /.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 | api_key: 19 | secure: A4FBmqyhlzy33oPeZVolg2Q/A3ZcJ3WnRQqQJ3NAPy+qGM5xcboOYtwcLL9vKaHZGfUB7lUP9QVZFGou1Wrmo9DnPvAoe3+XvCaDRGzVMxeIpu7UStbBD4Knbh98tlbMvZCXYRlT4VcusI9bMLK6UWw4sMdPislBh2FEfglTiag= 20 | file_glob: true 21 | file: 22 | - package/versions/$TRAVIS_TAG/esp8266-$TRAVIS_TAG.zip 23 | - package/versions/$TRAVIS_TAG/package_esp8266com_index.json 24 | on: 25 | repo: esp8266/Arduino 26 | tags: true 27 | 28 | notifications: 29 | email: 30 | on_success: change 31 | on_failure: change 32 | webhooks: 33 | urls: 34 | - secure: "dnSY+KA7NK+KD+Z71copmANDUsyVePrZ0iXvXxmqMEQv+lp3j2Z87G5pHn7j0WNcNZrejJqOdbElJ9Q4QESRaAYxTR7cA6ameJeEKHiFJrQtN/4abvoXb9E1CxpL8aNON/xgnqCk+fycOK3nbWWXlJBodzBm7KN64vrcHO7et+M=" 35 | on_success: change # options: [always|never|change] default: always 36 | on_failure: always # options: [always|never|change] default: always 37 | on_start: false # default: false 38 | -------------------------------------------------------------------------------- /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.md 6 | 7 | for better debug messages: 8 | https://github.com/esp8266/Arduino/blob/master/doc/Troubleshooting/debugging.md 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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /bootloaders/eboot/eboot.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/bootloaders/eboot/eboot.elf -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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(uint8_t *mem, uint32_t len, uint8_t cols = 16); 17 | #else 18 | void hexdump(uint8_t *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("", __LINE__, __func__) 27 | 28 | #ifdef __cplusplus 29 | } 30 | #endif 31 | 32 | 33 | #endif//ARD_DEBUG_H 34 | -------------------------------------------------------------------------------- /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 | #ifndef RTC_MEM 11 | #define RTC_MEM ((volatile uint32_t*)0x60001200) 12 | #endif 13 | 14 | enum action_t { 15 | ACTION_COPY_RAW = 0x00000001, 16 | ACTION_LOAD_APP = 0xffffffff 17 | }; 18 | 19 | #define EBOOT_MAGIC 0xeb001000 20 | #define EBOOT_MAGIC_MASK 0xfffff000 21 | 22 | struct eboot_command { 23 | uint32_t magic; 24 | enum action_t action; 25 | uint32_t args[29]; 26 | uint32_t crc32; 27 | }; 28 | 29 | 30 | int eboot_command_read(struct eboot_command* cmd); 31 | void eboot_command_write(struct eboot_command* cmd); 32 | void eboot_command_clear(); 33 | 34 | #ifdef __cplusplus 35 | } 36 | #endif 37 | 38 | #endif //EBOOT_COMMAND_H 39 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /cores/esp8266/spiffs/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013-2015 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 | -------------------------------------------------------------------------------- /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. -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /cores/esp8266/user_config.h: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /doc/.gitignore: -------------------------------------------------------------------------------- 1 | _build 2 | -------------------------------------------------------------------------------- /doc/ESP01_connect.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ESP01_connect.jpg -------------------------------------------------------------------------------- /doc/ESP_improved_stability.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ESP_improved_stability.png -------------------------------------------------------------------------------- /doc/ESP_min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ESP_min.png -------------------------------------------------------------------------------- /doc/ESP_to_serial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ESP_to_serial.png -------------------------------------------------------------------------------- /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) -------------------------------------------------------------------------------- /doc/Troubleshooting/ESP_Exception_Decoderp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/Troubleshooting/ESP_Exception_Decoderp.png -------------------------------------------------------------------------------- /doc/Troubleshooting/debug_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/Troubleshooting/debug_level.png -------------------------------------------------------------------------------- /doc/Troubleshooting/debug_port.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/Troubleshooting/debug_port.png -------------------------------------------------------------------------------- /doc/_static/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/_static/.keep -------------------------------------------------------------------------------- /doc/eclipse/1_Install_New_Software.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/eclipse/1_Install_New_Software.png -------------------------------------------------------------------------------- /doc/eclipse/2_Install_software.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/eclipse/2_Install_software.png -------------------------------------------------------------------------------- /doc/esp12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp12.png -------------------------------------------------------------------------------- /doc/esp8266_tcp_active_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266_tcp_active_close.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/client-example-domain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/client-example-domain.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/client-secure-check-fingerprint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/client-secure-check-fingerprint.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/doxygen-class-index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/doxygen-class-index.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/doxygen-esp8266wifi-documentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/doxygen-esp8266wifi-documentation.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/doxygen-example-station-begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/doxygen-example-station-begin.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/doxygen-example-station-hostname.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/doxygen-example-station-hostname.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/doxygen-example-udp-begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/doxygen-example-udp-begin.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-arduino-build-status-json.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/esp8266-arduino-build-status-json.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-arduino-build-status-travisci.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/esp8266-arduino-build-status-travisci.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-client-secure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/esp8266-client-secure.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-client.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/esp8266-client.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/esp8266-server.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-soft-access-point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/esp8266-soft-access-point.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-station-soft-access-point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/esp8266-station-soft-access-point.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/esp8266-station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/esp8266-station.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/server-browser-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/server-browser-output.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/udp-packet-sender.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/udp-packet-sender.png -------------------------------------------------------------------------------- /doc/esp8266wifi/pictures/wifi-simple-connect-terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/esp8266wifi/pictures/wifi-simple-connect-terminal.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-board-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-board-selection.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-boot-mode-decoding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-boot-mode-decoding.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-circuit-ck-reset.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-circuit-ck-reset.fzz -------------------------------------------------------------------------------- /doc/faq/pictures/a01-circuit-ck-reset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-circuit-ck-reset.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-circuit-nodemcu-reset.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-circuit-nodemcu-reset.fzz -------------------------------------------------------------------------------- /doc/faq/pictures/a01-circuit-nodemcu-reset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-circuit-nodemcu-reset.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-espcomm_open-failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-espcomm_open-failed.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-espcomm_sync-failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-espcomm_sync-failed.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-example-boards-with-usb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-example-boards-with-usb.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-example-boards-without-usb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-example-boards-without-usb.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-nodemcu-reset-implementation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-nodemcu-reset-implementation.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-reset-ck-closeup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-reset-ck-closeup.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-reset-ck-complete-1-retry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-reset-ck-complete-1-retry.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-reset-ck-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-reset-ck-complete.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-reset-nodemcu-closeup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-reset-nodemcu-closeup.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-reset-nodemcu-complete-2-retries.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-reset-nodemcu-complete-2-retries.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-reset-nodemcu-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-reset-nodemcu-complete.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-secondary-serial-hookup.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-secondary-serial-hookup.fzz -------------------------------------------------------------------------------- /doc/faq/pictures/a01-secondary-serial-hookup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-secondary-serial-hookup.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-serial-port-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-serial-port-selection.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-serial-speed-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-serial-speed-selection.png -------------------------------------------------------------------------------- /doc/faq/pictures/a01-test-stand.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-test-stand.jpg -------------------------------------------------------------------------------- /doc/faq/pictures/a01-usb-to-serial-loop-back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a01-usb-to-serial-loop-back.png -------------------------------------------------------------------------------- /doc/faq/pictures/a02-decode-stack-tace-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a02-decode-stack-tace-1-2.png -------------------------------------------------------------------------------- /doc/faq/pictures/a02-decode-stack-tace-3-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a02-decode-stack-tace-3-6.png -------------------------------------------------------------------------------- /doc/faq/pictures/a02-exception-cause-decoding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a02-exception-cause-decoding.png -------------------------------------------------------------------------------- /doc/faq/pictures/a02-hw-watchdog-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a02-hw-watchdog-example.png -------------------------------------------------------------------------------- /doc/faq/pictures/a02-sw-watchdog-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a02-sw-watchdog-example.png -------------------------------------------------------------------------------- /doc/faq/pictures/a02-typical-crash-log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a02-typical-crash-log.png -------------------------------------------------------------------------------- /doc/faq/pictures/a04-arduino-ide-preferences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a04-arduino-ide-preferences.png -------------------------------------------------------------------------------- /doc/faq/pictures/a04-board-is-unknown-error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a04-board-is-unknown-error.png -------------------------------------------------------------------------------- /doc/faq/pictures/a04-contents-of-package-folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a04-contents-of-package-folder.png -------------------------------------------------------------------------------- /doc/faq/pictures/a04-contents-of-preferences-folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a04-contents-of-preferences-folder.png -------------------------------------------------------------------------------- /doc/faq/pictures/a04-remove-package-no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a04-remove-package-no.png -------------------------------------------------------------------------------- /doc/faq/pictures/a04-remove-package-yes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/faq/pictures/a04-remove-package-yes.png -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-external-serial-terminal-output-failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-external-serial-terminal-output-failed.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-external-serial-terminal-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-external-serial-terminal-output.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-network-terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-network-terminal.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-ota-port-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-ota-port-selection.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-ota-upload-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-ota-upload-complete.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-ota-upload-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-ota-upload-configuration.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-python-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-python-configuration.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-serial-upload-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-serial-upload-configuration.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-sketch-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-sketch-selection.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-ssid-pass-entry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-ssid-pass-entry.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-upload-complete-and-joined-wifi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-upload-complete-and-joined-wifi.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-upload-password-authenticating-ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-upload-password-authenticating-ok.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-upload-password-passing-again-upload-ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-upload-password-passing-again-upload-ok.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-upload-password-passing-upload-ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-upload-password-passing-upload-ok.png -------------------------------------------------------------------------------- /doc/ota_updates/a-ota-upload-password-prompt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/a-ota-upload-password-prompt.png -------------------------------------------------------------------------------- /doc/ota_updates/ota-web-browser-form-ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/ota-web-browser-form-ok.png -------------------------------------------------------------------------------- /doc/ota_updates/ota-web-browser-form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/ota-web-browser-form.png -------------------------------------------------------------------------------- /doc/ota_updates/ota-web-path-to-binary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/ota-web-path-to-binary.png -------------------------------------------------------------------------------- /doc/ota_updates/ota-web-serial-monitor-ready.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/ota-web-serial-monitor-ready.png -------------------------------------------------------------------------------- /doc/ota_updates/ota-web-serial-monitor-reboot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/ota-web-serial-monitor-reboot.png -------------------------------------------------------------------------------- /doc/ota_updates/ota-web-show-verbose-compilation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/ota-web-show-verbose-compilation.png -------------------------------------------------------------------------------- /doc/ota_updates/termite-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/termite-configuration.png -------------------------------------------------------------------------------- /doc/ota_updates/update_memory_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/ota_updates/update_memory_copy.png -------------------------------------------------------------------------------- /doc/pin_functions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/doc/pin_functions.png -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/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/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/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 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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/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/Links2004/Arduino/tree/libraries/ESP8266HTTPClient 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/ESP8266WebServer/examples/FSBrowser/data/edit.htm.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/libraries/ESP8266WebServer/examples/FSBrowser/data/edit.htm.gz -------------------------------------------------------------------------------- /libraries/ESP8266WebServer/examples/FSBrowser/data/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/libraries/ESP8266WebServer/examples/FSBrowser/data/favicon.ico -------------------------------------------------------------------------------- /libraries/ESP8266WebServer/examples/FSBrowser/data/graphs.js.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/libraries/ESP8266WebServer/examples/FSBrowser/data/graphs.js.gz -------------------------------------------------------------------------------- /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/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/ESP8266WebServer/examples/SDWebServer/SdRoot/pins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/libraries/ESP8266WebServer/examples/SDWebServer/SdRoot/pins.png -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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 | } -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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/ESP8266mDNS/examples/OTA-mDNS-SPIFFS/data/cl_conf.txt: -------------------------------------------------------------------------------- 1 | YOUR_SSID 2 | YOUR_PSK 3 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/GDBStub/License: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/libraries/GDBStub/License -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libraries/GDBStub/gdbcmds: -------------------------------------------------------------------------------- 1 | set remote hardware-breakpoint-limit 1 2 | set remote hardware-watchpoint-limit 1 3 | target remote :9980 4 | -------------------------------------------------------------------------------- /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,esp8266_nowifi 10 | -------------------------------------------------------------------------------- /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/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 -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 -------------------------------------------------------------------------------- /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,esp8266_nowifi 10 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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. -------------------------------------------------------------------------------- /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 | *********************************************************************************************************/ -------------------------------------------------------------------------------- /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 | *********************************************************************************************************/ -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/paint/.test.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/libraries/TFT_Touch_Shield_V2/examples/paint/.test.skip -------------------------------------------------------------------------------- /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/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/TFT_Touch_Shield_V2/examples/tftbmp/.test.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/libraries/TFT_Touch_Shield_V2/examples/tftbmp/.test.skip -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/tftbmp/flower.BMP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/libraries/TFT_Touch_Shield_V2/examples/tftbmp/flower.BMP -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/tftbmp/hibiscus.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/libraries/TFT_Touch_Shield_V2/examples/tftbmp/hibiscus.bmp -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/tftbmp/test.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/libraries/TFT_Touch_Shield_V2/examples/tftbmp/test.bmp -------------------------------------------------------------------------------- /libraries/TFT_Touch_Shield_V2/examples/tftbmp2/.test.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/libraries/TFT_Touch_Shield_V2/examples/tftbmp2/.test.skip -------------------------------------------------------------------------------- /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 | An LED connected to GPIO1 will be pulsing. Use a built-in LED on ESP-01 12 | or connect an external one to TXD on other boards. 13 | */ 14 | 15 | #include 16 | 17 | Ticker tickerSetHigh; 18 | Ticker tickerSetLow; 19 | 20 | void setPin(int state) { 21 | digitalWrite(1, state); 22 | } 23 | 24 | void setup() { 25 | pinMode(1, OUTPUT); 26 | digitalWrite(1, LOW); 27 | 28 | // every 25 ms, call setPin(0) 29 | tickerSetLow.attach_ms(25, setPin, 0); 30 | 31 | // every 26 ms, call setPin(1) 32 | tickerSetHigh.attach_ms(26, setPin, 1); 33 | } 34 | 35 | void loop() { 36 | } 37 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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,esp8266_nowifi 10 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /programmers.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/programmers.txt -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- 1 | hardware 2 | tmp 3 | -------------------------------------------------------------------------------- /tests/device/.gitignore: -------------------------------------------------------------------------------- 1 | .build 2 | .hardware 3 | -------------------------------------------------------------------------------- /tests/device/libraries/BSTest/.gitignore: -------------------------------------------------------------------------------- 1 | test/test 2 | virtualenv 3 | 4 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /tests/device/libraries/test_config/.gitignore: -------------------------------------------------------------------------------- 1 | test_config.h 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tools/sdk/License: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/License -------------------------------------------------------------------------------- /tools/sdk/include/bios/add_funcs.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * FileName: add_funcs.h 3 | * Description: Do not sorted functions ROM-BIOS 4 | * Alternate SDK 5 | * Author: PV` 6 | * (c) PV` 2015 7 | *******************************************************************************/ 8 | #ifndef _INCLUDE_BIOS_ADD_FUNCS_H_ 9 | #define _INCLUDE_BIOS_ADD_FUNCS_H_ 10 | 11 | int rom_get_power_db(void); 12 | void rom_en_pwdet(int); 13 | void rom_i2c_writeReg(uint32 block, uint32 host_id, uint32 reg_add, uint32 data); 14 | void rom_i2c_writeReg_Mask(uint32 block, uint32 host_id, uint32 reg_add, uint32 Msb, uint32 Lsb, uint32 indata); 15 | uint8 rom_i2c_readReg_Mask(uint32 block, uint32 host_id, uint32 reg_add, uint32 Msb, uint32 Lsb); 16 | uint8 rom_i2c_readReg(uint32 block, uint32 host_id, uint32 reg_add); 17 | 18 | 19 | #endif /* _INCLUDE_BIOS_ADD_FUNCS_H_ */ 20 | -------------------------------------------------------------------------------- /tools/sdk/include/bios/mem.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * FileName: mem.h 3 | * Description: mem funcs in ROM-BIOS 4 | * Alternate SDK 5 | * Author: PV` 6 | * (c) PV` 2015 7 | *******************************************************************************/ 8 | #ifndef _BIOS_MEM_H_ 9 | #define _BIOS_MEM_H_ 10 | 11 | #include "c_types.h" 12 | /* WARNING !!! mem_xxx use size < 4096 !!! */ 13 | extern void mem_init(void * start_addr); // uint8 * 14 | extern void * mem_malloc(uint16 size); // size < 4096 15 | extern void * mem_calloc(uint16 n, uint16 count); // n*count < 4096 16 | extern void * mem_zalloc(uint16 size); // size < 4096, = mem_calloc(1, size); 17 | extern void * mem_realloc(void * p, uint16 size); 18 | extern void * mem_trim(void * p, uint16 size); 19 | extern void mem_free(uint8 * x); 20 | 21 | /* 22 | PROVIDE ( mem_calloc = 0x40001c2c ); 23 | PROVIDE ( mem_free = 0x400019e0 ); 24 | PROVIDE ( mem_init = 0x40001998 ); 25 | PROVIDE ( mem_malloc = 0x40001b40 ); 26 | PROVIDE ( mem_realloc = 0x40001c6c ); 27 | PROVIDE ( mem_trim = 0x40001a14 ); 28 | PROVIDE ( mem_zalloc = 0x40001c58 ); 29 | */ 30 | #endif /* _BIOS_MEM_H_ */ 31 | -------------------------------------------------------------------------------- /tools/sdk/include/bios/vectors.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * FileName: Vectors.h 3 | * Description: Vectors funcs in ROM-BIOS 4 | * Alternate SDK 5 | * Author: PV` 6 | * (c) PV` 2015 7 | *******************************************************************************/ 8 | 9 | #ifndef _INCLUDE_BIOS_VECTORS_H_ 10 | #define _INCLUDE_BIOS_VECTORS_H_ 11 | 12 | /* 13 | PROVIDE ( _DebugExceptionVector = 0x40000010 ); 14 | PROVIDE ( _NMIExceptionVector = 0x40000020 ); 15 | PROVIDE ( _KernelExceptionVector = 0x40000030 ); 16 | PROVIDE ( _UserExceptionVector = 0x40000050 ); 17 | PROVIDE ( _DoubleExceptionVector = 0x40000070 ); 18 | #PROVIDE ( _ResetVector = 0x40000080 ); 19 | PROVIDE ( _ResetHandler = 0x400000a4 ); 20 | */ 21 | 22 | void _ResetVector(void); 23 | 24 | #endif /* _INCLUDE_BIOS_VECTORS_H_ */ 25 | -------------------------------------------------------------------------------- /tools/sdk/include/os_type.h: -------------------------------------------------------------------------------- 1 | /* 2 | * copyright (c) Espressif System 2010 3 | * 4 | * mapping to ETS structures 5 | * 6 | */ 7 | #ifndef _OS_TYPES_H_ 8 | #define _OS_TYPES_H_ 9 | 10 | #include "ets_sys.h" 11 | 12 | #define os_signal_t ETSSignal 13 | #define os_param_t ETSParam 14 | #define os_event_t ETSEvent 15 | #define os_task_t ETSTask 16 | #define os_timer_t ETSTimer 17 | #define os_timer_func_t ETSTimerFunc 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /tools/sdk/include/ping.h: -------------------------------------------------------------------------------- 1 | #ifndef __PING_H__ 2 | #define __PING_H__ 3 | 4 | 5 | typedef void (* ping_recv_function)(void* arg, void *pdata); 6 | typedef void (* ping_sent_function)(void* arg, void *pdata); 7 | 8 | struct ping_option{ 9 | uint32 count; 10 | uint32 ip; 11 | uint32 coarse_time; 12 | ping_recv_function recv_function; 13 | ping_sent_function sent_function; 14 | void* reverse; 15 | }; 16 | 17 | struct ping_resp{ 18 | uint32 total_count; 19 | uint32 resp_time; 20 | uint32 seqno; 21 | uint32 timeout_count; 22 | uint32 bytes; 23 | uint32 total_bytes; 24 | uint32 total_time; 25 | sint8 ping_err; 26 | }; 27 | 28 | bool ping_start(struct ping_option *ping_opt); 29 | bool ping_regist_recv(struct ping_option *ping_opt, ping_recv_function ping_recv); 30 | bool ping_regist_sent(struct ping_option *ping_opt, ping_sent_function ping_sent); 31 | 32 | #endif /* __PING_H__ */ 33 | -------------------------------------------------------------------------------- /tools/sdk/include/pwm.h: -------------------------------------------------------------------------------- 1 | #ifndef __PWM_H__ 2 | #define __PWM_H__ 3 | 4 | /*pwm.h: function and macro definition of PWM API , driver level */ 5 | /*user_light.h: user interface for light API, user level*/ 6 | /*user_light_adj: API for color changing and lighting effects, user level*/ 7 | 8 | 9 | /*NOTE!! : DO NOT CHANGE THIS FILE*/ 10 | 11 | /*SUPPORT UP TO 8 PWM CHANNEL*/ 12 | #define PWM_CHANNEL_NUM_MAX 8 13 | 14 | struct pwm_param { 15 | uint32 period; 16 | uint32 freq; 17 | uint32 duty[PWM_CHANNEL_NUM_MAX]; //PWM_CHANNEL<=8 18 | }; 19 | 20 | 21 | /* pwm_init should be called only once, for now */ 22 | void pwm_init(uint32 period, uint32 *duty,uint32 pwm_channel_num,uint32 (*pin_info_list)[3]); 23 | void pwm_start(void); 24 | 25 | void pwm_set_duty(uint32 duty, uint8 channel); 26 | uint32 pwm_get_duty(uint8 channel); 27 | void pwm_set_period(uint32 period); 28 | uint32 pwm_get_period(void); 29 | 30 | uint32 get_pwm_version(void); 31 | void set_pwm_debug_en(uint8 print_en); 32 | 33 | #endif 34 | 35 | -------------------------------------------------------------------------------- /tools/sdk/include/queue.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYS_QUEUE_H_ 2 | #define _SYS_QUEUE_H_ 3 | 4 | #endif /* !_SYS_QUEUE_H_ */ 5 | -------------------------------------------------------------------------------- /tools/sdk/include/simple_pair.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 -2018 Espressif System 3 | * 4 | */ 5 | 6 | #ifndef __SIMPLE_PAIR_H__ 7 | #define __SIMPLE_PAIR_H__ 8 | 9 | typedef enum { 10 | SP_ST_STA_FINISH = 0, 11 | SP_ST_AP_FINISH = 0, 12 | SP_ST_AP_RECV_NEG, 13 | SP_ST_STA_AP_REFUSE_NEG, 14 | /* all following is err */ 15 | SP_ST_WAIT_TIMEOUT, 16 | SP_ST_SEND_ERROR, 17 | SP_ST_KEY_INSTALL_ERR, 18 | SP_ST_KEY_OVERLAP_ERR, //means the same macaddr has two different keys 19 | SP_ST_OP_ERROR, 20 | SP_ST_UNKNOWN_ERROR, 21 | SP_ST_MAX, 22 | } SP_ST_t; 23 | 24 | 25 | typedef void (*simple_pair_status_cb_t)(u8 *sa, u8 status); 26 | 27 | int register_simple_pair_status_cb(simple_pair_status_cb_t cb); 28 | void unregister_simple_pair_status_cb(void); 29 | 30 | int simple_pair_init(void); 31 | void simple_pair_deinit(void); 32 | 33 | int simple_pair_state_reset(void); 34 | int simple_pair_ap_enter_announce_mode(void); 35 | int simple_pair_sta_enter_scan_mode(void); 36 | 37 | int simple_pair_sta_start_negotiate(void); 38 | int simple_pair_ap_start_negotiate(void); 39 | int simple_pair_ap_refuse_negotiate(void); 40 | 41 | int simple_pair_set_peer_ref(u8 *peer_mac, u8 *tmp_key, u8 *ex_key); 42 | int simple_pair_get_peer_ref(u8 *peer_mac, u8 *tmp_key, u8 *ex_key); 43 | 44 | 45 | #endif /* __SIMPLE_PAIR_H__ */ 46 | -------------------------------------------------------------------------------- /tools/sdk/include/smartconfig.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 -2018 Espressif System 3 | * 4 | */ 5 | 6 | #ifndef __SMARTCONFIG_H__ 7 | #define __SMARTCONFIG_H__ 8 | 9 | typedef enum { 10 | SC_STATUS_WAIT = 0, 11 | SC_STATUS_FIND_CHANNEL, 12 | SC_STATUS_GETTING_SSID_PSWD, 13 | SC_STATUS_LINK, 14 | SC_STATUS_LINK_OVER, 15 | } sc_status; 16 | 17 | typedef enum { 18 | SC_TYPE_ESPTOUCH = 0, 19 | SC_TYPE_AIRKISS, 20 | SC_TYPE_ESPTOUCH_AIRKISS, 21 | } sc_type; 22 | 23 | typedef void (*sc_callback_t)(sc_status status, void *pdata); 24 | 25 | const char *smartconfig_get_version(void); 26 | bool smartconfig_start(sc_callback_t cb, ...); 27 | bool smartconfig_stop(void); 28 | bool esptouch_set_timeout(uint8 time_s); //15s~255s, offset:45s 29 | bool smartconfig_set_type(sc_type type); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /tools/sdk/include/spi_flash.h: -------------------------------------------------------------------------------- 1 | /* 2 | * copyright (c) Espressif System 2010 3 | * 4 | */ 5 | 6 | #ifndef SPI_FLASH_H 7 | #define SPI_FLASH_H 8 | 9 | typedef enum { 10 | SPI_FLASH_RESULT_OK, 11 | SPI_FLASH_RESULT_ERR, 12 | SPI_FLASH_RESULT_TIMEOUT 13 | } SpiFlashOpResult; 14 | 15 | typedef struct{ 16 | uint32 deviceId; 17 | uint32 chip_size; // chip size in byte 18 | uint32 block_size; 19 | uint32 sector_size; 20 | uint32 page_size; 21 | uint32 status_mask; 22 | } SpiFlashChip; 23 | 24 | #define SPI_FLASH_SEC_SIZE 4096 25 | 26 | extern SpiFlashChip * flashchip; // in ram ROM-BIOS 27 | 28 | uint32 spi_flash_get_id(void); 29 | SpiFlashOpResult spi_flash_erase_sector(uint16 sec); 30 | SpiFlashOpResult spi_flash_write(uint32 des_addr, uint32 *src_addr, uint32 size); 31 | SpiFlashOpResult spi_flash_read(uint32 src_addr, uint32 *des_addr, uint32 size); 32 | 33 | typedef SpiFlashOpResult (* user_spi_flash_read)( 34 | SpiFlashChip *spi, 35 | uint32 src_addr, 36 | uint32 *des_addr, 37 | uint32 size); 38 | 39 | void spi_flash_set_read_func(user_spi_flash_read read); 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /tools/sdk/include/sys/deep_sleep.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * FileName: deep_sleep.h 3 | * Description: Alternate SDK (libmain.a) 4 | * Author: PV` 5 | * (c) PV` 2015 6 | *******************************************************************************/ 7 | 8 | #ifndef _INCLUDE_DEEP_SLEEP_H_ 9 | #define _INCLUDE_DEEP_SLEEP_H_ 10 | 11 | void go_deep_sleep(uint32 x) ICACHE_FLASH_ATTR; 12 | uint32 rtc_calib(uint32 k_xtal_mhz) ICACHE_FLASH_ATTR; 13 | #define rtc_calibrate(fmhz) rtc_calib(4096/fmhz) 14 | /* полный sleep, с перезагрузкой 15 | * минимум time_us = 8192 */ 16 | void sys_deep_sleep(uint32 time_us) ICACHE_FLASH_ATTR; 17 | 18 | #endif // _INCLUDE_DEEP_SLEEP_H_ 19 | -------------------------------------------------------------------------------- /tools/sdk/include/sys/delay.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * FileName: delay.h 3 | * Description: Alternate SDK (libmain.a) 4 | * Author: PV` 5 | * (c) PV` 2015 6 | *******************************************************************************/ 7 | 8 | #ifndef _INCLUDE_SYS_DELAY_H_ 9 | #define _INCLUDE_SYS_DELAY_H_ 10 | 11 | void sys_delay_us(uint32 us) ICACHE_FLASH_ATTR; 12 | 13 | 14 | #endif /* _INCLUDE_SYS_DELAY_MS_H_ */ 15 | -------------------------------------------------------------------------------- /tools/sdk/include/sys/fatal_errs.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * FileName: libmain.h 3 | * Description: Alternate SDK (libmain.a) 4 | * Author: PV` 5 | * (c) PV` 2015 6 | *******************************************************************************/ 7 | 8 | #ifndef _INCLUDE_FATAL_ERRS_H_ 9 | #define _INCLUDE_FATAL_ERRS_H_ 10 | 11 | #define RST_EVENT_WDT 1 12 | #define RST_EVENT_EXP 2 13 | #define RST_EVENT_SOFT_RESET 3 14 | #define RST_EVENT_DEEP_SLEEP 4 15 | #define RST_EVENT_RES 8 16 | #define FATAL_ERR_R6PHY 9 // "register_chipv6_phy" 17 | #define FATAL_ERR_DPSLP 10 // "sys_deep_sleep" 18 | #define FATAL_ERR_DELAY 11 // "sys_delay" 19 | #define RST_EVENT_MAX 32 20 | 21 | void fatal_error(uint32_t errn, void *addr, void *txt); 22 | 23 | #endif // _INCLUDE_FATAL_ERRS_H_ 24 | -------------------------------------------------------------------------------- /tools/sdk/include/sys/libmain.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * FileName: libmain.h 3 | * Description: Alternate SDK (libmain.a) 4 | * Author: PV` 5 | * (c) PV` 2015 6 | *******************************************************************************/ 7 | 8 | #ifndef _INCLUDE_LIBMAIN_H_ 9 | #define _INCLUDE_LIBMAIN_H_ 10 | 11 | void read_macaddr_from_otp(uint8 *mac) ICACHE_FLASH_ATTR; 12 | void uart_wait_tx_fifo_empty(void) ICACHE_FLASH_ATTR; 13 | 14 | #endif /* _INCLUDE_LIBMAIN_H_ */ 15 | -------------------------------------------------------------------------------- /tools/sdk/include/sys/loader.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * FileName: loader.h 3 | * Description: Alternate SDK (libmain.a) 4 | * Author: PV` 5 | * (c) PV` 2015 6 | *******************************************************************************/ 7 | 8 | #ifndef _INCLUDE_LOADER_H_ 9 | #define _INCLUDE_LOADER_H_ 10 | 11 | void call_user_start(void); 12 | void sflash_something(uint32 flash_speed); 13 | 14 | #endif /* _INCLUDE_LOADER_H_ */ 15 | -------------------------------------------------------------------------------- /tools/sdk/include/sys/mem_manager.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * FileName: mem_manager.h 3 | * Description: mem manager (libmem.a) 4 | * Alternate SDK 5 | * Author: PV` 6 | * (c) PV` 2015 7 | *******************************************************************************/ 8 | 9 | #ifndef __MEM_H__ 10 | #define __MEM_H__ 11 | 12 | // в модуле mem_manager.o libmem.a 13 | 14 | void *pvPortMalloc( size_t xWantedSize ); 15 | void vPortFree( void *pv ); 16 | void *pvPortZalloc(size_t size); 17 | void *pvPortCalloc(unsigned int n, unsigned int count); 18 | void *pvPortRealloc(void * p, size_t size); 19 | size_t xPortGetFreeHeapSize(void); 20 | 21 | #define os_malloc pvPortMalloc 22 | #define os_free vPortFree 23 | #define os_zalloc pvPortZalloc 24 | #define os_calloc pvPortCalloc 25 | #define os_realloc pvPortRealloc 26 | #define system_get_free_heap_size xPortGetFreeHeapSize 27 | 28 | /* eagle.app.v6.ld */ 29 | extern uint8_t _bss_start, _bss_end, _data_start, _data_end, _heap_start, _rodata_start, _rodata_end; 30 | 31 | 32 | #endif // __MEM_H__ 33 | 34 | -------------------------------------------------------------------------------- /tools/sdk/include/sys/os_printf.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * FileName: os_printf.h 3 | * Description: Alternate SDK (libmain.a) 4 | * Author: PV` 5 | * (c) PV` 2015 6 | *******************************************************************************/ 7 | 8 | #ifndef _INCLUDE_OS_PRINTF_H_ 9 | #define _INCLUDE_OS_PRINTF_H_ 10 | 11 | int os_printf_plus(const char *format, ...) ICACHE_FLASH_ATTR; 12 | void _sprintf_out(char c) ICACHE_FLASH_ATTR; 13 | int os_sprintf_plus(char *str, const char *format, ...) ICACHE_FLASH_ATTR; 14 | 15 | #endif /* _INCLUDE_OS_PRINTF_H_ */ 16 | -------------------------------------------------------------------------------- /tools/sdk/include/sys/startup.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * FileName: startup.h 3 | * Description: Alternate SDK (libmain.a) 4 | * Author: PV` 5 | * (c) PV` 2015 6 | *******************************************************************************/ 7 | 8 | #ifndef _INCLUDE_STARTUP_H_ 9 | #define _INCLUDE_STARTUP_H_ 10 | 11 | #define DEBUG_UART 115200 // включить вывод в загрузчике сообщений 12 | 13 | void startup(void) ICACHE_FLASH_ATTR; 14 | 15 | #endif /* _INCLUDE_STARTUP_H_ */ 16 | -------------------------------------------------------------------------------- /tools/sdk/include/sys/timer_us.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * FileName: timer_us.h 3 | * Description: Alternate SDK (libmain.a) 4 | * Author: PV` 5 | * (c) PV` 2015 6 | *******************************************************************************/ 7 | 8 | #ifndef _INCLUDE_TIMER_US_H_ 9 | #define _INCLUDE_TIMER_US_H_ 10 | 11 | #include "user_config.h" 12 | #include "hw/esp8266.h" 13 | 14 | void ets_timer_arm_us(ETSTimer *ptimer, uint32_t us_ms, int repeat_flag) ICACHE_FLASH_ATTR; 15 | 16 | #define system_timer_init_us() TIMER1_CTRL = 0x84 17 | 18 | #endif /* _INCLUDE_TIMER_US_H_ */ 19 | -------------------------------------------------------------------------------- /tools/sdk/include/sys/wdt.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * FileName: wdt.h 3 | * Description: Alternate SDK (libmain.a) 4 | * Author: PV` 5 | * (c) PV` 2015 6 | *******************************************************************************/ 7 | 8 | #ifndef _INCLUDE_WDT_H_ 9 | #define _INCLUDE_WDT_H_ 10 | 11 | //#include "sys/ets_sys.h" 12 | //#include "sys/fatal_errs.h" 13 | 14 | struct rst_info{ 15 | uint32 flag; 16 | uint32 exccause; 17 | uint32 epc1; 18 | uint32 epc2; 19 | uint32 epc3; 20 | uint32 excvaddr; 21 | uint32 depc; 22 | }; 23 | 24 | void wdt_feed(void); 25 | void wdt_init(void) ICACHE_FLASH_ATTR; 26 | void wdt_task(ETSEvent *e); 27 | void default_exception_handler(void); 28 | void store_exception_error(uint32_t errn); 29 | 30 | void os_print_reset_error(void) ICACHE_FLASH_ATTR; 31 | 32 | extern bool wdt_flg; 33 | 34 | extern ETSEvent wdt_eventq; 35 | 36 | #endif /* _INCLUDE_WDT_H_ */ 37 | -------------------------------------------------------------------------------- /tools/sdk/include/upgrade.h: -------------------------------------------------------------------------------- 1 | #ifndef __UPGRADE_H__ 2 | #define __UPGRADE_H__ 3 | 4 | #define SPI_FLASH_SEC_SIZE 4096 5 | #define LIMIT_ERASE_SIZE 0x10000 6 | 7 | #define USER_BIN1 0x00 8 | #define USER_BIN2 0x01 9 | 10 | #define UPGRADE_FLAG_IDLE 0x00 11 | #define UPGRADE_FLAG_START 0x01 12 | #define UPGRADE_FLAG_FINISH 0x02 13 | 14 | #define UPGRADE_FW_BIN1 0x00 15 | #define UPGRADE_FW_BIN2 0x01 16 | 17 | typedef void (*upgrade_states_check_callback)(void * arg); 18 | 19 | //#define UPGRADE_SSL_ENABLE 20 | 21 | struct upgrade_server_info { 22 | uint8 ip[4]; 23 | uint16 port; 24 | 25 | uint8 upgrade_flag; 26 | 27 | uint8 pre_version[16]; 28 | uint8 upgrade_version[16]; 29 | 30 | uint32 check_times; 31 | uint8 *url; 32 | 33 | upgrade_states_check_callback check_cb; 34 | struct espconn *pespconn; 35 | }; 36 | 37 | #define UPGRADE_FLAG_IDLE 0x00 38 | #define UPGRADE_FLAG_START 0x01 39 | #define UPGRADE_FLAG_FINISH 0x02 40 | 41 | void system_upgrade_init(); 42 | void system_upgrade_deinit(); 43 | bool system_upgrade(uint8 *data, uint16 len); 44 | 45 | #ifdef UPGRADE_SSL_ENABLE 46 | bool system_upgrade_start_ssl(struct upgrade_server_info *server); // not supported now 47 | #else 48 | bool system_upgrade_start(struct upgrade_server_info *server); 49 | #endif 50 | #endif 51 | -------------------------------------------------------------------------------- /tools/sdk/include/wpa2_enterprise.h: -------------------------------------------------------------------------------- 1 | #ifndef __WPA2_ENTERPRISE_H__ 2 | #define __WPA2_ENTERPRISE_H__ 3 | 4 | typedef long os_time_t; 5 | 6 | struct os_time { 7 | os_time_t sec; 8 | os_time_t usec; 9 | }; 10 | 11 | typedef int (* get_time_func_t)(struct os_time *t); 12 | 13 | int wifi_station_set_wpa2_enterprise_auth(int enable); 14 | 15 | int wifi_station_set_enterprise_cert_key(u8 *client_cert, int client_cert_len, 16 | u8 *private_key, int private_key_len, 17 | u8 *private_key_passwd, int private_key_passwd_len); 18 | void wifi_station_clear_enterprise_cert_key(void); 19 | 20 | int wifi_station_set_enterprise_ca_cert(u8 *ca_cert, int ca_cert_len); 21 | void wifi_station_clear_enterprise_ca_cert(void); 22 | 23 | int wifi_station_set_enterprise_username(u8 *username, int len); 24 | void wifi_station_clear_enterprise_username(void); 25 | 26 | int wifi_station_set_enterprise_password(u8 *password, int len); 27 | void wifi_station_clear_enterprise_password(void); 28 | 29 | int wifi_station_set_enterprise_new_password(u8 *new_password, int len); 30 | void wifi_station_clear_enterprise_new_password(void); 31 | 32 | void wifi_station_set_enterprise_disable_time_check(bool disable); 33 | bool wifi_station_get_enterprise_disable_time_check(void); 34 | 35 | void wpa2_enterprise_set_user_get_time(get_time_func_t cb); 36 | 37 | 38 | #endif /* __WPA2_ENTERPRISE_H__ */ 39 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.16m.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 16M chips */ 2 | /* sketch 1019KB */ 3 | /* eeprom 20KB */ 4 | /* spiffs 15MB */ 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.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.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.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 | -------------------------------------------------------------------------------- /tools/sdk/ld/eagle.flash.4m_up.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 = 0x40281010, len = 0x7eff0 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.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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | /* eeprom 20KB */ 4 | /* spiffs 7MB */ 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/lib/README.md: -------------------------------------------------------------------------------- 1 | ## Updating SDK libraries 2 | 3 | After updating SDK libraries to a new version, do the following changes. 4 | 5 | 6 | 1. Remove mem_manager.o from libmain.a to use custom heap implementation 7 | 8 | ```bash 9 | xtensa-lx106-elf-ar -d libmain.a mem_manager.o 10 | ``` 11 | 12 | ## Updating libstdc++ 13 | 14 | After building gcc using crosstool-NG, get compiled libstdc++ and remove some objects: 15 | 16 | xtensa-lx106-elf-ar d libstdc++.a pure.o 17 | xtensa-lx106-elf-ar d libstdc++.a vterminate.o 18 | xtensa-lx106-elf-ar d libstdc++.a guard.o 19 | xtensa-lx106-elf-ar d libstdc++.a functexcept.o 20 | xtensa-lx106-elf-ar d libstdc++.a del_op.o 21 | xtensa-lx106-elf-ar d libstdc++.a del_opv.o 22 | xtensa-lx106-elf-ar d libstdc++.a new_op.o 23 | xtensa-lx106-elf-ar d libstdc++.a new_opv.o 24 | 25 | -------------------------------------------------------------------------------- /tools/sdk/lib/libairkiss.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libairkiss.a -------------------------------------------------------------------------------- /tools/sdk/lib/libat.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libat.a -------------------------------------------------------------------------------- /tools/sdk/lib/libaxtls.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libaxtls.a -------------------------------------------------------------------------------- /tools/sdk/lib/libc_orig.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libc_orig.a -------------------------------------------------------------------------------- /tools/sdk/lib/libcrypto.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libcrypto.a -------------------------------------------------------------------------------- /tools/sdk/lib/libdriver.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libdriver.a -------------------------------------------------------------------------------- /tools/sdk/lib/libespnow.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libespnow.a -------------------------------------------------------------------------------- /tools/sdk/lib/libgcc.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libgcc.a -------------------------------------------------------------------------------- /tools/sdk/lib/libhal.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libhal.a -------------------------------------------------------------------------------- /tools/sdk/lib/libjson.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libjson.a -------------------------------------------------------------------------------- /tools/sdk/lib/libloader.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libloader.a -------------------------------------------------------------------------------- /tools/sdk/lib/liblwip.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/liblwip.a -------------------------------------------------------------------------------- /tools/sdk/lib/liblwip_536.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/liblwip_536.a -------------------------------------------------------------------------------- /tools/sdk/lib/liblwip_gcc.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/liblwip_gcc.a -------------------------------------------------------------------------------- /tools/sdk/lib/libmain.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libmain.a -------------------------------------------------------------------------------- /tools/sdk/lib/libmc.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libmc.a -------------------------------------------------------------------------------- /tools/sdk/lib/libmem.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libmem.a -------------------------------------------------------------------------------- /tools/sdk/lib/libmesh.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libmesh.a -------------------------------------------------------------------------------- /tools/sdk/lib/libmgcc.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libmgcc.a -------------------------------------------------------------------------------- /tools/sdk/lib/libnet80211.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libnet80211.a -------------------------------------------------------------------------------- /tools/sdk/lib/libphy.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libphy.a -------------------------------------------------------------------------------- /tools/sdk/lib/libpp.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libpp.a -------------------------------------------------------------------------------- /tools/sdk/lib/libpwm.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libpwm.a -------------------------------------------------------------------------------- /tools/sdk/lib/libsmartconfig.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libsmartconfig.a -------------------------------------------------------------------------------- /tools/sdk/lib/libssl.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libssl.a -------------------------------------------------------------------------------- /tools/sdk/lib/libstdc++.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libstdc++.a -------------------------------------------------------------------------------- /tools/sdk/lib/libsys.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libsys.a -------------------------------------------------------------------------------- /tools/sdk/lib/libupgrade.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libupgrade.a -------------------------------------------------------------------------------- /tools/sdk/lib/libuser.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libuser.a -------------------------------------------------------------------------------- /tools/sdk/lib/libwpa.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libwpa.a -------------------------------------------------------------------------------- /tools/sdk/lib/libwpa2.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libwpa2.a -------------------------------------------------------------------------------- /tools/sdk/lib/libwps.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lib/libwps.a -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/fcntl.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/machine/ansi.h: -------------------------------------------------------------------------------- 1 | /* dummy header file to support BSD compiler */ 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/param.h: -------------------------------------------------------------------------------- 1 | /* Place holder for machine-specific param.h. */ 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/machine/termios.h: -------------------------------------------------------------------------------- 1 | #define __MAX_BAUD B4000000 2 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/include/sys/custom_file.h: -------------------------------------------------------------------------------- 1 | #error System-specific custom_file.h is missing. 2 | 3 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/string.h: -------------------------------------------------------------------------------- 1 | /* This is a dummy used as a placeholder for 2 | systems that need to have a special header file. */ 3 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/lib/crt0.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/libc/xtensa-lx106-elf/lib/crt0.o -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/lib/libc.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/libc/xtensa-lx106-elf/lib/libc.a -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/lib/libg.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/libc/xtensa-lx106-elf/lib/libg.a -------------------------------------------------------------------------------- /tools/sdk/libc/xtensa-lx106-elf/lib/libm.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/libc/xtensa-lx106-elf/lib/libm.a -------------------------------------------------------------------------------- /tools/sdk/lwip/include/arch/sys_arch.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lwip/include/arch/sys_arch.h -------------------------------------------------------------------------------- /tools/sdk/lwip/include/lwip/icmp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lwip/include/lwip/icmp.h -------------------------------------------------------------------------------- /tools/sdk/lwip/include/lwip/netif.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lwip/include/lwip/netif.h -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/lwip/src/Makefile: -------------------------------------------------------------------------------- 1 | TOOLS_PATH ?= ../../../xtensa-lx106-elf/bin/xtensa-lx106-elf- 2 | LWIP_LIB ?= liblwip_src.a 3 | SDK_PATH ?= $(abspath ../../) 4 | 5 | BUILD_PATH = build 6 | LWIP_SRCS = $(patsubst %.c,$(BUILD_PATH)/%.o,$(wildcard */*.c)) $(patsubst %.c,$(BUILD_PATH)/%.o,$(wildcard */*/*.c)) 7 | 8 | LWIP_INCLUDE = -Ibuild -I$(SDK_PATH)/include -I$(SDK_PATH)/lwip/include 9 | 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 10 | BUILD_DEFINES = -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -DLWIP_OPEN_SRC 11 | 12 | CC=$(TOOLS_PATH)gcc 13 | AR=$(TOOLS_PATH)ar 14 | 15 | $(BUILD_PATH)/%.h: 16 | @mkdir -p $(dir $@) 17 | @touch $@ 18 | 19 | $(BUILD_PATH)/%.o: %.c 20 | @mkdir -p $(dir $@) 21 | $(CC) $(BUILD_FLAGS) $(BUILD_DEFINES) $(LWIP_INCLUDE) $< -o $@ 22 | 23 | $(LWIP_LIB): $(BUILD_PATH)/user_config.h $(LWIP_SRCS) 24 | $(AR) cru $(LWIP_LIB) $(LWIP_SRCS) 25 | 26 | all: $(LWIP_LIB) 27 | 28 | install: all 29 | cp -f $(LWIP_LIB) $(SDK_PATH)/lib/$(LWIP_LIB) 30 | 31 | release: all 32 | cp -f $(LWIP_LIB) $(SDK_PATH)/lib/liblwip_gcc.a 33 | 34 | clean: 35 | @rm -rf $(BUILD_PATH) $(LWIP_LIB) 36 | -------------------------------------------------------------------------------- /tools/sdk/lwip/src/api/netbuf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lwip/src/api/netbuf.c -------------------------------------------------------------------------------- /tools/sdk/lwip/src/api/tcpip.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lwip/src/api/tcpip.c -------------------------------------------------------------------------------- /tools/sdk/lwip/src/core/ipv4/icmp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/uli/Arduino_nowifi/174efe379d4250afff619e94fe3233422fde87a8/tools/sdk/lwip/src/core/ipv4/icmp.c -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /tools/sdk/version: -------------------------------------------------------------------------------- 1 | 2.0.0_16_08_09 -------------------------------------------------------------------------------- /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 | --------------------------------------------------------------------------------