ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Kolban's Book on ESP32

دانلود کتاب کتاب Kolban در ESP32

Kolban's Book on ESP32

مشخصات کتاب

Kolban's Book on ESP32

ویرایش:  
نویسندگان:   
سری:  
 
ناشر:  
سال نشر: 2018 
تعداد صفحات: [1228] 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 15 Mb 

قیمت کتاب (تومان) : 53,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 5


در صورت تبدیل فایل کتاب Kolban's Book on ESP32 به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب کتاب Kolban در ESP32 نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب کتاب Kolban در ESP32

من بیش از 30 سال است که در تجارت نرم افزار کار می کنم، اما تا همین اواخر، مستقیماً با میکرو پردازنده ها بازی نمی کردم. وقتی Raspberry PI و سپس Arduino خریدم، می ترسم گیر کرده باشم. در خانه‌ام با رایانه‌هایی با هر شکل، اندازه و ظرفیت احاطه شده‌ام... هر یک از آنها با قدرتی بالاتر از هر یک از این دستگاه‌های کوچک... با این حال، من هنوز خودم را مجذوب می‌دانستم. هنگامی که در اوایل سال جاری به طور تصادفی با ESP32 آشنا شدم، علاقه من را برانگیخت. من چندین دهه بود که برنامه نویسی C را لمس نکرده بودم (این روزها من یک مرد جاوا هستم). همانطور که شروع به خواندن آنچه در راه مستندات موجود از جامعه عالی اطراف دستگاه بود، متوجه شدم که فقط اطلاعات کوچکی وجود دارد. بهترین منبع اطلاعات، فایل‌های PDF رسمی برای SDK از Espressif (سازندگان ESP32) بود (و هنوز هم هست)، اما حتی آن هم در نمونه‌ها و پس‌زمینه «سبک» است. همانطور که دستگاه را مطالعه می کردم، شروع به یادداشت برداری کردم و صفحات یادداشت های من به رشد و رشد ادامه دادند. این کتاب نسخه‌ای از آن یادداشت‌ها است که من به صورت ترکیبی و جلا یافته‌ام. به جای اینکه آنها را برای خودم نگه دارم، آنها را به همه ما در انجمن ESP32 پیشنهاد می کنم به این امید که ارزشی داشته باشند. برنامه من این است که به روز رسانی این کار ادامه دهم زیرا همه ما بیشتر می آموزیم و آنچه را که در انجمن های انجمن می یابیم به اشتراک می گذاریم. به این ترتیب، من این اثر را در فواصل زمانی منظم مجدداً منتشر می‌کنم، بنابراین لطفاً برای اطلاع از جدیدترین موارد، دوباره به صفحه اصلی کتاب مراجعه کنید.


توضیحاتی درمورد کتاب به خارجی

I've been working in the software business for over 30 years but until recently, hadn't been playing directly with Micro Processors. When I bought a Raspberry PI and then an Arduino, I'm afraid I got hooked. In my house I am surrounded by computers of all shapes, sizes and capacities … any one of them with orders of magnitude more power than any of these small devices … however, I still found myself fascinated. When I stumbled across the ESP32 earlier this year, it piqued my interest. I hadn't touched C programming in decades (I'm a Java man these days). As I started to read what was available in the way of documentation from the excellent community surrounding the device, I found that there were only small pockets of knowledge. The best source of information was (and still is) the official PDFs for the SDK from Espressif (the makers of the ESP32) but even that is quite "light" on examples and background. As I studied the device, I started to make notes and my pages of notes continued to grow and grow. This book is my collated and polished version of those notes. Rather than keep them to myself, I offer them to all of us in the ESP32 community in the hope that they will be of some value. My plan is to continue to update this work as we all learn more and share what we find in the community forums. As such, I will re-release the work at regular intervals so please check back at the book's home page for the latest.



فهرست مطالب

Introduction
Important Documentation Notes – ESP8266 and ESP32
Overview
	The ESP32
	The ESP32 specification
	ESP32 variants
	Modules
		ESP-WROOM-32
		ESP32-DevKitC
		ESP-WROVER-KIT
		The SparkFun ESP32 thing
Connecting to the ESP32
Assembling circuits
	USB to UART converters
	Breadboards
	Power
	Multi-meter / Logic probe / Logic Analyzer
	Sundry components
	Physical construction
	Configuration for flashing the device
Programming for ESP32
	Espressif IoT Development framework
		Application entry point
		How ESP-IDF works
		Error handling
		The build environment menu configuration
		Adding a custom ESP-IDF component
		Working with memory
	Compiling
		Compilation
		Flashing
		Loading a program
		Programming environments
		Compilation tools
			xntensa-esp32-elf-ar
			esptool
			xtensa-esp32-elf-gcc
			gen_appbin.py
			make
			xtensa-esp32-elf-strip
			xtensa-esp32-elf-nm
			xtensa-esp32-elf-objcopy
			xtensa-esp32-elf-objdump
			xxd
	Linking
		Sizes of images
	Debugging
		ESP-IDF logging
		Exception handling
		Address to source line
		Core dump processing
		Using a debugger (GDB)
		OpenOCD and JTAG
			Using the ESP-WROVER-KIT for JTAG
			Port numbers for openocd
		Dumping IP Addresses
		Debugging and testing TCP and UDP connections
			Android – Socket Protocol
			Android – UDP Sender/Receiver
			Android – tPacketCapture
			Windows – Hercules
			SocketTest
			Linux – netcat (nc)
			Curl
			Eclipse – TCP/MON
			httpbin.org
			RequestBin
			tcpdump
		ESP-IDF component debugging
			LWIP
		Run a Blinky
WiFi subsystem
	WiFi Theory
	Initializing the WiFi environment
	Setting the operation mode
	Scanning for access points
	Handling WiFi events
	Station configuration
	Starting up the WiFi environment
	Connecting to an access point
	Being an access point
	Working with connected stations
	WiFi at boot time
	The DHCP client
	The DHCP server
	Current IP Address, netmask and gateway
	WiFi Protected Setup – WPS
	Designs for bootstrapping WiFi
	Tools for WiFi on Linux
		iwlist
		iw
Working with TCP/IP
	The Lightweight IP Stack – lwip
	TCP
	TCP/IP Sockets
		Handling errors
		Configuration settings
		Using select()
		Differences from "standard" sockets
	UDP/IP Sockets
	TLS, SSL and security
		Keys files
			PEM files
		mbedTLS client app structure
		mbedTLS client example
		mbedTLS server app structure
		mbedTLS Debugging
		OpenSSL
		RSA encryption/decryption
			Generate DER data containing a private key
	Name Service
	Multicast Domain Name Systems
		mDNS API programming
		Installing Bonjour
		Avahi
	Working with SNTP
	Java Sockets
	Network performance tests
Bluetooth
	Bluetooth specification
		Bluetooth UUIDs
		Bluetooth GAP
			Low level packet
			GAP Advertizing data
			Advertisability – limited and general
			Directed advertising
			Non-connectable advertising
			Filtering devices
			Performing a scan
			Performing advertising
		Bluetooth GATT
			GATT Characteristic
			Being a GATT client
			Being a GATT Server
			Notifications and indications
			GATT XML descriptions
		Service Discovery Protocol
	ESP32 and Bluetooth
		GATT Server – Read request
		Debugging ESP32 Bluetooth
	Bluetooth C Programming in Linux
		hci_get_route
		hci_open_dev
		hci_inquiry
		hci_read_remote_name
		str2ba
		ba2str
	Bluetooth programming in Node.js
		Using Noble
		Using Bleno
	Bluetooth Audio
	Bluetooth RFCOMM
	Bluetooth tools
		l2ping
		rfcomm
		bluetoothctl
		hciconfig
		hcidump
		hcitool
		gatttool
	Bluetooth examples
		The iTag peripheral
		Smart Watch / The TW64 Band
	Web Bluetooth
	The Physical Web
	BLE beacons
Hardware interfacing
	GPIOs
		Pull up and pull down settings
		GPIO Interrupt handling
		Expanding the number of available GPIOs
			PCF8574
			PCF8575
			MCP23017
	Interrupt Service Routines – ISRs
	Working with I2C
		Using the ESP-IDF I2C driver
		Common I2C devices
	Working with SPI – Serial Peripheral Interface
		Using the ESP-IDF SPI driver
		The Arduino Hardware Abstraction Layer SPI
		Common SPI devices
	Working with UART/serial
		Using the VFS component with serial
	I2S Bus
		I2S – Camera
		I2S – LCD
		I2S – DMA
			Interrupts
	RMT – The Remote Peripheral
	Timers and time
	LEDC – Pulse Width Modulation – PWM
		Automated PWM fading
	Analog to digital conversion
	Digital to analog conversion
	Sleep modes
	Security
	Working with flash memory
	Working with RAM memory
		RAM Utilization
		Heap constructions and management
		Heap diagnosis / memory leaks
			Heap corruption
		Using PSRAM
	EFUSE
		EFuse #1
		EFuse #2
		EFuse #3 – 0x6001a00c
	Button press detection
	GPS
		GPS decoding
	Temperature and pressure – BMP180
		Using the Arduino APIs
	Temperature and pressure – BME280
	NeoPixels
		NeoPixel theory
		NeoPixels and the ESP32
		APA102
	LED 7-Segment displays
		MAX7219/MAX7221 – Serial interface, 8-digit, led display drivers
	The U8g2 library
	LCD display – Nokia 5110 – PCD8544
	OLED 128x32, 128x64 – SSD1306
	TFT displays
	Ambient light level sensor – BH1750FVI
	Ambient light and proximity sensor
	Infrared receivers
	RFID MFRC522
		MFRC522 – Low levels
			Initialization
			AntennaOn
	Cameras
		Ivan's sample
		OV7670
	Accelerometer and Gyroscope – MPU-6050 (aka GY-521)
		The math of accelerometers
		Visualizing orientation
	Compass – HMC5883L (aka GY-271) (aka CJ-M49)
		Tilt compensation of the compass
	Real time clocks
	Servos
		The Mini/Micro SG90
	Audio
		PCM5102 – I2S DAC
		Graphic Equalizer
	External networking
		The nRF24
			Using the Arduino APIs
			Integrating the nRF24 with the ESP32
Programming using Eclipse
	Installing the Eclipse Serial terminal
	Web development using Eclipse
Programming using the Arduino IDE
	Mapping from the Arduino to the ESP32
	Implications of Arduino IDE support
	Installing the Arduino IDE with ESP32 support
	Using the Arduino libraries as an ESP-IDF component
	Tips for working in the Arduino environment
		Initialize global classes in setup()
		Invoking Espressif SDK API from a sketch
		Reasons to consider using Eclipse over Arduino IDE
Programming with JavaScript
	Duktape
		Compiling code
		Building for ESP32
		Integrating Duktape in an ESP32 application
		The Duktape stack
		Working with object properties
		Calling C from a JavaScript program
	JerryScript
		Platform specific files
		JerryScript life-cycle
		Accessing the global environment
		The jerry_value_t
		Handling errors
		Interfacing JerryScript with C
	IoT.js
Programming with Python
	Pycom Micropython
Programming with Lua
	Lua-RTOS for ESP32
Integration with Web Apps
	HTTP Protocol
		HTTP Headers
			Accept header
			Authorization header
			Connection header
			Content-Length header
			Content-Type header
			Host header
			User-Agent header
	Web Servers
		Mongoose networking library
			Setting up Mongoose on an ESP32
			Sending a request from Mongoose
			The Mongoose struct mg_connection
			Handling file uploads
		GoAhead Web Server
		JavaScript Webserver
	REST Services
		REST protocol
		ESP32 as a REST client
			Making a REST request using Curl
			Making a REST request using Mongoose
		ESP32 as a REST service provider
	WebSockets
		A WebSocket browser app
		Mongoose WebSocket
		Other Websocket implementations
	Tasker
	AutoRemote
	DuckDNS
Networking protocols
	MQTT
		Mosquitto MQTT
			Installing on Windows
		Writing ESP32 MQTT clients
			Using Mongoose as an MQTT client
			Using Espruino as an MQTT client
		Writing non ESP32 MQTT clients
			Eclipse paho
			C – Mosquitto client library
			Node.js JavaScript – MQTT
			Browser JavaScript – MQTT
	CoAP – Constrained Application Protocol
	FTP
	TFTP
	Telnet
	DNS Protocol
Mobile apps
	Blynk
Cloud environments
	IBM Bluemix
	If This Then That – IFTTT
ESP Mesh
Storage programming
	Partition table
	Non Volatile Storage
	Virtual File System
		VFS Implementations
	FATFS File System
	Spiffs File System
		Building SPIFFs for the ESP32
		mkspiffs tool
	The ESP File System – EspFs
	SD, MMC and SDIO interfacing
		SD attachment on Wrover Dev Kit
	ZIP files
		zlib
		miniz
		kuba--/zip
Charting data
	Kst
Sample Snippets
Sample applications
	Sample – Ultrasonic distance measurement
	Sample – WiFi Scanner
	Sample – A changeable mood light
Using FreeRTOS
	The architecture of a task in FreeRTOS
		Priorities and FreeRTOS tasks
		Stacks and FreeRTOS tasks
	Timers in FreeRTOS
	Blocking and synchronization within FreeRTOS
	Semaphores and Mutices within FreeRTOS
	Queues within FreeRTOS
	Ring buffer within FreeRTOS
	Working with queue sets
	Monitoring capabilities
	Running untested functions
The Serial AT command processor
Mongoose OS
	The Mongoose OS file system
	Setting up Mongoose OS WiFi
	Building a Mongoose OS App
AWS IoT
	The ESP-IDF aws_iot component
Google IoT
	Creating a Google Cloud IoT device registry
	MQTT connections to Google IoT
Using the TI CC2650 SensorTag
	IR Temperature Sensor
	Humidity Service
	Ambient light sensor
	Key Press
Developing solutions on Linux
	Building a Linux environment
Hardware architecture
	The CPU and cores
	Intrinsic data types
	Native byte order, endian and network byte order
	Memory mapping and address spaces
	Reading and writing registers
	Pads and multiplexing
	Register based GPIO
		GPIO_OUT_REG
		GPIO_OUT_W1TS_REG
		GPIO_OUT_W1TC_REG
		GPIO_OUT1_REG
		GPIO_OUT1_W1TS_REG
		GPIO_OUT1_W1TC_REG
		GPIO_ENABLE_REG
		GPIO_ENABLE_W1TS_REG
		GPIO_ENABLE_W1TC_REG
		GPIO_ENABLE1_REG
		GPIO_ENABLE1_W1TS_REG
		GPIO_ENABLE1_W1TC_REG
		GPIO_STRAP_REG
		GPIO_IN_REG
		GPIO_IN1_REG
		GPIO_STATUS_REG
		GPIO_STATUS_W1TS_REG
		GPIO_STATUS_W1TC_REG
		GPIO_STATUS1_REG
		GPIO_STATUS1_W1TS_REG
		GPIO_STATUS1_W1TC_REG
		GPIO_PCPU_NMI_INT1_REG
		GPIO_PCPU_NMI_INT1_REG
		GPIO_PINn_REG
		GPIO_FUNCm_IN_SEL_CFG_REG
		GPIO_FUNCn_OUT_SEL_CFG_REG
		IO_MUX_x_REG
	Strapping pins
		Boot mode source
		Debugging on U0TX0 at boot
		Timing of SDIO slave
	Bootloader
	Power modes
	Peripherals
		Remote Control Peripheral – RMT
		SPI
		PID Controller
		UART
		I2S Peripheral
			I2S Input Data
			I2S Clock
			Camera mode
			Registers
			I2S_CONF_REG
			I2S_CONF2_REG
			I2S_CLKM_CONF_REG
			I2S_CONF_CHAN_REG
			I2S_LC_CONF_REG
			I2S_FIFO_CONF_REG
			I2S_IN_LINK_REG
			I2S_RXEOF_NUM_REG
			I2S_CONF_CHAN_REG
			I2S_SAMPLE_RATE_CONF_REG
			I2S_INT_RAW_REG
			I2S_INT_ENA_REG
			I2S_INT_CLR_REG
		RTC
			RTCIO_RTC_GPIO_OUT_DATA
			RTCIO_RTC_GPIO_OUT_DATA_W1TS
			RTCIO_RTC_GPIO_OUT_DATA_W1TC
			RTCIO_RTC_GPIO_ENABLE
			RTCIO_RTC_GPIO_ENABLE_W1TS
			RTCIO_RTC_GPIO_ENABLE_W1TC
			RTCIO_RTC_GPIO_STATUS_INT
			RTCIO_RTC_GPIO_STATUS_INT_W1TS
			RTCIO_RTC_GPIO_STATUS_INT_W1TC
			RTCIO_RTC_GPIO_IN_NEXT
			RTCIO_RTC_GPIO_PINn_WAKEUP_ENABLE
			RTCIO_RTC_GPIO_PINn_INT_TYPE
			RTCIO_RTC_GPIO_PINn_PAD_DRIVER
			RTCIO_DIG_PAD_HOLD_REG
			RTCIO_HALL_XPD_HALL
			RTCIO_HALL_PHASE
			RTCIO_SENSOR_SENSEn_HOLD
			RTCIO_SENSOR_SENSEn_MUX_SEL
			RTCIO_SENSOR_SENSEn_FUN_SEL
			RTCIO_SENSOR_SENSEn_SLP_SEL
			RTCIO_SENSOR_SENSEn_SLP_IE
			RTCIO_SENSOR_SENSEn_FUN_IE
			RTCIO_ADC_ADCn_HOLD
			RTCIO_ADC_ADCn_MUX_SEL
			RTCIO_ADC_ADCn_FUN_SEL
			RTCIO_ADC_ADCn_SLP_SEL
			RTCIO_ADC_ADCn_SLP_IE
			RTCIO_ADC_ADCn_FUN_IE
			RTCIO_PAD_PDAC1_DRV
			RTCIO_PAD_PDAC1_HOLD
			RTCIO_PAD_PDAC1_RDE
			RTCIO_PAD_PDAC1_RUE
			RTCIO_PAD_PDAC1_DAC
			RTCIO_PAD_PDAC1_XPD_DAC
			RTCIO_PAD_PDAC1_MUX_SEL
			RTCIO_PAD_PDAC1_FUN_SEL
			RTCIO_PAD_PDAC1_SLP_SEL
			RTCIO_PAD_PDAC1_SLP_IE
			RTCIO_PAD_PDAC1_SLP_OE
			RTCIO_PAD_PDAC1_FUN_IE
			RTCIO_PAD_PDAC1_DAC_XPD_FORCE
ULP Processor
	Preparing a ULP co-processor environment
	ULP Instruction set
		NOP – No operation
		ADD – Add to a register
		SUB – Subtract from register
		AND – Logical AND of two operands
		OR – Logical OR of two operands
		LSH – Logical Shift Left
		RSH – Logical Shift Right
		MOVE – Move to register
		ST – Store data to memory
		LD – Load data from memory
		JUMP – Jump to an absolute address
		JUMPR – Jump relative with condition
		JUMPS – Jump relative based on stage count
		STAGE_RST – Reset the stage count register
		STAGE_INC – Increment the stage count register
		STAGE_DEC – Decrement the stage count register
		HALT – End the program
		WAKE – Wakeup the chip
		SLEEP – Set the ULP wakeup timer period
		WAIT – Wait some number of cycles
		TSENS – Do measurement with the temperature sensor
		ADC – Do measurement with ADC
		REG_RD – Read from peripheral register
		REG_WR – Write to peripheral register
	ULP co-processor assembler coding
	Loading and starting a ULP co-processor application
	Waking up the ULP co-processor
	Peripheral registers for ULP co-processor
		SENS_ULP_CP_SLEEP_CYC0_REG
		SENS_ULP_CP_SLEEP_CYC1_REG
		SENS_ULP_CP_SLEEP_CYC2_REG
		SENS_ULP_CP_SLEEP_CYC3_REG
		SENS_ULP_CP_SLEEP_CYC4_REG
		SENS_SAR_START_FORCE_REG
Electronics
	Transistors as switches
	Logic Level Shifting
Projects
	JerryScript library for ESP32
		The "require" capability
API Reference
	Configuration, status and operational retrieval
	Arduino Mapping
		bitRead
		bitWrite
		delay
		digitalWrite
		pinMode
		SPI.begin
		SPI.setBitOrder
		SPI.setClockDivider
		SPI.setDataMode
		SPI.transfer
		Wire.begin
		Wire.beginTransmission
		Wire.endTransmission
		Wire.read
		Wire.requestFrom
		Wire.write
	FreeRTOS API reference
		portENABLE_INTERRUPTS
		portDISABLE_INTERRUPTS
		xPortGetCoreID
		pvPortMalloc
		pvPortFree
		xPortGetFreeHeapSize()
		xEventGroupClearBits
		xEventGroupCreate
		xEventGroupCreateStatic
		vEventGroupDelete
		xEventGroupSetBits
		xEventGroupWaitBits
		xQueueAddToSet
		xQueueCreate
		xQueueCreateSet
		xQueueCreateStatic
		vQueueDelete
		xQueueGenericReceive
		uxQueueMessagesWaiting
		xQueueOverwrite
		xQueuePeek
		xQueuePeekFromISR
		xQueueReceive
		xQueueReceiveFromISR
		xQueueRemoveFromSet
		xQueueReset
		xQueueSelectFromSet
		xQueueSelectFromSetFromISR
		xQueueSend
		xQueueSendFromISR
		xQueueSendToBack
		xQueueSendToBackFromISR
		xQueueSendToFront
		xQueueSendToFrontFromISR
		uxQueueSpacesAvailable
		xRingbufferAddToQueueSetRead
		xRingbufferAddToQueueSetWrite
		xRingbufferCreate
		vRingbufferDelete
		xRingbufferGetMaxItemSize
		xRingBufferPrintInfo
		xRingbufferReceive
		xRingbufferReceiveFromISR
		xRingbufferReceiveUpTo
		xRingbufferReceiveUpToFromISR
		xRingbufferRemoveFromQueueSetRead
		xRingbufferRemoveFromQueueSetWrite
		vRingbufferReturnItem
		vRingbufferReturnItemFromISR
		xRingbufferSend
		xRingbufferSendFromISR
		vSemaphoreCreateBinary
		xSemaphoreCreateCounting
		xSemaphoreCreateMutex
		vSemaphoreDelete
		uxSemaphoreGetCount
		xSemaphoreGive
		xSemaphoreGiveFromISR
		xSemaphoreTake
		xTaskCreate
		xTaskCreatePinnedToCore
		vTaskDelay
		vTaskDelayUntil
		vTaskDelete
		taskDISABLE_INTERRUPTS
		taskENABLE_INTERRUPTS
		vTaskGetInfo
		xTaskGetCurrentTaskHandle
		pcTaskGetTaskName
		uxTaskGetNumberOfTasks
		uxTaskGetSnapshotAll
		uxTaskGetStackHighWaterMark
		pxTaskGetStackStart
		eTaskGetState
		uxTaskGetSystemState
		xTaskGetTickCount
		xTaskGetTickCountFromISR
		vTaskList
		uxTaskPriorityGet
		uxTaskPriorityGetFromISR
		vTaskPrioritySet
		vTaskResume
		vTaskResumeFormISR
		xTaskResumeAll
		vTaskResumeFromISR
		vTaskSuspend
		vTaskSuspendAll
		xTimerChangePeriod
		xTimerChangePeriodFromISR
		xTimerCreate
		xTimerCreateStatic
		xTimerDelete
		pcTimerGetName
		xTimerGetExpiryTime
		xTimerGetPeriod
		pvTimerGetTimerDaemonTaskHandle
		pvTimerGetTimerID
		xTimerIsTimerActive
		xTimerPendFunctionCall
		xTimerPendFunctionCallFromISR
		xTimerReset
		xTimerResetFromISR
		vTimerSetTimerID
		xTimerStart
		xTimerStartFromISR
		xTimerStop
		xTimerStopFromISR
		List Processing
			vListInitialise
			vListInitialiseItem
			vListInsert
			vListInsertEnd
	Sockets APIs
		accept
		bind
		close
		closesocket
		connect
		fcntl
		freeaddrinfo
		getaddrinfo
		gethostbyname
		gethostbyname_r
		getpeername
		getsockname
		getsockopt
		htonl
		htons
		inet_ntop
		inet_pton
		ioctlsocket
		listen
		read
		recv
		recvfrom
		select
		send
		sendmsg
		sendto
		setsockopt
		shutdown
		socket
		write
		writev
		Socket data structures
			Sockets – struct sockaddr
			Sockets – struct sockaddr_in
	Working with WiFi
	DNS
		dns_getserver
		dns_setserver
	System Functions
		esp_chip_info
		esp_cpu_in_ocd_debug_mode
		esp_deregister_freertos_idle_hook
		esp_deregister_freertos_tick_hook
		esp_efuse_read_mac
		esp_get_free_heap_size
		esp_get_idf_version
		esp_ipc_call
		esp_ipc_call_blocking
		esp_random
		esp_register_freertos_idle_hook
		esp_register_freertos_idle_hook_for_cpu
		esp_register_freertos_tick_hook
		esp_register_freertos_tick_hook_for_cpu
		esp_restart
		esp_sleep_get_wakeup_cause
		ets_delay_us
		system_rtc_mem_write
		rtc_get_reset_reason
		software_reset
		software_reset_cpu
		system_deep_sleep
		system_get_time
		system_restore
		system_rtc_mem_read
		system_rtc_mem_write
		system_rtc_mem_read
	WiFi
		esp_event_loop_init
		esp_event_loop_set_cb
		esp_wifi_ap_get_sta_list
		esp_wifi_clear_fast_connect
		esp_wifi_connect
		esp_wifi_deauth_sta
		esp_wifi_deinit
		esp_wifi_disconnect
		esp_wifi_free_station_list
		esp_wifi_get_auto_connect
		esp_wifi_get_bandwidth
		esp_wifi_get_channel
		esp_wifi_get_config
		esp_wifi_get_country
		esp_wifi_get_event_mask
		esp_wifi_get_mac
		esp_wifi_get_mode
		esp_wifi_get_promiscuous
		esp_wifi_get_protocol
		esp_wifi_get_ps
		esp_wifi_get_station_list
		esp_wifi_init
		esp_wifi_restore
		esp_wifi_reg_rxcb
		esp_wifi_scan_get_ap_records
		esp_wifi_scan_get_ap_num
		esp_wifi_scan_start
		esp_wifi_scan_stop
		esp_wifi_set_auto_connect
		esp_wifi_set_bandwidth
		esp_wifi_set_channel
		esp_wifi_set_config
		esp_wifi_set_country
		esp_wifi_set_event_mask
		esp_wifi_set_mac
		esp_wifi_set_mode
		esp_wifi_set_promiscuous_rx_cb
		esp_wifi_set_promiscuous
		esp_wifi_set_protocol
		esp_wifi_set_ps
		esp_wifi_set_storage
		esp_wifi_set_vendor_ie
		esp_wifi_set_vendor_ie_cb
		esp_wifi_sta_get_ap_info
		esp_wifi_start
		esp_wifi_stop
	WiFi WPS
		wifi_wps_enable
		wifi_wps_disable
		wifi_wps_start
		wifi_set_wps_cb
	mbed TLS
		mbedtls_ctr_drbg_free
		mbedtls_ctr_drbg_init
		mbedtls_ctr_drbg_seed
		mbedtls_debug_set_threshold
		mbedtls_entropy_free
		mbedtls_entropy_init
		mbedtls_net_accept
		mbedtls_net_bind
		mbedtls_net_connect
		mbedtls_net_free
		mbedtls_net_init
		mbedtls_net_recv
		mbedtls_net_recv_timeout
		mbedtls_net_send
		mbedtls_net_set_block
		mbedtls_net_set_nonblock
		mbedtls_pk_decrypt
		mbedtls_pk_encrypt
		mebdlts_pk_free
		mebdtls_pk_get_len
		mbedtls_pk_get_name
		mbedtls_pk_info_from_type
		mbedtls_pk_init
		mbedtls_pk_parse_key
		mbedtls_pk_rsa_context
		mbedtls_pk_setup
		mbedtls_pk_write_key_der
		mbedtls_pk_write_key_pem
		mbedtls_pk_write_pubkey_der
		mbedtls_pk_write_pubkey_pem
		mbedtls_printf
		mbedtls_sha1
		mbedlts_rsa_check_privkey
		mbedtls_rsa_check_pubkey
		mbedtls_rsa_free
		mbedtls_rsa_gen_key
		mbedtls_rsa_init
		mbedtls_rsa_pkcs_encrypt
		mbedtls_ssl_close_notify
		mbedtls_ssl_conf_authmode
		mbedtls_ssl_conf_ca_chain
		mbedtls_ssl_conf_dbg
		mbedtls_ssl_conf_rng
		mbedtls_ssl_config_defaults
		mbedtls_ssl_config_free
		mbedtls_ssl_config_init
		mbedtls_ssl_free
		mbedtls_ssl_get_verify_result
		mbedtls_ssl_handshake
		mbedtls_ssl_init
		mbedtls_ssl_read
		mbedtls_ssl_session_reset
		mbedtls_ssl_set_bio
		mbedtls_ssl_set_hostname
		mbedtls_ssl_setup
		mbedtls_ssl_write
		mbedtls_strerror
		mbedtls_x509_crt_init
		mbedtls_x509_crt_parse
		mbedtls_x509_crt_veryify_info
	ESP-TLS
		esp_tls_conn_delete
		esp_tls_conn_http_new
		esp_tls_conn_new
		esp_tls_conn_read
		esp_tls_conn_write
	Bluetooth LE
		esp_bt_uuid_t
		esp_attr_value_t
		esp_gatt_id_t
		esp_gatt_srvc_id_t
		esp_gatt_status_t
		esp_gattc_char_elem_t
		esp_gattc_db_elem_t
		esp_gattc_descr_elem_t
		esp_gattc_service_elem_t
		esp_ble_gap_config_adv_data
		esp_ble_gap_config_adv_data_raw
		esp_ble_gap_config_scan_rsp_data_raw
		esp_ble_gap_config_local_privacy
		esp_ble_gap_disconnect
		esp_ble_gap_get_whitelist_size
		esp_ble_gap_read_rssi
		esp_ble_gap_register_callback
			ESP_GAP_BLE_ADD_WHITELIST_COMPLETE_EVT
			ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT
			ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT
			ESP_GAP_BLE_ADV_START_COMPLETE_EVT
			ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT
			ESP_GAP_BLE_AUTH_CMPL_EVT
			ESP_GAP_BLE_CLEAR_BOND_DEV_COMPLETE_EVT
			ESP_GAP_BLE_GET_BOND_DEV_COMPLETE_EVT
			ESP_GAP_BLE_KEY_EVT
			ESP_GAP_BLE_LOCAL_ER_EVT
			ESP_GAP_BLE_LOCAL_IR_EVT
			ESP_GAP_BLE_NC_REQ_EVT
			ESP_GAP_BLE_OOB_REQ_EVT
			ESP_GAP_BLE_PASSKEY_NOTIF_EVT
			ESP_GAP_BLE_PASSKEY_REQ_EVT
			ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT
			ESP_GAP_BLE_REMOVE_BOND_DEV_COMPLETE_EVT
			ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT
			ESP_GAP_BLE_SCAN_RESULT_EVT
			ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT
			ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT
			ESP_GAP_BLE_SCAN_START_COMPLETE_EVT
			ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT
			ESP_GAP_BLE_SEC_REQ_EVT
			ESP_GAP_BLE_SET_LOCAL_PRIVACY_COMPLETE_EVT
			ESP_GAP_BLE_SET_PKT_LENGTH_COMPLETE_EVT
			ESP_GAP_BLE_SET_STATIC_RAND_ADDR_EVT
			ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT
		esp_ble_gap_security_rsp
		esp_ble_gap_set_device_name
		esp_ble_set_encryption
		esp_ble_gap_set_pkt_data_len
		esp_ble_gap_set_prefer_conn_params
		esp_ble_gap_set_rand_addr
		esp_ble_gap_set_security_param
		esp_ble_gap_set_scan_params
		esp_ble_gap_start_advertising
		esp_ble_gap_start_scanning
		esp_ble_gap_stop_advertising
		esp_ble_gap_stop_scanning
		esp_ble_gap_update_conn_params
		esp_ble_gap_update_whitelist
		esp_ble_gattc_app_register
		esp_ble_gattc_app_unregister
		esp_ble_gattc_close
		esp_ble_gattc_cache_refresh
		esp_ble_gattc_config_mtu
		esp_ble_gattc_execute_write
		esp_ble_gattc_get_all_char
		esp_ble_gattc_get_all_descr
		esp_ble_gattc_get_attr_count
		esp_ble_gattc_get_char_by_uuid
		esp_ble_gattc_get_characteristic
		esp_ble_gattc_get_db
		esp_ble_gattc_get_descr_by_char_handle
		esp_ble_gattc_get_descr_by_uuid
		esp_ble_gattc_get_descriptor
		esp_ble_gattc_get_include_service
		esp_ble_gattc_get_included_service
		esp_ble_gattc_get_service
		esp_ble_gattc_open
		esp_ble_gattc_prepare_write
		esp_ble_gattc_prepare_write_char_descr
		esp_ble_gattc_read_char
		esp_ble_gattc_read_char_descr
		esp_ble_gattc_read_multiple
		esp_ble_gattc_register_callback
			ESP_GATTC_ACL_EVT
			ESP_GATTC_ADV_DATA_EVT
			ESP_GATTC_ADV_VSC_EVT
			ESP_GATTC_BTH_SCAN_CFG_EVT
			ESP_GATTC_BTH_SCAN_DIS_EVT
			ESP_GATTC_BTH_SCAN_ENB_EVT
			ESP_GATTC_BTH_SCAN_PARAM_EVT
			ESP_GATTC_BTH_SCAN_RD_EVT
			ESP_GATTC_BTH_SCAN_THR_EVT
			ESP_GATTC_CANCEL_OPEN_EVT
			ESP_GATTC_CFG_MTU_EVT
			ESP_GATTC_CLOSE_EVT
			ESP_GATTC_CONGEST_EVT
			ESP_GATTC_CONNECT_EVT
			ESP_GATTC_DISCONNECT_EVT
			ESP_GATTC_ENC_CMPL_CB_EVT
			ESP_GATTC_EXEC_EVT
			ESP_GATTC_GET_CHAR_EVT
			ESP_GATTC_GET_DESCR_EVT
			ESP_GATTC_GET_INCL_SRVC_EVT
			ESP_GATTC_MULT_ADV_DATA_EVT
			ESP_GATTC_MULT_ADV_DIS_EVT
			ESP_GATTC_MULT_ADV_ENB_EVT
			ESP_GATTC_MULT_ADV_UPD_EVT
			ESP_GATTC_NOTIFY_EVT
			ESP_GATTC_OPEN_EVT
			ESP_GATTC_PREP_WRITE_EVT
			ESP_GATTC_READ_CHAR_EVT
			ESP_GATTC_READ_DESC_EVT
			ESP_GATTC_REG_EVT
			ESP_GATTC_REG_FOR_NOTIFY_EVT
			ESP_GATTC_SEARCH_CMPL_EVT
			ESP_GATTC_SEARCH_RES_EVT
			ESP_GATTC_SCAN_FLT_CFG_EVT
			ESP_GATTC_SCAN_FLT_PARAM_EVT
			ESP_GATTC_SCAN_FLT_STATUS_EVT
			ESP_GATTC_SRVC_CHG_EVT
			ESP_GATTC_UNREG_EVT
			ESP_GATTC_UNREG_FOR_NOTIFY_EVT
			ESP_GATTC_WRITE_CHAR_EVT
		esp_ble_gattc_register_for_notify
		esp_ble_gattc_unregister_for_notify
		esp_ble_gattc_search_service
		esp_ble_gattc_write_char
		esp_ble_gattc_write_char_descr
		esp_ble_gatts_add_char
		esp_ble_gatts_add_char_descr
		esp_ble_gatts_add_included_service
		esp_ble_gatts_app_register
		esp_ble_gatts_app_unregister
		esp_ble_gatts_close
		esp_ble_gatts_create_attribute_tab
		esp_ble_gatts_create_service
		esp_ble_gatts_delete_service
		esp_ble_gatts_get_attr_value
		esp_ble_gatts_open
		esp_ble_gatts_register_callback
			ESP_GATTS_ADD_CHAR_DESCR_EVT
			ESP_GATTS_ADD_CHAR_EVT
			ESP_GATTS_ADD_INCL_SRVC_EVT
			ESP_GATTS_CANCEL_OPEN_EVT
			ESP_GATTS_CLOSE_EVT
			ESP_GATTS_CONF_EVT
			ESP_GATTS_CONGEST_EVT
			ESP_GATTS_CONNECT_EVT
			ESP_GATTS_CREAT_ATTR_TAB_EVT
			ESP_GATTS_CREATE_EVT
			ESP_GATTS_DELETE_EVT
			ESP_GATTS_DISCONNECT_EVT
			ESP_GATTS_EXEC_WRITE_EVT
			ESP_GATTS_LISTEN_EVT
			ESP_GATTS_MTU_EVT
			ESP_GATTS_OPEN_EVT
			ESP_GATTS_READ_EVT
			ESP_GATTS_REG_EVT
			ESP_GATTS_RESPONSE_EVT
			ESP_GATTS_SET_ATTR_VAL_EVT
			ESP_GATTS_START_EVT
			ESP_GATTS_STOP_EVT
			ESP_GATTS_UNREG_EVT
			ESP_GATTS_WRITE_EVT
		esp_ble_gatts_send_indicate
		esp_ble_gatts_send_response
		esp_ble_gatts_set_attr_value
		esp_ble_gatts_start_service
		esp_ble_gatts_stop_service
		esp_ble_resolve_adv_data
		esp_ble_tx_power_get
		esp_ble_tx_power_set
		esp_bluedroid_deinit
		esp_bluedroid_disable
		esp_bluedroid_enable
		esp_bluedroid_init
		esp_bt_controller_deinit
		esp_bt_controller_disable
		esp_bt_controller_enable
		esp_bt_controller_get_status
		esp_bt_controller_init
		esp_bt_controller_mem_release
		esp_bt_dev_get_address
		esp_bt_dev_set_device_name
		esp_vhci_host_check_send_available
		esp_vhci_host_register_callback
		esp_vhci_host_send_packet
	ESP MQTT
		esp_mqtt_client_destroy
		esp_mqtt_client_init
		esp_mqtt_client_publish
		esp_mqtt_client_set_uri
		esp_mqtt_client_start
		esp_mqtt_client_stop
		esp_mqtt_client_subscribe
		esp_mqtt_client_unsubscribe
	Mesh
		esp_mesh_allow_root_conflicts
		esp_mesh_available_txupQ_num
		esp_mesh_deinit
		esp_mesh_delete_group_id
		esp_mesh_get_ap_assoc_expire
		esp_mesh_get_ap_authmode
		esp_mesh_get_ap_connections
		esp_mesh_get_capacity_num
		esp_mesh_get_config
		esp_mesh_get_group_list
		esp_mesh_get_group_num
		esp_mesh_get_id
		esp_mesh_get_ie_crypto_key
		esp_mesh_get_layer
		esp_mesh_get_max_layer
		esp_mesh_get_parent_bssid
		esp_mesh_get_root_healing_delay
		esp_mesh_get_router
		esp_mesh_get_routing_table
		esp_mesh_get_routing_table_size
		esp_mesh_get_rx_pending
		esp_mesh_get_self_organized
		esp_mesh_get_total_node_num
		esp_mesh_get_tx_pending
		esp_mesh_get_type
		esp_mesh_get_vote_percentage
		esp_mesh_get_xon_qsize
		esp_mesh_init
		esp_mesh_is_my_group
		esp_mesh_is_root
		esp_mesh_post_toDS_state
		esp_mesh_recv
		esp_mesh_recv_toDS
		esp_mesh_send
		esp_mesh_set_ap_assoc_expire
		esp_mesh_set_ap_authmode
		esp_mesh_set_ap_connections
		esp_mesh_set_ap_password
		esp_mesh_set_capacity_num
		esp_mesh_set_config
		esp_mesh_set_event_cb
		esp_mesh_set_group_id
		esp_mesh_set_id
		esp_mesh_set_ie_crypto_funcs
		esp_mesh_set_ie_crypto_key
		esp_mesh_set_max_layer
		esp_mesh_set_root_healing_delay
		esp_mesh_set_router
		esp_mesh_set_self_organized
		esp_mesh_set_type
		esp_mesh_set_vote_percentage
		esp_mesh_set_xon_qsize
		esp_mesh_start
		esp_mesh_stop
		esp_mesh_waive_root
	Upgrade APIs
		system_upgrade_flag_check
		system_upgrade_flag_set
		system_upgrade_reboot
		system_upgrade_start
		system_upgrade_userbin_check
	Smart config APIs
		smartconfig_start
		smartconfig_stop
	SNTP API
		sntp_enabled
		sntp_getoperatingmode
		sntp_getserver
		sntp_getservername
		sntp_init
		sntp_servermode_dhcp
		sntp_setoperatingmode
		sntp_setserver
		sntp_setservername
		sntp_stop
	Generic TCP/UDP APIs
		ipaddr_addr
		IP4_ADDR
		IP2STR
		MAC2STR
	TCP Adapter APIs
		tcpip_adapter_ap_input
		tcpip_adapter_ap_start
		tcpip_adapter_create_ip6_linklocal
		tcpip_adapter_dhcpc_get_status
		tcpip_adapter_dhcpc_option
		tcpip_adapter_dhcpc_start
		tcpip_adapter_dhcpc_stop
		tcpip_adapter_dhcps_get_status
		tcpip_adapter_dhcps_option
		tcpip_adapter_dhcps_start
		tcpip_adapter_dhcps_stop
		tcpip_adapter_down
		tcpip_adapter_eth_input
		tcpip_adapter_eth_start
		tcpip_adapter_free_sta_list
		tcpip_adapter_get_esp_if
		tcpip_adapter_get_dns_info
		tcpip_adapter_get_hostname
		tcpip_adapter_get_ip_info
		tcpip_adapter_get_ip6_linklocal
		tcpip_adapter_get_netif
		tcpip_adapter_get_old_ip_info
		tcpip_adapter_get_sta_list
		tcpip_adapter_get_wifi_if
		tcpip_adapter_init
		tcpip_adapter_set_dns_info
		tcpip_adapter_set_hostname
		tcpip_adapter_set_ip_info
		tcpip_adapter_set_old_ip_info
		tcpip_adapter_sta_input
		tcpip_adapter_sta_start
		tcpip_adapter_start
		tcpip_adapter_stop
		tcpip_adapter_up
	mdns
		mdns_free
		mdns_init
		mdns_query
		mdns_query_end
		mdns_result_free
		mdns_result_get
		mdns_result_get_count
		mdns_service_add
		mdns_service_instance_set
		mdns_service_port_set
		mdns_service_remove
		mdns_service_remove_all
		mdns_service_txt_set
		mdns_set_hostname
		mdns_set_instance
	OTA
		esp_ota_begin
		esp_ota_end
		esp_ota_get_boot_partition
		esp_ota_get_next_update_partition
		esp_ota_get_running_partition
		esp_ota_set_boot_partition
		esp_ota_write
		esp_https_ota
	GPIO Driver
		gpio_config
		gpio_get_level
		gpio_install_isr_service
		gpio_intr_enable
		gpio_intr_disable
		gpio_isr_handler_add
		gpio_isr_handler_remove
		gpio_isr_register
		gpio_set_direction
		gpio_set_intr_type
		gpio_set_level
		gpio_set_pull_mode
		gpio_uninstall_isr_service
		gpio_wakeup_enable
		gpio_wakeup_disable
	GPIO Low Level
		gpio_init
		gpio_input_get
		gpio_input_get_high
		gpio_intr_ack
		gpio_intr_ack_high
		gpio_intr_handler_register
		gpio_intr_pending
		gpio_intr_pending_high
		gpio_matrx_in
		gpio_matrix_out
		gpio_output_set
		gpio_output_set_high
		gpio_pad_hold
		gpio_pad_pulldown
		gpio_pad_pullup
		gpio_pad_select_gpio
		gpio_pad_set_drv
		gpio_pad_unhold
		gpio_pin_wakeup_disable
		gpio_pin_wakeup_enable
	GPIO RTC
		rtc_gpio_init
		rtc_gpio_deinit
		rtc_gpio_get_level
		rtc_gpio_set_level
		rtc_gpio_set_direction
		rtc_gpio_pullup_en
		rtc_gpio_pulldown_en
		rtc_gpio_pullup_dis
	Interrupts
		esp_intr_alloc
		esp_intr_alloc_intrstatus
		esp_intr_disable
		esp_intr_enable
		esp_intr_free
		esp_intr_get_cpu
		esp_intr_get_intno
		esp_intr_mark_shared
		esp_intr_noniram_disable
		esp_intr_noniram_enable
		esp_intr_reserve
		esp_intr_set_in_iram
	Analog to Digital Conversion
		adc1_config_channel_atten
		adc1_config_width
		adc1_get_voltage
		hall_sensor_read
	Digital to Analog Conversion
		dac_i2s_disable
		dac_i2s_enable
		dac_output_disable
		dac_output_enable
		dac_output_voltage
		dac_pad_get_io_num
	UART driver API
		uart_clear_intr_status
		uart_disable_intr_mask
		uart_driver_delete
		uart_driver_install
		uart_disable_intr_mask
		uart_disable_pattern_det_intr
		uart_disable_rx_intr
		uart_disable_tx_intr
		uart_enable_intr_mask
		uart_enable_pattern_det_intr
		uart_enable_rx_intr
		uart_enable_tx_intr
		uart_flush
		uart_flush_input
		uart_get_baudrate
		uart_get_buffered_data_len
		uart_get_collision_flag
		uart_get_hw_flow_ctrl
		uart_get_parity
		uart_get_stop_bits
		uart_get_word_length
		uart_intr_config
		uart_isr_free
		uart_isr_register
		uart_param_config
		uart_pattern_get_pos
		uart_pattern_pop_pos
		uart_pattern_queue_reset
		uart_read_bytes
		uart_set_baudrate
		uart_set_dtr
		uart_set_hw_flow_ctrl
		uart_set_line_inverse
		uart_set_mode
		uart_set_parity
		uart_set_pin
		uart_set_rts
		uart_set_rx_timeout
		uart_set_stop_bits
		uart_set_sw_flow_ctrl
		uart_set_tx_ilde_num
		uart_set_word_length
		uart_tx_chars
		uart_wait_tx_done
		uart_write_bytes
		uart_write_bytes_with_break
	UART low level APIs
		uartAttach
		Uart_Init
		uart_div_modify
		uart_buff_switch
		uart_tx_switch
		uart_baudrate_detect
		uart_rx_one_char
		uart_tx_wait_idle
		uart_tx_flush
		uart_tx_one_char
		uart_tx_one_char2
	I2C APIs
		i2c_cmd_link_create
		i2c_cmd_link_delete
		i2c_driver_delete
		i2c_driver_install
		i2c_get_data_mode
		i2c_get_data_timing
		i2s_get_period
		i2c_get_start_timing
		i2c_get_stop_timing
		i2c_isr_free
		i2c_isr_register
		i2c_master_cmd_begin
		i2c_master_read
		i2c_master_read_byte
		i2c_master_start
		i2c_master_stop
		i2c_master_write
		i2c_master_write_byte
		i2c_param_config
		i2c_reset_rx_fifo
		i2c_reset_tx_fifo
		i2c_set_data_mode
		i2c_set_data_timing
		i2c_set_period
		i2c_set_pin
		i2c_set_start_timing
		i2c_set_stop_timing
		i2c_slave_read_buffer
		i2c_slave_write_buffer
	SPI APIs
		spi_bus_add_device
		spi_bus_free
		spi_bus_initialize
		spi_bus_remove_device
		spi_device_get_trans_result
		spi_device_queue_trans
		spi_device_transmit
	I2S APIs
		i2s_adc_enable
		i2s_adc_disable
		i2s_driver_install
		i2s_driver_uninstall
		i2s_pop_sample
		i2s_push_sample
		i2s_read_bytes
		i2s_set_adc_mode
		i2s_set_clk
		i2s_set_dac_mode
		i2s_set_pin
		i2s_set_sample_rates
		i2s_start
		i2s_stop
		i2s_write_bytes
		i2s_write_expand
		i2s_zero_dma_buffer
	RMT APIs
		rmt_clr_intr_enable_mask
		rmt_config
		rmt_driver_install
		rmt_driver_uninstall
		rmt_fill_tx_items
		rmt_get_clk_div
		rmt_get_mem_block_num
		rmt_get_mem_pd
		rmt_get_memory_owner
		rmt_get_ringbuf_handle
		rmt_get_rx_idle_thresh
		rmt_get_status
		rmt_get_source_clk
		rmt_get_tx_loop_mode
		rmt_isr_deregister
		rmt_isr_register
		rmt_memory_rw_rst
		rmt_rx_start
		rmt_rx_stop
		rmt_set_clk_div
		rmt_set_err_intr_en
		rmt_set_idle_level
		rmt_set_intr_enable_mask
		rmt_set_mem_block_num
		rmt_set_mem_pd
		rmt_set_memory_owner
		rmt_set_pin
		rmt_set_rx_filter
		rmt_set_rx_idle_thresh
		rmt_set_rx_intr_en
		rmt_set_tx_carrier
		rmt_set_tx_intr_en
		rmt_set_tx_loop_mode
		rmt_set_tx_thr_intr_en
		rmt_set_source_clk
		rmt_tx_start
		rmt_tx_stop
		rmt_wait_tx_done
		rmt_write_items
	LEDC/PWM APIs
		ledc_bind_channel_timer
		ledc_channel_config
		ledc_fade_func_install
		ledc_fade_start
		ledc_fade_func_uninstall
		ledc_get_duty
		ledc_get_freq
		ledc_set_duty
		ledc_isr_register
		ledc_set_fade
		ledc_set_fade_with_step
		ledc_set_fade_with_time
		ledc_set_freq
		ledc_stop
		ledc_timer_config
		ledc_timer_pause
		ledc_timer_resume
		ledc_timer_rst
		ledc_timer_set
		ledc_update_duty
	Pulse Counter
		pcnt_counter_clear
		pcnt_counter_pause
		pcnt_counter_resume
		pcnt_event_disable
		pcnt_event_enable
		pcnt_filter_enable
		pcnt_filter_disable
		pcnt_get_counter_value
		pcnt_get_event_value
		pcnt_get_filter_value
		pcnt_intr_enable
		pcnt_intr_disable
		pcnt_isr_handler_add
		pcnt_isr_handler_remove
		pcnt_isr_register
		pcnt_isr_service_install
		pcnt_isr_service_uninstall
		pcnt_set_event_value
		pcnt_set_filter_value
		pcnt_set_mode
		pcnt_set_pin
		pcnt_unit_config
	Logging
		esp_err_to_name
		esp_log_level_set
		esp_log_set_vprintf
		esp_log_write
	Non Volatile Storage
		nvs_close
		nvs_commit
		nvs_erase_all
		nvs_erase_key
		nvs_flash_init
		nvs_flash_init_custom
		nvs_get_blob
		nvs_get_str
		nvs_get_i8
		nvs_get_i16
		nvs_get_i32
		nvs_get_i64
		nvs_get_u8
		nvs_get_u16
		nvs_get_u32
		nvs_get_u64
		nvs_open
		nvs_set_blob
		nvs_set_str
		nvs_set_i8
		nvs_set_i16
		nvs_set_i32
		nvs_set_i64
		nvs_set_u8
		nvs_set_u16
		nvs_set_u32
		nvs_set_u64
	Partition API
		esp_partition_erase_range
		esp_partition_find
		esp_partition_find_first
		esp_partition_get
		esp_partition_iterator_release
		esp_partition_mmap
		esp_partition_next
		esp_partition_read
		esp_partition_write
	Virtual File System
		esp_vfs_dev_uart_register
		esp_vfs_dev_uart_set_rx_line_endings
		esp_vfs_dev_uart_set_tx_line_endings
		esp_vfs_dev_uart_use_nonblocking
		esp_vfs_dev_uart_use_driver
		esp_vfs_spiffs_register
		esp_vfs_spiffs_unregister
		esp_vfs_register
	FatFs file system
		esp_vfs_fat_register
		esp_vfs_fat_sdmmc_mount
		esp_vfs_fat_sdmmc_unmount
		esp_vfs_fat_spiflash_mount
		esp_vfs_fat_spiflash_unmount
		esp_vfs_fat_unregister
		esp_vfs_fat_unregister_path
		f_mount
		ff_diskio_register
	SPI Flash
		spi_flash_erase_range
		spi_flash_erase_sector
		spi_flash_get_chip_size
		spi_flash_get_counters
		spi_flash_init
		spi_flash_mmap
		spi_flash_mmap_dump
		spi_flash_munmap
		spi_flash_read
		spi_flash_reset_counters
		spi_flash_write
	SDMMC
		sdmmc_card_init
		sdmmc_card_print_info
		sdmmc_host_deinit
		sdmmc_host_do_transaction
		sdmmc_host_init
		sdmmc_host_init_slot
		sdmmc_host_set_bus_width
		sdmmc_host_set_card_clk
		sdmmc_io_enable_int
		sdmmc_io_read_blocks
		sdmmc_io_read_byte
		sdmmc_io_read_bytes
		sdmmc_io_wait_int
		sdmmc_io_write_blocks
		sdmmc_io_write_byte
		sdmmc_io_write_bytes
		sdmmc_read_sectors
		sdmmc_write_sectors
	HTTP Client
		esp_http_client_cleanup
		esp_http_client_close
		esp_http_client_delete_header
		esp_http_client_fetch_headers
		esp_http_client_get_content_length
		esp_http_client_get_post_field
		esp_http_client_get_status_code
		esp_http_client_init
		esp_http_client_is_chunked_response
		esp_http_client_open
		esp_http_client_perform
		esp_http_client_read
		esp_http_client_set_header
		esp_http_client_set_method
		esp_http_client_set_post_field
		esp_http_client_set_url
		esp_http_client_write
	HTTP Server
		httpd_query_key_value
		httpd_queue_work
		httpd_register_uri_handler
		httpd_req_get_hdr_value_len
		httpd_req_get_hdr_value_str
		httpd_req_get_url_query_len
		httpd_req_get_url_query_str
		httpd_req_recv
		httpd_req_to_sockfd
		httpd_resp_send
		httpd_resp_send_404
		httpd_resp_send_chunk
		httpd_resp_set_hdr
		httpd_resp_set_status
		httpd_resp_set_type
		httpd_send
		httpd_sess_get_ctx
		httpd_sess_update_timestamp
		httpd_set_recv_override
		httpd_set_send_override
		httpd_start
		httpd_stop
		httpd_trigger_sess_close
		httpd_unregister_uri_handler
		httpd_unregister_uri
	Cryptography
		base64_decode
		base64_encode
		esp_sha
		esp_sha_block
		esp_sha_lock_engine
		esp_sha_lock_memory_block
		esp_sha_read_digest_state
		esp_sha_try_lock_engine
		esp_sha_unlock_engine
		esp_sha_wait_idle
	Hash processing
		crc32_le
		crc32_be
		crc16_le
		crc16_be
		crc8_le
		crc8_be
	Hardware Timers
		timer_disable_intr
		timer_enable_intr
		timer_get_alarm_value
		timer_get_config
		timer_get_counter_time_sec
		timer_get_counter_value
		timer_group_intr_enable
		timer_group_intr_disable
		timer_isr_register
		timer_init
		timer_pause
		timer_set_counter_value
		timer_start
		timer_set_alarm
		timer_set_alarm_value
		timer_set_auto_reload
		timer_set_counter_mode
		timer_set_divider
	Pthreads
		esp_pthread_get_cfg
		esp_pthread_init
		esp_pthread_set_cfg
		pthread_cancel
		pthread_create
		pthread_cond_broadcast
		pthread_cond_destroy
		pthread_cond_init
		pthread_cond_signal
		pthread_cond_timedwait
		pthread_cond_wait
		pthread_condattr_init
		pthread_detach
		pthread_equal
		pthread_getspecific
		pthread_join
		pthread_key_create
		pthread_key_delete
		pthread_once
		pthread_mutex_destroy
		pthread_mutex_init
		pthread_mutexattr_destroy
		pthread_mutexattr_gettype
		pthread_mutexattr_init
		pthread_mutexattr_settype
		pthread_mutex_lock
		pthread_mutex_trylock
		pthread_mutex_unlock
		pthread_self
		pthread_setspecific
		sched_yield
	Watchdog processing
		esp_int_wdt_init
		esp_task_wdt_add
		esp_task_wdt_deinit
		esp_task_wdt_delete
		esp_task_wdt_feed – DEPRECATED
		esp_task_wdt_init
		esp_task_wdt_reset
		esp_task_wdt_status
	Heap management
		heap_trace_record_t
		heap_caps_add_region
		heap_caps_add_region_with_caps
		heap_caps_calloc
		heap_caps_calloc_prefer
		heap_caps_check_integrity
		heap_caps_check_integrity_addr
		heap_caps_check_integrity_all
		heap_caps_dump
		heap_caps_dump_all
		heap_caps_enable_nonos_stack_heaps
		heap_caps_free
		heap_caps_get_free_size
		heap_caps_get_minimum_free_size
		heap_caps_get_largest_free_block
		heap_caps_get_info
		heap_caps_init
		heap_caps_malloc
		heap_caps_malloc_extmem_enable
		heap_caps_malloc_prefer
		heap_caps_print_heap_info
		heap_caps_realloc
		heap_caps_realloc_prefer
		heap_trace_dump
		heap_trace_get
		heap_trace_get_count
		heap_trace_init_standalone
		heap_trace_resume
		heap_trace_start
		heap_trace_stop
	ULP Co-processor
		RTC_SLOW_MEM
		ulp_process_macros_and_load
		ulp_load_binary
		ulp_run
		ulp_set_wakeup_period
	AWS-IoT
		IoT_Error_t
		aws_iot_is_autoreconnect_enabled
		aws_iot_mqtt_attempt_reconnect
		aws_iot_mqtt_autoreconnect_set_status
		aws_iot_mqtt_connect
		aws_iot_mqtt_disconnect
		aws_iot_mqtt_get_client_state
		aws_iot_mqtt_get_network_disconnected_count
		aws_iot_mqtt_get_next_packet_id
		aws_iot_mqtt_init
		aws_iot_mqtt_is_client_connected
		aws_iot_mqtt_publish
		aws_iot_mqtt_reset_network_disconnected_count
		aws_iot_mqtt_resubscribe
		aws_iot_mqtt_set_connect_params
		aws_iot_mqtt_set_disconnect_handler
		aws_iot_mqtt_subscribe
		aws_iot_mqtt_unsubscribe
		aws_iot_mqtt_yield
	Console
		esp_console_cmd_register
		esp_console_deinit
		esp_console_get_completion
		esp_console_get_hint
		esp_console_init
		esp_console_register_help_command
		esp_console_run
		esp_console_split_argv
	linenoise
		linenoise
		linenoiseAddCompletion
		linenoiseClearScreen
		linenoiseFree
		linenoiseHistoryAdd
		linenoiseHistorySetMaxLen
		linenoiseHistorySave
		linenoiseHistoryLoad
		linenoiseSetCompletionCallback
		linenoiseSetFreeHintsCallback
		linenoiseSetHintsCallback
		linenoiseSetMultiLine
		linenoisePrintKeyCodes
	argtable
		arg_lit0
		arg_lit1
		arg_litn
		arg_key0
		arg_key1
		arg_keyn
		arg_int0
		arg_int1
		arg_intn
		arg_dbl0
		arg_dbl1
		arg_dbln
		arg_str0
		arg_str1
		arg_strn
		arg_rex0
		arg_rex1
		arg_rexn
		arg_file0
		arg_file1
		arg_filen
		arg_date0
		arg_date1
		arg_daten
		arg_end
		arg_nullcheck
		arg_parse
		arg_print_option
		arg_print_syntax
		arg_print_syntaxv
		arg_print_glossary
		arg_print_glossary_gnu
		arg_print_errors
		arg_free
		arg_freetable
		arg_print_formatted
	JSON processing
	HTTP/2 processing
	Parsing XML – expat
	Miniz
		mz_free
		mz_adler32
		mz_crc32
		mz_version
		mz_deflateInit
		mz_deflateInit2
		mz_deflateReset
		mz_deflate
		mz_deflateEnd
		mz_deflateBound
		mz_compressBound
		mz_inflateInit
		mz_inflateInit2
		mz_inflateEnd
		mz_uncompress
		mz_error
		mz_zip_reader_init
		mz_zip_reader_init_mem
		mz_zip_reader_get_num_files
		mz_zip_reader_file_stat
		mz_zip_reader_is_file_a_directory
		mz_zip_reader_is_file_encrypted
		mz_zip_reader_get_filename
		mz_zip_reader_locate_file
		mz_zip_reader_extract_to_mem_no_alloc
		mz_zip_reader_extract_file_to_mem_no_alloc
		mz_zip_reader_extract_to_mem
		mz_zip_reader_extract_file_to_mem
		mz_zip_reader_extract_to_heap
		mz_zip_reader_extract_file_to_heap
		mz_zip_reader_extract_to_callback
		mz_zip_reader_extract_file_to_callback
		mz_zip_reader_extract_to_file
		mz_zip_reader_extract_file_to_file
		mz_zip_reader_end
		mz_zip_writer_init
		mz_zip_writer_init_heap
		mz_zip_writer_init_file
		mz_zip_writer_init_from_reader
		mz_zip_writer_add_mem
		mz_zip_writer_add_mem_ex
		mz_zip_writer_add_file
		mz_zip_writer_add_from_zip_reader
		mz_zip_writer_finalize_archive
		mz_zip_writer_finalize_heap_archive
		mz_zip_writer_end
		mz_zip_add_mem_to_archive_file_in_place
		mz_zip_extract_archive_file_to_heap
		tinfl_decompress
		tinfl_decompress_mem_to_heap
		tinfl_decompress_mem_to_mem
		tinfl_decompress_mem_to_callback
		tinfl_init
		tinfl_get_adler32
		tdefl_compress_mem_to_heap
		tdefl_compress_mem_to_mem
		tdefl_write_image_to_png_file_in_memory_ex
		tdefl_write_image_to_png_file_in_memory
		tdefl_compress_mem_to_output
		tdefl_init
		tdefl_compress
		tdefl_compress_buffer
		tdefl_get_prev_return_status
		tdefl_get_adler32
		tdefl_create_comp_flags_from_zip_params
	Arduino – ESP32 HAL for UART
		uartAvailable
		uartBegin
		uartEnd
		uartFlush
		uartGetBaudRate
		uartGetDebug
		uartPeek
		uartRead
		uartSetBaudRate
		uartSetDebug
		uartWrite
		uartWriteBuf
	Arduino – ESP32 HAL for I2C
		i2cAttachSCL
		i2cAttachSDA
		i2cDetachSCL
		i2cDetachSDA
		i2cGetFrequency
		i2cInit
		i2cRead
		i2cSetFrequency
		i2cWrite
	Arduino – ESP32 HAL for SPI
		spiAttachMISO
		spiAttachMOSI
		spiAttachSCK
		spiAttachSS
		spiClockDivToFrequency
		spiDetachMISO
		spiDetachMOSI
		spiDetachSCK
		spiDetachSS
		spiDisableSSPins
		spiEnableSSPins
		spiFrequencyToClockDiv
		spiGetBitOrder
		spiGetClockDiv
		spiGetDataMode
		spiRead
		spiReadByte
		spiReadLong
		spiReadWord
		spiSetBitOrder
		spiSetClockDiv
		spiSetDataMode
		spiSSClear
		spiSSDisable
		spiSSEnable
		spiSSSet
		spiStartBus
		spiStopBus
		spiTransferBits
		spiTransferBytes
		spiWaitReady
		spiWrite
		spiWriteByte
		spiWriteLong
		spiWriteWord
	Newlib
		abort
		abs
		asctime
		atoi
		atol
		bzero
		calloc
		check_pos
		close
		closedir
		creat
		ctime
		div
		environ
		fclose
		fflush
		fmemopen
		fprintf
		fread
		free
		fscanf
		fseek
		fstat
		fwrite
		gettimeofday
		gmtime
		isalnum
		isalpha
		isascii
		isblank
		isdigit
		islower
		isprint
		ispunct
		isspace
		isupper
		itoa
		labs
		ldiv
		localtime
		lseek
		malloc
		memchr
		memcmp
		memcpy
		memmove
		memrchr
		memset
		mkdir
		mktime
		open
		open_memstream
		opendir
		printf
		qsort
		rand
		read
		readdir
		realloc
		rewinddir
		scanf
		seekdir
		setenv
		setlocale
		settimeofday
		sprintf
		srand
		sscanf
		stat
		strcasecmp
		strcasestr
		strcat
		strchr
		strcmp
		strcoll
		strcpy
		strcspn
		strdup
		strerror
		strftime
		strlcat
		strlcpy
		strlen
		strncasecmp
		strncat
		strncmp
		strncpy
		strndup
		strnlen
		strrchr
		strsep
		strspn
		strstr
		strtod
		strtof
		strtol
		strtoul
		strupr
		telldir
		time
		times
		toascii
		tolower
		toupper
		tzset
		ungetc
		unlink
		utoa
		vprintf
		vscanf
		write
	SPIFFs API
		esp_spiffs_format
		esp_spiffs_info
		esp_spiffs_mounted
		SPIFFS_check
		SPIFFS_clearerr
		SPIFFS_close
		SPIFFS_closedir
		SPIFFS_creat
		SPIFFS_eof
		SPIFFS_errno
		SPIFFS_fflush
		SPIFFS_format
		SPIFFS_fremove
		SPIFFS_fstat
		SPIFFS_gc
		SPIFFS_gc_quick
		SPIFFS_info
		SPIFFS_lseek
		SPIFFS_mount
		SPIFFS_mounted
		SPIFFS_open
		SPIFFS_open_by_dirent
		SPIFFS_open_by_page
		SPIFFS_opendir
		SPIFFS_read
		SPIFFS_readdir
		SPIFFS_remove
		SPIFFS_rename
		SPIFFS_stat
		SPIFFS_tell
		SPIFFS_unmount
		SPIFFS_write
	Eclipse Paho – MQTT Embedded C
		MQTTClientInit
		MQTTConnect
		MQTTDisconnect
		MQTTPublish
		MQTTRun
		MQTTSubscribe
		MQTTUnsubscribe
		MQTTYield
		NetworkConnect
	Arduino ESP32 Libraries
		Arduino WiFi library
			WiFi.begin
			WiFi.beingSmartConfig
			WiFi.beginWPSConfig
			WiFi.BSSID
			WiFi.BSSIDstr
			WiFi.channel
			WiFi.config
			WiFi.disconnect
			WiFi.dnsIP
			WiFi.enableAP
			WiFi.enableSTA
			WiFi.encryptionType
			WiFi.gatewayIP
			WiFi.getAutoConnect
			WiFi.getMode
			WiFi.getNetworkInfo
			WiFi.hostByName
			WiFi.hostname
			WiFi.isConnected
			WiFi.isHidden
			WiFi.localIP
			WiFi.macAddress
			WiFi.mode
			Wifi.persistent
			WiFi.printDiag
			WiFi.psk
			WiFi.RSSI
			WiFi.scanComplete
			WiFi.scanDelete
			WiFi.scanNetworks
			WiFi.setAutoConnect
			WiFi.setAutoReconnect
			WiFi.smartConfigDone
			WiFi.softAP
			WiFi.softAPConfig
			WiFi.softAPdisconnect
			WiFi.softAPmacAddress
			WiFi.softAPIP
			WiFi.SSID
			WiFi.status
			WiFi.stopSmartConfig
			WiFi.subnetMask
			WiFi.waitForConnectResult
		Arduino WiFiClient
			WiFiClient
			WiFiClient.available
			WiFiClient.connect
			WiFiClient.connected
			WiFiClient.flush
			WiFiClient.getNoDelay
			WiFiClient.peek
			WiFiClient.read
			WiFiClient.remoteIP
			WiFiClient.remotePort
			WiFiClient.setLocalPortStart
			WiFiClient.setNoDelay
			WiFiClient.setOption
			WiFiClient.status
			WiFiClient.stop
			WiFiClient.stopAll
			WiFiClient.write
		Arduino WiFiServer
			WiFiServer
			WiFiServer.available
			WiFiServer.begin
			WiFiServer.getNoDelay
			WiFiServer.hasClient
			WiFiServer.setNoDelay
			WiFiServer.status
			WiFiServer.write
		Arduino IPAddress
		Arduino SPI
			SPI.begin
			SPI.beginTransaction
			SPI.end
			SPI.endTransaction
			SPI.setBitOrder
			SPI.setClockDivider
			SPI.setDataMode
			SPI.setFrequency
			SPI.setHwC
			SPI.transfer
			SPI.transfer16
			SPI.transfer32
			SPI.transferBytes
			SPI.transferBits
			SPI.write
			SPI.wirite16
			SPI.write32
			SPI.writeBytes
			SPI.writePattern
		Arduino I2C – Wire
			Wire.available
			Wire.begin
			Wire.beginTransmission
			Wire.endTransmission
			Wire.flush
			Wire.onReceive
			Wire.onReceiveService
			Wire.onRequest
			Wire.onRequestService
			Wire.peek
			Wire.pins
			Wire.read
			Wire.requestFrom
			Wire.setClock
			Wire.write
		Arduino Ticker library
			Ticker
			attach
			attach_ms
			detach
			once
			once_ms
		Arduino EEPROM library
			EEPROM.begin
			EEPROM.commit
			EEPROM.end
			EEPROM.get
			EEPROM.getDataPtr
			EEPROM.put
			EEPROM.read
			EEPROM.write
		Arduino SPIFFS
			SPIFFS.begin
			SPIFFS.open
			SPIFFS.openDir
			SPIFFS.remove
			SPIFFS.rename
			File.available
			File.close
			File.flush
			File.name
			File.peek
			File.position
			File.read
			File.seek
			File.size
			File.write
			Dir.fileName
			Dir.next
			Dir.open
			Dir.openDir
			Dir.remove
			Dir.rename
		Arduino ESP library
			ESP.eraseConfig
			ESP.getChipId
			ESP.getCpuFreqMHz
			ESP.getCycleCount
			ESP.getFlashChipMode
			ESP.getFlashChipSize
			ESP.getFlashChipSpeed
			ESP.getFreeHeap
			ESP.getOption
			ESP.getSdkVersion
			ESP.flashEraseSector
			ESP.flashRead
			ESP.flashWrite
			ESP.magicFlashChipSize
			ESP.magicFlashChipSpeed
			ESP.restart
		Arduino String library
			Constructor
			String.c_str
			String.reserve
			String.length
			String.concat
			String.equalsIgnoreCase
			String.startsWith
			String.endsWith
			String.charAt
			String.setCharAt
			String.getBytes
			String toCharArray
			String.indexOf
			String.lastIndexOf
			String.substring
			String.replace
			String.remove
			String.toLowerCase
			String.toUpperCase
			String.trim
			String.toInt
			String.toFloat
Reference materials
	Internal structure of compiled code
		Using size
		Using objdump
		Using objcopy
		Using nm
		Linking
			Linker scripts
			Weak linkage
			Memory Map
	Dynamic linking
		Section garbage collection
		C++ class initialization
	The Bootloader
	Runtime memory
		Cache memory processing
		MMU processing
	C++ Programming
		Eclipse configuration
		Simple class definition
		Mixing C and C++
		Including stdc++ in your app
		C++ Specialized Data types
			String
			List
			Map
			Queue
			Stack
			Vector
		Lambda functions
		Designated initializers not available in C++
		Ignoring warnings
		File I/O in C++
		The Factory pattern
		Logging pre-defined symbols
	The ESP-IDF C++ class libraries
		GPIO interactions
		WiFi
		Task management
		Socket programming
		Socket Server
		HttpServer
			WebSocket
			WebSocket File Transfer
			Performance
		FTP Server
		C++ I2C Interaction
		SPI Interaction
		Pulse Width Modulation – PWM
		Bluetooth BLE
			A BLE Server
			A BLE Client
		Non Volatile Storage
		FAT FS
		Working with JSON
	POSIX file system APIs
	Documenting your code – Doxygen
	Creating a build environment on the Raspberry Pi 3
	Using Microsoft Visual Studio Code for development
		Debugging with Visual Studio Code
	Windows Subsystem for Linux – WSL
	Makefiles
		The component.mk settings
		CMake
	The ESPTOOL protocol
		0x02 – FLASH_BEGIN
		0x03 – FLASH_DATA
		0x04 – FLASH_END
		0x05 – MEM_BEGIN
		0x06 – MEM_END command
		0x07 – MEM_DATA command
		0x08 – SYNC command
		0x09 – WRITE_REG
		0x0A – READ_REG
		0x0B – SPI_SET_PARAMS
		0x0D – SPI_ATTACH
		0x0F – CHANGE_BAUDRATE
		0x10 - FLASH_DEFL_BEGIN
		0x11 - FLASH_DEFL_DATA
		0x12 - FLASH_DEFL_END
		0x13 – SPI_FLASH_MD5
		0xD0 – ERASE_FLASH
		0xD1 – ERASE_REGION
		0xD2 – READ_FLASH
		0xD3 – RUN_USER_CODE
		The flasher_stub
		Using Node-JS for an esptool
		Esptool and SPI flash
	Forums
	Reference documents
	Github
		Github quick cheats
Installing Ubuntu on VirtualBox
Single board computer comparisons
Areas to Research




نظرات کاربران