diff --git a/versions/2.2.0-rc1/badge.svg b/versions/2.2.0-rc1/badge.svg new file mode 100644 index 000000000..e5fccb62d --- /dev/null +++ b/versions/2.2.0-rc1/badge.svg @@ -0,0 +1 @@ +updatedupdatedApr 18, 2016Apr 18, 2016 \ No newline at end of file diff --git a/versions/2.2.0-rc1/doc/ESP01_connect.jpg b/versions/2.2.0-rc1/doc/ESP01_connect.jpg new file mode 100644 index 000000000..6b0c24088 Binary files /dev/null and b/versions/2.2.0-rc1/doc/ESP01_connect.jpg differ diff --git a/versions/2.2.0-rc1/doc/ESP_improved_stability.png b/versions/2.2.0-rc1/doc/ESP_improved_stability.png new file mode 100644 index 000000000..35dca4bcf Binary files /dev/null and b/versions/2.2.0-rc1/doc/ESP_improved_stability.png differ diff --git a/versions/2.2.0-rc1/doc/ESP_min.png b/versions/2.2.0-rc1/doc/ESP_min.png new file mode 100644 index 000000000..25350ed66 Binary files /dev/null and b/versions/2.2.0-rc1/doc/ESP_min.png differ diff --git a/versions/2.2.0-rc1/doc/ESP_to_serial.png b/versions/2.2.0-rc1/doc/ESP_to_serial.png new file mode 100644 index 000000000..54723939b Binary files /dev/null and b/versions/2.2.0-rc1/doc/ESP_to_serial.png differ diff --git a/versions/2.2.0-rc1/doc/Troubleshooting/ESP_Exception_Decoderp.png b/versions/2.2.0-rc1/doc/Troubleshooting/ESP_Exception_Decoderp.png new file mode 100644 index 000000000..0223d0573 Binary files /dev/null and b/versions/2.2.0-rc1/doc/Troubleshooting/ESP_Exception_Decoderp.png differ diff --git a/versions/2.2.0-rc1/doc/Troubleshooting/debug_level.png b/versions/2.2.0-rc1/doc/Troubleshooting/debug_level.png new file mode 100644 index 000000000..3d3532183 Binary files /dev/null and b/versions/2.2.0-rc1/doc/Troubleshooting/debug_level.png differ diff --git a/versions/2.2.0-rc1/doc/Troubleshooting/debug_port.png b/versions/2.2.0-rc1/doc/Troubleshooting/debug_port.png new file mode 100644 index 000000000..3725567e1 Binary files /dev/null and b/versions/2.2.0-rc1/doc/Troubleshooting/debug_port.png differ diff --git a/versions/2.2.0-rc1/doc/Troubleshooting/debugging.html b/versions/2.2.0-rc1/doc/Troubleshooting/debugging.html new file mode 100644 index 000000000..44d264c24 --- /dev/null +++ b/versions/2.2.0-rc1/doc/Troubleshooting/debugging.html @@ -0,0 +1,388 @@ + + + + + + + + + + + + + + Debugging · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
+ This documentation is for version 2.2.0-rc1. Other versions. +
+ + + + +
+

Table of Contents

+ + + +

Introduction

+ +

Since 2.1.0-rc1 the core includes a Debugging feature that is controllable over the IDE menu.

+ +

The new menu points manage the real-time Debug messages.

+ +

Requirements

+ +

For usage of the debugging a Serial connection is required (Serial or Serial1).

+ +

The Serial Interface need to be initialized in the setup().

+ +

Set the Serial baud rate as high as possible for your Hardware setup.

+ +

Minimum sketch to use debugging: +```cpp +void setup() { + Serial.begin(115200); +}

+ +

void loop() { +} +```

+ +

Usage

+ +
    +
  1. Select the Serial interface for the Debugging messages: +Debug-Port

  2. +
  3. Select which type / level you want debug messages for: +Debug-Level

  4. +
  5. Check if the Serial interface is initialized in setup() (see Requirements)

  6. +
  7. Flash sketch

  8. +
  9. Check the Serial Output

  10. +
+ +

Informations

+ +

It work with every sketch that enables the Serial interface that is selected as debug port.

+ +

The Serial interface can still be used normal in the Sketch.

+ +

The debug output is additional and will not disable any interface from usage in the sketch.

+ +

For Developers

+ +

For the debug handling uses defines.

+ +

The defined are set by command line.

+ +

Debug Port

+ +

The port has the define DEBUG_ESP_PORT possible value: + - Disabled: define not existing + - Serial: Serial + - Serial1: Serial1

+ +

Debug Level

+ +

All defines for the different levels starts with DEBUG_ESP_

+ +

a full list can be found here in the boards.txt

+ +

Example for own debug messages

+ +

The debug messages will be only shown when the Debug Port in the IDE menu is set.

+
#ifdef DEBUG_ESP_PORT
+#define DEBUG_MSG(...) DEBUG_ESP_PORT.printf( __VA_ARGS__ )
+#else
+#define DEBUG_MSG(...) 
+#endif
+
+void setup() {
+    Serial.begin(115200);
+
+    delay(3000);
+    DEBUG_MSG("bootup...\n");
+}
+
+void loop() {
+    DEBUG_MSG("loop %d\n", millis());
+    delay(1000);
+}
+
+
+ + diff --git a/versions/2.2.0-rc1/doc/Troubleshooting/stack_dump.html b/versions/2.2.0-rc1/doc/Troubleshooting/stack_dump.html new file mode 100644 index 000000000..b2a47c542 --- /dev/null +++ b/versions/2.2.0-rc1/doc/Troubleshooting/stack_dump.html @@ -0,0 +1,354 @@ + + + + + + + + + + + + + + Debugging · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
+ This documentation is for version 2.2.0-rc1. Other versions. +
+ + + + +
+

Table of Contents

+ + + +

Introduction

+ +

If the ESP crash the Exception Cause will be shown and the current stack will be dumped.

+ +

example:

+
Exception (0): epc1=0x402103f4 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000
+
+ctx: sys 
+sp: 3ffffc10 end: 3fffffb0 offset: 01a0
+
+>>>stack>>>
+3ffffdb0:  40223e00 3fff6f50 00000010 60000600  
+3ffffdc0:  00000001 4021f774 3fffc250 4000050c  
+3ffffdd0:  400043d5 00000030 00000016 ffffffff  
+3ffffde0:  400044ab 3fffc718 3ffffed0 08000000  
+3ffffdf0:  60000200 08000000 00000003 00000000  
+3ffffe00:  0000ffff 00000001 04000002 003fd000  
+3ffffe10:  3fff7188 000003fd 3fff2564 00000030  
+3ffffe20:  40101709 00000008 00000008 00000020  
+3ffffe30:  c1948db3 394c5e70 7f2060f2 c6ba0c87  
+3ffffe40:  3fff7058 00000001 40238d41 3fff6ff0  
+3ffffe50:  3fff6f50 00000010 60000600 00000020  
+3ffffe60:  402301a8 3fff7098 3fff7014 40238c77  
+3ffffe70:  4022fb6c 40230ebe 3fff1a5b 3fff6f00  
+3ffffe80:  3ffffec8 00000010 40231061 3fff0f90  
+3ffffe90:  3fff6848 3ffed0c0 60000600 3fff6ae0  
+3ffffea0:  3fff0f90 3fff0f90 3fff6848 3fff6d40  
+3ffffeb0:  3fff28e8 40101233 d634fe1a fffeffff  
+3ffffec0:  00000001 00000000 4022d5d6 3fff6848  
+3ffffed0:  00000002 4000410f 3fff2394 3fff6848  
+3ffffee0:  3fffc718 40004a3c 000003fd 3fff7188  
+3ffffef0:  3fffc718 40101510 00000378 3fff1a5b  
+3fffff00:  000003fd 4021d2e7 00000378 000003ff  
+3fffff10:  00001000 4021d37d 3fff2564 000003ff  
+3fffff20:  000003fd 60000600 003fd000 3fff2564  
+3fffff30:  ffffff00 55aa55aa 00000312 0000001c  
+3fffff40:  0000001c 0000008a 0000006d 000003ff  
+3fffff50:  4021d224 3ffecf90 00000000 3ffed0c0  
+3fffff60:  00000001 4021c2e9 00000003 3fff1238  
+3fffff70:  4021c071 3ffecf84 3ffecf30 0026a2b0  
+3fffff80:  4021c0b6 3fffdab0 00000000 3fffdcb0  
+3fffff90:  3ffecf40 3fffdab0 00000000 3fffdcc0  
+3fffffa0:  40000f49 40000f49 3fffdab0 40000f49  
+<<<stack<<<
+
+

the first number after Exception gives the cause of the reset. +a full ist of all causes can be found here +the hex after are the stack dump.

+ +

Decode

+ +

it's possible to decode the Stack to readable information. +more info see Esp Exception Decoder tool

+ +

ESP Exception Decoder

+ +
+ + diff --git a/versions/2.2.0-rc1/doc/boards.html b/versions/2.2.0-rc1/doc/boards.html new file mode 100644 index 000000000..c91a28a2b --- /dev/null +++ b/versions/2.2.0-rc1/doc/boards.html @@ -0,0 +1,798 @@ + + + + + + + + + + + + + + Supported Hardware · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
+ This documentation is for version 2.2.0-rc1. Other versions. +
+ + + + +
+

Table of contents

+ + + +

Adafruit HUZZAH ESP8266 (ESP-12)

+ +

TODO: add notes

+ +

ESPresso Lite 1.0

+ +

ESPresso Lite 1.0 (beta version) is an Arduino-compatible Wi-Fi development board powered by Espressif System's own ESP8266 WROOM-02 module. It has breadboard-friendly breakout pins with in-built LED, two reset/flash buttons and a user programmable button . The operating voltage is 3.3VDC, regulated with 800mA maximum current. Special distinctive features include on-board I2C pads that allow direct connection to OLED LCD and sensor boards.

+ +

ESPresso Lite 2.0

+ +

ESPresso Lite 2.0 is an Arduino-compatible Wi-Fi development board based on an earlier V1 (beta version). Re-designed together with Cytron Technologies, the newly-revised ESPresso Lite V2.0 features the auto-load/auto-program function, eliminating the previous need to reset the board manually before flashing a new program. It also feature two user programmable side buttons and a reset button. The special distinctive features of on-board pads for I2C sensor and actuator is retained.

+ +

NodeMCU 0.9

+ +

Pin mapping

+ +

Pin numbers written on the board itself do not correspond to ESP8266 GPIO pin numbers. Constants are defined to make using this board easier:

+
static const uint8_t D0   = 16;
+static const uint8_t D1   = 5;
+static const uint8_t D2   = 4;
+static const uint8_t D3   = 0;
+static const uint8_t D4   = 2;
+static const uint8_t D5   = 14;
+static const uint8_t D6   = 12;
+static const uint8_t D7   = 13;
+static const uint8_t D8   = 15;
+static const uint8_t D9   = 3;
+static const uint8_t D10  = 1;
+
+

If you want to use NodeMCU pin 5, use D5 for pin number, and it will be translated to 'real' GPIO pin 14.

+ +

NodeMCU 1.0

+ +

This module is sold under many names for around $6.50 on AliExpress and it's one of the cheapest, fully integrated ESP8266 solutions.

+ +

It's an open hardware design with an ESP-12E core and 4 MB of SPI flash.

+ +

Acording to the manufacturer, "with a micro USB cable, you can connect NodeMCU devkit to your laptop and flash it without any trouble". This is more or less true: the board comes with a CP2102 onboard USB to serial adapter which just works, well, the majority of the time. Sometimes flashing fails and you have to reset the board by holding down FLASH + RST, then releasing FLASH, then releasing RST. This forces the CP2102 device to power cycle and to be re-numbered by Linux.

+ +

The board also features a NCP1117 voltage regulator, a blue LED on GPIO16 and a 220k/100k Ohm voltage divider on the ADC input pin.

+ +

Full pinout and PDF schematics can be found here

+ +

Olimex MOD-WIFI-ESP8266-DEV

+ +

This board comes with 2 MB of SPI flash and optional accessories (e.g. evaluation board ESP8266-EVB or BAT-BOX for batteries).

+ +

The basic module has three solder jumpers that allow you to switch the operating mode between SDIO, UART and FLASH.

+ +

The board is shipped for FLASH operation mode, with jumpers TD0JP=0, IO0JP=1, IO2JP=1.

+ +

Since jumper IO0JP is tied to GPIO0, which is PIN 21, you'll have to ground it before programming with a USB to serial adapter and reset the board by power cycling it.

+ +

UART pins for programming and serial I/O are GPIO1 (TXD, pin 3) and GPIO3 (RXD, pin 4).

+ +

You can find the board schematics here

+ +

Olimex MOD-WIFI-ESP8266

+ +

This is a stripped down version of the above. Behaves identically in terms of jumpers but has less pins readily available for I/O. Still 2 MB of SPI flash.

+ +

Olimex ESP8266-EVB

+ +

It's a Olimex MOD-WIFI-ESP8266-DEV module installed on the headers of a development board which features some breakout connectors, a button (GPIO0) and a relay (GPIO5).

+ +

Programming is pretty straightforward: the board is supported in the Arduino IDE after installing it via the Board Manager. To download a program you just have to connect GND/RX/TX from a serial/USB adapter to the UEXT connector and press the only button before applying power to enter UART mode.

+ +

Don't connect 5V from the serial/USB adapter to the board or you won't be able to power cycle it for UART mode.

+ +

You can find the board schematics here.

+ +

This guide is also useful for the first setup, since it contains the UEXT connector pinout.

+ +

Board variants include: + * ESP8266-EVB-BAT: comes with built-in LiPo charger and step-up converter + * ESP8266-EVB-BAT-BOX: as above, but enclosd in a plastic box (non-weatherproof)

+ +

SparkFun ESP8266 Thing

+ +

Product page: https://www.sparkfun.com/products/13231

+ +

TODO: add notes

+ +

SweetPea ESP-210

+ +

TODO: add notes

+ +

ESPino

+ +

ESPino integrates the ESP-12 module with a 3.3v regulator, CP2104 USB-Serial bridge and a micro USB connector for easy programming. It is designed for fitting in a breadboard and has an RGB Led and two buttons for easy prototyping.

+ +

For more information about the hardware, pinout diagram and programming procedures, please see the datasheet.

+ +

Product page: http://www.espino.io/en

+ +

WifInfo

+ +

WifInfo integrates the ESP-12 or ESP-07+Ext antenna module with a 3.3v regulator and the hardware to be able to measure French telemetry issue from ERDF powering meter serial output. It has a USB connector for powering, an RGB WS2812 Led, 4 pins I2C connector to fit OLED or sensor, and two buttons + FTDI connector and auto reset feature.

+ +

For more information, please see WifInfo related blog entries, github and community forum.

+ +

Generic ESP8266 modules

+ +

These modules come in different form factors and pinouts. See the page at ESP8266 community wiki for more info: +ESP8266 Module Family.

+ +

Usually these modules have no bootstapping resistors on board, insufficient decoupling capacitors, no voltage regulator, no reset circuit, and no USB-serial adapter. This makes using them somewhat tricky, compared to development boards which add these features.

+ +

In order to use these modules, make sure to observe the following:

+ + + +

Serial Adapter

+ +

There are many different USB to Serial adapters / boards. +To be able to put ESP8266 into bootloader mode using serial handshaking lines, you need the adapter which breaks out RTS and DTR outputs. CTS and DSR are not useful for upload (they are inputs). Make sure the adapter can work with 3.3V IO voltage: it should have a jumper or a switch to select between 5V and 3.3V, or be marked as 3.3V only.

+ +

Adapters based around the following ICs should work:

+ + + +

PL2303-based adapters are known not to work on Mac OS X. See https://github.com/igrr/esptool-ck/issues/9 for more info.

+ +

Minimal Hardware Setup for Bootloading and Usage

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PINResistorSerial Adapter
VCCVCC (3.3V)
GNDGND
TX or GPIO2*RX
RXTX
GPIO0PullUpDTR
Reset*PullUpRTS
GPIO15*PullDown
CH_PDPullUp
+ + + +

ESP to Serial

+ +

ESP to Serial

+ +

Minimal Hardware Setup for Bootloading only

+ +

ESPxx Hardware

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PINResistorSerial Adapter
VCCVCC (3.3V)
GNDGND
TX or GPIO2RX
RXTX
GPIO0GND
ResetRTS*
GPIO15PullDown
CH_PDPullUp
+ + + +

Minimal Hardware Setup for Running only

+ +

ESPxx Hardware

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PINResistorPower supply
VCCVCC (3.3V)
GNDGND
GPIO0PullUp
GPIO15PullDown
CH_PDPullUp
+ +

Minimal

+ +

ESP min

+ +

Improved Stability

+ +

ESP improved stability

+ +

Boot Messages and Modes

+ +

The ESP module checks at every boot the Pins 0, 2 and 15. +based on them its boots in different modes:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
GPIO15GPIO0GPIO2Mode
0V0V3.3VUart Bootloader
0V3.3V3.3VBoot sketch (SPI flash)
3.3VxxSDIO mode (not used for Arduino)
+ +

at startup the ESP prints out the current boot mode example: + +rst cause:2, boot mode:(3,6) +

+ +

note: + - GPIO2 is used as TX output and the internal Pullup is enabled on boot.

+ +

rst cause

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
NumberDescription
0unknown
1normal boot
2reset pin
3software reset
4watchdog reset
+ +

boot mode

+ +

the first value respects the pin setup of the Pins 0, 2 and 15.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NumberGPIO15GPIO0GPIO2Mode
00V0V0VNot valid
10V0V3.3VUart
20V3.3V0VNot valid
30V3.3V3.3VFlash
43.3V0V0VSDIO
53.3V0V3.3VSDIO
63.3V3.3V0VSDIO
73.3V3.3V3.3VSDIO
+ +

note: + - number = ((GPIO15 << 2) | (GPIO0 << 1) | GPIO2);

+ +

WeMos D1

+ +

Product page: http://wemos.cc

+ +

WeMos D1 mini

+ +

Product page: http://wemos.cc

+ +

ESPino (WROOM-02 Module) by ThaiEasyElec

+ +

ESPino by ThaiEasyElec using WROOM-02 module from Espressif Systems with 4 MB Flash.

+ +

We will update an English description soon. +- Product page: http://thaieasyelec.com/products/wireless-modules/wifi-modules/espino-wifi-development-board-detail.html +- Schematics: www.thaieasyelec.com/downloads/ETEE052/ETEE052_ESPino_Schematic.pdf +- Dimensions: http://thaieasyelec.com/downloads/ETEE052/ETEE052_ESPino_Dimension.pdf +- Pinouts: http://thaieasyelec.com/downloads/ETEE052/ETEE052_ESPino_User_Manual_TH_v1_0_20160204.pdf (Please see pg. 8)

+ +
+ + diff --git a/versions/2.2.0-rc1/doc/changes.html b/versions/2.2.0-rc1/doc/changes.html new file mode 100644 index 000000000..09d634d55 --- /dev/null +++ b/versions/2.2.0-rc1/doc/changes.html @@ -0,0 +1,602 @@ + + + + + + + + + + + + + + Change Log · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
+ This documentation is for version 2.2.0-rc1. Other versions. +
+ + + + +
+

Current version

+ +

Core

+ + + +

Libraries

+ + + +

Tools

+ +
+ +

2.1.0

+ +

February 27, 2016

+ +

Package link: http://arduino.esp8266.com/versions/2.1.0/package_esp8266com_index.json.

+ +

Core

+ + + +

Libraries

+ + + +

Tools

+ + + +
+ +

2.0.0

+ +

November 30, 2015

+ +

Package link: http://arduino.esp8266.com/versions/2.0.0/package_esp8266com_index.json.

+ +

Core

+ + + +

Libraries

+ + + +

Tools

+ + + +
+ +

1.6.5-947-g39819f0

+ +

July 23, 2015

+ +

Package link: http://arduino.esp8266.com/versions/1.6.5-947-g39819f0/package_esp8266com_index.json.

+ +

Core

+ + + +

Libraries

+ + + +

Tools

+ + + +
+ +

1.6.4-673-g8cd3697

+ +

May 22, 2015

+ +

Package link: http://arduino.esp8266.com/versions/1.6.4-673-g8cd3697/package_esp8266com_index.json.

+ +

Tools

+ + + +

Libraries

+ + + +
+ +

1.6.4-628-g545ffde

+ +

May 19, 2015

+ + + +
+ + diff --git a/versions/2.2.0-rc1/doc/eclipse/1_Install_New_Software.png b/versions/2.2.0-rc1/doc/eclipse/1_Install_New_Software.png new file mode 100644 index 000000000..a3e9d3619 Binary files /dev/null and b/versions/2.2.0-rc1/doc/eclipse/1_Install_New_Software.png differ diff --git a/versions/2.2.0-rc1/doc/eclipse/2_Install_software.png b/versions/2.2.0-rc1/doc/eclipse/2_Install_software.png new file mode 100644 index 000000000..b7baadaa9 Binary files /dev/null and b/versions/2.2.0-rc1/doc/eclipse/2_Install_software.png differ diff --git a/versions/2.2.0-rc1/doc/eclipse/eclipse.md b/versions/2.2.0-rc1/doc/eclipse/eclipse.md new file mode 100644 index 000000000..348d1cf19 --- /dev/null +++ b/versions/2.2.0-rc1/doc/eclipse/eclipse.md @@ -0,0 +1,38 @@ +using Eclipse with Arduino ESP8266 +=========================================== + +### What to Download ### +- [arduino IDE](https://www.arduino.cc/en/Main/Software) +- [Eclipse IDE for C/C++ Developers](http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/marsr) +- [Java](http://www.java.com/) + +### Setup Arduino ### + see the [Readme](https://github.com/esp8266/Arduino#installing-with-boards-manager) + +### Setup Eclipse ### +- [step 1](http://www.baeyens.it/eclipse/how_to.shtml#/c) +- [step 2](http://www.baeyens.it/eclipse/how_to.shtml#/e) +- go to Window --> preferences --> Arduino +- add as private hardware path the Part to the ESP8266 + +###### example private hardware path + Windows: C:\Users\[username]\AppData\Roaming\Arduino15\packages\esp8266\hardware + Linux: /home/[username]/.arduino15/packages/esp8266/hardware + +### Eclipse wont build ### +if eclipse dont find the path to the Compiler add to the platform.txt +after: +``` +version=1.6.4 +``` +this: +``` +runtime.tools.xtensa-lx106-elf-gcc.path={runtime.platform.path}/../../../tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9 +runtime.tools.esptool.path={runtime.platform.path}/../../../tools/esptool/0.4.4 +``` +Note: + - the path may changed, check the current version. + - each update over the Arduino IDE will remove the fix + - may not needed in future if Eclipse Plugin get an Update + + \ No newline at end of file diff --git a/versions/2.2.0-rc1/doc/eclipse/makefile.init b/versions/2.2.0-rc1/doc/eclipse/makefile.init new file mode 100644 index 000000000..76438d62c --- /dev/null +++ b/versions/2.2.0-rc1/doc/eclipse/makefile.init @@ -0,0 +1,39 @@ +vecho := @echo +Q := @ + +PROJECT_NAME=project_name + +OTA_IP=192.168.254.100 +OTA_PORT=8266 + +SERIAL_PORT=COM3 +SERIAL_BAUD=230400 + +ARDUINO_BASE = D:/Coding/avr/Programme/arduino-nightly +ESP8266_BASE = $(ARDUINO_BASE)/hardware/esp8266com/esp8266 +ESP8266_TOOLS = $(ESP8266_BASE)/tools +XTENSA_TOOLS_ROOT = $(ESP8266_TOOLS)/xtensa-lx106-elf/bin + +PYTHON_BIN = python +ESPTOOL_PY_BIN = $(ESP8266_TOOLS)/esptool.py +ESPOTA_PY_BIN = $(ESP8266_TOOLS)/espota.py +ESPTOOL_BIN = $(ESP8266_TOOLS)/esptool/esptool.exe + +ota: + $(vecho) ota... + $(PYTHON_BIN) $(ESPOTA_PY_BIN) -i $(OTA_IP) -p $(OTA_PORT) --auth= -f ./$(PROJECT_NAME).bin + +ota_spiffs: + $(vecho) ota spiffs... + $(PYTHON_BIN) $(ESPOTA_PY_BIN) -i $(OTA_IP) -p $(OTA_PORT) --auth= -s -f ./$(PROJECT_NAME)_spiffs.bin + +erase_flash: + $(vecho) "Erase Flash" + $(PYTHON_BIN) $(ESPTOOL_PY_BIN) -p $(SERIAL_PORT) -b $(SERIAL_BAUD) erase_flash + +dumpmem: + $(vecho) "Read Flash need some time..." + $(PYTHON_BIN) $(ESPTOOL_PY_BIN) -p $(SERIAL_PORT) -b $(SERIAL_BAUD) read_flash 0 4194304 dump.bin + +objdump: + "$(XTENSA_TOOLS_ROOT)/xtensa-lx106-elf-objdump" -S $(PROJECT_NAME).elf > $(PROJECT_NAME).dobj diff --git a/versions/2.2.0-rc1/doc/esp12.png b/versions/2.2.0-rc1/doc/esp12.png new file mode 100644 index 000000000..8ec371016 Binary files /dev/null and b/versions/2.2.0-rc1/doc/esp12.png differ diff --git a/versions/2.2.0-rc1/doc/esp12.svg b/versions/2.2.0-rc1/doc/esp12.svg new file mode 100644 index 000000000..107073dfa --- /dev/null +++ b/versions/2.2.0-rc1/doc/esp12.svg @@ -0,0 +1,1187 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RESET + + + + RESET + + + + + ADC + + + + GPIO16 + + + + + D16~ + + + + CHPD + + + + D14~ + + + + D12~ + + + + D13~ + + + + D15~ + + + + RESET + + + + VCC + + + + GND + + + + D2~ + + + + D0~ + + + + D4~ + + + + D5~ + + + + D3~ + + + + D1~ + + + + TX0 + + + + RX0 + + + + RX0* + + + + TX0* + + + + TX1 + + + + SDA + + + + SCL + + + + SS + + + + MISO + + + + MOSI + + + + SCK + + ESP-12 + + diff --git a/versions/2.2.0-rc1/doc/esp8266_tcp_active_close.png b/versions/2.2.0-rc1/doc/esp8266_tcp_active_close.png new file mode 100644 index 000000000..f9dad0987 Binary files /dev/null and b/versions/2.2.0-rc1/doc/esp8266_tcp_active_close.png differ diff --git a/versions/2.2.0-rc1/doc/exception_causes.md b/versions/2.2.0-rc1/doc/exception_causes.md new file mode 100644 index 000000000..4b11bdb13 --- /dev/null +++ b/versions/2.2.0-rc1/doc/exception_causes.md @@ -0,0 +1,38 @@ +Exception Causes (EXCCAUSE) +=========================================== + +| EXC-CAUSE Code | Cause Name | Cause Description | Required Option | EXC-VADDR Loaded | +|:--------------:|:---------------------------|:------------------------------------------------------------------------------------------------------------|:-------------------------|:----------------:| +| 0 | IllegalInstructionCause | Illegal instruction | Exception | No | +| 1 | SyscallCause | SYSCALL instruction | Exception | No | +| 2 | InstructionFetchErrorCause | Processor internal physical address or data error during instruction fetch | Exception | Yes | +| 3 | LoadStoreErrorCause | Processor internal physical address or data error during load or store | Exception | Yes | +| 4 | Level1InterruptCause | Level-1 interrupt as indicated by set level-1 bits in the INTERRUPT register | Interrupt | No | +| 5 | AllocaCause | MOVSP instruction, if callers registers are not in the register file | Windowed Register | No | +| 6 | IntegerDivideByZeroCause | QUOS, QUOU, REMS, or REMU divisor operand is zero | 32-bit Integer Divide | No | +| 7 | Reserved for Tensilica | | | | +| 8 | PrivilegedCause | Attempt to execute a privileged operation when CRING ? 0 | MMU | No | +| 9 | LoadStoreAlignmentCause | Load or store to an unaligned address | Unaligned Exception | Yes | +| 10..11 | Reserved for Tensilica | | | | +| 12 | InstrPIFDataErrorCause | PIF data error during instruction fetch | Processor Interface | Yes | +| 13 | LoadStorePIFDataErrorCause | Synchronous PIF data error during LoadStore access | Processor Interface | Yes | +| 14 | InstrPIFAddrErrorCause | PIF address error during instruction fetch | Processor Interface | Yes | +| 15 | LoadStorePIFAddrErrorCause | Synchronous PIF address error during LoadStore access | Processor Interface | Yes | +| 16 | InstTLBMissCause | Error during Instruction TLB refill | MMU | Yes | +| 17 | InstTLBMultiHitCause | Multiple instruction TLB entries matched | MMU | Yes | +| 18 | InstFetchPrivilegeCause | An instruction fetch referenced a virtual address at a ring level less than CRING | MMU | Yes | +| 19 | Reserved for Tensilica | | | | +| 20 | InstFetchProhibitedCause | An instruction fetch referenced a page mapped with an attribute that does not permit instruction fetch | Region Protection or MMU | Yes | +| 21..23 | Reserved for Tensilica | | | | +| 24 | LoadStoreTLBMissCause | Error during TLB refill for a load or store | MMU | Yes | +| 25 | LoadStoreTLBMultiHitCause | Multiple TLB entries matched for a load or store | MMU | Yes | +| 26 | LoadStorePrivilegeCause | A load or store referenced a virtual address at a ring level less than CRING | MMU | Yes | +| 27 | Reserved for Tensilica | | | | +| 28 | LoadProhibitedCause | A load referenced a page mapped with an attribute that does not permit loads | Region Protection or MMU | Yes | +| 29 | StoreProhibitedCause | A store referenced a page mapped with an attribute that does not permit stores | Region Protection or MMU | Yes | +| 30..31 | Reserved for Tensilica | | | | +| 32..39 | CoprocessornDisabled | Coprocessor n instruction when cpn disabled. n varies 0..7 as the cause varies 32..39 | Coprocessor | No | +| 40..63 | Reserved | | | | + + +Infos from Xtensa Instruction Set Architecture (ISA) Reference Manual \ No newline at end of file diff --git a/versions/2.2.0-rc1/doc/filesystem.html b/versions/2.2.0-rc1/doc/filesystem.html new file mode 100644 index 000000000..2715b6695 --- /dev/null +++ b/versions/2.2.0-rc1/doc/filesystem.html @@ -0,0 +1,587 @@ + + + + + + + + + + + + + + File System · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
+ This documentation is for version 2.2.0-rc1. Other versions. +
+ + + + +
+

Table of Contents

+ + + +

Flash layout

+ +

Even though file system is stored on the same flash chip as the program, programming new sketch will not modify file system contents. This allows to use file system to store sketch data, configuration files, or content for Web server.

+ +

The following diagram illustrates flash layout used in Arduino environment:

+
|--------------|-------|---------------|--|--|--|--|--|
+^              ^       ^               ^     ^
+Sketch    OTA update   File system   EEPROM  WiFi config (SDK)
+
+

File system size depends on the flash chip size. Depending on the board which is selected in IDE, you have the following options for flash size:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BoardFlash chip size, bytesFile system size, bytes
Generic module512k64k, 128k
Generic module1M64k, 128k, 256k, 512k
Generic module2M1M
Generic module4M3M
Adafruit HUZZAH4M1M, 3M
ESPresso Lite 1.04M1M, 3M
ESPresso Lite 2.04M1M, 3M
NodeMCU 0.94M1M, 3M
NodeMCU 1.04M1M, 3M
Olimex MOD-WIFI-ESP8266(-DEV)2M1M
SparkFun Thing512k64k
SweetPea ESP-2104M1M, 3M
WeMos D1 & D1 mini4M1M, 3M
ESPDuino4M1M, 3M
+ +

Note: to use any of file system functions in the sketch, add the following include to the sketch:

+
#include "FS.h"
+
+

Uploading files to file system

+ +

ESP8266FS is a tool which integrates into the Arduino IDE. It adds a menu item to Tools menu for uploading the contents of sketch data directory into ESP8266 flash file system.

+ + + +

File system object (SPIFFS)

+ +

begin

+
SPIFFS.begin()
+
+

This method mounts SPIFFS file system. It must be called before any other +FS APIs are used. Returns true if file system was mounted successfully, false +otherwise.

+ +

format

+
SPIFFS.format()
+
+

Formats the file system. May be called either before or after calling begin. +Returns true if formatting was successful.

+ +

open

+
SPIFFS.open(path, mode)
+
+

Opens a file. path should be an absolute path starting with a slash +(e.g. /dir/filename.txt). mode is a string specifying access mode. It can be +one of "r", "w", "a", "r+", "w+", "a+". Meaning of these modes is the same as +for fopen C function.

+
   r      Open text file for reading.  The stream is positioned at the
+          beginning of the file.
+
+   r+     Open for reading and writing.  The stream is positioned at the
+          beginning of the file.
+
+   w      Truncate file to zero length or create text file for writing.
+          The stream is positioned at the beginning of the file.
+
+   w+     Open for reading and writing.  The file is created if it does
+          not exist, otherwise it is truncated.  The stream is
+          positioned at the beginning of the file.
+
+   a      Open for appending (writing at end of file).  The file is
+          created if it does not exist.  The stream is positioned at the
+          end of the file.
+
+   a+     Open for reading and appending (writing at end of file).  The
+          file is created if it does not exist.  The initial file
+          position for reading is at the beginning of the file, but
+          output is always appended to the end of the file.
+
+

Returns File object. To check whether the file was opened successfully, use +the boolean operator.

+
File f = SPIFFS.open("/f.txt", "w");
+if (!f) {
+    Serial.println("file open failed");
+}
+
+

exists

+
SPIFFS.exists(path)
+
+

Returns true if a file with given path exists, false otherwise.

+ +

openDir

+
SPIFFS.openDir(path)
+
+

Opens a directory given its absolute path. Returns a Dir object.

+ +

remove

+
SPIFFS.remove(path)
+
+

Deletes the file given its absolute path. Returns true if file was deleted successfully.

+ +

rename

+
SPIFFS.rename(pathFrom, pathTo)
+
+

Renames file from pathFrom to pathTo. Paths must be absolute. Returns true +if file was renamed successfully.

+ +

info

+
FSInfo fs_info;
+SPIFFS.info(fs_info);
+
+

Fills FSInfo structure with information about +the file system. Returns true is successful, false otherwise.

+ +

Filesystem information structure

+
struct FSInfo {
+    size_t totalBytes;
+    size_t usedBytes;
+    size_t blockSize;
+    size_t pageSize;
+    size_t maxOpenFiles;
+    size_t maxPathLength;
+};
+
+

This is the structure which may be filled using FS::info method. +- totalBytes — total size of useful data on the file system +- usedBytes — number of bytes used by files +- blockSize — SPIFFS block size +- pageSize — SPIFFS logical page size +- maxOpenFiles — max number of files which may be open simultaneously +- maxPathLength — max file name length (including one byte for zero termination)

+ +

Directory object (Dir)

+ +

The purpose of Dir object is to iterate over files inside a directory. +It provides three methods: next(), fileName(), and openFile(mode).

+ +

The following example shows how it should be used:

+
Dir dir = SPIFFS.openDir("/data");
+while (dir.next()) {
+    Serial.print(dir.fileName());
+    File f = dir.openFile("r");
+    Serial.println(f.size());
+}
+
+

dir.next() returns true while there are files in the directory to iterate over. +It must be called before calling fileName and openFile functions.

+ +

openFile method takes mode argument which has the same meaning as for SPIFFS.open function.

+ +

File object

+ +

SPIFFS.open and dir.openFile functions return a File object. This object +supports all the functions of Stream, so you can use readBytes, findUntil, +parseInt, println, and all other Stream methods.

+ +

There are also some functions which are specific to File object.

+ +

seek

+
file.seek(offset, mode)
+
+

This function behaves like fseek C function. Depending on the value of mode, +it moves current position in a file as follows:

+ + + +

Returns true if position was set successfully.

+ +

position

+
file.position()
+
+

Returns the current position inside the file, in bytes.

+ +

size

+
file.size()
+
+

Returns file size, in bytes.

+ +

name

+
String name = file.name();
+
+

Returns file name, as const char*. Convert it to String for storage.

+ +

close

+
file.close()
+
+

Close the file. No other operations should be performed on File object after close function was called.

+ +
+ + diff --git a/versions/2.2.0-rc1/doc/installing.html b/versions/2.2.0-rc1/doc/installing.html new file mode 100644 index 000000000..8160671f5 --- /dev/null +++ b/versions/2.2.0-rc1/doc/installing.html @@ -0,0 +1,369 @@ + + + + + + + + + + + + + + Installation · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
+ This documentation is for version 2.2.0-rc1. Other versions. +
+ + + + +
+

Boards Manager

+ +

This is the suggested installation method for end users.

+ +

Prerequisites

+ + + +

Instructions

+ + + +

You may optionally use staging boards manager package link: +http://arduino.esp8266.com/staging/package_esp8266com_index.json. This may contain some new features, but at the same time, some things might be broken.

+ +

Using git version

+ +

This is the suggested installation method for contributors and library developers.

+ +

Prerequisites

+ + + +

Instructions

+ + + +
+ + diff --git a/versions/2.2.0-rc1/doc/libraries.html b/versions/2.2.0-rc1/doc/libraries.html new file mode 100644 index 000000000..531c9ae76 --- /dev/null +++ b/versions/2.2.0-rc1/doc/libraries.html @@ -0,0 +1,458 @@ + + + + + + + + + + + + + + Libraries · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
+ This documentation is for version 2.2.0-rc1. Other versions. +
+ + + + +
+

Table of Contents

+ + + +

WiFi(ESP8266WiFi library)

+ +

This is mostly similar to WiFi shield library. Differences include:

+ + + +

WiFiServer, WiFiClient, and WiFiUDP behave mostly the same way as with WiFi shield library. +Four samples are provided for this library. +You can see more commands here: http://www.arduino.cc/en/Reference/WiFi

+ +

Ticker

+ +

Library for calling functions repeatedly with a certain period. Two examples included.

+ +

It is currently not recommended to do blocking IO operations (network, serial, file) from Ticker +callback functions. Instead, set a flag inside the ticker callback and check for that flag inside the loop function.

+ +

Here is library to simplificate Ticker usage and avoid WDT reset: TickerScheduler

+ +

EEPROM

+ +

This is a bit different from standard EEPROM class. You need to call EEPROM.begin(size) +before you start reading or writing, size being the number of bytes you want to use. +Size can be anywhere between 4 and 4096 bytes.

+ +

EEPROM.write does not write to flash immediately, instead you must call EEPROM.commit() +whenever you wish to save changes to flash. EEPROM.end() will also commit, and will +release the RAM copy of EEPROM contents.

+ +

EEPROM library uses one sector of flash located just after the SPIFFS.

+ +

Three examples included.

+ +

I2C (Wire library)

+ +

Wire library currently supports master mode up to approximately 450KHz. +Before using I2C, pins for SDA and SCL need to be set by calling +Wire.begin(int sda, int scl), i.e. Wire.begin(0, 2) on ESP-01, +else they default to pins 4(SDA) and 5(SCL).

+ +

SPI

+ +

SPI library supports the entire Arduino SPI API including transactions, including setting phase (CPHA). +Setting the Clock polarity (CPOL) is not supported, yet (SPI_MODE2 and SPI_MODE3 not working).

+ +

SoftwareSerial

+ +

An ESP8266 port of SoftwareSerial library done by Peter Lerup (@plerup) supports baud rate up to 115200 and multiples SoftwareSerial instances. See https://github.com/plerup/espsoftwareserial if you want to suggest an improvement or open an issue related to SoftwareSerial.

+ +

ESP-specific APIs

+ +

APIs related to deep sleep and watchdog timer are available in the ESP object, only available in Alpha version.

+ +

ESP.deepSleep(microseconds, mode) will put the chip into deep sleep. mode is one of WAKE_RF_DEFAULT, WAKE_RFCAL, WAKE_NO_RFCAL, WAKE_RF_DISABLED. (GPIO16 needs to be tied to RST to wake from deepSleep.)

+ +

ESP.restart() restarts the CPU.

+ +

ESP.getResetReason() returns String containing the last reset resaon in human readable format.

+ +

ESP.getFreeHeap() returns the free heap size.

+ +

ESP.getChipId() returns the ESP8266 chip ID as a 32-bit integer.

+ +

Several APIs may be used to get flash chip info:

+ +

ESP.getFlashChipId() returns the flash chip ID as a 32-bit integer.

+ +

ESP.getFlashChipSize() returns the flash chip size, in bytes, as seen by the SDK (may be less than actual size).

+ +

ESP.getFlashChipSpeed(void) returns the flash chip frequency, in Hz.

+ +

ESP.getCycleCount() returns the cpu instruction cycle count since start as an unsigned 32-bit. This is useful for accurate timing of very short actions like bit banging.

+ +

ESP.getVcc() may be used to measure supply voltage. ESP needs to reconfigure the ADC +at startup in order for this feature to be available. Add the following line to the top +of your sketch to use getVcc:

+
ADC_MODE(ADC_VCC);
+
+

TOUT pin has to be disconnected in this mode.

+ +

Note that by default ADC is configured to read from TOUT pin using analogRead(A0), and +ESP.getVCC() is not available.

+ +

mDNS and DNS-SD responder (ESP8266mDNS library)

+ +

Allows the sketch to respond to multicast DNS queries for domain names like "foo.local", and DNS-SD (service dicovery) queries. +See attached example for details.

+ +

SSDP responder (ESP8266SSDP)

+ +

SSDP is another service discovery protocol, supported on Windows out of the box. See attached example for reference.

+ +

DNS server (DNSServer library)

+ +

Implements a simple DNS server that can be used in both STA and AP modes. The DNS server currently supports only one domain (for all other domains it will reply with NXDOMAIN or custom status code). With it clients can open a web server running on ESP8266 using a domain name, not an IP address. +See attached example for details.

+ +

Servo

+ +

This library exposes the ability to control RC (hobby) servo motors. It will support upto 24 servos on any available output pin. By defualt the first 12 servos will use Timer0 and currently this will not interfere with any other support. Servo counts above 12 will use Timer1 and features that use it will be effected. +While many RC servo motors will accept the 3.3V IO data pin from a ESP8266, most will not be able to run off 3.3v and will require another power source that matches their specifications. Make sure to connect the grounds between the ESP8266 and the servo motor power supply.

+ +

Other libraries (not included with the IDE)

+ +

Libraries that don't rely on low-level access to AVR registers should work well. Here are a few libraries that were verified to work:

+ + + +
+ + diff --git a/versions/2.2.0-rc1/doc/ota_updates/a-ota-external-serial-terminal-output.png b/versions/2.2.0-rc1/doc/ota_updates/a-ota-external-serial-terminal-output.png new file mode 100644 index 000000000..cc36c7d05 Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/a-ota-external-serial-terminal-output.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/a-ota-network-terminal.png b/versions/2.2.0-rc1/doc/ota_updates/a-ota-network-terminal.png new file mode 100644 index 000000000..9b9bd47f4 Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/a-ota-network-terminal.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/a-ota-ota-port-selection.png b/versions/2.2.0-rc1/doc/ota_updates/a-ota-ota-port-selection.png new file mode 100644 index 000000000..057bdb706 Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/a-ota-ota-port-selection.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/a-ota-ota-upload-complete.png b/versions/2.2.0-rc1/doc/ota_updates/a-ota-ota-upload-complete.png new file mode 100644 index 000000000..85f8ba56e Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/a-ota-ota-upload-complete.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/a-ota-ota-upload-configuration.png b/versions/2.2.0-rc1/doc/ota_updates/a-ota-ota-upload-configuration.png new file mode 100644 index 000000000..1d31a784c Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/a-ota-ota-upload-configuration.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/a-ota-python-configuration.png b/versions/2.2.0-rc1/doc/ota_updates/a-ota-python-configuration.png new file mode 100644 index 000000000..0e78f72a1 Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/a-ota-python-configuration.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/a-ota-serial-upload-configuration.png b/versions/2.2.0-rc1/doc/ota_updates/a-ota-serial-upload-configuration.png new file mode 100644 index 000000000..89f969d43 Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/a-ota-serial-upload-configuration.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/a-ota-sketch-selection.png b/versions/2.2.0-rc1/doc/ota_updates/a-ota-sketch-selection.png new file mode 100644 index 000000000..50ef7ca51 Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/a-ota-sketch-selection.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/a-ota-ssid-pass-entry.png b/versions/2.2.0-rc1/doc/ota_updates/a-ota-ssid-pass-entry.png new file mode 100644 index 000000000..3b678416c Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/a-ota-ssid-pass-entry.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-complete-and-joined-wifi.png b/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-complete-and-joined-wifi.png new file mode 100644 index 000000000..479335d90 Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-complete-and-joined-wifi.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-password-authenticating-ok.png b/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-password-authenticating-ok.png new file mode 100644 index 000000000..052d0da8b Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-password-authenticating-ok.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-password-passing-again-upload-ok.png b/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-password-passing-again-upload-ok.png new file mode 100644 index 000000000..cc6ea94dc Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-password-passing-again-upload-ok.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-password-passing-upload-ok.png b/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-password-passing-upload-ok.png new file mode 100644 index 000000000..e9254ebec Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-password-passing-upload-ok.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-password-prompt.png b/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-password-prompt.png new file mode 100644 index 000000000..e3ecb520d Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/a-ota-upload-password-prompt.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/ota-web-browser-form-ok.png b/versions/2.2.0-rc1/doc/ota_updates/ota-web-browser-form-ok.png new file mode 100644 index 000000000..ed44e9cbb Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/ota-web-browser-form-ok.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/ota-web-browser-form.png b/versions/2.2.0-rc1/doc/ota_updates/ota-web-browser-form.png new file mode 100644 index 000000000..87872393f Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/ota-web-browser-form.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/ota-web-path-to-binary.png b/versions/2.2.0-rc1/doc/ota_updates/ota-web-path-to-binary.png new file mode 100644 index 000000000..9237d8780 Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/ota-web-path-to-binary.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/ota-web-serial-monitor-ready.png b/versions/2.2.0-rc1/doc/ota_updates/ota-web-serial-monitor-ready.png new file mode 100644 index 000000000..5ce011170 Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/ota-web-serial-monitor-ready.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/ota-web-serial-monitor-reboot.png b/versions/2.2.0-rc1/doc/ota_updates/ota-web-serial-monitor-reboot.png new file mode 100644 index 000000000..0fd469e11 Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/ota-web-serial-monitor-reboot.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/ota-web-show-verbose-compilation.png b/versions/2.2.0-rc1/doc/ota_updates/ota-web-show-verbose-compilation.png new file mode 100644 index 000000000..00ac3871f Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/ota-web-show-verbose-compilation.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/readme.html b/versions/2.2.0-rc1/doc/ota_updates/readme.html new file mode 100644 index 000000000..994f05f02 --- /dev/null +++ b/versions/2.2.0-rc1/doc/ota_updates/readme.html @@ -0,0 +1,757 @@ + + + + + + + + + + + + + + OTA Update · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
+ This documentation is for version 2.2.0-rc1. Other versions. +
+ + + + +
+

Table of Contents

+ + + +

Introduction

+ +

OTA (Over the Air) update is the process of loading the firmware to ESP module using Wi-Fi connection rather that a serial port. Such functionality became extremely useful in case of limited or no physical access to the module.

+ +

OTA may be done using:

+ + + +

Arduino IDE option is intended primarily for software development phase. The two other options would be more useful after deployment, to provide module with application updates manually with a web browser or automatically using a http server.

+ +

In any case first firmware upload have to be done over a serial port. If OTA routines are correctly implemented in a sketch, then all subsequent uploads may be done over the air.

+ +

There is no imposed security on OTA process from being hacked. It is up to developer to ensure that updates are allowed only from legitimate / trusted source. Once update is complete, module restarts and new code is executed. Developer should ensure that application running on module is shut down and restarted in a safe manner. Chapters below provide additional information regarding security and safety of OTA process.

+ +

Security

+ +

Module has to be exposed wirelessly to get it updated with a new sketch. That poses chances of module being violently hacked and loaded with some other code. To reduce likelihood of being hacked consider protecting your uploads with a password, selecting certain OTA port, etc.

+ +

Check functionality provided with ArduinoOTA library that may improve security:

+
void setPort(uint16_t port);
+void setHostname(const char* hostname);
+void setPassword(const char* password);
+
+

Certain protection functionality is already built in and do not require any additional coding by developer. ArduinoOTA and espota.py use Digest-MD5 to authenticate upload. Integrity of transferred data is verified on ESP side using MD5 checksum.

+ +

Make your own risk analysis and depending on application decide what library functions to implement. If required consider implementation of other means of protection from being hacked, e.g. exposing module for uploads only according to specific schedule, trigger OTA only be user pressing dedicated “Update” button, etc.

+ +

Safety

+ +

OTA process takes ESP’s resources and bandwidth during upload. Then module is restarted and a new sketch executed. Analyse and test how it affects functionality of your existing and new sketch.

+ +

If ESP is placed in remote location and controlling some equipment, you should put additional attention what happens if operation of this equipment is suddenly interrupted by update process. Therefore decide how to put this equipment into safe state before starting the update. For instance your module may be controlling a garden watering system in a sequence. If this sequence is not properly shut down and a water valve left open, your garden may be flooded if this valve is not closed after OTA is finished and module restarts.

+ +

The following functions are provided with ArduinoOTA library and intended to handle functionality of your application during specific stages of OTA or on an OTA error:

+
void onStart(OTA_CALLBACK(fn));
+void onEnd(OTA_CALLBACK(fn));
+void onProgress(OTA_CALLBACK_PROGRESS(fn));
+void onError(OTA_CALLBACK_ERROR (fn));
+
+

Basic Requirements

+ +

Flash chip size needs a size that is able to hold the old sketch (currently running) and the new sketch (OTA) at the same time. +Keep in mind that the File system and EEPROM for example needs space too (one time) see flash layout. +cpp +ESP.getFreeSketchSpace(); + +can be used for checking the free space for the new sketch.

+ +

For overview of memory layout, where new sketch is stored and how it is copied during OTA process see Update process - memory view.

+ +

The following chapters provide more details and specific methods of doing OTA.

+ +

Arduino IDE

+ +

Uploading modules wirelessly from Arduino IDE is intended for the following typical scenarios: +- during firmware development as a quicker alternative to loading over a serial +- for updating small quantity of modules +- only if modules are available on the same network as the computer with Arduino IDE

+ +

Requirements

+ + + +

Application Example

+ +

Instructions below show configuration of OTA on NodeMCU 1.0 (ESP-12E Module) board. You can use any other board assuming that it meets requirements described above. This instruction is valid for all operating systems supported by Arduino IDE. Screen captures have been made on Windows 7 and you may see small differences (like name of serial port) if you are using Linux and MacOS.

+ +
    +
  1. Before you begin, please make sure that you have the following s/w installed:

    + +
  2. +
  3. Now prepare the sketch and configuration for the upload over a serial port.

    + +
      +
    • Start Arduino IDE and load sketch BasicOTA.ino available under File > Examples > ArduinoOTA +selection of example OTA sketch
    • +
  4. +
+
- Update SSID and password in the sketch so the module can join your Wi-Fi network
+    ![SSID and password entry](a-ota-ssid-pass-entry.png)
+
+- Configure upload parameters as below (you may need to adjust configuration if you are using a different module):
+    ![configuration of serial upload](a-ota-serial-upload-configuration.png)
+
+    **Note:** Depending on version of platform package and board you have, you may see ``` Upload Using: ``` in the menu above. This option is inactive and it does not matter what you select. It has been left for compatibility with older implementation of OTA and is targeted for removal in platform package version 2.2.0.
+
+
    +
  1. Upload the sketch (Ctrl+U). Once done, open Serial Monitor (Ctrl+Shift+M) and check if module has joined your Wi-Fi network:

    + +

    check if module joined network

  2. +
  3. Only if module is connected to network, after a couple of seconds, the esp8266-ota port will show up in Arduino IDE. Select port with IP adress shown in Serial Monitor in previus step:

    + +

    selection of OTA port

    + +

    Note: If OTA port does not show up, exit Arduino IDE, open it again and check if port is there. If it does not help check your firewall settings.

  4. +
  5. Now get ready for your first OTA upload by selecting the OTA port:

    + +

    configuration of OTA upload

    + +

    Note: The menu entry Upload Speed: does not matter at this point as it concerns the serial port. Just left it unchanged.

  6. +
  7. If you have successfully completed all the above steps, you can upload (Ctrl+U) the same (or any other) sketch over OTA:

    + +

    OTA upload complete

  8. +
+ +

Note: To be able to upload your sketch over and over again using OTA, you need to embed OTA routines inside. Please use BasicOTA.ino as an example.

+ +

Password Protection

+ +

Protecting your OTA uploads with password is really straightforward. All you need to do, is to include the following statement in your code:

+
ArduinoOTA.setPassword((const char *)"123");
+
+

Where 123 is a sample password that you should replace with your own.

+ +

Before implementing it in your sketch, it is a good idea to check how it works using BasicOTA.ino sketch available under File > Examples > ArduinoOTA. Go ahead, open BasicOTA.ino, uncomment the above statement that is already there, and upload the sketch. To make troubleshooting easier, do not modify example sketch besides what is absolutely required. This is including original simple 123 OTA password. Then attempt to upload sketch again (using OTA). After compilation is complete, once upload is about to begin, you should see prompt for password as follows:

+ +

Password prompt for OTA upload

+ +

Enter the password and upload should be initiated as usual with the only difference being Authenticating...OK message visible in upload log.

+ +

 Authenticating...OK during OTA upload

+ +

You will not be prompted for a reentering the same password next time. Arduino IDE will remember it for you. You will see prompt for password only after reopening IDE, or if you change it in your sketch, upload the sketch and then try to upload it again.

+ +

Please note, it is possible to reveal password entered previously in Arduino IDE, if IDE has not been closed since last upload. This can be done by enabling Show verbose output during: upload in File > Preferences and attempting to upload the module.

+ +

Verbose upload output with password passing in plan text

+ +

The picture above shows that the password is visible in log as it is passed to espota.py upload script.

+ +

Another example below shows situation when password is changed between uploads.

+ +

Verbose output when OTA password has been changed between uploads

+ +

When uploading, Arduino IDE used previously entered password, so the upload failed and that has been clearly reported by IDE. Only then IDE prompted for a new password. That was entered correctly and second attempt to upload has been successful.

+ +

Troubleshooting

+ +

If OTA update fails, first step is to check for error messages that may be shown in upload window of Arduino IDE. If this is not providing any useful hints try to upload again while checking what is shown by ESP on serial port. Serial Monitor from IDE will not be useful in that case. When attempting to open it, you will likely see the following:

+ +

Arduino IDE network terminal window

+ +

This window is for Arduino Yún and not yet implemented for esp8266/Arduino. It shows up because IDE is attempting to open Serial Monitor using network port you have selected for OTA upload.

+ +

Instead you need an external serial monitor. If you are a Windows user check out Termite. This is handy, slick and simple RS232 terminal that does not impose RTS or DTR flow control. Such flow control may cause issues if you are using respective lines to toggle GPIO0 and RESET pins on ESP for upload.

+ +

Select COM port and baud rate on external terminal program as if you were using Arduino Serial Monitor. Please see typical settings for Termite below:

+ +

Termite settings

+ +

Then run OTA from IDE and look what is displayed on terminal. Successful ArduinoOTA process using BasicOTA.ino sketch looks like below (IP address depends on your network configuration):

+ +

OTA upload successful - output on an external serial terminal

+ +

If upload fails you will likely see errors caught by the uploader, exception and the stack dump, or both.

+ +

The most common causes of OTA failure are as follows: +* not enough physical memory on the chip (e.g. ESP01 with 512K flash memory is not enough for OTA), +* too much memory declared for SPIFFS so new sketch will not fit between existing sketch and SPIFFS – see Update process - memory view, +* too little memory declared in Arduino IDE for your selected board (i.e. less than physical size).

+ +

For more details regarding flash memory layout please check File system. +For overview where new sketch is stored, how it is copied and how memory is organized for the purpose of OTA see Update process - memory view.

+ +

Web Browser

+ +

Updates described in this chapter are done with a web browser that can be useful in the following typical scenarios:

+ + + +

Requirements

+ + + +

Implementation Overview

+ +

Updates with a web browser are implemented using ESP8266HTTPUpdateServer class together with ESP8266WebServer and ESP8266mDNS classes. The following code is required to get it work:

+ +

setup()

+
    MDNS.begin(host);
+
+    httpUpdater.setup(&httpServer);
+    httpServer.begin();
+
+    MDNS.addService("http", "tcp", 80);
+
+

loop()

+
    httpServer.handleClient();
+
+

Application Example

+ +

The sample implementation provided below has been done using:

+ + + +

You can use another module if it meets previously desribed requirements.

+ +
    +
  1. Before you begin, please make sure that you have the following software installed:

    + +
  2. +
  3. Prepare the sketch and configuration for initial upload with a serial port.

    + +
      +
    • Start Arduino IDE and load sketch WebUpdater.ino available under File > Examples > ESP8266HTTPUpdateServer.
    • +
    • Update SSID and password in the sketch so the module can join your Wi-Fi network.
    • +
    • Open File > Preferences, look for “Show verbose output during:” and check out “compilation” option.

      + +

      Preferences - enabling verbose output during compilation

      + +

      Note: This setting will be required in step 5 below. You can uncheck this setting afterwards.

    • +
  4. +
  5. Upload sketch (Ctrl+U). Once done open Serial Monitor (Ctrl+Shift+M) and check if you see the following message displayed, that contains url for OTA update.

    + +

    Serial Monitor - after first load using serial

    + +

    Note: Such message will be shown only after module successfully joins network and is ready for an OTA upload.

  6. +
  7. Now open web browser and enter the url provided on Serial Monitor, i.e. http://esp8266-webupdate.local/update. Once entered, browser should display a form like below that has been served by your module. The form invites you to choose a file for update.

    + +

    OTA update form in web browser

    + +

    Note: If entering http://esp8266-webupdate.local/update does not work, try replacing esp8266-webupdate with module’s IP address. For example, if your module IP is 192.168.1.100 then url should be http://192.168.1.100/update. This workaround is useful in case the host software installed in step 2 does not work. If still nothing works and there are no clues on Serial Monitor, try to diagnose issue by opening provided url in Google Chrome, pressing F12 and checking contents of “Console” and “Network” tabs. Chrome provides some advanced logging on these tabs.

  8. +
  9. To obtain the file navigate to directory used by Arduino IDE to store results of compilation. You can check the path to this file in compilation log shown in IDE debug window as marked below.

    + +

    Compilation complete - path to binary file

  10. +
  11. Now press “Choose File” in web browser, go to directory identified in step 5 above, find the file “WebUpdater.cpp.bin” and upload it. If upload is successful you will see “OK” on web browser like below.

    + +

    OTA update complete

    + +

    Module will reboot that should be visible on Serial Monitor:

    + +

    Serial Monitor - after OTA update

    + +

    Just after reboot you should see exactly the same message HTTPUpdateServer ready! Open http:// esp8266-webupdate.local /update in your browser like in step 3. This is because module has been loaded again with the same code – first using serial port, and then using OTA.

  12. +
+ +

Once you are comfortable with this procedure go ahead and modify WebUpdater.ino sketch to print some additional messages, compile it, locate new binary file and upload it using web browser to see entered changes on a Serial Monitor.

+ +

You can also add OTA routines to your own sketch following guidelines in Implementation Overview above. If this is done correctly you should be always able to upload new sketch over the previous one using a web browser.

+ +

In case OTA update fails dead after entering modifications in your sketch, you can always recover module by loading it over a serial port. Then diagnose the issue with sketch using Serial Monitor. Once the issue is fixed try OTA again.

+ +

HTTP Server

+ +

ESPhttpUpdate class can check for updates and download a binary file from HTTP web server. +It is possible to download updates from every IP or domain address on the network or Internet.

+ +

Requirements

+ + + +

Arduino code

+ +
Simple updater
+ +

Simple updater downloads the file every time the function is called.

+
ESPhttpUpdate.update("192.168.0.2", 80, "/arduino.bin");
+
+
Advanced updater
+ +

Its possible to point update function to a script at the server. +If version string argument is given, it will be sent to the server. +Server side script can use this to check if update should be performed.

+ +

Server side script can respond as follows: +- response code 200, and send the firmware image, +- or response code 304 to notify ESP that no update is required.

+
t_httpUpdate_return ret = ESPhttpUpdate.update("192.168.0.2", 80, "/esp/update/arduino.php", "optional current version string here");
+switch(ret) {
+    case HTTP_UPDATE_FAILED:
+        Serial.println("[update] Update failed.");
+        break;
+    case HTTP_UPDATE_NO_UPDATES:
+        Serial.println("[update] Update no Update.");
+        break;
+    case HTTP_UPDATE_OK:
+        Serial.println("[update] Update ok."); // may not called we reboot the ESP
+        break;
+}
+
+

Server request handling

+ +
Simple updater
+ +

For the simple updater the server only needs to deliver the binary file for update.

+ +
Advanced updater
+ +

For advanced update management a script needs to run at the server side, for example a PHP script. +At every update request the ESP sends some information in HTTP headers to the server.

+ +

Example header data: + + [HTTP_USER_AGENT] => ESP8266-http-Update + [HTTP_X_ESP8266_STA_MAC] => 18:FE:AA:AA:AA:AA + [HTTP_X_ESP8266_AP_MAC] => 1A:FE:AA:AA:AA:AA + [HTTP_X_ESP8266_FREE_SPACE] => 671744 + [HTTP_X_ESP8266_SKETCH_SIZE] => 373940 + [HTTP_X_ESP8266_CHIP_SIZE] => 4194304 + [HTTP_X_ESP8266_SDK_VERSION] => 1.3.0 + [HTTP_X_ESP8266_VERSION] => DOOR-7-g14f53a19 +

+ +

With this information the script now can check if an update is needed. It is also possible to deliver different binaries based on the MAC address for example.

+ +

Script example:

+
<?PHP
+
+header('Content-type: text/plain; charset=utf8', true);
+
+function check_header($name, $value = false) {
+    if(!isset($_SERVER[$name])) {
+        return false;
+    }
+    if($value && $_SERVER[$name] != $value) {
+        return false;
+    }
+    return true;
+}
+
+function sendFile($path) {
+    header($_SERVER["SERVER_PROTOCOL"].' 200 OK', true, 200);
+    header('Content-Type: application/octet-stream', true);
+    header('Content-Disposition: attachment; filename='.basename($path));
+    header('Content-Length: '.filesize($path), true);
+    header('x-MD5: '.md5_file($path), true);
+    readfile($path);
+}
+
+if(!check_header('HTTP_USER_AGENT', 'ESP8266-http-Update')) {
+    header($_SERVER["SERVER_PROTOCOL"].' 403 Forbidden', true, 403);
+    echo "only for ESP8266 updater!\n";
+    exit();
+}
+
+if(
+    !check_header('HTTP_X_ESP8266_STA_MAC') ||
+    !check_header('HTTP_X_ESP8266_AP_MAC') ||
+    !check_header('HTTP_X_ESP8266_FREE_SPACE') ||
+    !check_header('HTTP_X_ESP8266_SKETCH_SIZE') ||
+    !check_header('HTTP_X_ESP8266_CHIP_SIZE') ||
+    !check_header('HTTP_X_ESP8266_SDK_VERSION') ||
+    !check_header('HTTP_X_ESP8266_VERSION')
+) {
+    header($_SERVER["SERVER_PROTOCOL"].' 403 Forbidden', true, 403);
+    echo "only for ESP8266 updater! (header)\n";
+    exit();
+}
+
+$db = array(
+    "18:FE:AA:AA:AA:AA" => "DOOR-7-g14f53a19",
+    "18:FE:AA:AA:AA:BB" => "TEMP-1.0.0"
+);
+
+if(isset($db[$_SERVER['HTTP_X_ESP8266_STA_MAC']])) {
+    if($db[$_SERVER['HTTP_X_ESP8266_STA_MAC']] != $_SERVER['HTTP_X_ESP8266_VERSION']) {
+        sendFile("./bin/".$db[$_SERVER['HTTP_X_ESP8266_STA_MAC']]."bin");
+    } else {
+        header($_SERVER["SERVER_PROTOCOL"].' 304 Not Modified', true, 304);
+    }
+    exit();
+}
+
+header($_SERVER["SERVER_PROTOCOL"].' 500 no version for ESP MAC', true, 500);
+
+

Stream Interface

+ +

TODO describe Stream Interface

+ +

The Stream Interface is the base for all other update modes like OTA, http Server / client.

+ +

Updater class

+ +

Updater is in the Core and deals with writing the firmware to the flash, +checking its integrity and telling the bootloader to load the new firmware on the next boot.

+ +

Update process - memory view

+ + + +

Memory Copy

+ +
+ + diff --git a/versions/2.2.0-rc1/doc/ota_updates/termite-configuration.png b/versions/2.2.0-rc1/doc/ota_updates/termite-configuration.png new file mode 100644 index 000000000..faa885fd1 Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/termite-configuration.png differ diff --git a/versions/2.2.0-rc1/doc/ota_updates/update_memory_copy.png b/versions/2.2.0-rc1/doc/ota_updates/update_memory_copy.png new file mode 100644 index 000000000..c708f5f4c Binary files /dev/null and b/versions/2.2.0-rc1/doc/ota_updates/update_memory_copy.png differ diff --git a/versions/2.2.0-rc1/doc/pin_functions.png b/versions/2.2.0-rc1/doc/pin_functions.png new file mode 100644 index 000000000..ac7fc0f9c Binary files /dev/null and b/versions/2.2.0-rc1/doc/pin_functions.png differ diff --git a/versions/2.2.0-rc1/doc/reference.html b/versions/2.2.0-rc1/doc/reference.html new file mode 100644 index 000000000..8006abca3 --- /dev/null +++ b/versions/2.2.0-rc1/doc/reference.html @@ -0,0 +1,397 @@ + + + + + + + + + + + + + + Reference · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
+ This documentation is for version 2.2.0-rc1. Other versions. +
+ + + + +
+

Table of Contents

+ + + +

Digital IO

+ +

Pin numbers in Arduino correspond directly to the ESP8266 GPIO pin numbers. pinMode, digitalRead, and digitalWrite functions work as usual, so to read GPIO2, call digitalRead(2).

+ +

Digital pins 0—15 can be INPUT, OUTPUT, or INPUT_PULLUP. +Pin 16 can be INPUT, OUTPUT or INPUT_PULLDOWN_16. At startup, pins are configured as INPUT.

+ +

Pins may also serve other functions, like Serial, I2C, SPI. These functions are normally activated by the corresponding library. The diagram below shows pin mapping for the popular ESP-12 module.

+ +

Pin Functions

+ +

Digital pins 6—11 are not shown on this diagram because they are used to connect flash memory chip on most modules. Trying to use these pins as IOs will likely cause the program to crash.

+ +

Note that some boards and modules (ESP-12ED, NodeMCU 1.0) also break out pins 9 and 11. These may be used as IO if flash chip works in DIO mode (as opposed to QIO, which is the default one).

+ +

Pin interrupts are supported through attachInterrupt, detachInterrupt functions. +Interrupts may be attached to any GPIO pin, except GPIO16. Standard Arduino interrupt +types are supported: CHANGE, RISING, FALLING.

+ +

Analog input

+ +

ESP8266 has a single ADC channel available to users. It may be used either to read voltage at ADC pin, or to read module supply voltage (VCC).

+ +

To read external voltage applied to ADC pin, use analogRead(A0). Input voltage range is 0 — 1.0V.

+ +

To read VCC voltage, use ESP.getVcc() and ADC pin must be kept unconnected. Additionally, the following line has to be added to the sketch:

+
ADC_MODE(ADC_VCC);
+
+

This line has to appear outside of any functions, for instance right after the #include lines of your sketch.

+ +

Analog output

+ +

analogWrite(pin, value) enables software PWM on the given pin. PWM may be used on pins 0 to 16. +Call analogWrite(pin, 0) to disable PWM on the pin. value may be in range from 0 to PWMRANGE, which is equal to 1023 by default. PWM range may be changed by calling analogWriteRange(new_range).

+ +

PWM frequency is 1kHz by default. Call analogWriteFreq(new_frequency) to change the frequency.

+ +

Timing and delays

+ +

millis() and micros() return the number of milliseconds and microseconds elapsed after reset, respectively.

+ +

delay(ms) pauses the sketch for a given number of milliseconds and allows WiFi and TCP/IP tasks to run. +delayMicroseconds(us) pauses for a given number of microseconds.

+ +

Remember that there is a lot of code that needs to run on the chip besides the sketch +when WiFi is connected. WiFi and TCP/IP libraries get a chance to handle any pending +events each time the loop() function completes, OR when delay is called. +If you have a loop somewhere in your sketch that takes a lot of time (>50ms) without +calling delay, you might consider adding a call to delay function to keep the WiFi +stack running smoothly.

+ +

There is also a yield() function which is equivalent to delay(0). The delayMicroseconds +function, on the other hand, does not yield to other tasks, so using it for delays +more than 20 milliseconds is not recommended.

+ +

Serial

+ +

Serial object works much the same way as on a regular Arduino. Apart from hardware FIFO (128 bytes for TX and RX) HardwareSerial has additional 256-byte TX and RX buffers. Both transmit and receive is interrupt-driven. Write and read functions only block the sketch execution when the respective FIFO/buffers are full/empty.

+ +

Serial uses UART0, which is mapped to pins GPIO1 (TX) and GPIO3 (RX). Serial may be remapped to GPIO15 (TX) and GPIO13 (RX) by calling Serial.swap() after Serial.begin. Calling swap again maps UART0 back to GPIO1 and GPIO3.

+ +

Serial1 uses UART1, TX pin is GPIO2. UART1 can not be used to receive data because normally it's RX pin is occupied for flash chip connection. To use Serial1, call Serial1.begin(baudrate).

+ +

If Serial1 is not used and Serial is not swapped - TX for UART0 can be mapped to GPIO2 instead by calling Serial.set_tx(2) after Serial.begin or directly with Serial.begin(baud, config, mode, 2).

+ +

By default the diagnostic output from WiFi libraries is disabled when you call Serial.begin. To enable debug output again, call Serial.setDebugOutput(true). To redirect debug output to Serial1 instead, call Serial1.setDebugOutput(true).

+ +

You also need to use Serial.setDebugOutput(true) to enable output from printf() function.

+ +

Both Serial and Serial1 objects support 5, 6, 7, 8 data bits, odd (O), even (E), and no (N) parity, and 1 or 2 stop bits. To set the desired mode, call Serial.begin(baudrate, SERIAL_8N1), Serial.begin(baudrate, SERIAL_6E2), etc.

+ +

Progmem

+ +

The Program memory features work much the same way as on a regular Arduino; placing read only data and strings in read only memory and freeing heap for your application. +The important difference is that on the ESP8266 the literal strings are not pooled. This means that the same literal string defined inside a F("") and/or PSTR("") will take up space for each instance in the code. So you will need to manage the duplicate strings yourself.

+ +

There is one additional helper macro to make it easier to pass const PROGMEM strings to methods that take a __FlashStringHelper called FPSTR(). The use of this will help make it easier to pool strings. +Not pooling strings...

+
String response1;
+response1 += F("http:");
+...
+String response2;
+response2 += F("http:");
+
+

using FPSTR would become...

+
const char HTTP[] PROGMEM = "http:";
+...
+{
+    String response1;
+    response1 += FPSTR(HTTP);
+    ...
+    String response2;
+    response2 += FPSTR(HTTP);
+}
+
+
+ + diff --git a/versions/2.2.0-rc1/doc/rgisters_dump.txt b/versions/2.2.0-rc1/doc/rgisters_dump.txt new file mode 100644 index 000000000..0039ac8b9 --- /dev/null +++ b/versions/2.2.0-rc1/doc/rgisters_dump.txt @@ -0,0 +1,1156 @@ +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x3FF00000 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00004 | 00000000000000000000000000000101 | 0x00000005 | 5 | | TEIE +0x3FF00008 | 00000000000000000000100000001111 | 0x0000080F | 2063 | . | +0x3FF0000C | 00000100000000000000000100000010 | 0x04000102 | 67109122 | | SPIRDY +0x3FF00010 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00014 | 00000000000000000000000000000000 | 0x00000000 | 0 | | CPU2X +0x3FF00018 | 11111111111111110000000011111111 | 0xFFFF00FF | 4294902015 | .. . | +0x3FF0001C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00020 | 00000000000000000000000000010000 | 0x00000010 | 16 | . | SPIIR +0x3FF00024 | 00000000000000000000000000011010 | 0x0000001A | 26 | . | +0x3FF00028 | 00000000000000000000000000000000 | 0x00000000 | 0 | | IOSWAP +0x3FF0002C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00030 | 00000000000000000100000001000000 | 0x00004040 | 16448 | @@ | +0x3FF00034 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00038 | 00000000000000000000000001000001 | 0x00000041 | 65 | A | +0x3FF0003C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00040 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00044 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00048 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF0004C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00050 | 10011101111011100000000000000000 | 0x9DEE0000 | 2649620480 | .. | MAC0 +0x3FF00054 | 00000010000000001001110011000010 | 0x02009CC2 | 33594562 | .. | MAC1 +0x3FF00058 | 00000000000000001010000000000000 | 0x0000A000 | 40960 | . | CHIPID +0x3FF0005C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00060 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00064 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00068 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF0006C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00070 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00074 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00078 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF0007C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00080 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00084 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00088 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF0008C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00090 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00094 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00098 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF0009C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000A0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000A4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000A8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000000 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U0F +0x60000004 | 00000000000000000000000010000011 | 0x00000083 | 131 | ƒ | U0IR +0x60000008 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U0IS +0x6000000C | 00000000000000000000000000000000 | 0x00000000 | 0 | | U0IE +0x60000010 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U0IC +0x60000014 | 00000000000000000000001010110110 | 0x000002B6 | 694 | ¶ | U0D +0x60000018 | 00000000000000000001000000000000 | 0x00001000 | 4096 |  | U0A +0x6000001C | 00000000000000000000000000000000 | 0x00000000 | 0 | | U0S +0x60000020 | 00000000000000000000000000001100 | 0x0000000C | 12 | | U0C0 +0x60000024 | 00000000000000000000000000000001 | 0x00000001 | 1 | | U0C1 +0x60000028 | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | U0LP +0x6000002C | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | U0HP +0x60000030 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U0PN +0x60000034 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000038 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000003C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000040 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000044 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000048 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000004C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000050 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000054 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000058 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000005C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000060 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000064 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000068 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000006C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000070 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000074 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000078 | 00000000000001100010000000000000 | 0x00062000 | 401408 | | U0DT +0x6000007C | 00000000000000000000010100000000 | 0x00000500 | 1280 | | U0ID +0x60000080 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000084 | 00000000000000000000000010000011 | 0x00000083 | 131 | ƒ | +0x60000088 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000008C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000090 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000094 | 00000000000000000000001010110110 | 0x000002B6 | 694 | ¶ | +0x60000098 | 00000000000000000001000000000000 | 0x00001000 | 4096 |  | +0x6000009C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000A0 | 00000000000000000000000000001100 | 0x0000000C | 12 | | +0x600000A4 | 00000000000000000000000000000001 | 0x00000001 | 1 | | +0x600000A8 | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | +0x600000AC | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | +0x600000B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000F8 | 00000000000001100010000000000000 | 0x00062000 | 401408 | | +0x600000FC | 00000000000000000000010100000000 | 0x00000500 | 1280 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000100 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1CMD +0x60000104 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1A +0x60000108 | 00000000001010001011001100010011 | 0x0028B313 | 2667283 | (³ | SPI1C +0x6000010C | 01011111111111110000000100100000 | 0x5FFF0120 | 1610547488 | _ÿ | SPI1C1 +0x60000110 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1RS +0x60000114 | 00000000000000000000000000010001 | 0x00000011 | 17 |  | SPI1C2 +0x60000118 | 10000000000000000011000001000011 | 0x80003043 | 2147496003 | € 0C | SPI1CLK +0x6000011C | 10000000000000000000000001000100 | 0x80000044 | 2147483716 | € D | SPI1U +0x60000120 | 01011100000000000000000000000000 | 0x5C000000 | 1543503872 | \ | SPI1U1 +0x60000124 | 01110000000000000000000000000000 | 0x70000000 | 1879048192 | p | SPI1U2 +0x60000128 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1WS +0x6000012C | 00000000000000000000000000011110 | 0x0000001E | 30 |  | SPI1P +0x60000130 | 00000000000000000000001000000000 | 0x00000200 | 512 | | SPI1S +0x60000134 | 00000010000000000000000000000000 | 0x02000000 | 33554432 | | SPI1S1 +0x60000138 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1S2 +0x6000013C | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1S3 +0x60000140 | 01101010001111111010001001011011 | 0x6A3FA25B | 1782555227 | j?¢[ | SPI1W0 +0x60000144 | 00000101110010001000000100001111 | 0x05C8810F | 97026319 | ȁ | SPI1W1 +0x60000148 | 00101110010111101110011010111001 | 0x2E5EE6B9 | 777971385 | .^æ¹ | SPI1W2 +0x6000014C | 00100100010001111000101001001000 | 0x24478A48 | 608668232 | $GŠH | SPI1W3 +0x60000150 | 11010110111000010101011101011101 | 0xD6E1575D | 3605092189 | ÖáW] | SPI1W4 +0x60000154 | 00100001101000011010111001101110 | 0x21A1AE6E | 564244078 | !¡®n | SPI1W5 +0x60000158 | 11100000011011000011001001000101 | 0xE06C3245 | 3765187141 | àl2E | SPI1W6 +0x6000015C | 01011110010010001101001101000010 | 0x5E48D342 | 1581830978 | ^HÓB | SPI1W7 +0x60000160 | 00010110010011011011100000010011 | 0x164DB813 | 374192147 |M¸| SPI1W8 +0x60000164 | 10010111000011100111110110010001 | 0x970E7D91 | 2534309265 |—}‘ | SPI1W9 +0x60000168 | 00100110001110000011101110000110 | 0x26383B86 | 641219462 | &8;† | SPI1W10 +0x6000016C | 10000101010100110010111100101111 | 0x85532F2F | 2236821295 | …S// | SPI1W11 +0x60000170 | 01001000001110011101010101101011 | 0x4839D56B | 1211749739 | H9Õk | SPI1W12 +0x60000174 | 01000001101010100100000000111010 | 0x41AA403A | 1101676602 | Aª@ | SPI1W13 +0x60000178 | 00000111100100000010111011011011 | 0x07902EDB | 126889691 | .Û | SPI1W14 +0x6000017C | 01000100001110001011100011111111 | 0x4438B8FF | 1144568063 | D8¸ÿ | SPI1W15 +0x60000180 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000184 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000188 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000018C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000190 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000194 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000198 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000019C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001A0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001A4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001A8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001F0 | 10000000000010100000000001010000 | 0x800A0050 | 2148139088 | € P | SPI1E0 +0x600001F4 | 10000000000011110000001001011000 | 0x800F0258 | 2148467288 |€ X | SPI1E1 +0x600001F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1E2 +0x600001FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1E3 +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000200 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI0CMD +0x60000204 | 00100000000001111100000001100000 | 0x2007C060 | 537378912 | À` | SPI0A +0x60000208 | 00000001011010101010000100000001 | 0x016AA101 | 23765249 | j¡ | SPI0C +0x6000020C | 01011111111111110000000100100000 | 0x5FFF0120 | 1610547488 | _ÿ | SPI0C1 +0x60000210 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI0RS +0x60000214 | 00000000000000000000000000010001 | 0x00000011 | 17 |  | SPI0C2 +0x60000218 | 00000000000000000001000000000001 | 0x00001001 | 4097 |  | SPI0CLK +0x6000021C | 10000000000000000000000001100100 | 0x80000064 | 2147483748 | € d | SPI0U +0x60000220 | 01011101111111101111111100011111 | 0x5DFEFF1F | 1576992543 |]þÿ| SPI0U1 +0x60000224 | 01110000000000000000000000000000 | 0x70000000 | 1879048192 | p | SPI0U2 +0x60000228 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI0WS +0x6000022C | 00000000000000000000000000011110 | 0x0000001E | 30 |  | SPI0P +0x60000230 | 00000100100000000000001000010000 | 0x04800210 | 75498000 | €  | SPI0S +0x60000234 | 00000010000000000000000000000000 | 0x02000000 | 33554432 | | SPI0S1 +0x60000238 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI0S2 +0x6000023C | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI0S3 +0x60000240 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W0 +0x60000244 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W1 +0x60000248 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W2 +0x6000024C | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W3 +0x60000250 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W4 +0x60000254 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W5 +0x60000258 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W6 +0x6000025C | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W7 +0x60000260 | 11011100111001011110100111110011 | 0xDCE5E9F3 | 3706055155 | Üåéó | SPI0W8 +0x60000264 | 00011111001001010000010101000110 | 0x1F250546 | 522519878 |%F| SPI0W9 +0x60000268 | 01000001010010111111001011110111 | 0x414BF2F7 | 1095496439 | AKò÷ | SPI0W10 +0x6000026C | 10000101101001010011011110111100 | 0x85A537BC | 2242197436 | …¥7¼ | SPI0W11 +0x60000270 | 01110111001101000111110000101010 | 0x77347C2A | 1999928362 | w4|* | SPI0W12 +0x60000274 | 00011110011010010010101100110000 | 0x1E692B30 | 510208816 |i+0| SPI0W13 +0x60000278 | 10000101101110011001000011011101 | 0x85B990DD | 2243530973 | …¹Ý | SPI0W14 +0x6000027C | 11001011001010111110010010101110 | 0xCB2BE4AE | 3408651438 | Ë+ä® | SPI0W15 +0x60000280 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000284 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000288 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000028C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000290 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000294 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000298 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000029C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002A0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002A4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002A8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002F0 | 10000000000010100000000001010000 | 0x800A0050 | 2148139088 | € P | SPI0E0 +0x600002F4 | 10000000000011110000001001011000 | 0x800F0258 | 2148467288 |€ X | SPI0E1 +0x600002F8 | 00000000000000000000000000000111 | 0x00000007 | 7 | | SPI0E2 +0x600002FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI0E3 +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000300 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPO +0x60000304 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPOS +0x60000308 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPOC +0x6000030C | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPE +0x60000310 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPES +0x60000314 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPEC +0x60000318 | 11000000000000110111000000111011 | 0xC003703B | 3221450811 | À p; | GPI +0x6000031C | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPIE +0x60000320 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPIES +0x60000324 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPIEC +0x60000328 | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC0 +0x6000032C | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC1 +0x60000330 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPC2 +0x60000334 | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC3 +0x60000338 | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC4 +0x6000033C | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC5 +0x60000340 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPC6 +0x60000344 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPC7 +0x60000348 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPC8 +0x6000034C | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPC9 +0x60000350 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPC10 +0x60000354 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPC11 +0x60000358 | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC12 +0x6000035C | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC13 +0x60000360 | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC14 +0x60000364 | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC15 +0x60000368 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000036C | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPIO_RTC_CALIB_SYNC +0x60000370 | 11000000000000000000000000000000 | 0xC0000000 | 3221225472 | À | GPIO_RTC_CALIB_VALUE +0x60000374 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000378 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000037C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000380 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000384 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000388 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000038C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000390 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000394 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000398 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000039C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003A0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003A4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003A8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000400 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000404 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000408 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x6000040C | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000410 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000414 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000418 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x6000041C | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000420 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000424 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000428 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x6000042C | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000430 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000434 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000438 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000043C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000440 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000444 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000448 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000044C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000450 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000454 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000458 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000045C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000460 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000464 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000468 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000046C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000470 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000474 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000478 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000047C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000480 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000484 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000488 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000048C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000490 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000494 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000498 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000049C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004A0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004A4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004A8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000500 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000504 | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x60000508 | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x6000050C | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x60000510 | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x60000514 | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x60000518 | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x6000051C | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x60000520 | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x60000524 | 00000000000010111111000011110111 | 0x000BF0F7 | 782583 | ð÷ | +0x60000528 | 00000000000010111111000000000010 | 0x000BF002 | 782338 | ð | +0x6000052C | 00000000000010111111000000001110 | 0x000BF00E | 782350 | ð| +0x60000530 | 00000000000010111111000000001110 | 0x000BF00E | 782350 | ð| +0x60000534 | 00000000000010111111000011110010 | 0x000BF0F2 | 782578 | ðò | +0x60000538 | 00000000000010111111000011111101 | 0x000BF0FD | 782589 | ðý | +0x6000053C | 00000000000010111111000000000010 | 0x000BF002 | 782338 | ð | +0x60000540 | 00000000000010111111000000001110 | 0x000BF00E | 782350 | ð| +0x60000544 | 00000000000010111111000000001110 | 0x000BF00E | 782350 | ð| +0x60000548 | 00000000000010111111000000001110 | 0x000BF00E | 782350 | ð| +0x6000054C | 00000000000010111111000000000010 | 0x000BF002 | 782338 | ð | +0x60000550 | 00000000000010111111000000000010 | 0x000BF002 | 782338 | ð | +0x60000554 | 00000000000010111111000011111101 | 0x000BF0FD | 782589 | ðý | +0x60000558 | 00000000000010111111000011110111 | 0x000BF0F7 | 782583 | ð÷ | +0x6000055C | 00000000000010111111000011110010 | 0x000BF0F2 | 782578 | ðò | +0x60000560 | 00000000000010111111000011101010 | 0x000BF0EA | 782570 | ðê | +0x60000564 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000568 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000056C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000570 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000574 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000578 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000057C | 00000000000000000001000000000000 | 0x00001000 | 4096 |  | +0x60000580 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000584 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000588 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000058C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000590 | 00000000000000000000000000010000 | 0x00000010 | 16 |  | +0x60000594 | 11011000001101101000000011001100 | 0xD83680CC | 3627450572 | Ø6€Ì | +0x60000598 | 00010001100111110100000001000111 | 0x119F4047 | 295649351 |Ÿ@G | +0x6000059C | 01010001100111111100000001111111 | 0x519FC07F | 1369423999 | QŸÀ | +0x600005A0 | 00011100101010110000100000000100 | 0x1CAB0804 | 480970756 |« | +0x600005A4 | 00000000010000000110101000001100 | 0x00406A0C | 4221452 |@j | +0x600005A8 | 00000000010110111111110000000000 | 0x005BFC00 | 6028288 | [ü | +0x600005AC | 00000000010110100001110100000000 | 0x005A1D00 | 5905664 |Z | +0x600005B0 | 00000100000101100000000000000000 | 0x04160000 | 68550656 |  | +0x600005B4 | 00000000000000000000000001011111 | 0x0000005F | 95 | _ | +0x600005B8 | 00000000000000110000010000001000 | 0x00030408 | 197640 | | +0x600005BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005C8 | 11111111000000000000000100000100 | 0xFF000104 | 4278190340 | ÿ | +0x600005CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005E8 | 00000110011111111111111010000000 | 0x067FFE80 | 109051520 | þ€ | +0x600005EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005FC | 00000011000001000000011000000110 | 0x03040606 | 50595334 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000600 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T1L +0x60000604 | 00000000011111111111111111111111 | 0x007FFFFF | 8388607 | ÿÿ | T1V +0x60000608 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T1C +0x6000060C | 00000000000000000000000000000000 | 0x00000000 | 0 | | T1I +0x60000610 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000614 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000618 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000061C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000620 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T2L +0x60000624 | 00000000000111111000111010010010 | 0x001F8E92 | 2068114 |Ž’| T2V +0x60000628 | 00000000000000000000000010001000 | 0x00000088 | 136 | ˆ | T2C +0x6000062C | 00000000000000000000000000000000 | 0x00000000 | 0 | | T2I +0x60000630 | 00000000000111111011010101101100 | 0x001FB56C | 2078060 |µl| T2A +0x60000634 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000638 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000063C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000640 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T3L ? +0x60000644 | 00000000011111111111111111111111 | 0x007FFFFF | 8388607 | ÿÿ | T3V ? +0x60000648 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T3C ? +0x6000064C | 00000000000000000000000000000000 | 0x00000000 | 0 | | T3I ? +0x60000650 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000654 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000658 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000065C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000660 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T4L ? +0x60000664 | 00000000001000000101011111000100 | 0x002057C4 | 2119620 | WÄ | T4V ? +0x60000668 | 00000000000000000000000010001000 | 0x00000088 | 136 | ˆ | T4C ? +0x6000066C | 00000000000000000000000000000000 | 0x00000000 | 0 | | T4I ? +0x60000670 | 00000000001000001000101100001000 | 0x00208B08 | 2132744 | ‹ | T4A ? +0x60000674 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000678 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000067C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000680 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T5L ? +0x60000684 | 00000000011111111111111111111111 | 0x007FFFFF | 8388607 | ÿÿ | T5V ? +0x60000688 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T5C ? +0x6000068C | 00000000000000000000000000000000 | 0x00000000 | 0 | | T5I ? +0x60000690 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000694 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000698 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000069C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006A0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T6L ? +0x600006A4 | 00000000001000010010000011110111 | 0x002120F7 | 2171127 | ! ÷ | T6V ? +0x600006A8 | 00000000000000000000000010001000 | 0x00000088 | 136 | ˆ | T6C ? +0x600006AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | T6I ? +0x600006B0 | 00000000001000010100111000101001 | 0x00214E29 | 2182697 | !N) | T6A ? +0x600006B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T7L ? +0x600006C4 | 00000000011111111111111111111111 | 0x007FFFFF | 8388607 | ÿÿ | T7V ? +0x600006C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T7C ? +0x600006CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | T7I ? +0x600006D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T8L ? +0x600006E4 | 00000000001000011110101000101000 | 0x0021EA28 | 2222632 | !ê( | T8V ? +0x600006E8 | 00000000000000000000000010001000 | 0x00000088 | 136 | ˆ | T8C ? +0x600006EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | T8I ? +0x600006F0 | 00000000001000100001011110111100 | 0x002217BC | 2234300 | "¼ | T8A ? +0x600006F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000700 | 00000000000110011100000001101010 | 0x0019C06A | 1687658 | Àj | +0x60000704 | 00000000001111100011111111111111 | 0x003E3FFF | 4079615 | >?ÿ | RTCSV +0x60000708 | 00000000001000000000000000000000 | 0x00200000 | 2097152 | | +0x6000070C | 00000000000000011110000000101000 | 0x0001E028 | 122920 | à( | +0x60000710 | 11111110000000000000000000000000 | 0xFE000000 | 4261412864 | þ | +0x60000714 | 00000000000000000000000000000010 | 0x00000002 | 2 | | +0x60000718 | 00000000000000000000100000001000 | 0x00000808 | 2056 | | +0x6000071C | 00000000010100001010011111000011 | 0x0050A7C3 | 5285827 | P§Ã | RTCCV +0x60000720 | 00000000000000000000000000000000 | 0x00000000 | 0 | | RTCIS +0x60000724 | 00000000000000000000000000000000 | 0x00000000 | 0 | | RTCIC +0x60000728 | 00000000000000000000000000000101 | 0x00000005 | 5 | | RTCIE +0x6000072C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000730 | 00000000000000000000000000000000 | 0x00000000 | 0 | | RTCS0 +0x60000734 | 00000000000000000000000000000000 | 0x00000000 | 0 | | RTCS1 +0x60000738 | 00000000000000000000000000000000 | 0x00000000 | 0 | | RTCS2 +0x6000073C | 00000000000000000000000000000000 | 0x00000000 | 0 | | RTCS3 +0x60000740 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000744 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000748 | 00100000001100000010000000100000 | 0x20302020 | 540024864 | 0 | +0x6000074C | 00100000010100000000000000000000 | 0x20500000 | 542113792 | P | +0x60000750 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000754 | 00000000000000001000101001011000 | 0x00008A58 | 35416 | ŠX | +0x60000758 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000075C | 00000000000000000000000000000111 | 0x00000007 | 7 | | +0x60000760 | 00000000000000000000000000000111 | 0x00000007 | 7 | | +0x60000764 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000768 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GP16O +0x6000076C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000770 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000774 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GP16E +0x60000778 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000077C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000780 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000784 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000788 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000078C | 00000000000000000000000000000001 | 0x00000001 | 1 | | GP16I +0x60000790 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GP16C +0x60000794 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000798 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000079C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007A0 | 00000000000000000000000000000001 | 0x00000001 | 1 | | GP16F +0x600007A4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007A8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000800 | 00000000000000000000001000000101 | 0x00000205 | 517 | | GPMUX +0x60000804 | 00000000000000000000000000110000 | 0x00000030 | 48 | 0 | GPF12 +0x60000808 | 00000000000000000000000000110000 | 0x00000030 | 48 | 0 | GPF13 +0x6000080C | 00000000000000000000000000110000 | 0x00000030 | 48 | 0 | GPF14 +0x60000810 | 00000000000000000000000000110000 | 0x00000030 | 48 | 0 | GPF15 +0x60000814 | 00000000000000000000000000110000 | 0x00000030 | 48 | 0 | GPF3 +0x60000818 | 00000000000000000000000000110000 | 0x00000030 | 48 | 0 | GPF1 +0x6000081C | 00000000000000000000000000010000 | 0x00000010 | 16 |  | GPF6 +0x60000820 | 00000000000000000000000000010000 | 0x00000010 | 16 |  | GPF7 +0x60000824 | 00000000000000000000000000010000 | 0x00000010 | 16 |  | GPF8 +0x60000828 | 00000000000000000000000000010000 | 0x00000010 | 16 |  | GPF9 +0x6000082C | 00000000000000000000000000010000 | 0x00000010 | 16 |  | GPF10 +0x60000830 | 00000000000000000000000000010000 | 0x00000010 | 16 |  | GPF11 +0x60000834 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPF0 +0x60000838 | 00000000000000000000000000100000 | 0x00000020 | 32 | | GPF2 +0x6000083C | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPF4 +0x60000840 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPF5 +0x60000844 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000848 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000084C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000850 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000854 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000858 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000085C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000860 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000864 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000868 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000086C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000870 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000874 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000878 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000087C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000880 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000884 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000888 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000088C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000890 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000894 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000898 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000089C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008A0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008A4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008A8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000900 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x60000904 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x60000908 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x6000090C | 00000000000000111001000001110010 | 0x00039072 | 233586 | r | +0x60000910 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000914 | 00000000000000000000000000000000 | 0x00000000 | 0 | | WDTFEED +0x60000918 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000091C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000920 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x60000924 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x60000928 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x6000092C | 00000111100111110000110111101010 | 0x079F0DEA | 127864298 | Ÿê | +0x60000930 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000934 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000938 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000093C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000940 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x60000944 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x60000948 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x6000094C | 00000111001110100101010111101010 | 0x073A55EA | 121263594 | :Uê | +0x60000950 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000954 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000958 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000095C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000960 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x60000964 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x60000968 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x6000096C | 00000110110101011011011011101010 | 0x06D5B6EA | 114669290 | Õ¶ê | +0x60000970 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000974 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000978 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000097C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000980 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x60000984 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x60000988 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x6000098C | 00000110011100010001011111101010 | 0x067117EA | 108074986 | qê | +0x60000990 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000994 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000998 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000099C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009A0 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x600009A4 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x600009A8 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x600009AC | 00000110000011000111100111101010 | 0x060C79EA | 101480938 | yê| +0x600009B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009C0 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x600009C4 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x600009C8 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x600009CC | 00000101101001111101101011101010 | 0x05A7DAEA | 94886634 | §Úê | +0x600009D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009E0 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x600009E4 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x600009E8 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x600009EC | 00000101010000110011111011101010 | 0x05433EEA | 88293098 | C>ê | +0x600009F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000A00 | 00010001000100010110011001100110 | 0x11116666 | 286352998 |ff| +0x60000A04 | 00000001000100010000000000000001 | 0x01110001 | 17891329 |  | +0x60000A08 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A0C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A10 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A14 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A18 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A1C | 00000000000000100000000000000000 | 0x00020000 | 131072 | | +0x60000A20 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A24 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A28 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A2C | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A30 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A34 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A38 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A3C | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A40 | 00010001000100010110011001100110 | 0x11116666 | 286352998 |ff| +0x60000A44 | 00000001000100010000000000000001 | 0x01110001 | 17891329 |  | +0x60000A48 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A4C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A50 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A54 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A58 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A5C | 00000000000000100000000000000000 | 0x00020000 | 131072 | | +0x60000A60 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A64 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A68 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A6C | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A70 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A74 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A78 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A7C | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A80 | 00010001000100010110011001100110 | 0x11116666 | 286352998 |ff| +0x60000A84 | 00000001000100010000000000000001 | 0x01110001 | 17891329 |  | +0x60000A88 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A8C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A90 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A94 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A98 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A9C | 00000000000000100000000000000000 | 0x00020000 | 131072 | | +0x60000AA0 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AA4 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AA8 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AAC | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AB0 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AB4 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AB8 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000ABC | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AC0 | 00010001000100010110011001100110 | 0x11116666 | 286352998 |ff| +0x60000AC4 | 00000001000100010000000000000001 | 0x01110001 | 17891329 |  | +0x60000AC8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000ACC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000AD0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000AD4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000AD8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000ADC | 00000000000000100000000000000000 | 0x00020000 | 131072 | | +0x60000AE0 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AE4 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AE8 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AEC | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AF0 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AF4 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AF8 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AFC | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000B00 | 00000000000000000000001000000000 | 0x00000200 | 512 | | +0x60000B04 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B08 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B0C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B10 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B14 | 00000000000000000000000000000010 | 0x00000002 | 2 | | +0x60000B18 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B1C | 00000000000000000000000000000010 | 0x00000002 | 2 | | +0x60000B20 | 00000000000000000000010000000000 | 0x00000400 | 1024 | | +0x60000B24 | 10000000000000000000000000000000 | 0x80000000 | 2147483648 | € | +0x60000B28 | 10000000000000000000000000000000 | 0x80000000 | 2147483648 | € | +0x60000B2C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B30 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B34 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B38 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B3C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B40 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B44 | 00000000111111100011001100111111 | 0x00FE333F | 16659263 | þ3? | +0x60000B48 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B4C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B50 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B54 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B58 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B5C | 00000000000100100000000011111110 | 0x001200FE | 1179902 |  þ | +0x60000B60 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B64 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B68 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B6C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B70 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B74 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B78 | 00000000000010010001011100000000 | 0x00091700 | 595712 |  | +0x60000B7C | 00000000000000000000000100000000 | 0x00000100 | 256 | | +0x60000B80 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B84 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B88 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B8C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B90 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B94 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B98 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B9C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BA0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BA4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BA8 | 00000000000000000000000111111111 | 0x000001FF | 511 | ÿ | +0x60000BAC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BB0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BB4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BB8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BBC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BC0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BC4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BC8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BCC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BD0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BD4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BD8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BDC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BE0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BE4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BE8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BEC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BF0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BF4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BF8 | 00010010000100000010010100000000 | 0x12102500 | 303047936 |% | +0x60000BFC | 00000000000000000000011000000000 | 0x00000600 | 1536 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000C00 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C04 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C08 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C0C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C10 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C14 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C18 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C1C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C20 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C24 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C28 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C2C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C30 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C34 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C38 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C3C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C40 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C44 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C48 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C4C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C50 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C54 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C58 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C5C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C60 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C64 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C68 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C6C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C70 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C74 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C78 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C7C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C80 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C84 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C88 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C8C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C90 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C94 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C98 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C9C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CA0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CA4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CA8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CAC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CB0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CB4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CB8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CBC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CC0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CC4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CC8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CCC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CD0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CD4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CD8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CDC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CE0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CE4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CE8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CEC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CF0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CF4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CF8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CFC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000D00 | 00000001010010100000011101100100 | 0x014A0764 | 21628772 | J d | +0x60000D04 | 00000001111000000000010101100001 | 0x01E00561 | 31458657 | à a | +0x60000D08 | 00000001001001010000001001101011 | 0x0125026B | 19202667 | % k | +0x60000D0C | 00000001010100010000000101100110 | 0x01510166 | 22085990 | Q f | +0x60000D10 | 00000001100100010000001001100111 | 0x01910267 | 26280551 | ‘ g | +0x60000D14 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D18 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D1C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D20 | 00000111000000000000000000000000 | 0x07000000 | 117440512 | | +0x60000D24 | 00000111000000000000000000000000 | 0x07000000 | 117440512 | | +0x60000D28 | 00000111000000000000000000000000 | 0x07000000 | 117440512 | | +0x60000D2C | 00000111000000000000000000000000 | 0x07000000 | 117440512 | | +0x60000D30 | 00000111000000000000000000000000 | 0x07000000 | 117440512 | | +0x60000D34 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D38 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D3C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D40 | 00011101000000001110000000000100 | 0x1D00E004 | 486596612 | à| +0x60000D44 | 00000000000000000000000000101101 | 0x0000002D | 45 | - | +0x60000D48 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D4C | 00000001000100010011110011110000 | 0x01113CF0 | 17906928 | <ð | +0x60000D50 | 00000000000010010000100010111110 | 0x000908BE | 592062 | ¾ | +0x60000D54 | 00000000000001110000011100100111 | 0x00070727 | 460583 | ' | +0x60000D58 | 00000000010011110001011101010111 | 0x004F1757 | 5183319 | OW | +0x60000D5C | 10000000000000000000010110101000 | 0x800005A8 | 2147485096 | € ¨ | +0x60000D60 | 11000000000000000000000000000011 | 0xC0000003 | 3221225475 | À | +0x60000D64 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D68 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D6C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D70 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D74 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D78 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D7C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D80 | 00000000000000000000011001001001 | 0x00000649 | 1609 | I | +0x60000D84 | 00000000000000000000001010000100 | 0x00000284 | 644 | „ | +0x60000D88 | 00000000000000000000001100000011 | 0x00000303 | 771 | | +0x60000D8C | 00000000000000000000001100110101 | 0x00000335 | 821 | 5 | +0x60000D90 | 00000000000000000000010000010101 | 0x00000415 | 1045 |  | +0x60000D94 | 00000000000000000000010000001011 | 0x0000040B | 1035 | | +0x60000D98 | 00000000000000000000011001010100 | 0x00000654 | 1620 | T | +0x60000D9C | 00000000000000000000011001001011 | 0x0000064B | 1611 | K | +0x60000DA0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DA4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DA8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DAC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DB0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DB4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DB8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DBC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DC0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DC4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DC8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DCC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DD0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DD4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DD8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DDC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DE0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DE4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DE8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DEC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DF0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DF4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DF8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DFC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000E00 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E04 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E08 | 00000010000110010000000000000000 | 0x02190000 | 35192832 |  | +0x60000E0C | 00000000000000000000000000101010 | 0x0000002A | 42 | * | +0x60000E10 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E14 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E18 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E1C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E20 | 00000000000000000001100000100000 | 0x00001820 | 6176 |  | +0x60000E24 | 00000000000000000000000001000000 | 0x00000040 | 64 | @ | +0x60000E28 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E2C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E30 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E34 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E38 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E3C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E40 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E44 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E48 | 00000010000110010000000000000000 | 0x02190000 | 35192832 |  | +0x60000E4C | 00000000000000000000000000101010 | 0x0000002A | 42 | * | +0x60000E50 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E54 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E58 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E5C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E60 | 00000000000000000001100000100000 | 0x00001820 | 6176 |  | +0x60000E64 | 00000000000000000000000001000000 | 0x00000040 | 64 | @ | +0x60000E68 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E6C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E70 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E74 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E78 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E7C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E80 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E84 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E88 | 00000010000110010000000000000000 | 0x02190000 | 35192832 |  | +0x60000E8C | 00000000000000000000000000101010 | 0x0000002A | 42 | * | +0x60000E90 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E94 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E98 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E9C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EA0 | 00000000000000000001100000100000 | 0x00001820 | 6176 |  | +0x60000EA4 | 00000000000000000000000001000000 | 0x00000040 | 64 | @ | +0x60000EA8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EAC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EB0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EB4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EB8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EBC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EC0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EC4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EC8 | 00000010000110010000000000000000 | 0x02190000 | 35192832 |  | +0x60000ECC | 00000000000000000000000000101010 | 0x0000002A | 42 | * | +0x60000ED0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000ED4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000ED8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EDC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EE0 | 00000000000000000001100000100000 | 0x00001820 | 6176 |  | +0x60000EE4 | 00000000000000000000000001000000 | 0x00000040 | 64 | @ | +0x60000EE8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EEC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EF0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EF4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EF8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EFC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000F00 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U1F +0x60000F04 | 00000000000000000000000000000001 | 0x00000001 | 1 | | U1IR +0x60000F08 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U1IS +0x60000F0C | 00000000000000000000000000000010 | 0x00000002 | 2 | | U1IE +0x60000F10 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U1IC +0x60000F14 | 00000000000000000000001010110110 | 0x000002B6 | 694 | ¶ | U1D +0x60000F18 | 00000000000000000001000000000000 | 0x00001000 | 4096 |  | U1A +0x60000F1C | 00000000000000000000000000000000 | 0x00000000 | 0 | | U1S +0x60000F20 | 00000000000000000000000000011100 | 0x0000001C | 28 |  | U1C0 +0x60000F24 | 00000000000000000010000000000000 | 0x00002000 | 8192 | | U1C1 +0x60000F28 | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | U1LP +0x60000F2C | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | U1HP +0x60000F30 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U1PN +0x60000F34 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F38 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F3C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F40 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F44 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F48 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F4C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F50 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F54 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F58 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F5C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F60 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F64 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F68 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F6C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F70 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F74 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F78 | 00000000000001100010000000000000 | 0x00062000 | 401408 | | U1DT +0x60000F7C | 00000000000000000000010100000000 | 0x00000500 | 1280 | | U1ID +0x60000F80 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F84 | 00000000000000000000000000000011 | 0x00000003 | 3 | | +0x60000F88 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F8C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F90 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F94 | 00000000000000000000001010110110 | 0x000002B6 | 694 | ¶ | +0x60000F98 | 00000000000000000001000000000000 | 0x00001000 | 4096 |  | +0x60000F9C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FA0 | 00000000000000000000000000011100 | 0x0000001C | 28 |  | +0x60000FA4 | 00000000000000000010000000000000 | 0x00002000 | 8192 | | +0x60000FA8 | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | +0x60000FAC | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | +0x60000FB0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FB4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FB8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FBC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FC0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FC4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FC8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FCC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FD0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FD4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FD8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FDC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FE0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FE4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FE8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FEC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FF0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FF4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FF8 | 00000000000001100010000000000000 | 0x00062000 | 401408 | | +0x60000FFC | 00000000000000000000010100000000 | 0x00000500 | 1280 | | diff --git a/versions/2.2.0-rc1/index.html b/versions/2.2.0-rc1/index.html new file mode 100644 index 000000000..9f81b23ae --- /dev/null +++ b/versions/2.2.0-rc1/index.html @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
+ This documentation is for version 2.2.0-rc1. Other versions. +
+ + + + +
+

Welcome to the ESP8266 Arduino core documentation, version 2.2.0-rc1.

+ +

Links on the left will take you to various sections.

+ +

Source code of this version is available from GitHub: https://github.com/esp8266/Arduino/archive/2.2.0-rc1.zip

+ +
+ + diff --git a/versions/2.2.0-rc1/public/css/hyde.css b/versions/2.2.0-rc1/public/css/hyde.css new file mode 100644 index 000000000..da24ba5b5 --- /dev/null +++ b/versions/2.2.0-rc1/public/css/hyde.css @@ -0,0 +1,265 @@ +/* + * __ __ + * /\ \ /\ \ + * \ \ \___ __ __ \_\ \ __ + * \ \ _ `\/\ \/\ \ /'_` \ /'__`\ + * \ \ \ \ \ \ \_\ \/\ \_\ \/\ __/ + * \ \_\ \_\/`____ \ \___,_\ \____\ + * \/_/\/_/`/___/> \/__,_ /\/____/ + * /\___/ + * \/__/ + * + * Designed, built, and released under MIT license by @mdo. Learn more at + * https://github.com/poole/hyde. + */ + + +/* + * Contents + * + * Global resets + * Sidebar + * Container + * Reverse layout + * Themes + */ + + +/* + * Global resets + * + * Update the foundational and global aspects of the page. + */ + +html { + font-family: "PT Sans", Helvetica, Arial, sans-serif; +} +@media (min-width: 48em) { + html { + font-size: 16px; + } +} +@media (min-width: 58em) { + html { + font-size: 20px; + } +} + + +/* + * Sidebar + * + * Flexible banner for housing site name, intro, and "footer" content. Starts + * out above content in mobile and later moves to the side with wider viewports. + */ + +.sidebar { + text-align: left; + padding: 2rem 1rem; + color: rgba(0,0,0,.5); + background-color: #f8f8f8; +} +@media (min-width: 48em) { + .sidebar { + position: absolute; + top: 0; + left: 0; + width: 18rem; + } +} + +.version-bar { + position: fixed; + z-index: 10; + background-color: #f0f0f0; + width: 100%; + padding: 5px; +} + +/* Sidebar links */ +.sidebar a { + color: #a33; +} + +/* About section */ +.sidebar-about h1 { + margin-top: 0; + font-family: "Abril Fatface", serif; + font-size: 3.25rem; +} + +/* Sidebar nav */ +.sidebar-nav { + margin-bottom: 1rem; +} +.sidebar-nav-item { + display: block; + line-height: 1.75; +} +a.sidebar-nav-item:hover, +a.sidebar-nav-item:focus { + text-decoration: underline; +} +.sidebar-nav-item.active { + font-weight: bold; +} + +/* Sticky sidebar + * + * Add the `sidebar-sticky` class to the sidebar's container to affix it the + * contents to the bottom of the sidebar in tablets and up. + */ + +@media (min-width: 48em) { + .sidebar-sticky { + position: absolute; + right: 1rem; + bottom: 1rem; + left: 1rem; + } +} + + +/* Container + * + * Align the contents of the site above the proper threshold with some margin-fu + * with a 25%-wide `.sidebar`. + */ + +.content { + padding-top: 4rem; + padding-bottom: 4rem; +} + +@media (min-width: 48em) { + .content { + max-width: 38rem; + margin-left: 20rem; + margin-right: 2rem; + } +} + +@media (min-width: 64em) { + .content { + margin-left: 22rem; + margin-right: 4rem; + } +} + + +/* + * Reverse layout + * + * Flip the orientation of the page by placing the `.sidebar` on the right. + */ + +@media (min-width: 48em) { + .layout-reverse .sidebar { + left: auto; + right: 0; + } + .layout-reverse .content { + margin-left: 2rem; + margin-right: 20rem; + } +} + +@media (min-width: 64em) { + .layout-reverse .content { + margin-left: 4rem; + margin-right: 22rem; + } +} + + + +/* + * Themes + * + * As of v1.1, Hyde includes optional themes to color the sidebar and links + * within blog posts. To use, add the class of your choosing to the `body`. + */ + +/* Base16 (http://chriskempson.github.io/base16/#default) */ + +/* Red */ +.theme-base-xx .sidebar { + background-color: #ac4142; +} +.theme-base-xx .content a, +.theme-base-xx .related-posts li a:hover { + color: #ac4142; +} + + +/* Red */ +.theme-base-08 .sidebar { + background-color: #ac4142; +} +.theme-base-08 .content a, +.theme-base-08 .related-posts li a:hover { + color: #ac4142; +} + +/* Orange */ +.theme-base-09 .sidebar { + background-color: #d28445; +} +.theme-base-09 .content a, +.theme-base-09 .related-posts li a:hover { + color: #d28445; +} + +/* Yellow */ +.theme-base-0a .sidebar { + background-color: #f4bf75; +} +.theme-base-0a .content a, +.theme-base-0a .related-posts li a:hover { + color: #f4bf75; +} + +/* Green */ +.theme-base-0b .sidebar { + background-color: #90a959; +} +.theme-base-0b .content a, +.theme-base-0b .related-posts li a:hover { + color: #90a959; +} + +/* Cyan */ +.theme-base-0c .sidebar { + background-color: #75b5aa; +} +.theme-base-0c .content a, +.theme-base-0c .related-posts li a:hover { + color: #75b5aa; +} + +/* Blue */ +.theme-base-0d .sidebar { + background-color: #6a9fb5; +} +.theme-base-0d .content a, +.theme-base-0d .related-posts li a:hover { + color: #6a9fb5; +} + +/* Magenta */ +.theme-base-0e .sidebar { + background-color: #aa759f; +} +.theme-base-0e .content a, +.theme-base-0e .related-posts li a:hover { + color: #aa759f; +} + +/* Brown */ +.theme-base-0f .sidebar { + background-color: #8f5536; +} +.theme-base-0f .content a, +.theme-base-0f .related-posts li a:hover { + color: #8f5536; +} diff --git a/versions/2.2.0-rc1/public/css/icons.css b/versions/2.2.0-rc1/public/css/icons.css new file mode 100644 index 000000000..e8b00602c --- /dev/null +++ b/versions/2.2.0-rc1/public/css/icons.css @@ -0,0 +1,32 @@ +#gh-icon { + background: url("/Arduino/versions/2.2.0-rc1/public/gh.png") no-repeat top left; + width: 32px; + height: 32px; + display: inline-block; + vertical-align: middle; + margin-right: 5px; +} + + @media +(-webkit-min-device-pixel-ratio: 2), +(min-resolution: 192dpi) { + #gh-icon { + background-image: url("/Arduino/versions/2.2.0-rc1/public/gh@2.png"); + background-size: 100%; + } +} + +.clickable-header { + cursor:pointer; +} +.clickable-header:hover { + text-decoration:underline; +} +.top-level-header { + display:inline; +} +.back-to-top { + margin-left:5px; + cursor:pointer; + vertical-align: top; +} diff --git a/versions/2.2.0-rc1/public/css/poole.css b/versions/2.2.0-rc1/public/css/poole.css new file mode 100644 index 000000000..6efd31ebb --- /dev/null +++ b/versions/2.2.0-rc1/public/css/poole.css @@ -0,0 +1,430 @@ +/* + * ___ + * /\_ \ + * _____ ___ ___\//\ \ __ + * /\ '__`\ / __`\ / __`\\ \ \ /'__`\ + * \ \ \_\ \/\ \_\ \/\ \_\ \\_\ \_/\ __/ + * \ \ ,__/\ \____/\ \____//\____\ \____\ + * \ \ \/ \/___/ \/___/ \/____/\/____/ + * \ \_\ + * \/_/ + * + * Designed, built, and released under MIT license by @mdo. Learn more at + * https://github.com/poole/poole. + */ + + +/* + * Contents + * + * Body resets + * Custom type + * Messages + * Container + * Masthead + * Posts and pages + * Pagination + * Reverse layout + * Themes + */ + + +/* + * Body resets + * + * Update the foundational and global aspects of the page. + */ + +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +html, +body { + margin: 0; + padding: 0; +} + +html { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 1.5; +} +@media (min-width: 38em) { + html { + font-size: 20px; + } +} + +body { + color: #515151; + background-color: #fff; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +/* No `:visited` state is required by default (browsers will use `a`) */ +a { + color: #b03030; + text-decoration: none; +} +a strong { + color: inherit; +} +/* `:focus` is linked to `:hover` for basic accessibility */ +a:hover, +a:focus { + text-decoration: underline; +} + +/* Headings */ +h1, h2, h3, h4, h5, h6 { + margin-bottom: .5rem; + font-weight: bold; + line-height: 1.25; + color: #313131; + text-rendering: optimizeLegibility; +} +h1 { + font-size: 2rem; +} +h2 { + margin-top: 1rem; + font-size: 1.5rem; +} +h3 { + margin-top: 1.5rem; + font-size: 1.25rem; +} +h4, h5, h6 { + margin-top: 1rem; + font-size: 1rem; +} + +/* Body text */ +p { + margin-top: 0; + margin-bottom: 1rem; +} + +strong { + color: #303030; +} + + +/* Lists */ +ul, ol, dl { + margin-top: 0; + margin-bottom: 1rem; +} + +dt { + font-weight: bold; +} +dd { + margin-bottom: .5rem; +} + +/* Misc */ +hr { + position: relative; + margin: 1.5rem 0; + border: 0; + border-top: 1px solid #eee; + border-bottom: 1px solid #fff; +} + +abbr { + font-size: 85%; + font-weight: bold; + color: #555; + text-transform: uppercase; +} +abbr[title] { + cursor: help; + border-bottom: 1px dotted #e5e5e5; +} + +/* Code */ +code, +pre { + font-family: Menlo, Monaco, "Courier New", monospace; +} +code { + padding: .25em .5em; + font-size: 85%; + color: #000; + background-color: #f8f8f8; + border-radius: 3px; +} +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + padding: 1rem; + font-size: .8rem; + line-height: 1.4; + white-space: pre; + white-space: pre-wrap; + word-break: break-all; + word-wrap: break-word; + background-color: #f9f9f9; +} +pre code { + padding: 0; + font-size: 100%; + color: inherit; + background-color: transparent; +} + +/* Pygments via Jekyll */ +.highlight { + margin-bottom: 1rem; + border-radius: 4px; +} +.highlight pre { + margin-bottom: 0; +} + +/* Gist via GitHub Pages */ +.gist .gist-file { + font-family: Menlo, Monaco, "Courier New", monospace !important; +} +.gist .markdown-body { + padding: 15px; +} +.gist pre { + padding: 0; + background-color: transparent; +} +.gist .gist-file .gist-data { + font-size: .8rem !important; + line-height: 1.4; +} +.gist code { + padding: 0; + color: inherit; + background-color: transparent; + border-radius: 0; +} + +/* Quotes */ +blockquote { + padding: .5rem 1rem; + margin: .8rem 0; + color: #7a7a7a; + border-left: .25rem solid #e5e5e5; +} +blockquote p:last-child { + margin-bottom: 0; +} +@media (min-width: 30em) { + blockquote { + padding-right: 5rem; + padding-left: 1.25rem; + } +} + +img { + display: block; + max-width: 100%; + margin: 0 0 1rem; + border-radius: 5px; +} + +/* Tables */ +table { + margin-bottom: 1rem; + width: 100%; + border: 1px solid #e5e5e5; + border-collapse: collapse; +} +td, +th { + padding: .25rem .5rem; + border: 1px solid #e5e5e5; +} +tbody tr:nth-child(odd) td, +tbody tr:nth-child(odd) th { + background-color: #f9f9f9; +} + + +/* + * Custom type + * + * Extend paragraphs with `.lead` for larger introductory text. + */ + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + + +/* + * Messages + * + * Show alert messages to users. You may add it to single elements like a `

`, + * or to a parent if there are multiple elements to show. + */ + +.message { + margin-bottom: 1rem; + padding: 1rem; + color: #717171; + background-color: #f9f9f9; +} + + +/* + * Container + * + * Center the page content. + */ + +.container { + max-width: 38rem; + padding-left: 1rem; + padding-right: 1rem; + margin-left: auto; + margin-right: auto; +} + + +/* + * Masthead + * + * Super small header above the content for site name and short description. + */ + +.masthead { + padding-top: 1rem; + padding-bottom: 1rem; + margin-bottom: 3rem; +} +.masthead-title { + margin-top: 0; + margin-bottom: 0; + color: #505050; +} +.masthead-title a { + color: #505050; +} +.masthead-title small { + font-size: 75%; + font-weight: 400; + color: #c0c0c0; + letter-spacing: 0; +} + + +/* + * Posts and pages + * + * Each post is wrapped in `.post` and is used on default and post layouts. Each + * page is wrapped in `.page` and is only used on the page layout. + */ + +.page, +.post { + margin-bottom: 4em; +} + +/* Blog post or page title */ +.page-title, +.post-title, +.post-title a { + color: #303030; +} +.page-title, +.post-title { + margin-top: 0; +} + +/* Meta data line below post title */ +.post-date { + display: block; + margin-top: -.5rem; + margin-bottom: 1rem; + color: #9a9a9a; +} + +/* Related posts */ +.related { + padding-top: 2rem; + padding-bottom: 2rem; + border-top: 1px solid #eee; +} +.related-posts { + padding-left: 0; + list-style: none; +} +.related-posts h3 { + margin-top: 0; +} +.related-posts li small { + font-size: 75%; + color: #999; +} +.related-posts li a:hover { + color: #268bd2; + text-decoration: none; +} +.related-posts li a:hover small { + color: inherit; +} + + +/* + * Pagination + * + * Super lightweight (HTML-wise) blog pagination. `span`s are provide for when + * there are no more previous or next posts to show. + */ + +.pagination { + overflow: hidden; /* clearfix */ + margin-left: -1rem; + margin-right: -1rem; + font-family: "PT Sans", Helvetica, Arial, sans-serif; + color: #ccc; + text-align: center; +} + +/* Pagination items can be `span`s or `a`s */ +.pagination-item { + display: block; + padding: 1rem; + border: 1px solid #eee; +} +.pagination-item:first-child { + margin-bottom: -1px; +} + +/* Only provide a hover state for linked pagination items */ +a.pagination-item:hover { + background-color: #f5f5f5; +} + +@media (min-width: 30em) { + .pagination { + margin: 3rem 0; + } + .pagination-item { + float: left; + width: 50%; + } + .pagination-item:first-child { + margin-bottom: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .pagination-item:last-child { + margin-left: -1px; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } +} diff --git a/versions/2.2.0-rc1/public/css/syntax.css b/versions/2.2.0-rc1/public/css/syntax.css new file mode 100644 index 000000000..15ad79771 --- /dev/null +++ b/versions/2.2.0-rc1/public/css/syntax.css @@ -0,0 +1,65 @@ +.highlight .hll { background-color: #ffc; } +.highlight .c { color: #999; } /* Comment */ +.highlight .err { color: #a00; background-color: #faa } /* Error */ +.highlight .k { color: #069; } /* Keyword */ +.highlight .o { color: #555 } /* Operator */ +.highlight .cm { color: #09f; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #099 } /* Comment.Preproc */ +.highlight .c1 { color: #999; } /* Comment.Single */ +.highlight .cs { color: #999; } /* Comment.Special */ +.highlight .gd { background-color: #fcc; border: 1px solid #c00 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #f00 } /* Generic.Error */ +.highlight .gh { color: #030; } /* Generic.Heading */ +.highlight .gi { background-color: #cfc; border: 1px solid #0c0 } /* Generic.Inserted */ +.highlight .go { color: #aaa } /* Generic.Output */ +.highlight .gp { color: #009; } /* Generic.Prompt */ +.highlight .gs { } /* Generic.Strong */ +.highlight .gu { color: #030; } /* Generic.Subheading */ +.highlight .gt { color: #9c6 } /* Generic.Traceback */ +.highlight .kc { color: #069; } /* Keyword.Constant */ +.highlight .kd { color: #069; } /* Keyword.Declaration */ +.highlight .kn { color: #069; } /* Keyword.Namespace */ +.highlight .kp { color: #069 } /* Keyword.Pseudo */ +.highlight .kr { color: #069; } /* Keyword.Reserved */ +.highlight .kt { color: #078; } /* Keyword.Type */ +.highlight .m { color: #f60 } /* Literal.Number */ +.highlight .s { color: #d44950 } /* Literal.String */ +.highlight .na { color: #4f9fcf } /* Name.Attribute */ +.highlight .nb { color: #366 } /* Name.Builtin */ +.highlight .nc { color: #0a8; } /* Name.Class */ +.highlight .no { color: #360 } /* Name.Constant */ +.highlight .nd { color: #99f } /* Name.Decorator */ +.highlight .ni { color: #999; } /* Name.Entity */ +.highlight .ne { color: #c00; } /* Name.Exception */ +.highlight .nf { color: #c0f } /* Name.Function */ +.highlight .nl { color: #99f } /* Name.Label */ +.highlight .nn { color: #0cf; } /* Name.Namespace */ +.highlight .nt { color: #2f6f9f; } /* Name.Tag */ +.highlight .nv { color: #033 } /* Name.Variable */ +.highlight .ow { color: #000; } /* Operator.Word */ +.highlight .w { color: #bbb } /* Text.Whitespace */ +.highlight .mf { color: #f60 } /* Literal.Number.Float */ +.highlight .mh { color: #f60 } /* Literal.Number.Hex */ +.highlight .mi { color: #f60 } /* Literal.Number.Integer */ +.highlight .mo { color: #f60 } /* Literal.Number.Oct */ +.highlight .sb { color: #c30 } /* Literal.String.Backtick */ +.highlight .sc { color: #c30 } /* Literal.String.Char */ +.highlight .sd { color: #c30; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #c30 } /* Literal.String.Double */ +.highlight .se { color: #c30; } /* Literal.String.Escape */ +.highlight .sh { color: #c30 } /* Literal.String.Heredoc */ +.highlight .si { color: #a00 } /* Literal.String.Interpol */ +.highlight .sx { color: #c30 } /* Literal.String.Other */ +.highlight .sr { color: #3aa } /* Literal.String.Regex */ +.highlight .s1 { color: #c30 } /* Literal.String.Single */ +.highlight .ss { color: #fc3 } /* Literal.String.Symbol */ +.highlight .bp { color: #366 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #033 } /* Name.Variable.Class */ +.highlight .vg { color: #033 } /* Name.Variable.Global */ +.highlight .vi { color: #033 } /* Name.Variable.Instance */ +.highlight .il { color: #f60 } /* Literal.Number.Integer.Long */ + +.css .o, +.css .o + .nt, +.css .nt + .nt { color: #999; } diff --git a/versions/2.2.0-rc1/public/favicon.ico b/versions/2.2.0-rc1/public/favicon.ico new file mode 100644 index 000000000..3e6edd2ef Binary files /dev/null and b/versions/2.2.0-rc1/public/favicon.ico differ diff --git a/versions/2.2.0-rc1/public/gh.png b/versions/2.2.0-rc1/public/gh.png new file mode 100644 index 000000000..8b25551a9 Binary files /dev/null and b/versions/2.2.0-rc1/public/gh.png differ diff --git a/versions/2.2.0-rc1/public/gh@2.png b/versions/2.2.0-rc1/public/gh@2.png new file mode 100644 index 000000000..182a1a3f7 Binary files /dev/null and b/versions/2.2.0-rc1/public/gh@2.png differ diff --git a/versions/2.2.0-rc1/public/js/toc.js b/versions/2.2.0-rc1/public/js/toc.js new file mode 100644 index 000000000..5c891bddb --- /dev/null +++ b/versions/2.2.0-rc1/public/js/toc.js @@ -0,0 +1,94 @@ +// https://github.com/ghiculescu/jekyll-table-of-contents +(function($){ + $.fn.toc = function(options) { + var defaults = { + noBackToTopLinks: false, + title: 'Jump to...', + minimumHeaders: 3, + headers: 'h1, h2, h3, h4, h5, h6', + listType: 'ol', // values: [ol|ul] + showEffect: 'show', // values: [show|slideDown|fadeIn|none] + showSpeed: 'slow' // set to 0 to deactivate effect + }, + settings = $.extend(defaults, options); + + function fixedEncodeURIComponent (str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { + return '%' + c.charCodeAt(0).toString(16); + }); + } + + var headers = $(settings.headers).filter(function() { + // get all headers with an ID + var previousSiblingName = $(this).prev().attr( "name" ); + if (!this.id && previousSiblingName) { + this.id = $(this).attr( "id", previousSiblingName.replace(/\./g, "-") ); + } + if (this.id == 'table-of-contents') { + $(this).hide(); + $(this).next().hide(); + return false; + } + return this.id; + }), output = $(this); + if (!headers.length || headers.length < settings.minimumHeaders || !output.length) { + $(this).hide(); + return; + } + + if (0 === settings.showSpeed) { + settings.showEffect = 'none'; + } + + var render = { + show: function() { output.hide().html(html).show(settings.showSpeed); }, + slideDown: function() { output.hide().html(html).slideDown(settings.showSpeed); }, + fadeIn: function() { output.hide().html(html).fadeIn(settings.showSpeed); }, + none: function() { output.html(html); } + }; + + var get_level = function(ele) { return parseInt(ele.nodeName.replace("H", ""), 10); } + var highest_level = headers.map(function(_, ele) { return get_level(ele); }).get().sort()[0]; + var return_to_top = ' '; + + var level = get_level(headers[0]), + this_level, + html = settings.title + " <"+settings.listType+">"; + headers.on('click', function() { + if (!settings.noBackToTopLinks) { + window.location.hash = this.id; + } + }) + .addClass('clickable-header') + .each(function(_, header) { + this_level = get_level(header); + if (!settings.noBackToTopLinks && this_level === highest_level) { + $(header).addClass('top-level-header').after(return_to_top); + } + if (this_level === level) // same level as before; same indenting + html += "

  • " + header.innerHTML + ""; + else if (this_level <= level){ // higher level than before; end parent ol + for(i = this_level; i < level; i++) { + html += "
  • " + } + html += "
  • " + header.innerHTML + ""; + } + else if (this_level > level) { // lower level than before; expand the previous to contain a ol + for(i = this_level; i > level; i--) { + html += "<"+settings.listType+">
  • " + } + html += "" + header.innerHTML + ""; + } + level = this_level; // update for the next one + }); + html += ""; + if (!settings.noBackToTopLinks) { + $(document).on('click', '.back-to-top', function() { + $(window).scrollTop(0); + window.location.hash = ''; + }); + } + + render[settings.showEffect](); + }; +})(jQuery); diff --git a/versions/2.2.0-rc1/ver_index.html b/versions/2.2.0-rc1/ver_index.html new file mode 100644 index 000000000..e69de29bb diff --git a/versions/2.2.0/badge.svg b/versions/2.2.0/badge.svg new file mode 100644 index 000000000..e5fccb62d --- /dev/null +++ b/versions/2.2.0/badge.svg @@ -0,0 +1 @@ +updatedupdatedApr 18, 2016Apr 18, 2016 \ No newline at end of file diff --git a/versions/2.2.0/doc/ESP01_connect.jpg b/versions/2.2.0/doc/ESP01_connect.jpg new file mode 100644 index 000000000..6b0c24088 Binary files /dev/null and b/versions/2.2.0/doc/ESP01_connect.jpg differ diff --git a/versions/2.2.0/doc/ESP_improved_stability.png b/versions/2.2.0/doc/ESP_improved_stability.png new file mode 100644 index 000000000..35dca4bcf Binary files /dev/null and b/versions/2.2.0/doc/ESP_improved_stability.png differ diff --git a/versions/2.2.0/doc/ESP_min.png b/versions/2.2.0/doc/ESP_min.png new file mode 100644 index 000000000..25350ed66 Binary files /dev/null and b/versions/2.2.0/doc/ESP_min.png differ diff --git a/versions/2.2.0/doc/ESP_to_serial.png b/versions/2.2.0/doc/ESP_to_serial.png new file mode 100644 index 000000000..54723939b Binary files /dev/null and b/versions/2.2.0/doc/ESP_to_serial.png differ diff --git a/versions/2.2.0/doc/Troubleshooting/ESP_Exception_Decoderp.png b/versions/2.2.0/doc/Troubleshooting/ESP_Exception_Decoderp.png new file mode 100644 index 000000000..0223d0573 Binary files /dev/null and b/versions/2.2.0/doc/Troubleshooting/ESP_Exception_Decoderp.png differ diff --git a/versions/2.2.0/doc/Troubleshooting/debug_level.png b/versions/2.2.0/doc/Troubleshooting/debug_level.png new file mode 100644 index 000000000..3d3532183 Binary files /dev/null and b/versions/2.2.0/doc/Troubleshooting/debug_level.png differ diff --git a/versions/2.2.0/doc/Troubleshooting/debug_port.png b/versions/2.2.0/doc/Troubleshooting/debug_port.png new file mode 100644 index 000000000..3725567e1 Binary files /dev/null and b/versions/2.2.0/doc/Troubleshooting/debug_port.png differ diff --git a/versions/2.2.0/doc/Troubleshooting/debugging.html b/versions/2.2.0/doc/Troubleshooting/debugging.html new file mode 100644 index 000000000..585a17d7a --- /dev/null +++ b/versions/2.2.0/doc/Troubleshooting/debugging.html @@ -0,0 +1,388 @@ + + + + + + + + + + + + + + Debugging · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
    + This documentation is for version 2.2.0. Other versions. +
    + + + + +
    +

    Table of Contents

    + + + +

    Introduction

    + +

    Since 2.1.0-rc1 the core includes a Debugging feature that is controllable over the IDE menu.

    + +

    The new menu points manage the real-time Debug messages.

    + +

    Requirements

    + +

    For usage of the debugging a Serial connection is required (Serial or Serial1).

    + +

    The Serial Interface need to be initialized in the setup().

    + +

    Set the Serial baud rate as high as possible for your Hardware setup.

    + +

    Minimum sketch to use debugging: +```cpp +void setup() { + Serial.begin(115200); +}

    + +

    void loop() { +} +```

    + +

    Usage

    + +
      +
    1. Select the Serial interface for the Debugging messages: +Debug-Port

    2. +
    3. Select which type / level you want debug messages for: +Debug-Level

    4. +
    5. Check if the Serial interface is initialized in setup() (see Requirements)

    6. +
    7. Flash sketch

    8. +
    9. Check the Serial Output

    10. +
    + +

    Informations

    + +

    It work with every sketch that enables the Serial interface that is selected as debug port.

    + +

    The Serial interface can still be used normal in the Sketch.

    + +

    The debug output is additional and will not disable any interface from usage in the sketch.

    + +

    For Developers

    + +

    For the debug handling uses defines.

    + +

    The defined are set by command line.

    + +

    Debug Port

    + +

    The port has the define DEBUG_ESP_PORT possible value: + - Disabled: define not existing + - Serial: Serial + - Serial1: Serial1

    + +

    Debug Level

    + +

    All defines for the different levels starts with DEBUG_ESP_

    + +

    a full list can be found here in the boards.txt

    + +

    Example for own debug messages

    + +

    The debug messages will be only shown when the Debug Port in the IDE menu is set.

    +
    #ifdef DEBUG_ESP_PORT
    +#define DEBUG_MSG(...) DEBUG_ESP_PORT.printf( __VA_ARGS__ )
    +#else
    +#define DEBUG_MSG(...) 
    +#endif
    +
    +void setup() {
    +    Serial.begin(115200);
    +
    +    delay(3000);
    +    DEBUG_MSG("bootup...\n");
    +}
    +
    +void loop() {
    +    DEBUG_MSG("loop %d\n", millis());
    +    delay(1000);
    +}
    +
    +
    + + diff --git a/versions/2.2.0/doc/Troubleshooting/stack_dump.html b/versions/2.2.0/doc/Troubleshooting/stack_dump.html new file mode 100644 index 000000000..ff49c84dc --- /dev/null +++ b/versions/2.2.0/doc/Troubleshooting/stack_dump.html @@ -0,0 +1,354 @@ + + + + + + + + + + + + + + Debugging · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
    + This documentation is for version 2.2.0. Other versions. +
    + + + + +
    +

    Table of Contents

    + + + +

    Introduction

    + +

    If the ESP crash the Exception Cause will be shown and the current stack will be dumped.

    + +

    example:

    +
    Exception (0): epc1=0x402103f4 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000
    +
    +ctx: sys 
    +sp: 3ffffc10 end: 3fffffb0 offset: 01a0
    +
    +>>>stack>>>
    +3ffffdb0:  40223e00 3fff6f50 00000010 60000600  
    +3ffffdc0:  00000001 4021f774 3fffc250 4000050c  
    +3ffffdd0:  400043d5 00000030 00000016 ffffffff  
    +3ffffde0:  400044ab 3fffc718 3ffffed0 08000000  
    +3ffffdf0:  60000200 08000000 00000003 00000000  
    +3ffffe00:  0000ffff 00000001 04000002 003fd000  
    +3ffffe10:  3fff7188 000003fd 3fff2564 00000030  
    +3ffffe20:  40101709 00000008 00000008 00000020  
    +3ffffe30:  c1948db3 394c5e70 7f2060f2 c6ba0c87  
    +3ffffe40:  3fff7058 00000001 40238d41 3fff6ff0  
    +3ffffe50:  3fff6f50 00000010 60000600 00000020  
    +3ffffe60:  402301a8 3fff7098 3fff7014 40238c77  
    +3ffffe70:  4022fb6c 40230ebe 3fff1a5b 3fff6f00  
    +3ffffe80:  3ffffec8 00000010 40231061 3fff0f90  
    +3ffffe90:  3fff6848 3ffed0c0 60000600 3fff6ae0  
    +3ffffea0:  3fff0f90 3fff0f90 3fff6848 3fff6d40  
    +3ffffeb0:  3fff28e8 40101233 d634fe1a fffeffff  
    +3ffffec0:  00000001 00000000 4022d5d6 3fff6848  
    +3ffffed0:  00000002 4000410f 3fff2394 3fff6848  
    +3ffffee0:  3fffc718 40004a3c 000003fd 3fff7188  
    +3ffffef0:  3fffc718 40101510 00000378 3fff1a5b  
    +3fffff00:  000003fd 4021d2e7 00000378 000003ff  
    +3fffff10:  00001000 4021d37d 3fff2564 000003ff  
    +3fffff20:  000003fd 60000600 003fd000 3fff2564  
    +3fffff30:  ffffff00 55aa55aa 00000312 0000001c  
    +3fffff40:  0000001c 0000008a 0000006d 000003ff  
    +3fffff50:  4021d224 3ffecf90 00000000 3ffed0c0  
    +3fffff60:  00000001 4021c2e9 00000003 3fff1238  
    +3fffff70:  4021c071 3ffecf84 3ffecf30 0026a2b0  
    +3fffff80:  4021c0b6 3fffdab0 00000000 3fffdcb0  
    +3fffff90:  3ffecf40 3fffdab0 00000000 3fffdcc0  
    +3fffffa0:  40000f49 40000f49 3fffdab0 40000f49  
    +<<<stack<<<
    +
    +

    the first number after Exception gives the cause of the reset. +a full ist of all causes can be found here +the hex after are the stack dump.

    + +

    Decode

    + +

    it's possible to decode the Stack to readable information. +more info see Esp Exception Decoder tool

    + +

    ESP Exception Decoder

    + +
    + + diff --git a/versions/2.2.0/doc/boards.html b/versions/2.2.0/doc/boards.html new file mode 100644 index 000000000..cd7e51105 --- /dev/null +++ b/versions/2.2.0/doc/boards.html @@ -0,0 +1,798 @@ + + + + + + + + + + + + + + Supported Hardware · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
    + This documentation is for version 2.2.0. Other versions. +
    + + + + +
    +

    Table of contents

    + + + +

    Adafruit HUZZAH ESP8266 (ESP-12)

    + +

    TODO: add notes

    + +

    ESPresso Lite 1.0

    + +

    ESPresso Lite 1.0 (beta version) is an Arduino-compatible Wi-Fi development board powered by Espressif System's own ESP8266 WROOM-02 module. It has breadboard-friendly breakout pins with in-built LED, two reset/flash buttons and a user programmable button . The operating voltage is 3.3VDC, regulated with 800mA maximum current. Special distinctive features include on-board I2C pads that allow direct connection to OLED LCD and sensor boards.

    + +

    ESPresso Lite 2.0

    + +

    ESPresso Lite 2.0 is an Arduino-compatible Wi-Fi development board based on an earlier V1 (beta version). Re-designed together with Cytron Technologies, the newly-revised ESPresso Lite V2.0 features the auto-load/auto-program function, eliminating the previous need to reset the board manually before flashing a new program. It also feature two user programmable side buttons and a reset button. The special distinctive features of on-board pads for I2C sensor and actuator is retained.

    + +

    NodeMCU 0.9

    + +

    Pin mapping

    + +

    Pin numbers written on the board itself do not correspond to ESP8266 GPIO pin numbers. Constants are defined to make using this board easier:

    +
    static const uint8_t D0   = 16;
    +static const uint8_t D1   = 5;
    +static const uint8_t D2   = 4;
    +static const uint8_t D3   = 0;
    +static const uint8_t D4   = 2;
    +static const uint8_t D5   = 14;
    +static const uint8_t D6   = 12;
    +static const uint8_t D7   = 13;
    +static const uint8_t D8   = 15;
    +static const uint8_t D9   = 3;
    +static const uint8_t D10  = 1;
    +
    +

    If you want to use NodeMCU pin 5, use D5 for pin number, and it will be translated to 'real' GPIO pin 14.

    + +

    NodeMCU 1.0

    + +

    This module is sold under many names for around $6.50 on AliExpress and it's one of the cheapest, fully integrated ESP8266 solutions.

    + +

    It's an open hardware design with an ESP-12E core and 4 MB of SPI flash.

    + +

    Acording to the manufacturer, "with a micro USB cable, you can connect NodeMCU devkit to your laptop and flash it without any trouble". This is more or less true: the board comes with a CP2102 onboard USB to serial adapter which just works, well, the majority of the time. Sometimes flashing fails and you have to reset the board by holding down FLASH + RST, then releasing FLASH, then releasing RST. This forces the CP2102 device to power cycle and to be re-numbered by Linux.

    + +

    The board also features a NCP1117 voltage regulator, a blue LED on GPIO16 and a 220k/100k Ohm voltage divider on the ADC input pin.

    + +

    Full pinout and PDF schematics can be found here

    + +

    Olimex MOD-WIFI-ESP8266-DEV

    + +

    This board comes with 2 MB of SPI flash and optional accessories (e.g. evaluation board ESP8266-EVB or BAT-BOX for batteries).

    + +

    The basic module has three solder jumpers that allow you to switch the operating mode between SDIO, UART and FLASH.

    + +

    The board is shipped for FLASH operation mode, with jumpers TD0JP=0, IO0JP=1, IO2JP=1.

    + +

    Since jumper IO0JP is tied to GPIO0, which is PIN 21, you'll have to ground it before programming with a USB to serial adapter and reset the board by power cycling it.

    + +

    UART pins for programming and serial I/O are GPIO1 (TXD, pin 3) and GPIO3 (RXD, pin 4).

    + +

    You can find the board schematics here

    + +

    Olimex MOD-WIFI-ESP8266

    + +

    This is a stripped down version of the above. Behaves identically in terms of jumpers but has less pins readily available for I/O. Still 2 MB of SPI flash.

    + +

    Olimex ESP8266-EVB

    + +

    It's a Olimex MOD-WIFI-ESP8266-DEV module installed on the headers of a development board which features some breakout connectors, a button (GPIO0) and a relay (GPIO5).

    + +

    Programming is pretty straightforward: the board is supported in the Arduino IDE after installing it via the Board Manager. To download a program you just have to connect GND/RX/TX from a serial/USB adapter to the UEXT connector and press the only button before applying power to enter UART mode.

    + +

    Don't connect 5V from the serial/USB adapter to the board or you won't be able to power cycle it for UART mode.

    + +

    You can find the board schematics here.

    + +

    This guide is also useful for the first setup, since it contains the UEXT connector pinout.

    + +

    Board variants include: + * ESP8266-EVB-BAT: comes with built-in LiPo charger and step-up converter + * ESP8266-EVB-BAT-BOX: as above, but enclosd in a plastic box (non-weatherproof)

    + +

    SparkFun ESP8266 Thing

    + +

    Product page: https://www.sparkfun.com/products/13231

    + +

    TODO: add notes

    + +

    SweetPea ESP-210

    + +

    TODO: add notes

    + +

    ESPino

    + +

    ESPino integrates the ESP-12 module with a 3.3v regulator, CP2104 USB-Serial bridge and a micro USB connector for easy programming. It is designed for fitting in a breadboard and has an RGB Led and two buttons for easy prototyping.

    + +

    For more information about the hardware, pinout diagram and programming procedures, please see the datasheet.

    + +

    Product page: http://www.espino.io/en

    + +

    WifInfo

    + +

    WifInfo integrates the ESP-12 or ESP-07+Ext antenna module with a 3.3v regulator and the hardware to be able to measure French telemetry issue from ERDF powering meter serial output. It has a USB connector for powering, an RGB WS2812 Led, 4 pins I2C connector to fit OLED or sensor, and two buttons + FTDI connector and auto reset feature.

    + +

    For more information, please see WifInfo related blog entries, github and community forum.

    + +

    Generic ESP8266 modules

    + +

    These modules come in different form factors and pinouts. See the page at ESP8266 community wiki for more info: +ESP8266 Module Family.

    + +

    Usually these modules have no bootstapping resistors on board, insufficient decoupling capacitors, no voltage regulator, no reset circuit, and no USB-serial adapter. This makes using them somewhat tricky, compared to development boards which add these features.

    + +

    In order to use these modules, make sure to observe the following:

    + + + +

    Serial Adapter

    + +

    There are many different USB to Serial adapters / boards. +To be able to put ESP8266 into bootloader mode using serial handshaking lines, you need the adapter which breaks out RTS and DTR outputs. CTS and DSR are not useful for upload (they are inputs). Make sure the adapter can work with 3.3V IO voltage: it should have a jumper or a switch to select between 5V and 3.3V, or be marked as 3.3V only.

    + +

    Adapters based around the following ICs should work:

    + + + +

    PL2303-based adapters are known not to work on Mac OS X. See https://github.com/igrr/esptool-ck/issues/9 for more info.

    + +

    Minimal Hardware Setup for Bootloading and Usage

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PINResistorSerial Adapter
    VCCVCC (3.3V)
    GNDGND
    TX or GPIO2*RX
    RXTX
    GPIO0PullUpDTR
    Reset*PullUpRTS
    GPIO15*PullDown
    CH_PDPullUp
    + + + +

    ESP to Serial

    + +

    ESP to Serial

    + +

    Minimal Hardware Setup for Bootloading only

    + +

    ESPxx Hardware

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PINResistorSerial Adapter
    VCCVCC (3.3V)
    GNDGND
    TX or GPIO2RX
    RXTX
    GPIO0GND
    ResetRTS*
    GPIO15PullDown
    CH_PDPullUp
    + + + +

    Minimal Hardware Setup for Running only

    + +

    ESPxx Hardware

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PINResistorPower supply
    VCCVCC (3.3V)
    GNDGND
    GPIO0PullUp
    GPIO15PullDown
    CH_PDPullUp
    + +

    Minimal

    + +

    ESP min

    + +

    Improved Stability

    + +

    ESP improved stability

    + +

    Boot Messages and Modes

    + +

    The ESP module checks at every boot the Pins 0, 2 and 15. +based on them its boots in different modes:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    GPIO15GPIO0GPIO2Mode
    0V0V3.3VUart Bootloader
    0V3.3V3.3VBoot sketch (SPI flash)
    3.3VxxSDIO mode (not used for Arduino)
    + +

    at startup the ESP prints out the current boot mode example: + +rst cause:2, boot mode:(3,6) +

    + +

    note: + - GPIO2 is used as TX output and the internal Pullup is enabled on boot.

    + +

    rst cause

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NumberDescription
    0unknown
    1normal boot
    2reset pin
    3software reset
    4watchdog reset
    + +

    boot mode

    + +

    the first value respects the pin setup of the Pins 0, 2 and 15.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NumberGPIO15GPIO0GPIO2Mode
    00V0V0VNot valid
    10V0V3.3VUart
    20V3.3V0VNot valid
    30V3.3V3.3VFlash
    43.3V0V0VSDIO
    53.3V0V3.3VSDIO
    63.3V3.3V0VSDIO
    73.3V3.3V3.3VSDIO
    + +

    note: + - number = ((GPIO15 << 2) | (GPIO0 << 1) | GPIO2);

    + +

    WeMos D1

    + +

    Product page: http://wemos.cc

    + +

    WeMos D1 mini

    + +

    Product page: http://wemos.cc

    + +

    ESPino (WROOM-02 Module) by ThaiEasyElec

    + +

    ESPino by ThaiEasyElec using WROOM-02 module from Espressif Systems with 4 MB Flash.

    + +

    We will update an English description soon. +- Product page: http://thaieasyelec.com/products/wireless-modules/wifi-modules/espino-wifi-development-board-detail.html +- Schematics: www.thaieasyelec.com/downloads/ETEE052/ETEE052_ESPino_Schematic.pdf +- Dimensions: http://thaieasyelec.com/downloads/ETEE052/ETEE052_ESPino_Dimension.pdf +- Pinouts: http://thaieasyelec.com/downloads/ETEE052/ETEE052_ESPino_User_Manual_TH_v1_0_20160204.pdf (Please see pg. 8)

    + +
    + + diff --git a/versions/2.2.0/doc/changes.html b/versions/2.2.0/doc/changes.html new file mode 100644 index 000000000..7f3f673fd --- /dev/null +++ b/versions/2.2.0/doc/changes.html @@ -0,0 +1,606 @@ + + + + + + + + + + + + + + Change Log · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
    + This documentation is for version 2.2.0. Other versions. +
    + + + + +
    +

    Current version

    + +

    Core

    + + + +

    Libraries

    + + + +

    Tools

    + +
    + +

    2.1.0

    + +

    February 27, 2016

    + +

    Package link: http://arduino.esp8266.com/versions/2.1.0/package_esp8266com_index.json.

    + +

    Core

    + + + +

    Libraries

    + + + +

    Tools

    + + + +
    + +

    2.0.0

    + +

    November 30, 2015

    + +

    Package link: http://arduino.esp8266.com/versions/2.0.0/package_esp8266com_index.json.

    + +

    Core

    + + + +

    Libraries

    + + + +

    Tools

    + + + +
    + +

    1.6.5-947-g39819f0

    + +

    July 23, 2015

    + +

    Package link: http://arduino.esp8266.com/versions/1.6.5-947-g39819f0/package_esp8266com_index.json.

    + +

    Core

    + + + +

    Libraries

    + + + +

    Tools

    + + + +
    + +

    1.6.4-673-g8cd3697

    + +

    May 22, 2015

    + +

    Package link: http://arduino.esp8266.com/versions/1.6.4-673-g8cd3697/package_esp8266com_index.json.

    + +

    Tools

    + + + +

    Libraries

    + + + +
    + +

    1.6.4-628-g545ffde

    + +

    May 19, 2015

    + + + +
    + + diff --git a/versions/2.2.0/doc/eclipse/1_Install_New_Software.png b/versions/2.2.0/doc/eclipse/1_Install_New_Software.png new file mode 100644 index 000000000..a3e9d3619 Binary files /dev/null and b/versions/2.2.0/doc/eclipse/1_Install_New_Software.png differ diff --git a/versions/2.2.0/doc/eclipse/2_Install_software.png b/versions/2.2.0/doc/eclipse/2_Install_software.png new file mode 100644 index 000000000..b7baadaa9 Binary files /dev/null and b/versions/2.2.0/doc/eclipse/2_Install_software.png differ diff --git a/versions/2.2.0/doc/eclipse/eclipse.md b/versions/2.2.0/doc/eclipse/eclipse.md new file mode 100644 index 000000000..348d1cf19 --- /dev/null +++ b/versions/2.2.0/doc/eclipse/eclipse.md @@ -0,0 +1,38 @@ +using Eclipse with Arduino ESP8266 +=========================================== + +### What to Download ### +- [arduino IDE](https://www.arduino.cc/en/Main/Software) +- [Eclipse IDE for C/C++ Developers](http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/marsr) +- [Java](http://www.java.com/) + +### Setup Arduino ### + see the [Readme](https://github.com/esp8266/Arduino#installing-with-boards-manager) + +### Setup Eclipse ### +- [step 1](http://www.baeyens.it/eclipse/how_to.shtml#/c) +- [step 2](http://www.baeyens.it/eclipse/how_to.shtml#/e) +- go to Window --> preferences --> Arduino +- add as private hardware path the Part to the ESP8266 + +###### example private hardware path + Windows: C:\Users\[username]\AppData\Roaming\Arduino15\packages\esp8266\hardware + Linux: /home/[username]/.arduino15/packages/esp8266/hardware + +### Eclipse wont build ### +if eclipse dont find the path to the Compiler add to the platform.txt +after: +``` +version=1.6.4 +``` +this: +``` +runtime.tools.xtensa-lx106-elf-gcc.path={runtime.platform.path}/../../../tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9 +runtime.tools.esptool.path={runtime.platform.path}/../../../tools/esptool/0.4.4 +``` +Note: + - the path may changed, check the current version. + - each update over the Arduino IDE will remove the fix + - may not needed in future if Eclipse Plugin get an Update + + \ No newline at end of file diff --git a/versions/2.2.0/doc/eclipse/makefile.init b/versions/2.2.0/doc/eclipse/makefile.init new file mode 100644 index 000000000..76438d62c --- /dev/null +++ b/versions/2.2.0/doc/eclipse/makefile.init @@ -0,0 +1,39 @@ +vecho := @echo +Q := @ + +PROJECT_NAME=project_name + +OTA_IP=192.168.254.100 +OTA_PORT=8266 + +SERIAL_PORT=COM3 +SERIAL_BAUD=230400 + +ARDUINO_BASE = D:/Coding/avr/Programme/arduino-nightly +ESP8266_BASE = $(ARDUINO_BASE)/hardware/esp8266com/esp8266 +ESP8266_TOOLS = $(ESP8266_BASE)/tools +XTENSA_TOOLS_ROOT = $(ESP8266_TOOLS)/xtensa-lx106-elf/bin + +PYTHON_BIN = python +ESPTOOL_PY_BIN = $(ESP8266_TOOLS)/esptool.py +ESPOTA_PY_BIN = $(ESP8266_TOOLS)/espota.py +ESPTOOL_BIN = $(ESP8266_TOOLS)/esptool/esptool.exe + +ota: + $(vecho) ota... + $(PYTHON_BIN) $(ESPOTA_PY_BIN) -i $(OTA_IP) -p $(OTA_PORT) --auth= -f ./$(PROJECT_NAME).bin + +ota_spiffs: + $(vecho) ota spiffs... + $(PYTHON_BIN) $(ESPOTA_PY_BIN) -i $(OTA_IP) -p $(OTA_PORT) --auth= -s -f ./$(PROJECT_NAME)_spiffs.bin + +erase_flash: + $(vecho) "Erase Flash" + $(PYTHON_BIN) $(ESPTOOL_PY_BIN) -p $(SERIAL_PORT) -b $(SERIAL_BAUD) erase_flash + +dumpmem: + $(vecho) "Read Flash need some time..." + $(PYTHON_BIN) $(ESPTOOL_PY_BIN) -p $(SERIAL_PORT) -b $(SERIAL_BAUD) read_flash 0 4194304 dump.bin + +objdump: + "$(XTENSA_TOOLS_ROOT)/xtensa-lx106-elf-objdump" -S $(PROJECT_NAME).elf > $(PROJECT_NAME).dobj diff --git a/versions/2.2.0/doc/esp12.png b/versions/2.2.0/doc/esp12.png new file mode 100644 index 000000000..8ec371016 Binary files /dev/null and b/versions/2.2.0/doc/esp12.png differ diff --git a/versions/2.2.0/doc/esp12.svg b/versions/2.2.0/doc/esp12.svg new file mode 100644 index 000000000..107073dfa --- /dev/null +++ b/versions/2.2.0/doc/esp12.svg @@ -0,0 +1,1187 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RESET + + + + RESET + + + + + ADC + + + + GPIO16 + + + + + D16~ + + + + CHPD + + + + D14~ + + + + D12~ + + + + D13~ + + + + D15~ + + + + RESET + + + + VCC + + + + GND + + + + D2~ + + + + D0~ + + + + D4~ + + + + D5~ + + + + D3~ + + + + D1~ + + + + TX0 + + + + RX0 + + + + RX0* + + + + TX0* + + + + TX1 + + + + SDA + + + + SCL + + + + SS + + + + MISO + + + + MOSI + + + + SCK + + ESP-12 + + diff --git a/versions/2.2.0/doc/esp8266_tcp_active_close.png b/versions/2.2.0/doc/esp8266_tcp_active_close.png new file mode 100644 index 000000000..f9dad0987 Binary files /dev/null and b/versions/2.2.0/doc/esp8266_tcp_active_close.png differ diff --git a/versions/2.2.0/doc/exception_causes.md b/versions/2.2.0/doc/exception_causes.md new file mode 100644 index 000000000..4b11bdb13 --- /dev/null +++ b/versions/2.2.0/doc/exception_causes.md @@ -0,0 +1,38 @@ +Exception Causes (EXCCAUSE) +=========================================== + +| EXC-CAUSE Code | Cause Name | Cause Description | Required Option | EXC-VADDR Loaded | +|:--------------:|:---------------------------|:------------------------------------------------------------------------------------------------------------|:-------------------------|:----------------:| +| 0 | IllegalInstructionCause | Illegal instruction | Exception | No | +| 1 | SyscallCause | SYSCALL instruction | Exception | No | +| 2 | InstructionFetchErrorCause | Processor internal physical address or data error during instruction fetch | Exception | Yes | +| 3 | LoadStoreErrorCause | Processor internal physical address or data error during load or store | Exception | Yes | +| 4 | Level1InterruptCause | Level-1 interrupt as indicated by set level-1 bits in the INTERRUPT register | Interrupt | No | +| 5 | AllocaCause | MOVSP instruction, if callers registers are not in the register file | Windowed Register | No | +| 6 | IntegerDivideByZeroCause | QUOS, QUOU, REMS, or REMU divisor operand is zero | 32-bit Integer Divide | No | +| 7 | Reserved for Tensilica | | | | +| 8 | PrivilegedCause | Attempt to execute a privileged operation when CRING ? 0 | MMU | No | +| 9 | LoadStoreAlignmentCause | Load or store to an unaligned address | Unaligned Exception | Yes | +| 10..11 | Reserved for Tensilica | | | | +| 12 | InstrPIFDataErrorCause | PIF data error during instruction fetch | Processor Interface | Yes | +| 13 | LoadStorePIFDataErrorCause | Synchronous PIF data error during LoadStore access | Processor Interface | Yes | +| 14 | InstrPIFAddrErrorCause | PIF address error during instruction fetch | Processor Interface | Yes | +| 15 | LoadStorePIFAddrErrorCause | Synchronous PIF address error during LoadStore access | Processor Interface | Yes | +| 16 | InstTLBMissCause | Error during Instruction TLB refill | MMU | Yes | +| 17 | InstTLBMultiHitCause | Multiple instruction TLB entries matched | MMU | Yes | +| 18 | InstFetchPrivilegeCause | An instruction fetch referenced a virtual address at a ring level less than CRING | MMU | Yes | +| 19 | Reserved for Tensilica | | | | +| 20 | InstFetchProhibitedCause | An instruction fetch referenced a page mapped with an attribute that does not permit instruction fetch | Region Protection or MMU | Yes | +| 21..23 | Reserved for Tensilica | | | | +| 24 | LoadStoreTLBMissCause | Error during TLB refill for a load or store | MMU | Yes | +| 25 | LoadStoreTLBMultiHitCause | Multiple TLB entries matched for a load or store | MMU | Yes | +| 26 | LoadStorePrivilegeCause | A load or store referenced a virtual address at a ring level less than CRING | MMU | Yes | +| 27 | Reserved for Tensilica | | | | +| 28 | LoadProhibitedCause | A load referenced a page mapped with an attribute that does not permit loads | Region Protection or MMU | Yes | +| 29 | StoreProhibitedCause | A store referenced a page mapped with an attribute that does not permit stores | Region Protection or MMU | Yes | +| 30..31 | Reserved for Tensilica | | | | +| 32..39 | CoprocessornDisabled | Coprocessor n instruction when cpn disabled. n varies 0..7 as the cause varies 32..39 | Coprocessor | No | +| 40..63 | Reserved | | | | + + +Infos from Xtensa Instruction Set Architecture (ISA) Reference Manual \ No newline at end of file diff --git a/versions/2.2.0/doc/filesystem.html b/versions/2.2.0/doc/filesystem.html new file mode 100644 index 000000000..5d68ad52e --- /dev/null +++ b/versions/2.2.0/doc/filesystem.html @@ -0,0 +1,587 @@ + + + + + + + + + + + + + + File System · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
    + This documentation is for version 2.2.0. Other versions. +
    + + + + +
    +

    Table of Contents

    + + + +

    Flash layout

    + +

    Even though file system is stored on the same flash chip as the program, programming new sketch will not modify file system contents. This allows to use file system to store sketch data, configuration files, or content for Web server.

    + +

    The following diagram illustrates flash layout used in Arduino environment:

    +
    |--------------|-------|---------------|--|--|--|--|--|
    +^              ^       ^               ^     ^
    +Sketch    OTA update   File system   EEPROM  WiFi config (SDK)
    +
    +

    File system size depends on the flash chip size. Depending on the board which is selected in IDE, you have the following options for flash size:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    BoardFlash chip size, bytesFile system size, bytes
    Generic module512k64k, 128k
    Generic module1M64k, 128k, 256k, 512k
    Generic module2M1M
    Generic module4M3M
    Adafruit HUZZAH4M1M, 3M
    ESPresso Lite 1.04M1M, 3M
    ESPresso Lite 2.04M1M, 3M
    NodeMCU 0.94M1M, 3M
    NodeMCU 1.04M1M, 3M
    Olimex MOD-WIFI-ESP8266(-DEV)2M1M
    SparkFun Thing512k64k
    SweetPea ESP-2104M1M, 3M
    WeMos D1 & D1 mini4M1M, 3M
    ESPDuino4M1M, 3M
    + +

    Note: to use any of file system functions in the sketch, add the following include to the sketch:

    +
    #include "FS.h"
    +
    +

    Uploading files to file system

    + +

    ESP8266FS is a tool which integrates into the Arduino IDE. It adds a menu item to Tools menu for uploading the contents of sketch data directory into ESP8266 flash file system.

    + + + +

    File system object (SPIFFS)

    + +

    begin

    +
    SPIFFS.begin()
    +
    +

    This method mounts SPIFFS file system. It must be called before any other +FS APIs are used. Returns true if file system was mounted successfully, false +otherwise.

    + +

    format

    +
    SPIFFS.format()
    +
    +

    Formats the file system. May be called either before or after calling begin. +Returns true if formatting was successful.

    + +

    open

    +
    SPIFFS.open(path, mode)
    +
    +

    Opens a file. path should be an absolute path starting with a slash +(e.g. /dir/filename.txt). mode is a string specifying access mode. It can be +one of "r", "w", "a", "r+", "w+", "a+". Meaning of these modes is the same as +for fopen C function.

    +
       r      Open text file for reading.  The stream is positioned at the
    +          beginning of the file.
    +
    +   r+     Open for reading and writing.  The stream is positioned at the
    +          beginning of the file.
    +
    +   w      Truncate file to zero length or create text file for writing.
    +          The stream is positioned at the beginning of the file.
    +
    +   w+     Open for reading and writing.  The file is created if it does
    +          not exist, otherwise it is truncated.  The stream is
    +          positioned at the beginning of the file.
    +
    +   a      Open for appending (writing at end of file).  The file is
    +          created if it does not exist.  The stream is positioned at the
    +          end of the file.
    +
    +   a+     Open for reading and appending (writing at end of file).  The
    +          file is created if it does not exist.  The initial file
    +          position for reading is at the beginning of the file, but
    +          output is always appended to the end of the file.
    +
    +

    Returns File object. To check whether the file was opened successfully, use +the boolean operator.

    +
    File f = SPIFFS.open("/f.txt", "w");
    +if (!f) {
    +    Serial.println("file open failed");
    +}
    +
    +

    exists

    +
    SPIFFS.exists(path)
    +
    +

    Returns true if a file with given path exists, false otherwise.

    + +

    openDir

    +
    SPIFFS.openDir(path)
    +
    +

    Opens a directory given its absolute path. Returns a Dir object.

    + +

    remove

    +
    SPIFFS.remove(path)
    +
    +

    Deletes the file given its absolute path. Returns true if file was deleted successfully.

    + +

    rename

    +
    SPIFFS.rename(pathFrom, pathTo)
    +
    +

    Renames file from pathFrom to pathTo. Paths must be absolute. Returns true +if file was renamed successfully.

    + +

    info

    +
    FSInfo fs_info;
    +SPIFFS.info(fs_info);
    +
    +

    Fills FSInfo structure with information about +the file system. Returns true is successful, false otherwise.

    + +

    Filesystem information structure

    +
    struct FSInfo {
    +    size_t totalBytes;
    +    size_t usedBytes;
    +    size_t blockSize;
    +    size_t pageSize;
    +    size_t maxOpenFiles;
    +    size_t maxPathLength;
    +};
    +
    +

    This is the structure which may be filled using FS::info method. +- totalBytes — total size of useful data on the file system +- usedBytes — number of bytes used by files +- blockSize — SPIFFS block size +- pageSize — SPIFFS logical page size +- maxOpenFiles — max number of files which may be open simultaneously +- maxPathLength — max file name length (including one byte for zero termination)

    + +

    Directory object (Dir)

    + +

    The purpose of Dir object is to iterate over files inside a directory. +It provides three methods: next(), fileName(), and openFile(mode).

    + +

    The following example shows how it should be used:

    +
    Dir dir = SPIFFS.openDir("/data");
    +while (dir.next()) {
    +    Serial.print(dir.fileName());
    +    File f = dir.openFile("r");
    +    Serial.println(f.size());
    +}
    +
    +

    dir.next() returns true while there are files in the directory to iterate over. +It must be called before calling fileName and openFile functions.

    + +

    openFile method takes mode argument which has the same meaning as for SPIFFS.open function.

    + +

    File object

    + +

    SPIFFS.open and dir.openFile functions return a File object. This object +supports all the functions of Stream, so you can use readBytes, findUntil, +parseInt, println, and all other Stream methods.

    + +

    There are also some functions which are specific to File object.

    + +

    seek

    +
    file.seek(offset, mode)
    +
    +

    This function behaves like fseek C function. Depending on the value of mode, +it moves current position in a file as follows:

    + + + +

    Returns true if position was set successfully.

    + +

    position

    +
    file.position()
    +
    +

    Returns the current position inside the file, in bytes.

    + +

    size

    +
    file.size()
    +
    +

    Returns file size, in bytes.

    + +

    name

    +
    String name = file.name();
    +
    +

    Returns file name, as const char*. Convert it to String for storage.

    + +

    close

    +
    file.close()
    +
    +

    Close the file. No other operations should be performed on File object after close function was called.

    + +
    + + diff --git a/versions/2.2.0/doc/installing.html b/versions/2.2.0/doc/installing.html new file mode 100644 index 000000000..ce5ac92a0 --- /dev/null +++ b/versions/2.2.0/doc/installing.html @@ -0,0 +1,369 @@ + + + + + + + + + + + + + + Installation · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
    + This documentation is for version 2.2.0. Other versions. +
    + + + + +
    +

    Boards Manager

    + +

    This is the suggested installation method for end users.

    + +

    Prerequisites

    + + + +

    Instructions

    + + + +

    You may optionally use staging boards manager package link: +http://arduino.esp8266.com/staging/package_esp8266com_index.json. This may contain some new features, but at the same time, some things might be broken.

    + +

    Using git version

    + +

    This is the suggested installation method for contributors and library developers.

    + +

    Prerequisites

    + + + +

    Instructions

    + + + +
    + + diff --git a/versions/2.2.0/doc/libraries.html b/versions/2.2.0/doc/libraries.html new file mode 100644 index 000000000..f4206a863 --- /dev/null +++ b/versions/2.2.0/doc/libraries.html @@ -0,0 +1,461 @@ + + + + + + + + + + + + + + Libraries · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
    + This documentation is for version 2.2.0. Other versions. +
    + + + + +
    +

    Table of Contents

    + + + +

    WiFi(ESP8266WiFi library)

    + +

    This is mostly similar to WiFi shield library. Differences include:

    + + + +

    WiFiServer, WiFiClient, and WiFiUDP behave mostly the same way as with WiFi shield library. +Four samples are provided for this library. +You can see more commands here: http://www.arduino.cc/en/Reference/WiFi

    + +

    Ticker

    + +

    Library for calling functions repeatedly with a certain period. Two examples included.

    + +

    It is currently not recommended to do blocking IO operations (network, serial, file) from Ticker +callback functions. Instead, set a flag inside the ticker callback and check for that flag inside the loop function.

    + +

    Here is library to simplificate Ticker usage and avoid WDT reset: TickerScheduler

    + +

    EEPROM

    + +

    This is a bit different from standard EEPROM class. You need to call EEPROM.begin(size) +before you start reading or writing, size being the number of bytes you want to use. +Size can be anywhere between 4 and 4096 bytes.

    + +

    EEPROM.write does not write to flash immediately, instead you must call EEPROM.commit() +whenever you wish to save changes to flash. EEPROM.end() will also commit, and will +release the RAM copy of EEPROM contents.

    + +

    EEPROM library uses one sector of flash located just after the SPIFFS.

    + +

    Three examples included.

    + +

    I2C (Wire library)

    + +

    Wire library currently supports master mode up to approximately 450KHz. +Before using I2C, pins for SDA and SCL need to be set by calling +Wire.begin(int sda, int scl), i.e. Wire.begin(0, 2) on ESP-01, +else they default to pins 4(SDA) and 5(SCL).

    + +

    SPI

    + +

    SPI library supports the entire Arduino SPI API including transactions, including setting phase (CPHA). +Setting the Clock polarity (CPOL) is not supported, yet (SPI_MODE2 and SPI_MODE3 not working).

    + +

    SoftwareSerial

    + +

    An ESP8266 port of SoftwareSerial library done by Peter Lerup (@plerup) supports baud rate up to 115200 and multiples SoftwareSerial instances. See https://github.com/plerup/espsoftwareserial if you want to suggest an improvement or open an issue related to SoftwareSerial.

    + +

    ESP-specific APIs

    + +

    APIs related to deep sleep and watchdog timer are available in the ESP object, only available in Alpha version.

    + +

    ESP.deepSleep(microseconds, mode) will put the chip into deep sleep. mode is one of WAKE_RF_DEFAULT, WAKE_RFCAL, WAKE_NO_RFCAL, WAKE_RF_DISABLED. (GPIO16 needs to be tied to RST to wake from deepSleep.)

    + +

    ESP.restart() restarts the CPU.

    + +

    ESP.getResetReason() returns String containing the last reset resaon in human readable format.

    + +

    ESP.getFreeHeap() returns the free heap size.

    + +

    ESP.getChipId() returns the ESP8266 chip ID as a 32-bit integer.

    + +

    Several APIs may be used to get flash chip info:

    + +

    ESP.getFlashChipId() returns the flash chip ID as a 32-bit integer.

    + +

    ESP.getFlashChipSize() returns the flash chip size, in bytes, as seen by the SDK (may be less than actual size).

    + +

    ESP.getFlashChipSpeed(void) returns the flash chip frequency, in Hz.

    + +

    ESP.getCycleCount() returns the cpu instruction cycle count since start as an unsigned 32-bit. This is useful for accurate timing of very short actions like bit banging.

    + +

    ESP.getVcc() may be used to measure supply voltage. ESP needs to reconfigure the ADC +at startup in order for this feature to be available. Add the following line to the top +of your sketch to use getVcc:

    +
    ADC_MODE(ADC_VCC);
    +
    +

    TOUT pin has to be disconnected in this mode.

    + +

    Note that by default ADC is configured to read from TOUT pin using analogRead(A0), and +ESP.getVCC() is not available.

    + +

    mDNS and DNS-SD responder (ESP8266mDNS library)

    + +

    Allows the sketch to respond to multicast DNS queries for domain names like "foo.local", and DNS-SD (service dicovery) queries. +See attached example for details.

    + +

    SSDP responder (ESP8266SSDP)

    + +

    SSDP is another service discovery protocol, supported on Windows out of the box. See attached example for reference.

    + +

    DNS server (DNSServer library)

    + +

    Implements a simple DNS server that can be used in both STA and AP modes. The DNS server currently supports only one domain (for all other domains it will reply with NXDOMAIN or custom status code). With it clients can open a web server running on ESP8266 using a domain name, not an IP address. +See attached example for details.

    + +

    Servo

    + +

    This library exposes the ability to control RC (hobby) servo motors. It will support upto 24 servos on any available output pin. By defualt the first 12 servos will use Timer0 and currently this will not interfere with any other support. Servo counts above 12 will use Timer1 and features that use it will be effected. +While many RC servo motors will accept the 3.3V IO data pin from a ESP8266, most will not be able to run off 3.3v and will require another power source that matches their specifications. Make sure to connect the grounds between the ESP8266 and the servo motor power supply.

    + +

    Other libraries (not included with the IDE)

    + +

    Libraries that don't rely on low-level access to AVR registers should work well. Here are a few libraries that were verified to work:

    + + + +
    + + diff --git a/versions/2.2.0/doc/ota_updates/a-ota-external-serial-terminal-output.png b/versions/2.2.0/doc/ota_updates/a-ota-external-serial-terminal-output.png new file mode 100644 index 000000000..cc36c7d05 Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/a-ota-external-serial-terminal-output.png differ diff --git a/versions/2.2.0/doc/ota_updates/a-ota-network-terminal.png b/versions/2.2.0/doc/ota_updates/a-ota-network-terminal.png new file mode 100644 index 000000000..9b9bd47f4 Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/a-ota-network-terminal.png differ diff --git a/versions/2.2.0/doc/ota_updates/a-ota-ota-port-selection.png b/versions/2.2.0/doc/ota_updates/a-ota-ota-port-selection.png new file mode 100644 index 000000000..057bdb706 Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/a-ota-ota-port-selection.png differ diff --git a/versions/2.2.0/doc/ota_updates/a-ota-ota-upload-complete.png b/versions/2.2.0/doc/ota_updates/a-ota-ota-upload-complete.png new file mode 100644 index 000000000..85f8ba56e Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/a-ota-ota-upload-complete.png differ diff --git a/versions/2.2.0/doc/ota_updates/a-ota-ota-upload-configuration.png b/versions/2.2.0/doc/ota_updates/a-ota-ota-upload-configuration.png new file mode 100644 index 000000000..1d31a784c Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/a-ota-ota-upload-configuration.png differ diff --git a/versions/2.2.0/doc/ota_updates/a-ota-python-configuration.png b/versions/2.2.0/doc/ota_updates/a-ota-python-configuration.png new file mode 100644 index 000000000..0e78f72a1 Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/a-ota-python-configuration.png differ diff --git a/versions/2.2.0/doc/ota_updates/a-ota-serial-upload-configuration.png b/versions/2.2.0/doc/ota_updates/a-ota-serial-upload-configuration.png new file mode 100644 index 000000000..89f969d43 Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/a-ota-serial-upload-configuration.png differ diff --git a/versions/2.2.0/doc/ota_updates/a-ota-sketch-selection.png b/versions/2.2.0/doc/ota_updates/a-ota-sketch-selection.png new file mode 100644 index 000000000..50ef7ca51 Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/a-ota-sketch-selection.png differ diff --git a/versions/2.2.0/doc/ota_updates/a-ota-ssid-pass-entry.png b/versions/2.2.0/doc/ota_updates/a-ota-ssid-pass-entry.png new file mode 100644 index 000000000..3b678416c Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/a-ota-ssid-pass-entry.png differ diff --git a/versions/2.2.0/doc/ota_updates/a-ota-upload-complete-and-joined-wifi.png b/versions/2.2.0/doc/ota_updates/a-ota-upload-complete-and-joined-wifi.png new file mode 100644 index 000000000..479335d90 Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/a-ota-upload-complete-and-joined-wifi.png differ diff --git a/versions/2.2.0/doc/ota_updates/a-ota-upload-password-authenticating-ok.png b/versions/2.2.0/doc/ota_updates/a-ota-upload-password-authenticating-ok.png new file mode 100644 index 000000000..052d0da8b Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/a-ota-upload-password-authenticating-ok.png differ diff --git a/versions/2.2.0/doc/ota_updates/a-ota-upload-password-passing-again-upload-ok.png b/versions/2.2.0/doc/ota_updates/a-ota-upload-password-passing-again-upload-ok.png new file mode 100644 index 000000000..cc6ea94dc Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/a-ota-upload-password-passing-again-upload-ok.png differ diff --git a/versions/2.2.0/doc/ota_updates/a-ota-upload-password-passing-upload-ok.png b/versions/2.2.0/doc/ota_updates/a-ota-upload-password-passing-upload-ok.png new file mode 100644 index 000000000..e9254ebec Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/a-ota-upload-password-passing-upload-ok.png differ diff --git a/versions/2.2.0/doc/ota_updates/a-ota-upload-password-prompt.png b/versions/2.2.0/doc/ota_updates/a-ota-upload-password-prompt.png new file mode 100644 index 000000000..e3ecb520d Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/a-ota-upload-password-prompt.png differ diff --git a/versions/2.2.0/doc/ota_updates/ota-web-browser-form-ok.png b/versions/2.2.0/doc/ota_updates/ota-web-browser-form-ok.png new file mode 100644 index 000000000..ed44e9cbb Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/ota-web-browser-form-ok.png differ diff --git a/versions/2.2.0/doc/ota_updates/ota-web-browser-form.png b/versions/2.2.0/doc/ota_updates/ota-web-browser-form.png new file mode 100644 index 000000000..87872393f Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/ota-web-browser-form.png differ diff --git a/versions/2.2.0/doc/ota_updates/ota-web-path-to-binary.png b/versions/2.2.0/doc/ota_updates/ota-web-path-to-binary.png new file mode 100644 index 000000000..9237d8780 Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/ota-web-path-to-binary.png differ diff --git a/versions/2.2.0/doc/ota_updates/ota-web-serial-monitor-ready.png b/versions/2.2.0/doc/ota_updates/ota-web-serial-monitor-ready.png new file mode 100644 index 000000000..5ce011170 Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/ota-web-serial-monitor-ready.png differ diff --git a/versions/2.2.0/doc/ota_updates/ota-web-serial-monitor-reboot.png b/versions/2.2.0/doc/ota_updates/ota-web-serial-monitor-reboot.png new file mode 100644 index 000000000..0fd469e11 Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/ota-web-serial-monitor-reboot.png differ diff --git a/versions/2.2.0/doc/ota_updates/ota-web-show-verbose-compilation.png b/versions/2.2.0/doc/ota_updates/ota-web-show-verbose-compilation.png new file mode 100644 index 000000000..00ac3871f Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/ota-web-show-verbose-compilation.png differ diff --git a/versions/2.2.0/doc/ota_updates/readme.html b/versions/2.2.0/doc/ota_updates/readme.html new file mode 100644 index 000000000..cd595aa09 --- /dev/null +++ b/versions/2.2.0/doc/ota_updates/readme.html @@ -0,0 +1,757 @@ + + + + + + + + + + + + + + OTA Update · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
    + This documentation is for version 2.2.0. Other versions. +
    + + + + +
    +

    Table of Contents

    + + + +

    Introduction

    + +

    OTA (Over the Air) update is the process of loading the firmware to ESP module using Wi-Fi connection rather that a serial port. Such functionality became extremely useful in case of limited or no physical access to the module.

    + +

    OTA may be done using:

    + + + +

    Arduino IDE option is intended primarily for software development phase. The two other options would be more useful after deployment, to provide module with application updates manually with a web browser or automatically using a http server.

    + +

    In any case first firmware upload have to be done over a serial port. If OTA routines are correctly implemented in a sketch, then all subsequent uploads may be done over the air.

    + +

    There is no imposed security on OTA process from being hacked. It is up to developer to ensure that updates are allowed only from legitimate / trusted source. Once update is complete, module restarts and new code is executed. Developer should ensure that application running on module is shut down and restarted in a safe manner. Chapters below provide additional information regarding security and safety of OTA process.

    + +

    Security

    + +

    Module has to be exposed wirelessly to get it updated with a new sketch. That poses chances of module being violently hacked and loaded with some other code. To reduce likelihood of being hacked consider protecting your uploads with a password, selecting certain OTA port, etc.

    + +

    Check functionality provided with ArduinoOTA library that may improve security:

    +
    void setPort(uint16_t port);
    +void setHostname(const char* hostname);
    +void setPassword(const char* password);
    +
    +

    Certain protection functionality is already built in and do not require any additional coding by developer. ArduinoOTA and espota.py use Digest-MD5 to authenticate upload. Integrity of transferred data is verified on ESP side using MD5 checksum.

    + +

    Make your own risk analysis and depending on application decide what library functions to implement. If required consider implementation of other means of protection from being hacked, e.g. exposing module for uploads only according to specific schedule, trigger OTA only be user pressing dedicated “Update” button, etc.

    + +

    Safety

    + +

    OTA process takes ESP’s resources and bandwidth during upload. Then module is restarted and a new sketch executed. Analyse and test how it affects functionality of your existing and new sketch.

    + +

    If ESP is placed in remote location and controlling some equipment, you should put additional attention what happens if operation of this equipment is suddenly interrupted by update process. Therefore decide how to put this equipment into safe state before starting the update. For instance your module may be controlling a garden watering system in a sequence. If this sequence is not properly shut down and a water valve left open, your garden may be flooded if this valve is not closed after OTA is finished and module restarts.

    + +

    The following functions are provided with ArduinoOTA library and intended to handle functionality of your application during specific stages of OTA or on an OTA error:

    +
    void onStart(OTA_CALLBACK(fn));
    +void onEnd(OTA_CALLBACK(fn));
    +void onProgress(OTA_CALLBACK_PROGRESS(fn));
    +void onError(OTA_CALLBACK_ERROR (fn));
    +
    +

    Basic Requirements

    + +

    Flash chip size needs a size that is able to hold the old sketch (currently running) and the new sketch (OTA) at the same time. +Keep in mind that the File system and EEPROM for example needs space too (one time) see flash layout. +cpp +ESP.getFreeSketchSpace(); + +can be used for checking the free space for the new sketch.

    + +

    For overview of memory layout, where new sketch is stored and how it is copied during OTA process see Update process - memory view.

    + +

    The following chapters provide more details and specific methods of doing OTA.

    + +

    Arduino IDE

    + +

    Uploading modules wirelessly from Arduino IDE is intended for the following typical scenarios: +- during firmware development as a quicker alternative to loading over a serial +- for updating small quantity of modules +- only if modules are available on the same network as the computer with Arduino IDE

    + +

    Requirements

    + + + +

    Application Example

    + +

    Instructions below show configuration of OTA on NodeMCU 1.0 (ESP-12E Module) board. You can use any other board assuming that it meets requirements described above. This instruction is valid for all operating systems supported by Arduino IDE. Screen captures have been made on Windows 7 and you may see small differences (like name of serial port) if you are using Linux and MacOS.

    + +
      +
    1. Before you begin, please make sure that you have the following s/w installed:

      + +
    2. +
    3. Now prepare the sketch and configuration for the upload over a serial port.

      + +
        +
      • Start Arduino IDE and load sketch BasicOTA.ino available under File > Examples > ArduinoOTA +selection of example OTA sketch
      • +
    4. +
    +
    - Update SSID and password in the sketch so the module can join your Wi-Fi network
    +    ![SSID and password entry](a-ota-ssid-pass-entry.png)
    +
    +- Configure upload parameters as below (you may need to adjust configuration if you are using a different module):
    +    ![configuration of serial upload](a-ota-serial-upload-configuration.png)
    +
    +    **Note:** Depending on version of platform package and board you have, you may see ``` Upload Using: ``` in the menu above. This option is inactive and it does not matter what you select. It has been left for compatibility with older implementation of OTA and is targeted for removal in platform package version 2.2.0.
    +
    +
      +
    1. Upload the sketch (Ctrl+U). Once done, open Serial Monitor (Ctrl+Shift+M) and check if module has joined your Wi-Fi network:

      + +

      check if module joined network

    2. +
    3. Only if module is connected to network, after a couple of seconds, the esp8266-ota port will show up in Arduino IDE. Select port with IP adress shown in Serial Monitor in previus step:

      + +

      selection of OTA port

      + +

      Note: If OTA port does not show up, exit Arduino IDE, open it again and check if port is there. If it does not help check your firewall settings.

    4. +
    5. Now get ready for your first OTA upload by selecting the OTA port:

      + +

      configuration of OTA upload

      + +

      Note: The menu entry Upload Speed: does not matter at this point as it concerns the serial port. Just left it unchanged.

    6. +
    7. If you have successfully completed all the above steps, you can upload (Ctrl+U) the same (or any other) sketch over OTA:

      + +

      OTA upload complete

    8. +
    + +

    Note: To be able to upload your sketch over and over again using OTA, you need to embed OTA routines inside. Please use BasicOTA.ino as an example.

    + +

    Password Protection

    + +

    Protecting your OTA uploads with password is really straightforward. All you need to do, is to include the following statement in your code:

    +
    ArduinoOTA.setPassword((const char *)"123");
    +
    +

    Where 123 is a sample password that you should replace with your own.

    + +

    Before implementing it in your sketch, it is a good idea to check how it works using BasicOTA.ino sketch available under File > Examples > ArduinoOTA. Go ahead, open BasicOTA.ino, uncomment the above statement that is already there, and upload the sketch. To make troubleshooting easier, do not modify example sketch besides what is absolutely required. This is including original simple 123 OTA password. Then attempt to upload sketch again (using OTA). After compilation is complete, once upload is about to begin, you should see prompt for password as follows:

    + +

    Password prompt for OTA upload

    + +

    Enter the password and upload should be initiated as usual with the only difference being Authenticating...OK message visible in upload log.

    + +

     Authenticating...OK during OTA upload

    + +

    You will not be prompted for a reentering the same password next time. Arduino IDE will remember it for you. You will see prompt for password only after reopening IDE, or if you change it in your sketch, upload the sketch and then try to upload it again.

    + +

    Please note, it is possible to reveal password entered previously in Arduino IDE, if IDE has not been closed since last upload. This can be done by enabling Show verbose output during: upload in File > Preferences and attempting to upload the module.

    + +

    Verbose upload output with password passing in plan text

    + +

    The picture above shows that the password is visible in log as it is passed to espota.py upload script.

    + +

    Another example below shows situation when password is changed between uploads.

    + +

    Verbose output when OTA password has been changed between uploads

    + +

    When uploading, Arduino IDE used previously entered password, so the upload failed and that has been clearly reported by IDE. Only then IDE prompted for a new password. That was entered correctly and second attempt to upload has been successful.

    + +

    Troubleshooting

    + +

    If OTA update fails, first step is to check for error messages that may be shown in upload window of Arduino IDE. If this is not providing any useful hints try to upload again while checking what is shown by ESP on serial port. Serial Monitor from IDE will not be useful in that case. When attempting to open it, you will likely see the following:

    + +

    Arduino IDE network terminal window

    + +

    This window is for Arduino Yún and not yet implemented for esp8266/Arduino. It shows up because IDE is attempting to open Serial Monitor using network port you have selected for OTA upload.

    + +

    Instead you need an external serial monitor. If you are a Windows user check out Termite. This is handy, slick and simple RS232 terminal that does not impose RTS or DTR flow control. Such flow control may cause issues if you are using respective lines to toggle GPIO0 and RESET pins on ESP for upload.

    + +

    Select COM port and baud rate on external terminal program as if you were using Arduino Serial Monitor. Please see typical settings for Termite below:

    + +

    Termite settings

    + +

    Then run OTA from IDE and look what is displayed on terminal. Successful ArduinoOTA process using BasicOTA.ino sketch looks like below (IP address depends on your network configuration):

    + +

    OTA upload successful - output on an external serial terminal

    + +

    If upload fails you will likely see errors caught by the uploader, exception and the stack dump, or both.

    + +

    The most common causes of OTA failure are as follows: +* not enough physical memory on the chip (e.g. ESP01 with 512K flash memory is not enough for OTA), +* too much memory declared for SPIFFS so new sketch will not fit between existing sketch and SPIFFS – see Update process - memory view, +* too little memory declared in Arduino IDE for your selected board (i.e. less than physical size).

    + +

    For more details regarding flash memory layout please check File system. +For overview where new sketch is stored, how it is copied and how memory is organized for the purpose of OTA see Update process - memory view.

    + +

    Web Browser

    + +

    Updates described in this chapter are done with a web browser that can be useful in the following typical scenarios:

    + + + +

    Requirements

    + + + +

    Implementation Overview

    + +

    Updates with a web browser are implemented using ESP8266HTTPUpdateServer class together with ESP8266WebServer and ESP8266mDNS classes. The following code is required to get it work:

    + +

    setup()

    +
        MDNS.begin(host);
    +
    +    httpUpdater.setup(&httpServer);
    +    httpServer.begin();
    +
    +    MDNS.addService("http", "tcp", 80);
    +
    +

    loop()

    +
        httpServer.handleClient();
    +
    +

    Application Example

    + +

    The sample implementation provided below has been done using:

    + + + +

    You can use another module if it meets previously desribed requirements.

    + +
      +
    1. Before you begin, please make sure that you have the following software installed:

      + +
    2. +
    3. Prepare the sketch and configuration for initial upload with a serial port.

      + +
        +
      • Start Arduino IDE and load sketch WebUpdater.ino available under File > Examples > ESP8266HTTPUpdateServer.
      • +
      • Update SSID and password in the sketch so the module can join your Wi-Fi network.
      • +
      • Open File > Preferences, look for “Show verbose output during:” and check out “compilation” option.

        + +

        Preferences - enabling verbose output during compilation

        + +

        Note: This setting will be required in step 5 below. You can uncheck this setting afterwards.

      • +
    4. +
    5. Upload sketch (Ctrl+U). Once done open Serial Monitor (Ctrl+Shift+M) and check if you see the following message displayed, that contains url for OTA update.

      + +

      Serial Monitor - after first load using serial

      + +

      Note: Such message will be shown only after module successfully joins network and is ready for an OTA upload.

    6. +
    7. Now open web browser and enter the url provided on Serial Monitor, i.e. http://esp8266-webupdate.local/update. Once entered, browser should display a form like below that has been served by your module. The form invites you to choose a file for update.

      + +

      OTA update form in web browser

      + +

      Note: If entering http://esp8266-webupdate.local/update does not work, try replacing esp8266-webupdate with module’s IP address. For example, if your module IP is 192.168.1.100 then url should be http://192.168.1.100/update. This workaround is useful in case the host software installed in step 2 does not work. If still nothing works and there are no clues on Serial Monitor, try to diagnose issue by opening provided url in Google Chrome, pressing F12 and checking contents of “Console” and “Network” tabs. Chrome provides some advanced logging on these tabs.

    8. +
    9. To obtain the file navigate to directory used by Arduino IDE to store results of compilation. You can check the path to this file in compilation log shown in IDE debug window as marked below.

      + +

      Compilation complete - path to binary file

    10. +
    11. Now press “Choose File” in web browser, go to directory identified in step 5 above, find the file “WebUpdater.cpp.bin” and upload it. If upload is successful you will see “OK” on web browser like below.

      + +

      OTA update complete

      + +

      Module will reboot that should be visible on Serial Monitor:

      + +

      Serial Monitor - after OTA update

      + +

      Just after reboot you should see exactly the same message HTTPUpdateServer ready! Open http:// esp8266-webupdate.local /update in your browser like in step 3. This is because module has been loaded again with the same code – first using serial port, and then using OTA.

    12. +
    + +

    Once you are comfortable with this procedure go ahead and modify WebUpdater.ino sketch to print some additional messages, compile it, locate new binary file and upload it using web browser to see entered changes on a Serial Monitor.

    + +

    You can also add OTA routines to your own sketch following guidelines in Implementation Overview above. If this is done correctly you should be always able to upload new sketch over the previous one using a web browser.

    + +

    In case OTA update fails dead after entering modifications in your sketch, you can always recover module by loading it over a serial port. Then diagnose the issue with sketch using Serial Monitor. Once the issue is fixed try OTA again.

    + +

    HTTP Server

    + +

    ESPhttpUpdate class can check for updates and download a binary file from HTTP web server. +It is possible to download updates from every IP or domain address on the network or Internet.

    + +

    Requirements

    + + + +

    Arduino code

    + +
    Simple updater
    + +

    Simple updater downloads the file every time the function is called.

    +
    ESPhttpUpdate.update("192.168.0.2", 80, "/arduino.bin");
    +
    +
    Advanced updater
    + +

    Its possible to point update function to a script at the server. +If version string argument is given, it will be sent to the server. +Server side script can use this to check if update should be performed.

    + +

    Server side script can respond as follows: +- response code 200, and send the firmware image, +- or response code 304 to notify ESP that no update is required.

    +
    t_httpUpdate_return ret = ESPhttpUpdate.update("192.168.0.2", 80, "/esp/update/arduino.php", "optional current version string here");
    +switch(ret) {
    +    case HTTP_UPDATE_FAILED:
    +        Serial.println("[update] Update failed.");
    +        break;
    +    case HTTP_UPDATE_NO_UPDATES:
    +        Serial.println("[update] Update no Update.");
    +        break;
    +    case HTTP_UPDATE_OK:
    +        Serial.println("[update] Update ok."); // may not called we reboot the ESP
    +        break;
    +}
    +
    +

    Server request handling

    + +
    Simple updater
    + +

    For the simple updater the server only needs to deliver the binary file for update.

    + +
    Advanced updater
    + +

    For advanced update management a script needs to run at the server side, for example a PHP script. +At every update request the ESP sends some information in HTTP headers to the server.

    + +

    Example header data: + + [HTTP_USER_AGENT] => ESP8266-http-Update + [HTTP_X_ESP8266_STA_MAC] => 18:FE:AA:AA:AA:AA + [HTTP_X_ESP8266_AP_MAC] => 1A:FE:AA:AA:AA:AA + [HTTP_X_ESP8266_FREE_SPACE] => 671744 + [HTTP_X_ESP8266_SKETCH_SIZE] => 373940 + [HTTP_X_ESP8266_CHIP_SIZE] => 4194304 + [HTTP_X_ESP8266_SDK_VERSION] => 1.3.0 + [HTTP_X_ESP8266_VERSION] => DOOR-7-g14f53a19 +

    + +

    With this information the script now can check if an update is needed. It is also possible to deliver different binaries based on the MAC address for example.

    + +

    Script example:

    +
    <?PHP
    +
    +header('Content-type: text/plain; charset=utf8', true);
    +
    +function check_header($name, $value = false) {
    +    if(!isset($_SERVER[$name])) {
    +        return false;
    +    }
    +    if($value && $_SERVER[$name] != $value) {
    +        return false;
    +    }
    +    return true;
    +}
    +
    +function sendFile($path) {
    +    header($_SERVER["SERVER_PROTOCOL"].' 200 OK', true, 200);
    +    header('Content-Type: application/octet-stream', true);
    +    header('Content-Disposition: attachment; filename='.basename($path));
    +    header('Content-Length: '.filesize($path), true);
    +    header('x-MD5: '.md5_file($path), true);
    +    readfile($path);
    +}
    +
    +if(!check_header('HTTP_USER_AGENT', 'ESP8266-http-Update')) {
    +    header($_SERVER["SERVER_PROTOCOL"].' 403 Forbidden', true, 403);
    +    echo "only for ESP8266 updater!\n";
    +    exit();
    +}
    +
    +if(
    +    !check_header('HTTP_X_ESP8266_STA_MAC') ||
    +    !check_header('HTTP_X_ESP8266_AP_MAC') ||
    +    !check_header('HTTP_X_ESP8266_FREE_SPACE') ||
    +    !check_header('HTTP_X_ESP8266_SKETCH_SIZE') ||
    +    !check_header('HTTP_X_ESP8266_CHIP_SIZE') ||
    +    !check_header('HTTP_X_ESP8266_SDK_VERSION') ||
    +    !check_header('HTTP_X_ESP8266_VERSION')
    +) {
    +    header($_SERVER["SERVER_PROTOCOL"].' 403 Forbidden', true, 403);
    +    echo "only for ESP8266 updater! (header)\n";
    +    exit();
    +}
    +
    +$db = array(
    +    "18:FE:AA:AA:AA:AA" => "DOOR-7-g14f53a19",
    +    "18:FE:AA:AA:AA:BB" => "TEMP-1.0.0"
    +);
    +
    +if(isset($db[$_SERVER['HTTP_X_ESP8266_STA_MAC']])) {
    +    if($db[$_SERVER['HTTP_X_ESP8266_STA_MAC']] != $_SERVER['HTTP_X_ESP8266_VERSION']) {
    +        sendFile("./bin/".$db[$_SERVER['HTTP_X_ESP8266_STA_MAC']]."bin");
    +    } else {
    +        header($_SERVER["SERVER_PROTOCOL"].' 304 Not Modified', true, 304);
    +    }
    +    exit();
    +}
    +
    +header($_SERVER["SERVER_PROTOCOL"].' 500 no version for ESP MAC', true, 500);
    +
    +

    Stream Interface

    + +

    TODO describe Stream Interface

    + +

    The Stream Interface is the base for all other update modes like OTA, http Server / client.

    + +

    Updater class

    + +

    Updater is in the Core and deals with writing the firmware to the flash, +checking its integrity and telling the bootloader to load the new firmware on the next boot.

    + +

    Update process - memory view

    + + + +

    Memory Copy

    + +
    + + diff --git a/versions/2.2.0/doc/ota_updates/termite-configuration.png b/versions/2.2.0/doc/ota_updates/termite-configuration.png new file mode 100644 index 000000000..faa885fd1 Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/termite-configuration.png differ diff --git a/versions/2.2.0/doc/ota_updates/update_memory_copy.png b/versions/2.2.0/doc/ota_updates/update_memory_copy.png new file mode 100644 index 000000000..c708f5f4c Binary files /dev/null and b/versions/2.2.0/doc/ota_updates/update_memory_copy.png differ diff --git a/versions/2.2.0/doc/pin_functions.png b/versions/2.2.0/doc/pin_functions.png new file mode 100644 index 000000000..ac7fc0f9c Binary files /dev/null and b/versions/2.2.0/doc/pin_functions.png differ diff --git a/versions/2.2.0/doc/reference.html b/versions/2.2.0/doc/reference.html new file mode 100644 index 000000000..989d2b4a4 --- /dev/null +++ b/versions/2.2.0/doc/reference.html @@ -0,0 +1,397 @@ + + + + + + + + + + + + + + Reference · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
    + This documentation is for version 2.2.0. Other versions. +
    + + + + +
    +

    Table of Contents

    + + + +

    Digital IO

    + +

    Pin numbers in Arduino correspond directly to the ESP8266 GPIO pin numbers. pinMode, digitalRead, and digitalWrite functions work as usual, so to read GPIO2, call digitalRead(2).

    + +

    Digital pins 0—15 can be INPUT, OUTPUT, or INPUT_PULLUP. +Pin 16 can be INPUT, OUTPUT or INPUT_PULLDOWN_16. At startup, pins are configured as INPUT.

    + +

    Pins may also serve other functions, like Serial, I2C, SPI. These functions are normally activated by the corresponding library. The diagram below shows pin mapping for the popular ESP-12 module.

    + +

    Pin Functions

    + +

    Digital pins 6—11 are not shown on this diagram because they are used to connect flash memory chip on most modules. Trying to use these pins as IOs will likely cause the program to crash.

    + +

    Note that some boards and modules (ESP-12ED, NodeMCU 1.0) also break out pins 9 and 11. These may be used as IO if flash chip works in DIO mode (as opposed to QIO, which is the default one).

    + +

    Pin interrupts are supported through attachInterrupt, detachInterrupt functions. +Interrupts may be attached to any GPIO pin, except GPIO16. Standard Arduino interrupt +types are supported: CHANGE, RISING, FALLING.

    + +

    Analog input

    + +

    ESP8266 has a single ADC channel available to users. It may be used either to read voltage at ADC pin, or to read module supply voltage (VCC).

    + +

    To read external voltage applied to ADC pin, use analogRead(A0). Input voltage range is 0 — 1.0V.

    + +

    To read VCC voltage, use ESP.getVcc() and ADC pin must be kept unconnected. Additionally, the following line has to be added to the sketch:

    +
    ADC_MODE(ADC_VCC);
    +
    +

    This line has to appear outside of any functions, for instance right after the #include lines of your sketch.

    + +

    Analog output

    + +

    analogWrite(pin, value) enables software PWM on the given pin. PWM may be used on pins 0 to 16. +Call analogWrite(pin, 0) to disable PWM on the pin. value may be in range from 0 to PWMRANGE, which is equal to 1023 by default. PWM range may be changed by calling analogWriteRange(new_range).

    + +

    PWM frequency is 1kHz by default. Call analogWriteFreq(new_frequency) to change the frequency.

    + +

    Timing and delays

    + +

    millis() and micros() return the number of milliseconds and microseconds elapsed after reset, respectively.

    + +

    delay(ms) pauses the sketch for a given number of milliseconds and allows WiFi and TCP/IP tasks to run. +delayMicroseconds(us) pauses for a given number of microseconds.

    + +

    Remember that there is a lot of code that needs to run on the chip besides the sketch +when WiFi is connected. WiFi and TCP/IP libraries get a chance to handle any pending +events each time the loop() function completes, OR when delay is called. +If you have a loop somewhere in your sketch that takes a lot of time (>50ms) without +calling delay, you might consider adding a call to delay function to keep the WiFi +stack running smoothly.

    + +

    There is also a yield() function which is equivalent to delay(0). The delayMicroseconds +function, on the other hand, does not yield to other tasks, so using it for delays +more than 20 milliseconds is not recommended.

    + +

    Serial

    + +

    Serial object works much the same way as on a regular Arduino. Apart from hardware FIFO (128 bytes for TX and RX) HardwareSerial has additional 256-byte TX and RX buffers. Both transmit and receive is interrupt-driven. Write and read functions only block the sketch execution when the respective FIFO/buffers are full/empty.

    + +

    Serial uses UART0, which is mapped to pins GPIO1 (TX) and GPIO3 (RX). Serial may be remapped to GPIO15 (TX) and GPIO13 (RX) by calling Serial.swap() after Serial.begin. Calling swap again maps UART0 back to GPIO1 and GPIO3.

    + +

    Serial1 uses UART1, TX pin is GPIO2. UART1 can not be used to receive data because normally it's RX pin is occupied for flash chip connection. To use Serial1, call Serial1.begin(baudrate).

    + +

    If Serial1 is not used and Serial is not swapped - TX for UART0 can be mapped to GPIO2 instead by calling Serial.set_tx(2) after Serial.begin or directly with Serial.begin(baud, config, mode, 2).

    + +

    By default the diagnostic output from WiFi libraries is disabled when you call Serial.begin. To enable debug output again, call Serial.setDebugOutput(true). To redirect debug output to Serial1 instead, call Serial1.setDebugOutput(true).

    + +

    You also need to use Serial.setDebugOutput(true) to enable output from printf() function.

    + +

    Both Serial and Serial1 objects support 5, 6, 7, 8 data bits, odd (O), even (E), and no (N) parity, and 1 or 2 stop bits. To set the desired mode, call Serial.begin(baudrate, SERIAL_8N1), Serial.begin(baudrate, SERIAL_6E2), etc.

    + +

    Progmem

    + +

    The Program memory features work much the same way as on a regular Arduino; placing read only data and strings in read only memory and freeing heap for your application. +The important difference is that on the ESP8266 the literal strings are not pooled. This means that the same literal string defined inside a F("") and/or PSTR("") will take up space for each instance in the code. So you will need to manage the duplicate strings yourself.

    + +

    There is one additional helper macro to make it easier to pass const PROGMEM strings to methods that take a __FlashStringHelper called FPSTR(). The use of this will help make it easier to pool strings. +Not pooling strings...

    +
    String response1;
    +response1 += F("http:");
    +...
    +String response2;
    +response2 += F("http:");
    +
    +

    using FPSTR would become...

    +
    const char HTTP[] PROGMEM = "http:";
    +...
    +{
    +    String response1;
    +    response1 += FPSTR(HTTP);
    +    ...
    +    String response2;
    +    response2 += FPSTR(HTTP);
    +}
    +
    +
    + + diff --git a/versions/2.2.0/doc/rgisters_dump.txt b/versions/2.2.0/doc/rgisters_dump.txt new file mode 100644 index 000000000..0039ac8b9 --- /dev/null +++ b/versions/2.2.0/doc/rgisters_dump.txt @@ -0,0 +1,1156 @@ +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x3FF00000 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00004 | 00000000000000000000000000000101 | 0x00000005 | 5 | | TEIE +0x3FF00008 | 00000000000000000000100000001111 | 0x0000080F | 2063 | . | +0x3FF0000C | 00000100000000000000000100000010 | 0x04000102 | 67109122 | | SPIRDY +0x3FF00010 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00014 | 00000000000000000000000000000000 | 0x00000000 | 0 | | CPU2X +0x3FF00018 | 11111111111111110000000011111111 | 0xFFFF00FF | 4294902015 | .. . | +0x3FF0001C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00020 | 00000000000000000000000000010000 | 0x00000010 | 16 | . | SPIIR +0x3FF00024 | 00000000000000000000000000011010 | 0x0000001A | 26 | . | +0x3FF00028 | 00000000000000000000000000000000 | 0x00000000 | 0 | | IOSWAP +0x3FF0002C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00030 | 00000000000000000100000001000000 | 0x00004040 | 16448 | @@ | +0x3FF00034 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00038 | 00000000000000000000000001000001 | 0x00000041 | 65 | A | +0x3FF0003C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00040 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00044 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00048 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF0004C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00050 | 10011101111011100000000000000000 | 0x9DEE0000 | 2649620480 | .. | MAC0 +0x3FF00054 | 00000010000000001001110011000010 | 0x02009CC2 | 33594562 | .. | MAC1 +0x3FF00058 | 00000000000000001010000000000000 | 0x0000A000 | 40960 | . | CHIPID +0x3FF0005C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00060 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00064 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00068 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF0006C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00070 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00074 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00078 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF0007C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00080 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00084 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00088 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF0008C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00090 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00094 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF00098 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF0009C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000A0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000A4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000A8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x3FF000FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000000 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U0F +0x60000004 | 00000000000000000000000010000011 | 0x00000083 | 131 | ƒ | U0IR +0x60000008 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U0IS +0x6000000C | 00000000000000000000000000000000 | 0x00000000 | 0 | | U0IE +0x60000010 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U0IC +0x60000014 | 00000000000000000000001010110110 | 0x000002B6 | 694 | ¶ | U0D +0x60000018 | 00000000000000000001000000000000 | 0x00001000 | 4096 |  | U0A +0x6000001C | 00000000000000000000000000000000 | 0x00000000 | 0 | | U0S +0x60000020 | 00000000000000000000000000001100 | 0x0000000C | 12 | | U0C0 +0x60000024 | 00000000000000000000000000000001 | 0x00000001 | 1 | | U0C1 +0x60000028 | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | U0LP +0x6000002C | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | U0HP +0x60000030 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U0PN +0x60000034 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000038 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000003C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000040 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000044 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000048 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000004C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000050 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000054 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000058 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000005C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000060 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000064 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000068 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000006C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000070 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000074 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000078 | 00000000000001100010000000000000 | 0x00062000 | 401408 | | U0DT +0x6000007C | 00000000000000000000010100000000 | 0x00000500 | 1280 | | U0ID +0x60000080 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000084 | 00000000000000000000000010000011 | 0x00000083 | 131 | ƒ | +0x60000088 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000008C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000090 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000094 | 00000000000000000000001010110110 | 0x000002B6 | 694 | ¶ | +0x60000098 | 00000000000000000001000000000000 | 0x00001000 | 4096 |  | +0x6000009C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000A0 | 00000000000000000000000000001100 | 0x0000000C | 12 | | +0x600000A4 | 00000000000000000000000000000001 | 0x00000001 | 1 | | +0x600000A8 | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | +0x600000AC | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | +0x600000B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600000F8 | 00000000000001100010000000000000 | 0x00062000 | 401408 | | +0x600000FC | 00000000000000000000010100000000 | 0x00000500 | 1280 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000100 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1CMD +0x60000104 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1A +0x60000108 | 00000000001010001011001100010011 | 0x0028B313 | 2667283 | (³ | SPI1C +0x6000010C | 01011111111111110000000100100000 | 0x5FFF0120 | 1610547488 | _ÿ | SPI1C1 +0x60000110 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1RS +0x60000114 | 00000000000000000000000000010001 | 0x00000011 | 17 |  | SPI1C2 +0x60000118 | 10000000000000000011000001000011 | 0x80003043 | 2147496003 | € 0C | SPI1CLK +0x6000011C | 10000000000000000000000001000100 | 0x80000044 | 2147483716 | € D | SPI1U +0x60000120 | 01011100000000000000000000000000 | 0x5C000000 | 1543503872 | \ | SPI1U1 +0x60000124 | 01110000000000000000000000000000 | 0x70000000 | 1879048192 | p | SPI1U2 +0x60000128 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1WS +0x6000012C | 00000000000000000000000000011110 | 0x0000001E | 30 |  | SPI1P +0x60000130 | 00000000000000000000001000000000 | 0x00000200 | 512 | | SPI1S +0x60000134 | 00000010000000000000000000000000 | 0x02000000 | 33554432 | | SPI1S1 +0x60000138 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1S2 +0x6000013C | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1S3 +0x60000140 | 01101010001111111010001001011011 | 0x6A3FA25B | 1782555227 | j?¢[ | SPI1W0 +0x60000144 | 00000101110010001000000100001111 | 0x05C8810F | 97026319 | ȁ | SPI1W1 +0x60000148 | 00101110010111101110011010111001 | 0x2E5EE6B9 | 777971385 | .^æ¹ | SPI1W2 +0x6000014C | 00100100010001111000101001001000 | 0x24478A48 | 608668232 | $GŠH | SPI1W3 +0x60000150 | 11010110111000010101011101011101 | 0xD6E1575D | 3605092189 | ÖáW] | SPI1W4 +0x60000154 | 00100001101000011010111001101110 | 0x21A1AE6E | 564244078 | !¡®n | SPI1W5 +0x60000158 | 11100000011011000011001001000101 | 0xE06C3245 | 3765187141 | àl2E | SPI1W6 +0x6000015C | 01011110010010001101001101000010 | 0x5E48D342 | 1581830978 | ^HÓB | SPI1W7 +0x60000160 | 00010110010011011011100000010011 | 0x164DB813 | 374192147 |M¸| SPI1W8 +0x60000164 | 10010111000011100111110110010001 | 0x970E7D91 | 2534309265 |—}‘ | SPI1W9 +0x60000168 | 00100110001110000011101110000110 | 0x26383B86 | 641219462 | &8;† | SPI1W10 +0x6000016C | 10000101010100110010111100101111 | 0x85532F2F | 2236821295 | …S// | SPI1W11 +0x60000170 | 01001000001110011101010101101011 | 0x4839D56B | 1211749739 | H9Õk | SPI1W12 +0x60000174 | 01000001101010100100000000111010 | 0x41AA403A | 1101676602 | Aª@ | SPI1W13 +0x60000178 | 00000111100100000010111011011011 | 0x07902EDB | 126889691 | .Û | SPI1W14 +0x6000017C | 01000100001110001011100011111111 | 0x4438B8FF | 1144568063 | D8¸ÿ | SPI1W15 +0x60000180 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000184 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000188 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000018C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000190 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000194 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000198 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000019C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001A0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001A4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001A8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600001F0 | 10000000000010100000000001010000 | 0x800A0050 | 2148139088 | € P | SPI1E0 +0x600001F4 | 10000000000011110000001001011000 | 0x800F0258 | 2148467288 |€ X | SPI1E1 +0x600001F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1E2 +0x600001FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI1E3 +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000200 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI0CMD +0x60000204 | 00100000000001111100000001100000 | 0x2007C060 | 537378912 | À` | SPI0A +0x60000208 | 00000001011010101010000100000001 | 0x016AA101 | 23765249 | j¡ | SPI0C +0x6000020C | 01011111111111110000000100100000 | 0x5FFF0120 | 1610547488 | _ÿ | SPI0C1 +0x60000210 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI0RS +0x60000214 | 00000000000000000000000000010001 | 0x00000011 | 17 |  | SPI0C2 +0x60000218 | 00000000000000000001000000000001 | 0x00001001 | 4097 |  | SPI0CLK +0x6000021C | 10000000000000000000000001100100 | 0x80000064 | 2147483748 | € d | SPI0U +0x60000220 | 01011101111111101111111100011111 | 0x5DFEFF1F | 1576992543 |]þÿ| SPI0U1 +0x60000224 | 01110000000000000000000000000000 | 0x70000000 | 1879048192 | p | SPI0U2 +0x60000228 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI0WS +0x6000022C | 00000000000000000000000000011110 | 0x0000001E | 30 |  | SPI0P +0x60000230 | 00000100100000000000001000010000 | 0x04800210 | 75498000 | €  | SPI0S +0x60000234 | 00000010000000000000000000000000 | 0x02000000 | 33554432 | | SPI0S1 +0x60000238 | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI0S2 +0x6000023C | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI0S3 +0x60000240 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W0 +0x60000244 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W1 +0x60000248 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W2 +0x6000024C | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W3 +0x60000250 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W4 +0x60000254 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W5 +0x60000258 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W6 +0x6000025C | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | SPI0W7 +0x60000260 | 11011100111001011110100111110011 | 0xDCE5E9F3 | 3706055155 | Üåéó | SPI0W8 +0x60000264 | 00011111001001010000010101000110 | 0x1F250546 | 522519878 |%F| SPI0W9 +0x60000268 | 01000001010010111111001011110111 | 0x414BF2F7 | 1095496439 | AKò÷ | SPI0W10 +0x6000026C | 10000101101001010011011110111100 | 0x85A537BC | 2242197436 | …¥7¼ | SPI0W11 +0x60000270 | 01110111001101000111110000101010 | 0x77347C2A | 1999928362 | w4|* | SPI0W12 +0x60000274 | 00011110011010010010101100110000 | 0x1E692B30 | 510208816 |i+0| SPI0W13 +0x60000278 | 10000101101110011001000011011101 | 0x85B990DD | 2243530973 | …¹Ý | SPI0W14 +0x6000027C | 11001011001010111110010010101110 | 0xCB2BE4AE | 3408651438 | Ë+ä® | SPI0W15 +0x60000280 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000284 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000288 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000028C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000290 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000294 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000298 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000029C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002A0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002A4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002A8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600002F0 | 10000000000010100000000001010000 | 0x800A0050 | 2148139088 | € P | SPI0E0 +0x600002F4 | 10000000000011110000001001011000 | 0x800F0258 | 2148467288 |€ X | SPI0E1 +0x600002F8 | 00000000000000000000000000000111 | 0x00000007 | 7 | | SPI0E2 +0x600002FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | SPI0E3 +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000300 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPO +0x60000304 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPOS +0x60000308 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPOC +0x6000030C | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPE +0x60000310 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPES +0x60000314 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPEC +0x60000318 | 11000000000000110111000000111011 | 0xC003703B | 3221450811 | À p; | GPI +0x6000031C | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPIE +0x60000320 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPIES +0x60000324 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPIEC +0x60000328 | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC0 +0x6000032C | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC1 +0x60000330 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPC2 +0x60000334 | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC3 +0x60000338 | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC4 +0x6000033C | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC5 +0x60000340 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPC6 +0x60000344 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPC7 +0x60000348 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPC8 +0x6000034C | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPC9 +0x60000350 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPC10 +0x60000354 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPC11 +0x60000358 | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC12 +0x6000035C | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC13 +0x60000360 | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC14 +0x60000364 | 00000000000000000000000000000100 | 0x00000004 | 4 | | GPC15 +0x60000368 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000036C | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPIO_RTC_CALIB_SYNC +0x60000370 | 11000000000000000000000000000000 | 0xC0000000 | 3221225472 | À | GPIO_RTC_CALIB_VALUE +0x60000374 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000378 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000037C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000380 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000384 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000388 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000038C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000390 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000394 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000398 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000039C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003A0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003A4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003A8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600003FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000400 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000404 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000408 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x6000040C | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000410 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000414 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000418 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x6000041C | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000420 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000424 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000428 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x6000042C | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000430 | 00000010110011010100101100110101 | 0x02CD4B35 | 47008565 | ÍK5 | +0x60000434 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000438 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000043C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000440 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000444 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000448 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000044C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000450 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000454 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000458 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000045C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000460 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000464 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000468 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000046C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000470 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000474 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000478 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000047C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000480 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000484 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000488 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000048C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000490 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000494 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000498 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000049C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004A0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004A4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004A8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600004FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000500 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000504 | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x60000508 | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x6000050C | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x60000510 | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x60000514 | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x60000518 | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x6000051C | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x60000520 | 00000000000010111111000000000001 | 0x000BF001 | 782337 | ð | +0x60000524 | 00000000000010111111000011110111 | 0x000BF0F7 | 782583 | ð÷ | +0x60000528 | 00000000000010111111000000000010 | 0x000BF002 | 782338 | ð | +0x6000052C | 00000000000010111111000000001110 | 0x000BF00E | 782350 | ð| +0x60000530 | 00000000000010111111000000001110 | 0x000BF00E | 782350 | ð| +0x60000534 | 00000000000010111111000011110010 | 0x000BF0F2 | 782578 | ðò | +0x60000538 | 00000000000010111111000011111101 | 0x000BF0FD | 782589 | ðý | +0x6000053C | 00000000000010111111000000000010 | 0x000BF002 | 782338 | ð | +0x60000540 | 00000000000010111111000000001110 | 0x000BF00E | 782350 | ð| +0x60000544 | 00000000000010111111000000001110 | 0x000BF00E | 782350 | ð| +0x60000548 | 00000000000010111111000000001110 | 0x000BF00E | 782350 | ð| +0x6000054C | 00000000000010111111000000000010 | 0x000BF002 | 782338 | ð | +0x60000550 | 00000000000010111111000000000010 | 0x000BF002 | 782338 | ð | +0x60000554 | 00000000000010111111000011111101 | 0x000BF0FD | 782589 | ðý | +0x60000558 | 00000000000010111111000011110111 | 0x000BF0F7 | 782583 | ð÷ | +0x6000055C | 00000000000010111111000011110010 | 0x000BF0F2 | 782578 | ðò | +0x60000560 | 00000000000010111111000011101010 | 0x000BF0EA | 782570 | ðê | +0x60000564 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000568 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000056C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000570 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000574 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000578 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000057C | 00000000000000000001000000000000 | 0x00001000 | 4096 |  | +0x60000580 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000584 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000588 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000058C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000590 | 00000000000000000000000000010000 | 0x00000010 | 16 |  | +0x60000594 | 11011000001101101000000011001100 | 0xD83680CC | 3627450572 | Ø6€Ì | +0x60000598 | 00010001100111110100000001000111 | 0x119F4047 | 295649351 |Ÿ@G | +0x6000059C | 01010001100111111100000001111111 | 0x519FC07F | 1369423999 | QŸÀ | +0x600005A0 | 00011100101010110000100000000100 | 0x1CAB0804 | 480970756 |« | +0x600005A4 | 00000000010000000110101000001100 | 0x00406A0C | 4221452 |@j | +0x600005A8 | 00000000010110111111110000000000 | 0x005BFC00 | 6028288 | [ü | +0x600005AC | 00000000010110100001110100000000 | 0x005A1D00 | 5905664 |Z | +0x600005B0 | 00000100000101100000000000000000 | 0x04160000 | 68550656 |  | +0x600005B4 | 00000000000000000000000001011111 | 0x0000005F | 95 | _ | +0x600005B8 | 00000000000000110000010000001000 | 0x00030408 | 197640 | | +0x600005BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005C8 | 11111111000000000000000100000100 | 0xFF000104 | 4278190340 | ÿ | +0x600005CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005E8 | 00000110011111111111111010000000 | 0x067FFE80 | 109051520 | þ€ | +0x600005EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600005FC | 00000011000001000000011000000110 | 0x03040606 | 50595334 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000600 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T1L +0x60000604 | 00000000011111111111111111111111 | 0x007FFFFF | 8388607 | ÿÿ | T1V +0x60000608 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T1C +0x6000060C | 00000000000000000000000000000000 | 0x00000000 | 0 | | T1I +0x60000610 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000614 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000618 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000061C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000620 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T2L +0x60000624 | 00000000000111111000111010010010 | 0x001F8E92 | 2068114 |Ž’| T2V +0x60000628 | 00000000000000000000000010001000 | 0x00000088 | 136 | ˆ | T2C +0x6000062C | 00000000000000000000000000000000 | 0x00000000 | 0 | | T2I +0x60000630 | 00000000000111111011010101101100 | 0x001FB56C | 2078060 |µl| T2A +0x60000634 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000638 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000063C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000640 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T3L ? +0x60000644 | 00000000011111111111111111111111 | 0x007FFFFF | 8388607 | ÿÿ | T3V ? +0x60000648 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T3C ? +0x6000064C | 00000000000000000000000000000000 | 0x00000000 | 0 | | T3I ? +0x60000650 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000654 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000658 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000065C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000660 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T4L ? +0x60000664 | 00000000001000000101011111000100 | 0x002057C4 | 2119620 | WÄ | T4V ? +0x60000668 | 00000000000000000000000010001000 | 0x00000088 | 136 | ˆ | T4C ? +0x6000066C | 00000000000000000000000000000000 | 0x00000000 | 0 | | T4I ? +0x60000670 | 00000000001000001000101100001000 | 0x00208B08 | 2132744 | ‹ | T4A ? +0x60000674 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000678 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000067C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000680 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T5L ? +0x60000684 | 00000000011111111111111111111111 | 0x007FFFFF | 8388607 | ÿÿ | T5V ? +0x60000688 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T5C ? +0x6000068C | 00000000000000000000000000000000 | 0x00000000 | 0 | | T5I ? +0x60000690 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000694 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000698 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000069C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006A0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T6L ? +0x600006A4 | 00000000001000010010000011110111 | 0x002120F7 | 2171127 | ! ÷ | T6V ? +0x600006A8 | 00000000000000000000000010001000 | 0x00000088 | 136 | ˆ | T6C ? +0x600006AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | T6I ? +0x600006B0 | 00000000001000010100111000101001 | 0x00214E29 | 2182697 | !N) | T6A ? +0x600006B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T7L ? +0x600006C4 | 00000000011111111111111111111111 | 0x007FFFFF | 8388607 | ÿÿ | T7V ? +0x600006C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T7C ? +0x600006CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | T7I ? +0x600006D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | T8L ? +0x600006E4 | 00000000001000011110101000101000 | 0x0021EA28 | 2222632 | !ê( | T8V ? +0x600006E8 | 00000000000000000000000010001000 | 0x00000088 | 136 | ˆ | T8C ? +0x600006EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | T8I ? +0x600006F0 | 00000000001000100001011110111100 | 0x002217BC | 2234300 | "¼ | T8A ? +0x600006F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600006FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000700 | 00000000000110011100000001101010 | 0x0019C06A | 1687658 | Àj | +0x60000704 | 00000000001111100011111111111111 | 0x003E3FFF | 4079615 | >?ÿ | RTCSV +0x60000708 | 00000000001000000000000000000000 | 0x00200000 | 2097152 | | +0x6000070C | 00000000000000011110000000101000 | 0x0001E028 | 122920 | à( | +0x60000710 | 11111110000000000000000000000000 | 0xFE000000 | 4261412864 | þ | +0x60000714 | 00000000000000000000000000000010 | 0x00000002 | 2 | | +0x60000718 | 00000000000000000000100000001000 | 0x00000808 | 2056 | | +0x6000071C | 00000000010100001010011111000011 | 0x0050A7C3 | 5285827 | P§Ã | RTCCV +0x60000720 | 00000000000000000000000000000000 | 0x00000000 | 0 | | RTCIS +0x60000724 | 00000000000000000000000000000000 | 0x00000000 | 0 | | RTCIC +0x60000728 | 00000000000000000000000000000101 | 0x00000005 | 5 | | RTCIE +0x6000072C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000730 | 00000000000000000000000000000000 | 0x00000000 | 0 | | RTCS0 +0x60000734 | 00000000000000000000000000000000 | 0x00000000 | 0 | | RTCS1 +0x60000738 | 00000000000000000000000000000000 | 0x00000000 | 0 | | RTCS2 +0x6000073C | 00000000000000000000000000000000 | 0x00000000 | 0 | | RTCS3 +0x60000740 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000744 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000748 | 00100000001100000010000000100000 | 0x20302020 | 540024864 | 0 | +0x6000074C | 00100000010100000000000000000000 | 0x20500000 | 542113792 | P | +0x60000750 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000754 | 00000000000000001000101001011000 | 0x00008A58 | 35416 | ŠX | +0x60000758 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000075C | 00000000000000000000000000000111 | 0x00000007 | 7 | | +0x60000760 | 00000000000000000000000000000111 | 0x00000007 | 7 | | +0x60000764 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000768 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GP16O +0x6000076C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000770 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000774 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GP16E +0x60000778 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000077C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000780 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000784 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000788 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000078C | 00000000000000000000000000000001 | 0x00000001 | 1 | | GP16I +0x60000790 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GP16C +0x60000794 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000798 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000079C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007A0 | 00000000000000000000000000000001 | 0x00000001 | 1 | | GP16F +0x600007A4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007A8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600007FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000800 | 00000000000000000000001000000101 | 0x00000205 | 517 | | GPMUX +0x60000804 | 00000000000000000000000000110000 | 0x00000030 | 48 | 0 | GPF12 +0x60000808 | 00000000000000000000000000110000 | 0x00000030 | 48 | 0 | GPF13 +0x6000080C | 00000000000000000000000000110000 | 0x00000030 | 48 | 0 | GPF14 +0x60000810 | 00000000000000000000000000110000 | 0x00000030 | 48 | 0 | GPF15 +0x60000814 | 00000000000000000000000000110000 | 0x00000030 | 48 | 0 | GPF3 +0x60000818 | 00000000000000000000000000110000 | 0x00000030 | 48 | 0 | GPF1 +0x6000081C | 00000000000000000000000000010000 | 0x00000010 | 16 |  | GPF6 +0x60000820 | 00000000000000000000000000010000 | 0x00000010 | 16 |  | GPF7 +0x60000824 | 00000000000000000000000000010000 | 0x00000010 | 16 |  | GPF8 +0x60000828 | 00000000000000000000000000010000 | 0x00000010 | 16 |  | GPF9 +0x6000082C | 00000000000000000000000000010000 | 0x00000010 | 16 |  | GPF10 +0x60000830 | 00000000000000000000000000010000 | 0x00000010 | 16 |  | GPF11 +0x60000834 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPF0 +0x60000838 | 00000000000000000000000000100000 | 0x00000020 | 32 | | GPF2 +0x6000083C | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPF4 +0x60000840 | 00000000000000000000000000000000 | 0x00000000 | 0 | | GPF5 +0x60000844 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000848 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000084C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000850 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000854 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000858 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000085C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000860 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000864 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000868 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000086C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000870 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000874 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000878 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000087C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000880 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000884 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000888 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000088C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000890 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000894 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000898 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000089C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008A0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008A4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008A8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008AC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008C0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008C4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008C8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008CC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008E0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008E4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008E8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008EC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600008FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000900 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x60000904 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x60000908 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x6000090C | 00000000000000111001000001110010 | 0x00039072 | 233586 | r | +0x60000910 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000914 | 00000000000000000000000000000000 | 0x00000000 | 0 | | WDTFEED +0x60000918 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000091C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000920 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x60000924 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x60000928 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x6000092C | 00000111100111110000110111101010 | 0x079F0DEA | 127864298 | Ÿê | +0x60000930 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000934 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000938 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000093C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000940 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x60000944 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x60000948 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x6000094C | 00000111001110100101010111101010 | 0x073A55EA | 121263594 | :Uê | +0x60000950 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000954 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000958 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000095C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000960 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x60000964 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x60000968 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x6000096C | 00000110110101011011011011101010 | 0x06D5B6EA | 114669290 | Õ¶ê | +0x60000970 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000974 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000978 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000097C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000980 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x60000984 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x60000988 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x6000098C | 00000110011100010001011111101010 | 0x067117EA | 108074986 | qê | +0x60000990 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000994 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000998 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x6000099C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009A0 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x600009A4 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x600009A8 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x600009AC | 00000110000011000111100111101010 | 0x060C79EA | 101480938 | yê| +0x600009B0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009B4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009B8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009BC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009C0 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x600009C4 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x600009C8 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x600009CC | 00000101101001111101101011101010 | 0x05A7DAEA | 94886634 | §Úê | +0x600009D0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009D4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009D8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009DC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009E0 | 00000000000000000000000000111001 | 0x00000039 | 57 | 9 | +0x600009E4 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x600009E8 | 00000000000000000000000000001011 | 0x0000000B | 11 | | +0x600009EC | 00000101010000110011111011101010 | 0x05433EEA | 88293098 | C>ê | +0x600009F0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009F4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009F8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x600009FC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000A00 | 00010001000100010110011001100110 | 0x11116666 | 286352998 |ff| +0x60000A04 | 00000001000100010000000000000001 | 0x01110001 | 17891329 |  | +0x60000A08 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A0C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A10 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A14 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A18 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A1C | 00000000000000100000000000000000 | 0x00020000 | 131072 | | +0x60000A20 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A24 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A28 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A2C | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A30 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A34 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A38 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A3C | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A40 | 00010001000100010110011001100110 | 0x11116666 | 286352998 |ff| +0x60000A44 | 00000001000100010000000000000001 | 0x01110001 | 17891329 |  | +0x60000A48 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A4C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A50 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A54 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A58 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A5C | 00000000000000100000000000000000 | 0x00020000 | 131072 | | +0x60000A60 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A64 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A68 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A6C | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A70 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A74 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A78 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A7C | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000A80 | 00010001000100010110011001100110 | 0x11116666 | 286352998 |ff| +0x60000A84 | 00000001000100010000000000000001 | 0x01110001 | 17891329 |  | +0x60000A88 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A8C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A90 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A94 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A98 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000A9C | 00000000000000100000000000000000 | 0x00020000 | 131072 | | +0x60000AA0 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AA4 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AA8 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AAC | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AB0 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AB4 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AB8 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000ABC | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AC0 | 00010001000100010110011001100110 | 0x11116666 | 286352998 |ff| +0x60000AC4 | 00000001000100010000000000000001 | 0x01110001 | 17891329 |  | +0x60000AC8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000ACC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000AD0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000AD4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000AD8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000ADC | 00000000000000100000000000000000 | 0x00020000 | 131072 | | +0x60000AE0 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AE4 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AE8 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AEC | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AF0 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AF4 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AF8 | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +0x60000AFC | 11111111111111111111111111111111 | 0xFFFFFFFF | 4294967295 | ÿÿÿÿ | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000B00 | 00000000000000000000001000000000 | 0x00000200 | 512 | | +0x60000B04 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B08 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B0C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B10 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B14 | 00000000000000000000000000000010 | 0x00000002 | 2 | | +0x60000B18 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B1C | 00000000000000000000000000000010 | 0x00000002 | 2 | | +0x60000B20 | 00000000000000000000010000000000 | 0x00000400 | 1024 | | +0x60000B24 | 10000000000000000000000000000000 | 0x80000000 | 2147483648 | € | +0x60000B28 | 10000000000000000000000000000000 | 0x80000000 | 2147483648 | € | +0x60000B2C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B30 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B34 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B38 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B3C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B40 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B44 | 00000000111111100011001100111111 | 0x00FE333F | 16659263 | þ3? | +0x60000B48 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B4C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B50 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B54 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B58 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B5C | 00000000000100100000000011111110 | 0x001200FE | 1179902 |  þ | +0x60000B60 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B64 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B68 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B6C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B70 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B74 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B78 | 00000000000010010001011100000000 | 0x00091700 | 595712 |  | +0x60000B7C | 00000000000000000000000100000000 | 0x00000100 | 256 | | +0x60000B80 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B84 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B88 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B8C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B90 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B94 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B98 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000B9C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BA0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BA4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BA8 | 00000000000000000000000111111111 | 0x000001FF | 511 | ÿ | +0x60000BAC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BB0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BB4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BB8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BBC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BC0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BC4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BC8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BCC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BD0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BD4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BD8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BDC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BE0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BE4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BE8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BEC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BF0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BF4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000BF8 | 00010010000100000010010100000000 | 0x12102500 | 303047936 |% | +0x60000BFC | 00000000000000000000011000000000 | 0x00000600 | 1536 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000C00 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C04 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C08 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C0C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C10 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C14 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C18 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C1C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C20 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C24 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C28 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C2C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C30 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C34 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C38 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C3C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C40 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C44 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C48 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C4C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C50 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C54 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C58 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C5C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C60 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C64 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C68 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C6C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C70 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C74 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C78 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C7C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C80 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C84 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C88 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C8C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C90 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C94 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C98 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000C9C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CA0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CA4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CA8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CAC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CB0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CB4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CB8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CBC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CC0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CC4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CC8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CCC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CD0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CD4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CD8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CDC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CE0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CE4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CE8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CEC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CF0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CF4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CF8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000CFC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000D00 | 00000001010010100000011101100100 | 0x014A0764 | 21628772 | J d | +0x60000D04 | 00000001111000000000010101100001 | 0x01E00561 | 31458657 | à a | +0x60000D08 | 00000001001001010000001001101011 | 0x0125026B | 19202667 | % k | +0x60000D0C | 00000001010100010000000101100110 | 0x01510166 | 22085990 | Q f | +0x60000D10 | 00000001100100010000001001100111 | 0x01910267 | 26280551 | ‘ g | +0x60000D14 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D18 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D1C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D20 | 00000111000000000000000000000000 | 0x07000000 | 117440512 | | +0x60000D24 | 00000111000000000000000000000000 | 0x07000000 | 117440512 | | +0x60000D28 | 00000111000000000000000000000000 | 0x07000000 | 117440512 | | +0x60000D2C | 00000111000000000000000000000000 | 0x07000000 | 117440512 | | +0x60000D30 | 00000111000000000000000000000000 | 0x07000000 | 117440512 | | +0x60000D34 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D38 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D3C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D40 | 00011101000000001110000000000100 | 0x1D00E004 | 486596612 | à| +0x60000D44 | 00000000000000000000000000101101 | 0x0000002D | 45 | - | +0x60000D48 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D4C | 00000001000100010011110011110000 | 0x01113CF0 | 17906928 | <ð | +0x60000D50 | 00000000000010010000100010111110 | 0x000908BE | 592062 | ¾ | +0x60000D54 | 00000000000001110000011100100111 | 0x00070727 | 460583 | ' | +0x60000D58 | 00000000010011110001011101010111 | 0x004F1757 | 5183319 | OW | +0x60000D5C | 10000000000000000000010110101000 | 0x800005A8 | 2147485096 | € ¨ | +0x60000D60 | 11000000000000000000000000000011 | 0xC0000003 | 3221225475 | À | +0x60000D64 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D68 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D6C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D70 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D74 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D78 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D7C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000D80 | 00000000000000000000011001001001 | 0x00000649 | 1609 | I | +0x60000D84 | 00000000000000000000001010000100 | 0x00000284 | 644 | „ | +0x60000D88 | 00000000000000000000001100000011 | 0x00000303 | 771 | | +0x60000D8C | 00000000000000000000001100110101 | 0x00000335 | 821 | 5 | +0x60000D90 | 00000000000000000000010000010101 | 0x00000415 | 1045 |  | +0x60000D94 | 00000000000000000000010000001011 | 0x0000040B | 1035 | | +0x60000D98 | 00000000000000000000011001010100 | 0x00000654 | 1620 | T | +0x60000D9C | 00000000000000000000011001001011 | 0x0000064B | 1611 | K | +0x60000DA0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DA4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DA8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DAC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DB0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DB4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DB8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DBC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DC0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DC4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DC8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DCC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DD0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DD4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DD8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DDC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DE0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DE4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DE8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DEC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DF0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DF4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DF8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000DFC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000E00 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E04 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E08 | 00000010000110010000000000000000 | 0x02190000 | 35192832 |  | +0x60000E0C | 00000000000000000000000000101010 | 0x0000002A | 42 | * | +0x60000E10 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E14 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E18 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E1C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E20 | 00000000000000000001100000100000 | 0x00001820 | 6176 |  | +0x60000E24 | 00000000000000000000000001000000 | 0x00000040 | 64 | @ | +0x60000E28 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E2C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E30 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E34 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E38 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E3C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E40 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E44 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E48 | 00000010000110010000000000000000 | 0x02190000 | 35192832 |  | +0x60000E4C | 00000000000000000000000000101010 | 0x0000002A | 42 | * | +0x60000E50 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E54 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E58 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E5C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E60 | 00000000000000000001100000100000 | 0x00001820 | 6176 |  | +0x60000E64 | 00000000000000000000000001000000 | 0x00000040 | 64 | @ | +0x60000E68 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E6C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E70 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E74 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E78 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E7C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E80 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E84 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E88 | 00000010000110010000000000000000 | 0x02190000 | 35192832 |  | +0x60000E8C | 00000000000000000000000000101010 | 0x0000002A | 42 | * | +0x60000E90 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E94 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E98 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000E9C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EA0 | 00000000000000000001100000100000 | 0x00001820 | 6176 |  | +0x60000EA4 | 00000000000000000000000001000000 | 0x00000040 | 64 | @ | +0x60000EA8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EAC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EB0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EB4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EB8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EBC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EC0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EC4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EC8 | 00000010000110010000000000000000 | 0x02190000 | 35192832 |  | +0x60000ECC | 00000000000000000000000000101010 | 0x0000002A | 42 | * | +0x60000ED0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000ED4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000ED8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EDC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EE0 | 00000000000000000001100000100000 | 0x00001820 | 6176 |  | +0x60000EE4 | 00000000000000000000000001000000 | 0x00000040 | 64 | @ | +0x60000EE8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EEC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EF0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EF4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EF8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000EFC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +===========|==================================|============|============|======| + ADDRESS | 33222222222211111111110000000000 | HEX VALUE | DEC VALUE | STR | + | 10987654321098765432109876543210 | | | | +===========|==================================|============|============|======| +0x60000F00 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U1F +0x60000F04 | 00000000000000000000000000000001 | 0x00000001 | 1 | | U1IR +0x60000F08 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U1IS +0x60000F0C | 00000000000000000000000000000010 | 0x00000002 | 2 | | U1IE +0x60000F10 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U1IC +0x60000F14 | 00000000000000000000001010110110 | 0x000002B6 | 694 | ¶ | U1D +0x60000F18 | 00000000000000000001000000000000 | 0x00001000 | 4096 |  | U1A +0x60000F1C | 00000000000000000000000000000000 | 0x00000000 | 0 | | U1S +0x60000F20 | 00000000000000000000000000011100 | 0x0000001C | 28 |  | U1C0 +0x60000F24 | 00000000000000000010000000000000 | 0x00002000 | 8192 | | U1C1 +0x60000F28 | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | U1LP +0x60000F2C | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | U1HP +0x60000F30 | 00000000000000000000000000000000 | 0x00000000 | 0 | | U1PN +0x60000F34 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F38 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F3C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F40 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F44 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F48 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F4C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F50 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F54 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F58 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F5C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F60 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F64 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F68 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F6C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F70 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F74 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F78 | 00000000000001100010000000000000 | 0x00062000 | 401408 | | U1DT +0x60000F7C | 00000000000000000000010100000000 | 0x00000500 | 1280 | | U1ID +0x60000F80 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F84 | 00000000000000000000000000000011 | 0x00000003 | 3 | | +0x60000F88 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F8C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F90 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000F94 | 00000000000000000000001010110110 | 0x000002B6 | 694 | ¶ | +0x60000F98 | 00000000000000000001000000000000 | 0x00001000 | 4096 |  | +0x60000F9C | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FA0 | 00000000000000000000000000011100 | 0x0000001C | 28 |  | +0x60000FA4 | 00000000000000000010000000000000 | 0x00002000 | 8192 | | +0x60000FA8 | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | +0x60000FAC | 00000000000011111111111111111111 | 0x000FFFFF | 1048575 | ÿÿ | +0x60000FB0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FB4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FB8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FBC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FC0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FC4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FC8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FCC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FD0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FD4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FD8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FDC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FE0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FE4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FE8 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FEC | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FF0 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FF4 | 00000000000000000000000000000000 | 0x00000000 | 0 | | +0x60000FF8 | 00000000000001100010000000000000 | 0x00062000 | 401408 | | +0x60000FFC | 00000000000000000000010100000000 | 0x00000500 | 1280 | | diff --git a/versions/2.2.0/index.html b/versions/2.2.0/index.html new file mode 100644 index 000000000..61e8d3d1d --- /dev/null +++ b/versions/2.2.0/index.html @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + · ESP8266 Arduino Core + + + + + + + + + + + + + + + + + + + + + + + +
    + This documentation is for version 2.2.0. Other versions. +
    + + + + +
    +

    Welcome to the ESP8266 Arduino core documentation, version 2.2.0.

    + +

    Links on the left will take you to various sections.

    + +

    Source code of this version is available from GitHub: https://github.com/esp8266/Arduino/archive/2.2.0.zip

    + +
    + + diff --git a/versions/2.2.0/public/css/hyde.css b/versions/2.2.0/public/css/hyde.css new file mode 100644 index 000000000..da24ba5b5 --- /dev/null +++ b/versions/2.2.0/public/css/hyde.css @@ -0,0 +1,265 @@ +/* + * __ __ + * /\ \ /\ \ + * \ \ \___ __ __ \_\ \ __ + * \ \ _ `\/\ \/\ \ /'_` \ /'__`\ + * \ \ \ \ \ \ \_\ \/\ \_\ \/\ __/ + * \ \_\ \_\/`____ \ \___,_\ \____\ + * \/_/\/_/`/___/> \/__,_ /\/____/ + * /\___/ + * \/__/ + * + * Designed, built, and released under MIT license by @mdo. Learn more at + * https://github.com/poole/hyde. + */ + + +/* + * Contents + * + * Global resets + * Sidebar + * Container + * Reverse layout + * Themes + */ + + +/* + * Global resets + * + * Update the foundational and global aspects of the page. + */ + +html { + font-family: "PT Sans", Helvetica, Arial, sans-serif; +} +@media (min-width: 48em) { + html { + font-size: 16px; + } +} +@media (min-width: 58em) { + html { + font-size: 20px; + } +} + + +/* + * Sidebar + * + * Flexible banner for housing site name, intro, and "footer" content. Starts + * out above content in mobile and later moves to the side with wider viewports. + */ + +.sidebar { + text-align: left; + padding: 2rem 1rem; + color: rgba(0,0,0,.5); + background-color: #f8f8f8; +} +@media (min-width: 48em) { + .sidebar { + position: absolute; + top: 0; + left: 0; + width: 18rem; + } +} + +.version-bar { + position: fixed; + z-index: 10; + background-color: #f0f0f0; + width: 100%; + padding: 5px; +} + +/* Sidebar links */ +.sidebar a { + color: #a33; +} + +/* About section */ +.sidebar-about h1 { + margin-top: 0; + font-family: "Abril Fatface", serif; + font-size: 3.25rem; +} + +/* Sidebar nav */ +.sidebar-nav { + margin-bottom: 1rem; +} +.sidebar-nav-item { + display: block; + line-height: 1.75; +} +a.sidebar-nav-item:hover, +a.sidebar-nav-item:focus { + text-decoration: underline; +} +.sidebar-nav-item.active { + font-weight: bold; +} + +/* Sticky sidebar + * + * Add the `sidebar-sticky` class to the sidebar's container to affix it the + * contents to the bottom of the sidebar in tablets and up. + */ + +@media (min-width: 48em) { + .sidebar-sticky { + position: absolute; + right: 1rem; + bottom: 1rem; + left: 1rem; + } +} + + +/* Container + * + * Align the contents of the site above the proper threshold with some margin-fu + * with a 25%-wide `.sidebar`. + */ + +.content { + padding-top: 4rem; + padding-bottom: 4rem; +} + +@media (min-width: 48em) { + .content { + max-width: 38rem; + margin-left: 20rem; + margin-right: 2rem; + } +} + +@media (min-width: 64em) { + .content { + margin-left: 22rem; + margin-right: 4rem; + } +} + + +/* + * Reverse layout + * + * Flip the orientation of the page by placing the `.sidebar` on the right. + */ + +@media (min-width: 48em) { + .layout-reverse .sidebar { + left: auto; + right: 0; + } + .layout-reverse .content { + margin-left: 2rem; + margin-right: 20rem; + } +} + +@media (min-width: 64em) { + .layout-reverse .content { + margin-left: 4rem; + margin-right: 22rem; + } +} + + + +/* + * Themes + * + * As of v1.1, Hyde includes optional themes to color the sidebar and links + * within blog posts. To use, add the class of your choosing to the `body`. + */ + +/* Base16 (http://chriskempson.github.io/base16/#default) */ + +/* Red */ +.theme-base-xx .sidebar { + background-color: #ac4142; +} +.theme-base-xx .content a, +.theme-base-xx .related-posts li a:hover { + color: #ac4142; +} + + +/* Red */ +.theme-base-08 .sidebar { + background-color: #ac4142; +} +.theme-base-08 .content a, +.theme-base-08 .related-posts li a:hover { + color: #ac4142; +} + +/* Orange */ +.theme-base-09 .sidebar { + background-color: #d28445; +} +.theme-base-09 .content a, +.theme-base-09 .related-posts li a:hover { + color: #d28445; +} + +/* Yellow */ +.theme-base-0a .sidebar { + background-color: #f4bf75; +} +.theme-base-0a .content a, +.theme-base-0a .related-posts li a:hover { + color: #f4bf75; +} + +/* Green */ +.theme-base-0b .sidebar { + background-color: #90a959; +} +.theme-base-0b .content a, +.theme-base-0b .related-posts li a:hover { + color: #90a959; +} + +/* Cyan */ +.theme-base-0c .sidebar { + background-color: #75b5aa; +} +.theme-base-0c .content a, +.theme-base-0c .related-posts li a:hover { + color: #75b5aa; +} + +/* Blue */ +.theme-base-0d .sidebar { + background-color: #6a9fb5; +} +.theme-base-0d .content a, +.theme-base-0d .related-posts li a:hover { + color: #6a9fb5; +} + +/* Magenta */ +.theme-base-0e .sidebar { + background-color: #aa759f; +} +.theme-base-0e .content a, +.theme-base-0e .related-posts li a:hover { + color: #aa759f; +} + +/* Brown */ +.theme-base-0f .sidebar { + background-color: #8f5536; +} +.theme-base-0f .content a, +.theme-base-0f .related-posts li a:hover { + color: #8f5536; +} diff --git a/versions/2.2.0/public/css/icons.css b/versions/2.2.0/public/css/icons.css new file mode 100644 index 000000000..cdf040618 --- /dev/null +++ b/versions/2.2.0/public/css/icons.css @@ -0,0 +1,32 @@ +#gh-icon { + background: url("/Arduino/versions/2.2.0/public/gh.png") no-repeat top left; + width: 32px; + height: 32px; + display: inline-block; + vertical-align: middle; + margin-right: 5px; +} + + @media +(-webkit-min-device-pixel-ratio: 2), +(min-resolution: 192dpi) { + #gh-icon { + background-image: url("/Arduino/versions/2.2.0/public/gh@2.png"); + background-size: 100%; + } +} + +.clickable-header { + cursor:pointer; +} +.clickable-header:hover { + text-decoration:underline; +} +.top-level-header { + display:inline; +} +.back-to-top { + margin-left:5px; + cursor:pointer; + vertical-align: top; +} diff --git a/versions/2.2.0/public/css/poole.css b/versions/2.2.0/public/css/poole.css new file mode 100644 index 000000000..6efd31ebb --- /dev/null +++ b/versions/2.2.0/public/css/poole.css @@ -0,0 +1,430 @@ +/* + * ___ + * /\_ \ + * _____ ___ ___\//\ \ __ + * /\ '__`\ / __`\ / __`\\ \ \ /'__`\ + * \ \ \_\ \/\ \_\ \/\ \_\ \\_\ \_/\ __/ + * \ \ ,__/\ \____/\ \____//\____\ \____\ + * \ \ \/ \/___/ \/___/ \/____/\/____/ + * \ \_\ + * \/_/ + * + * Designed, built, and released under MIT license by @mdo. Learn more at + * https://github.com/poole/poole. + */ + + +/* + * Contents + * + * Body resets + * Custom type + * Messages + * Container + * Masthead + * Posts and pages + * Pagination + * Reverse layout + * Themes + */ + + +/* + * Body resets + * + * Update the foundational and global aspects of the page. + */ + +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +html, +body { + margin: 0; + padding: 0; +} + +html { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 1.5; +} +@media (min-width: 38em) { + html { + font-size: 20px; + } +} + +body { + color: #515151; + background-color: #fff; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +/* No `:visited` state is required by default (browsers will use `a`) */ +a { + color: #b03030; + text-decoration: none; +} +a strong { + color: inherit; +} +/* `:focus` is linked to `:hover` for basic accessibility */ +a:hover, +a:focus { + text-decoration: underline; +} + +/* Headings */ +h1, h2, h3, h4, h5, h6 { + margin-bottom: .5rem; + font-weight: bold; + line-height: 1.25; + color: #313131; + text-rendering: optimizeLegibility; +} +h1 { + font-size: 2rem; +} +h2 { + margin-top: 1rem; + font-size: 1.5rem; +} +h3 { + margin-top: 1.5rem; + font-size: 1.25rem; +} +h4, h5, h6 { + margin-top: 1rem; + font-size: 1rem; +} + +/* Body text */ +p { + margin-top: 0; + margin-bottom: 1rem; +} + +strong { + color: #303030; +} + + +/* Lists */ +ul, ol, dl { + margin-top: 0; + margin-bottom: 1rem; +} + +dt { + font-weight: bold; +} +dd { + margin-bottom: .5rem; +} + +/* Misc */ +hr { + position: relative; + margin: 1.5rem 0; + border: 0; + border-top: 1px solid #eee; + border-bottom: 1px solid #fff; +} + +abbr { + font-size: 85%; + font-weight: bold; + color: #555; + text-transform: uppercase; +} +abbr[title] { + cursor: help; + border-bottom: 1px dotted #e5e5e5; +} + +/* Code */ +code, +pre { + font-family: Menlo, Monaco, "Courier New", monospace; +} +code { + padding: .25em .5em; + font-size: 85%; + color: #000; + background-color: #f8f8f8; + border-radius: 3px; +} +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + padding: 1rem; + font-size: .8rem; + line-height: 1.4; + white-space: pre; + white-space: pre-wrap; + word-break: break-all; + word-wrap: break-word; + background-color: #f9f9f9; +} +pre code { + padding: 0; + font-size: 100%; + color: inherit; + background-color: transparent; +} + +/* Pygments via Jekyll */ +.highlight { + margin-bottom: 1rem; + border-radius: 4px; +} +.highlight pre { + margin-bottom: 0; +} + +/* Gist via GitHub Pages */ +.gist .gist-file { + font-family: Menlo, Monaco, "Courier New", monospace !important; +} +.gist .markdown-body { + padding: 15px; +} +.gist pre { + padding: 0; + background-color: transparent; +} +.gist .gist-file .gist-data { + font-size: .8rem !important; + line-height: 1.4; +} +.gist code { + padding: 0; + color: inherit; + background-color: transparent; + border-radius: 0; +} + +/* Quotes */ +blockquote { + padding: .5rem 1rem; + margin: .8rem 0; + color: #7a7a7a; + border-left: .25rem solid #e5e5e5; +} +blockquote p:last-child { + margin-bottom: 0; +} +@media (min-width: 30em) { + blockquote { + padding-right: 5rem; + padding-left: 1.25rem; + } +} + +img { + display: block; + max-width: 100%; + margin: 0 0 1rem; + border-radius: 5px; +} + +/* Tables */ +table { + margin-bottom: 1rem; + width: 100%; + border: 1px solid #e5e5e5; + border-collapse: collapse; +} +td, +th { + padding: .25rem .5rem; + border: 1px solid #e5e5e5; +} +tbody tr:nth-child(odd) td, +tbody tr:nth-child(odd) th { + background-color: #f9f9f9; +} + + +/* + * Custom type + * + * Extend paragraphs with `.lead` for larger introductory text. + */ + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + + +/* + * Messages + * + * Show alert messages to users. You may add it to single elements like a `

    `, + * or to a parent if there are multiple elements to show. + */ + +.message { + margin-bottom: 1rem; + padding: 1rem; + color: #717171; + background-color: #f9f9f9; +} + + +/* + * Container + * + * Center the page content. + */ + +.container { + max-width: 38rem; + padding-left: 1rem; + padding-right: 1rem; + margin-left: auto; + margin-right: auto; +} + + +/* + * Masthead + * + * Super small header above the content for site name and short description. + */ + +.masthead { + padding-top: 1rem; + padding-bottom: 1rem; + margin-bottom: 3rem; +} +.masthead-title { + margin-top: 0; + margin-bottom: 0; + color: #505050; +} +.masthead-title a { + color: #505050; +} +.masthead-title small { + font-size: 75%; + font-weight: 400; + color: #c0c0c0; + letter-spacing: 0; +} + + +/* + * Posts and pages + * + * Each post is wrapped in `.post` and is used on default and post layouts. Each + * page is wrapped in `.page` and is only used on the page layout. + */ + +.page, +.post { + margin-bottom: 4em; +} + +/* Blog post or page title */ +.page-title, +.post-title, +.post-title a { + color: #303030; +} +.page-title, +.post-title { + margin-top: 0; +} + +/* Meta data line below post title */ +.post-date { + display: block; + margin-top: -.5rem; + margin-bottom: 1rem; + color: #9a9a9a; +} + +/* Related posts */ +.related { + padding-top: 2rem; + padding-bottom: 2rem; + border-top: 1px solid #eee; +} +.related-posts { + padding-left: 0; + list-style: none; +} +.related-posts h3 { + margin-top: 0; +} +.related-posts li small { + font-size: 75%; + color: #999; +} +.related-posts li a:hover { + color: #268bd2; + text-decoration: none; +} +.related-posts li a:hover small { + color: inherit; +} + + +/* + * Pagination + * + * Super lightweight (HTML-wise) blog pagination. `span`s are provide for when + * there are no more previous or next posts to show. + */ + +.pagination { + overflow: hidden; /* clearfix */ + margin-left: -1rem; + margin-right: -1rem; + font-family: "PT Sans", Helvetica, Arial, sans-serif; + color: #ccc; + text-align: center; +} + +/* Pagination items can be `span`s or `a`s */ +.pagination-item { + display: block; + padding: 1rem; + border: 1px solid #eee; +} +.pagination-item:first-child { + margin-bottom: -1px; +} + +/* Only provide a hover state for linked pagination items */ +a.pagination-item:hover { + background-color: #f5f5f5; +} + +@media (min-width: 30em) { + .pagination { + margin: 3rem 0; + } + .pagination-item { + float: left; + width: 50%; + } + .pagination-item:first-child { + margin-bottom: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .pagination-item:last-child { + margin-left: -1px; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } +} diff --git a/versions/2.2.0/public/css/syntax.css b/versions/2.2.0/public/css/syntax.css new file mode 100644 index 000000000..15ad79771 --- /dev/null +++ b/versions/2.2.0/public/css/syntax.css @@ -0,0 +1,65 @@ +.highlight .hll { background-color: #ffc; } +.highlight .c { color: #999; } /* Comment */ +.highlight .err { color: #a00; background-color: #faa } /* Error */ +.highlight .k { color: #069; } /* Keyword */ +.highlight .o { color: #555 } /* Operator */ +.highlight .cm { color: #09f; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #099 } /* Comment.Preproc */ +.highlight .c1 { color: #999; } /* Comment.Single */ +.highlight .cs { color: #999; } /* Comment.Special */ +.highlight .gd { background-color: #fcc; border: 1px solid #c00 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #f00 } /* Generic.Error */ +.highlight .gh { color: #030; } /* Generic.Heading */ +.highlight .gi { background-color: #cfc; border: 1px solid #0c0 } /* Generic.Inserted */ +.highlight .go { color: #aaa } /* Generic.Output */ +.highlight .gp { color: #009; } /* Generic.Prompt */ +.highlight .gs { } /* Generic.Strong */ +.highlight .gu { color: #030; } /* Generic.Subheading */ +.highlight .gt { color: #9c6 } /* Generic.Traceback */ +.highlight .kc { color: #069; } /* Keyword.Constant */ +.highlight .kd { color: #069; } /* Keyword.Declaration */ +.highlight .kn { color: #069; } /* Keyword.Namespace */ +.highlight .kp { color: #069 } /* Keyword.Pseudo */ +.highlight .kr { color: #069; } /* Keyword.Reserved */ +.highlight .kt { color: #078; } /* Keyword.Type */ +.highlight .m { color: #f60 } /* Literal.Number */ +.highlight .s { color: #d44950 } /* Literal.String */ +.highlight .na { color: #4f9fcf } /* Name.Attribute */ +.highlight .nb { color: #366 } /* Name.Builtin */ +.highlight .nc { color: #0a8; } /* Name.Class */ +.highlight .no { color: #360 } /* Name.Constant */ +.highlight .nd { color: #99f } /* Name.Decorator */ +.highlight .ni { color: #999; } /* Name.Entity */ +.highlight .ne { color: #c00; } /* Name.Exception */ +.highlight .nf { color: #c0f } /* Name.Function */ +.highlight .nl { color: #99f } /* Name.Label */ +.highlight .nn { color: #0cf; } /* Name.Namespace */ +.highlight .nt { color: #2f6f9f; } /* Name.Tag */ +.highlight .nv { color: #033 } /* Name.Variable */ +.highlight .ow { color: #000; } /* Operator.Word */ +.highlight .w { color: #bbb } /* Text.Whitespace */ +.highlight .mf { color: #f60 } /* Literal.Number.Float */ +.highlight .mh { color: #f60 } /* Literal.Number.Hex */ +.highlight .mi { color: #f60 } /* Literal.Number.Integer */ +.highlight .mo { color: #f60 } /* Literal.Number.Oct */ +.highlight .sb { color: #c30 } /* Literal.String.Backtick */ +.highlight .sc { color: #c30 } /* Literal.String.Char */ +.highlight .sd { color: #c30; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #c30 } /* Literal.String.Double */ +.highlight .se { color: #c30; } /* Literal.String.Escape */ +.highlight .sh { color: #c30 } /* Literal.String.Heredoc */ +.highlight .si { color: #a00 } /* Literal.String.Interpol */ +.highlight .sx { color: #c30 } /* Literal.String.Other */ +.highlight .sr { color: #3aa } /* Literal.String.Regex */ +.highlight .s1 { color: #c30 } /* Literal.String.Single */ +.highlight .ss { color: #fc3 } /* Literal.String.Symbol */ +.highlight .bp { color: #366 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #033 } /* Name.Variable.Class */ +.highlight .vg { color: #033 } /* Name.Variable.Global */ +.highlight .vi { color: #033 } /* Name.Variable.Instance */ +.highlight .il { color: #f60 } /* Literal.Number.Integer.Long */ + +.css .o, +.css .o + .nt, +.css .nt + .nt { color: #999; } diff --git a/versions/2.2.0/public/favicon.ico b/versions/2.2.0/public/favicon.ico new file mode 100644 index 000000000..3e6edd2ef Binary files /dev/null and b/versions/2.2.0/public/favicon.ico differ diff --git a/versions/2.2.0/public/gh.png b/versions/2.2.0/public/gh.png new file mode 100644 index 000000000..8b25551a9 Binary files /dev/null and b/versions/2.2.0/public/gh.png differ diff --git a/versions/2.2.0/public/gh@2.png b/versions/2.2.0/public/gh@2.png new file mode 100644 index 000000000..182a1a3f7 Binary files /dev/null and b/versions/2.2.0/public/gh@2.png differ diff --git a/versions/2.2.0/public/js/toc.js b/versions/2.2.0/public/js/toc.js new file mode 100644 index 000000000..5c891bddb --- /dev/null +++ b/versions/2.2.0/public/js/toc.js @@ -0,0 +1,94 @@ +// https://github.com/ghiculescu/jekyll-table-of-contents +(function($){ + $.fn.toc = function(options) { + var defaults = { + noBackToTopLinks: false, + title: 'Jump to...', + minimumHeaders: 3, + headers: 'h1, h2, h3, h4, h5, h6', + listType: 'ol', // values: [ol|ul] + showEffect: 'show', // values: [show|slideDown|fadeIn|none] + showSpeed: 'slow' // set to 0 to deactivate effect + }, + settings = $.extend(defaults, options); + + function fixedEncodeURIComponent (str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { + return '%' + c.charCodeAt(0).toString(16); + }); + } + + var headers = $(settings.headers).filter(function() { + // get all headers with an ID + var previousSiblingName = $(this).prev().attr( "name" ); + if (!this.id && previousSiblingName) { + this.id = $(this).attr( "id", previousSiblingName.replace(/\./g, "-") ); + } + if (this.id == 'table-of-contents') { + $(this).hide(); + $(this).next().hide(); + return false; + } + return this.id; + }), output = $(this); + if (!headers.length || headers.length < settings.minimumHeaders || !output.length) { + $(this).hide(); + return; + } + + if (0 === settings.showSpeed) { + settings.showEffect = 'none'; + } + + var render = { + show: function() { output.hide().html(html).show(settings.showSpeed); }, + slideDown: function() { output.hide().html(html).slideDown(settings.showSpeed); }, + fadeIn: function() { output.hide().html(html).fadeIn(settings.showSpeed); }, + none: function() { output.html(html); } + }; + + var get_level = function(ele) { return parseInt(ele.nodeName.replace("H", ""), 10); } + var highest_level = headers.map(function(_, ele) { return get_level(ele); }).get().sort()[0]; + var return_to_top = ' '; + + var level = get_level(headers[0]), + this_level, + html = settings.title + " <"+settings.listType+">"; + headers.on('click', function() { + if (!settings.noBackToTopLinks) { + window.location.hash = this.id; + } + }) + .addClass('clickable-header') + .each(function(_, header) { + this_level = get_level(header); + if (!settings.noBackToTopLinks && this_level === highest_level) { + $(header).addClass('top-level-header').after(return_to_top); + } + if (this_level === level) // same level as before; same indenting + html += "

  • " + header.innerHTML + ""; + else if (this_level <= level){ // higher level than before; end parent ol + for(i = this_level; i < level; i++) { + html += "
  • " + } + html += "
  • " + header.innerHTML + ""; + } + else if (this_level > level) { // lower level than before; expand the previous to contain a ol + for(i = this_level; i > level; i--) { + html += "<"+settings.listType+">
  • " + } + html += "" + header.innerHTML + ""; + } + level = this_level; // update for the next one + }); + html += ""; + if (!settings.noBackToTopLinks) { + $(document).on('click', '.back-to-top', function() { + $(window).scrollTop(0); + window.location.hash = ''; + }); + } + + render[settings.showEffect](); + }; +})(jQuery); diff --git a/versions/2.2.0/ver_index.html b/versions/2.2.0/ver_index.html new file mode 100644 index 000000000..e69de29bb