├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── Bug_report.md │ ├── Feature_request.md │ └── config.yml ├── PULL_REQUEST_TEMPLATE.md ├── config.yml ├── issue-close-app.yml ├── stale.yml └── workflows │ ├── CI_github.yml │ └── CI_github_ESP32.yml ├── .gitignore ├── .gitpod.yml ├── .travis.yml.off ├── API.md ├── BUILDS.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Doxyfile ├── I2CDEVICES.md ├── LICENSE.txt ├── LittleFSBuilder.py ├── MODULES.md ├── README.md ├── README_Tasmota.md ├── RELEASENOTES.md ├── TEMPLATES.md ├── api └── upload-arduino.php ├── arduino ├── espupload.py └── version 2.7.1 │ ├── boards.txt │ └── platform.txt ├── data ├── cc2530_c.bin ├── cc2530_r.bin └── script.txt ├── esp32_partition_app1984k_spiffs64k.csv ├── include └── dummy.txt ├── lib ├── A4988_Stepper │ ├── README.adoc │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── A4988_Stepper.cpp │ │ └── A4988_Stepper.h ├── AT24C256 │ ├── Eeprom24C128_256.cpp │ └── Eeprom24C128_256.h ├── Adafruit-GFX-Library-1.5.6-gemu-1.0 │ ├── .gitignore │ ├── .travis.yml │ ├── Adafruit_GFX.cpp │ ├── Adafruit_GFX.h │ ├── Adafruit_SPITFT.cpp │ ├── Adafruit_SPITFT.h │ ├── Adafruit_SPITFT_Macros.h │ ├── Fonts │ │ ├── FreeMono12pt7b.h │ │ ├── FreeMono18pt7b.h │ │ ├── FreeMono24pt7b.h │ │ ├── FreeMono9pt7b.h │ │ ├── FreeMonoBold12pt7b.h │ │ ├── FreeMonoBold18pt7b.h │ │ ├── FreeMonoBold24pt7b.h │ │ ├── FreeMonoBold9pt7b.h │ │ ├── FreeMonoBoldOblique12pt7b.h │ │ ├── FreeMonoBoldOblique18pt7b.h │ │ ├── FreeMonoBoldOblique24pt7b.h │ │ ├── FreeMonoBoldOblique9pt7b.h │ │ ├── FreeMonoOblique12pt7b.h │ │ ├── FreeMonoOblique18pt7b.h │ │ ├── FreeMonoOblique24pt7b.h │ │ ├── FreeMonoOblique9pt7b.h │ │ ├── FreeSans12pt7b.h │ │ ├── FreeSans18pt7b.h │ │ ├── FreeSans24pt7b.h │ │ ├── FreeSans9pt7b.h │ │ ├── FreeSansBold12pt7b.h │ │ ├── FreeSansBold18pt7b.h │ │ ├── FreeSansBold24pt7b.h │ │ ├── FreeSansBold9pt7b.h │ │ ├── FreeSansBoldOblique12pt7b.h │ │ ├── FreeSansBoldOblique18pt7b.h │ │ ├── FreeSansBoldOblique24pt7b.h │ │ ├── FreeSansBoldOblique9pt7b.h │ │ ├── FreeSansOblique12pt7b.h │ │ ├── FreeSansOblique18pt7b.h │ │ ├── FreeSansOblique24pt7b.h │ │ ├── FreeSansOblique9pt7b.h │ │ ├── FreeSerif12pt7b.h │ │ ├── FreeSerif18pt7b.h │ │ ├── FreeSerif24pt7b.h │ │ ├── FreeSerif9pt7b.h │ │ ├── FreeSerifBold12pt7b.h │ │ ├── FreeSerifBold18pt7b.h │ │ ├── FreeSerifBold24pt7b.h │ │ ├── FreeSerifBold9pt7b.h │ │ ├── FreeSerifBoldItalic12pt7b.h │ │ ├── FreeSerifBoldItalic18pt7b.h │ │ ├── FreeSerifBoldItalic24pt7b.h │ │ ├── FreeSerifBoldItalic9pt7b.h │ │ ├── FreeSerifItalic12pt7b.h │ │ ├── FreeSerifItalic18pt7b.h │ │ ├── FreeSerifItalic24pt7b.h │ │ ├── FreeSerifItalic9pt7b.h │ │ ├── Org_01.h │ │ ├── Picopixel.h │ │ ├── Tiny3x3a2pt7b.h │ │ └── TomThumb.h │ ├── README.md │ ├── examples │ │ └── mock_ili9341 │ │ │ └── mock_ili9341.ino │ ├── fontconvert │ │ ├── Makefile │ │ ├── fontconvert.c │ │ ├── fontconvert_win.md │ │ └── makefonts.sh │ ├── gfxfont.h │ ├── glcdfont.c │ ├── library.properties │ └── license.txt ├── Adafruit_CCS811-1.0.0.14 │ ├── .travis.yml │ ├── Adafruit_CCS811.cpp │ ├── Adafruit_CCS811.h │ ├── LICENSE │ ├── README.md │ ├── examples │ │ ├── CCS811_OLED_Demo │ │ │ └── CCS811_OLED_Demo.ino │ │ └── CCS811_test │ │ │ └── CCS811_test.ino │ └── library.properties ├── Adafruit_ILI9341-1.2.0-Tasmota-1.0 │ ├── .github │ │ ├── ISSUE_TEMPLATE.md │ │ └── PULL_REQUEST_TEMPLATE.md │ ├── .gitignore │ ├── .travis.yml │ ├── Adafruit_ILI9341.cpp │ ├── Adafruit_ILI9341.h │ ├── README.md │ ├── examples │ │ ├── breakouttouchpaint │ │ │ ├── .esp8266.test.skip │ │ │ └── breakouttouchpaint.ino │ │ ├── fulltest_featherwing │ │ │ ├── .mega2560.test.skip │ │ │ └── fulltest_featherwing.ino │ │ ├── graphicstest │ │ │ └── graphicstest.ino │ │ ├── graphicstest_featherwing │ │ │ ├── .mega2560.test.skip │ │ │ └── graphicstest_featherwing.ino │ │ ├── onoffbutton │ │ │ └── onoffbutton.ino │ │ ├── onoffbutton_breakout │ │ │ ├── .esp8266.test.skip │ │ │ └── onoffbutton_breakout.ino │ │ ├── pictureEmbed │ │ │ ├── dragon.h │ │ │ └── pictureEmbed.ino │ │ ├── spitftbitmap │ │ │ └── spitftbitmap.ino │ │ ├── touchpaint │ │ │ └── touchpaint.ino │ │ └── touchpaint_featherwing │ │ │ ├── .mega2560.test.skip │ │ │ └── touchpaint_featherwing.ino │ └── library.properties ├── Adafruit_LED_Backpack-1.1.6 │ ├── Adafruit_LEDBackpack.cpp │ ├── Adafruit_LEDBackpack.h │ ├── README.md │ ├── README.txt │ ├── examples │ │ ├── HT16K33 │ │ │ └── HT16K33.ino │ │ ├── bargraph24 │ │ │ └── bargraph24.ino │ │ ├── bicolor8x8 │ │ │ └── bicolor8x8.pde │ │ ├── clock_sevenseg_ds1307 │ │ │ └── clock_sevenseg_ds1307.ino │ │ ├── clock_sevenseg_gps │ │ │ └── clock_sevenseg_gps.ino │ │ ├── matrix16x8 │ │ │ └── matrix16x8.ino │ │ ├── matrix8x8 │ │ │ └── matrix8x8.ino │ │ ├── minimatrix16x8 │ │ │ └── minimatrix16x8.ino │ │ ├── quadalphanum │ │ │ └── quadalphanum.ino │ │ ├── quadalphanum_mini │ │ │ └── quadalphanum_mini.ino │ │ ├── roboface │ │ │ └── roboface.pde │ │ ├── sevenseg │ │ │ └── sevenseg.ino │ │ └── wavface │ │ │ ├── wavface.pde │ │ │ └── wavs │ │ │ ├── beware_i.wav │ │ │ ├── ihunger.wav │ │ │ └── run_cowd.wav │ ├── library.properties │ └── license.txt ├── Adafruit_MAX31865-1.1.0-custom │ ├── Adafruit_MAX31865.cpp │ ├── Adafruit_MAX31865.h │ ├── README.md │ ├── README.txt │ ├── examples │ │ └── max31865 │ │ │ └── max31865.ino │ └── library.properties ├── Adafruit_SGP30-1.0.3 │ ├── .github │ │ ├── ISSUE_TEMPLATE.md │ │ └── PULL_REQUEST_TEMPLATE.md │ ├── .gitignore │ ├── .travis.yml │ ├── Adafruit_SGP30.cpp │ ├── Adafruit_SGP30.h │ ├── README.md │ ├── examples │ │ └── sgp30test │ │ │ └── sgp30test.ino │ ├── library.properties │ └── license.txt ├── Adafruit_SH1106-gemu-1.0 │ ├── Adafruit_SH1106.cpp │ ├── Adafruit_SH1106.h │ ├── LICENSE.txt │ ├── README.md │ └── examples │ │ ├── sh1106_128x64_i2c │ │ └── sh1106_128x64_i2c.ino │ │ └── sh1106_128x64_spi │ │ └── sh1106_128x64_spi.ino ├── Adafruit_SSD1306-1.3.0-gemu-1.1 │ ├── .github │ │ ├── ISSUE_TEMPLATE.md │ │ └── PULL_REQUEST_TEMPLATE.md │ ├── .gitignore │ ├── .travis.yml │ ├── Adafruit_SSD1306.cpp │ ├── Adafruit_SSD1306.h │ ├── README.md │ ├── examples │ │ ├── OLED_featherwing │ │ │ └── OLED_featherwing.ino │ │ ├── ssd1306_128x32_i2c │ │ │ └── ssd1306_128x32_i2c.ino │ │ ├── ssd1306_128x32_spi │ │ │ └── ssd1306_128x32_spi.ino │ │ ├── ssd1306_128x64_i2c │ │ │ └── ssd1306_128x64_i2c.ino │ │ └── ssd1306_128x64_spi │ │ │ └── ssd1306_128x64_spi.ino │ ├── library.properties │ ├── license.txt │ └── splash.h ├── Adafruit_SSD1351-gemu-1.0 │ ├── README.md │ ├── SSD1351.cpp │ ├── SSD1351.h │ ├── Tiger.c │ ├── Tiger.rgb │ ├── keywords.txt │ ├── library.properties │ └── spi_register.h ├── Adafruit_TSL2591_Library │ ├── Adafruit_TSL2591.cpp │ └── Adafruit_TSL2591.h ├── ArduinoJson-5.13.4 │ ├── ArduinoJson.h │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── README.md │ ├── examples │ │ ├── JsonConfigFile │ │ │ └── JsonConfigFile.ino │ │ ├── JsonGeneratorExample │ │ │ └── JsonGeneratorExample.ino │ │ ├── JsonHttpClient │ │ │ └── JsonHttpClient.ino │ │ ├── JsonParserExample │ │ │ └── JsonParserExample.ino │ │ ├── JsonServer │ │ │ └── JsonServer.ino │ │ ├── JsonUdpBeacon │ │ │ └── JsonUdpBeacon.ino │ │ ├── ProgmemExample │ │ │ └── ProgmemExample.ino │ │ └── StringExample │ │ │ └── StringExample.ino │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── ArduinoJson.h │ │ ├── ArduinoJson.hpp │ │ └── ArduinoJson │ │ ├── Configuration.hpp │ │ ├── Data │ │ ├── Encoding.hpp │ │ ├── JsonBufferAllocated.hpp │ │ ├── JsonFloat.hpp │ │ ├── JsonInteger.hpp │ │ ├── JsonVariantAs.hpp │ │ ├── JsonVariantContent.hpp │ │ ├── JsonVariantDefault.hpp │ │ ├── JsonVariantType.hpp │ │ ├── List.hpp │ │ ├── ListConstIterator.hpp │ │ ├── ListIterator.hpp │ │ ├── ListNode.hpp │ │ ├── NonCopyable.hpp │ │ ├── ReferenceType.hpp │ │ └── ValueSaver.hpp │ │ ├── Deserialization │ │ ├── Comments.hpp │ │ ├── JsonParser.hpp │ │ ├── JsonParserImpl.hpp │ │ └── StringWriter.hpp │ │ ├── DynamicJsonBuffer.hpp │ │ ├── JsonArray.hpp │ │ ├── JsonArrayImpl.hpp │ │ ├── JsonArraySubscript.hpp │ │ ├── JsonBuffer.hpp │ │ ├── JsonBufferBase.hpp │ │ ├── JsonBufferImpl.hpp │ │ ├── JsonObject.hpp │ │ ├── JsonObjectImpl.hpp │ │ ├── JsonObjectSubscript.hpp │ │ ├── JsonPair.hpp │ │ ├── JsonVariant.hpp │ │ ├── JsonVariantBase.hpp │ │ ├── JsonVariantCasts.hpp │ │ ├── JsonVariantComparisons.hpp │ │ ├── JsonVariantImpl.hpp │ │ ├── JsonVariantOr.hpp │ │ ├── JsonVariantSubscripts.hpp │ │ ├── Polyfills │ │ ├── attributes.hpp │ │ ├── ctype.hpp │ │ ├── isFloat.hpp │ │ ├── isInteger.hpp │ │ ├── math.hpp │ │ ├── parseFloat.hpp │ │ └── parseInteger.hpp │ │ ├── RawJson.hpp │ │ ├── Serialization │ │ ├── DummyPrint.hpp │ │ ├── DynamicStringBuilder.hpp │ │ ├── FloatParts.hpp │ │ ├── IndentedPrint.hpp │ │ ├── JsonPrintable.hpp │ │ ├── JsonSerializer.hpp │ │ ├── JsonSerializerImpl.hpp │ │ ├── JsonWriter.hpp │ │ ├── Prettyfier.hpp │ │ ├── StaticStringBuilder.hpp │ │ └── StreamPrintAdapter.hpp │ │ ├── StaticJsonBuffer.hpp │ │ ├── StringTraits │ │ ├── ArduinoStream.hpp │ │ ├── CharPointer.hpp │ │ ├── FlashString.hpp │ │ ├── StdStream.hpp │ │ ├── StdString.hpp │ │ └── StringTraits.hpp │ │ ├── TypeTraits │ │ ├── EnableIf.hpp │ │ ├── FloatTraits.hpp │ │ ├── IsArray.hpp │ │ ├── IsBaseOf.hpp │ │ ├── IsChar.hpp │ │ ├── IsConst.hpp │ │ ├── IsFloatingPoint.hpp │ │ ├── IsIntegral.hpp │ │ ├── IsSame.hpp │ │ ├── IsSignedIntegral.hpp │ │ ├── IsUnsignedIntegral.hpp │ │ ├── IsVariant.hpp │ │ ├── RemoveConst.hpp │ │ └── RemoveReference.hpp │ │ └── version.hpp ├── ArduinoNTPd │ ├── NTPPacket.cpp │ ├── NTPPacket.h │ ├── NTPServer.cpp │ └── NTPServer.h ├── BME680_driver-bme680_v3.5.9 │ ├── LICENSE │ ├── README.md │ ├── Self test │ │ ├── bme680_selftest.c │ │ └── bme680_selftest.h │ ├── bme680.c │ ├── bme680.h │ └── bme680_defs.h ├── C2Programmer-1.0.0 │ ├── README.md │ ├── keywords.txt │ ├── library.json │ ├── library.properties │ └── src │ │ ├── c2.cpp │ │ ├── c2.h │ │ ├── ihx.cpp │ │ └── ihx.h ├── FT6236-gemu-1.0 │ ├── FT6236.cpp │ └── FT6236.h ├── FrogmoreScd30 │ ├── FrogmoreScd30.cpp │ └── FrogmoreScd30.h ├── HPMA115S0 │ ├── LICENSE.md │ ├── README.md │ ├── example │ │ └── example.ino │ ├── library.properties │ └── src │ │ ├── hpma115S0.cpp │ │ └── hpma115S0.h ├── I2Cdevlib-Core │ ├── .library.json │ ├── I2Cdev.cpp │ ├── I2Cdev.h │ ├── keywords.txt │ └── library.json ├── I2Cdevlib-MPU6050 │ ├── Examples │ │ ├── MPU6050_DMP6 │ │ │ ├── MPU6050_DMP6.ino │ │ │ └── Processing │ │ │ │ └── MPUTeapot │ │ │ │ └── MPUTeapot.pde │ │ └── MPU6050_raw │ │ │ └── MPU6050_raw.ino │ ├── MPU6050.cpp │ ├── MPU6050.h │ ├── MPU6050_6Axis_MotionApps20.h │ ├── MPU6050_9Axis_MotionApps41.h │ └── helper_3dmath.h ├── IRremoteESP8266-2.7.6 │ ├── CPPLINT.cfg │ ├── LICENSE.txt │ ├── README.md │ ├── README_fr.md │ ├── ReleaseNotes.md │ ├── SupportedProtocols.md │ ├── examples │ │ ├── CommonAcControl │ │ │ ├── CommonAcControl.ino │ │ │ └── platformio.ini │ │ ├── ControlSamsungAC │ │ │ ├── ControlSamsungAC.ino │ │ │ └── platformio.ini │ │ ├── DumbIRRepeater │ │ │ ├── DumbIRRepeater.ino │ │ │ └── platformio.ini │ │ ├── IRGCSendDemo │ │ │ ├── IRGCSendDemo.ino │ │ │ └── platformio.ini │ │ ├── IRGCTCPServer │ │ │ ├── IRGCTCPServer.ino │ │ │ └── platformio.ini │ │ ├── IRMQTTServer │ │ │ ├── IRMQTTServer.h │ │ │ ├── IRMQTTServer.ino │ │ │ └── platformio.ini │ │ ├── IRServer │ │ │ ├── IRServer.ino │ │ │ └── platformio.ini │ │ ├── IRrecvDemo │ │ │ ├── IRrecvDemo.ino │ │ │ └── platformio.ini │ │ ├── IRrecvDump │ │ │ ├── IRrecvDump.ino │ │ │ └── platformio.ini │ │ ├── IRrecvDumpV2 │ │ │ ├── IRrecvDumpV2.ino │ │ │ └── platformio.ini │ │ ├── IRsendDemo │ │ │ ├── IRsendDemo.ino │ │ │ └── platformio.ini │ │ ├── IRsendProntoDemo │ │ │ ├── IRsendProntoDemo.ino │ │ │ └── platformio.ini │ │ ├── JVCPanasonicSendDemo │ │ │ ├── JVCPanasonicSendDemo.ino │ │ │ └── platformio.ini │ │ ├── LGACSend │ │ │ ├── LGACSend.ino │ │ │ └── platformio.ini │ │ ├── SmartIRRepeater │ │ │ ├── SmartIRRepeater.ino │ │ │ └── platformio.ini │ │ ├── TurnOnArgoAC │ │ │ ├── TurnOnArgoAC.ino │ │ │ └── platformio.ini │ │ ├── TurnOnDaikinAC │ │ │ ├── TurnOnDaikinAC.ino │ │ │ └── platformio.ini │ │ ├── TurnOnFujitsuAC │ │ │ ├── TurnOnFujitsuAC.ino │ │ │ └── platformio.ini │ │ ├── TurnOnGreeAC │ │ │ ├── TurnOnGreeAC.ino │ │ │ └── platformio.ini │ │ ├── TurnOnKelvinatorAC │ │ │ ├── TurnOnKelvinatorAC.ino │ │ │ └── platformio.ini │ │ ├── TurnOnMitsubishiAC │ │ │ ├── TurnOnMitsubishiAC.ino │ │ │ └── platformio.ini │ │ ├── TurnOnMitsubishiHeavyAc │ │ │ ├── TurnOnMitsubishiHeavyAc.ino │ │ │ └── platformio.ini │ │ ├── TurnOnPanasonicAC │ │ │ ├── TurnOnPanasonicAC.ino │ │ │ └── platformio.ini │ │ ├── TurnOnToshibaAC │ │ │ ├── TurnOnToshibaAC.ino │ │ │ └── platformio.ini │ │ ├── TurnOnTrotecAC │ │ │ ├── TurnOnTrotecAC.ino │ │ │ └── platformio.ini │ │ └── Web-AC-control │ │ │ ├── README.md │ │ │ ├── Web-AC-control.ino │ │ │ ├── platformio.ini │ │ │ ├── printscreen.png │ │ │ └── upload │ │ │ ├── favicon.ico │ │ │ ├── level_1_off.svg │ │ │ ├── level_1_on.svg │ │ │ ├── level_2_off.svg │ │ │ ├── level_2_on.svg │ │ │ ├── level_3_off.svg │ │ │ ├── level_3_on.svg │ │ │ ├── level_4_off.svg │ │ │ ├── level_4_on.svg │ │ │ ├── ui.html │ │ │ └── ui.js │ ├── keywords.txt │ ├── library.json │ ├── library.properties │ ├── platformio.ini │ ├── pylintrc │ ├── src │ │ ├── CPPLINT.cfg │ │ ├── IRac.cpp │ │ ├── IRac.h │ │ ├── IRrecv.cpp │ │ ├── IRrecv.h │ │ ├── IRremoteESP8266.h │ │ ├── IRsend.cpp │ │ ├── IRsend.h │ │ ├── IRtext.cpp │ │ ├── IRtext.h │ │ ├── IRtimer.cpp │ │ ├── IRtimer.h │ │ ├── IRutils.cpp │ │ ├── IRutils.h │ │ ├── i18n.h │ │ ├── ir_Airwell.cpp │ │ ├── ir_Aiwa.cpp │ │ ├── ir_Amcor.cpp │ │ ├── ir_Amcor.h │ │ ├── ir_Argo.cpp │ │ ├── ir_Argo.h │ │ ├── ir_Carrier.cpp │ │ ├── ir_Coolix.cpp │ │ ├── ir_Coolix.h │ │ ├── ir_Daikin.cpp │ │ ├── ir_Daikin.h │ │ ├── ir_Denon.cpp │ │ ├── ir_Dish.cpp │ │ ├── ir_Electra.cpp │ │ ├── ir_Electra.h │ │ ├── ir_Epson.cpp │ │ ├── ir_Fujitsu.cpp │ │ ├── ir_Fujitsu.h │ │ ├── ir_GICable.cpp │ │ ├── ir_GlobalCache.cpp │ │ ├── ir_Goodweather.cpp │ │ ├── ir_Goodweather.h │ │ ├── ir_Gree.cpp │ │ ├── ir_Gree.h │ │ ├── ir_Haier.cpp │ │ ├── ir_Haier.h │ │ ├── ir_Hitachi.cpp │ │ ├── ir_Hitachi.h │ │ ├── ir_Inax.cpp │ │ ├── ir_JVC.cpp │ │ ├── ir_Kelvinator.cpp │ │ ├── ir_Kelvinator.h │ │ ├── ir_LG.cpp │ │ ├── ir_LG.h │ │ ├── ir_Lasertag.cpp │ │ ├── ir_Lego.cpp │ │ ├── ir_Lutron.cpp │ │ ├── ir_MWM.cpp │ │ ├── ir_Magiquest.cpp │ │ ├── ir_Magiquest.h │ │ ├── ir_Midea.cpp │ │ ├── ir_Midea.h │ │ ├── ir_Mitsubishi.cpp │ │ ├── ir_Mitsubishi.h │ │ ├── ir_MitsubishiHeavy.cpp │ │ ├── ir_MitsubishiHeavy.h │ │ ├── ir_NEC.cpp │ │ ├── ir_NEC.h │ │ ├── ir_Neoclima.cpp │ │ ├── ir_Neoclima.h │ │ ├── ir_Nikai.cpp │ │ ├── ir_Panasonic.cpp │ │ ├── ir_Panasonic.h │ │ ├── ir_Pioneer.cpp │ │ ├── ir_Pronto.cpp │ │ ├── ir_RC5_RC6.cpp │ │ ├── ir_RCMM.cpp │ │ ├── ir_Samsung.cpp │ │ ├── ir_Samsung.h │ │ ├── ir_Sanyo.cpp │ │ ├── ir_Sharp.cpp │ │ ├── ir_Sharp.h │ │ ├── ir_Sherwood.cpp │ │ ├── ir_Sony.cpp │ │ ├── ir_Symphony.cpp │ │ ├── ir_Tcl.cpp │ │ ├── ir_Tcl.h │ │ ├── ir_Teco.cpp │ │ ├── ir_Teco.h │ │ ├── ir_Toshiba.cpp │ │ ├── ir_Toshiba.h │ │ ├── ir_Trotec.cpp │ │ ├── ir_Trotec.h │ │ ├── ir_Vestel.cpp │ │ ├── ir_Vestel.h │ │ ├── ir_Whirlpool.cpp │ │ ├── ir_Whirlpool.h │ │ ├── ir_Whynter.cpp │ │ └── locale │ │ │ ├── README.md │ │ │ ├── de-CH.h │ │ │ ├── de-DE.h │ │ │ ├── defaults.h │ │ │ ├── en-AU.h │ │ │ ├── en-IE.h │ │ │ ├── en-UK.h │ │ │ ├── en-US.h │ │ │ ├── es-ES.h │ │ │ ├── fr-FR.h │ │ │ ├── it-IT.h │ │ │ └── zh-CN.h │ ├── test │ │ ├── IRac_test.cpp │ │ ├── IRrecv_test.cpp │ │ ├── IRrecv_test.h │ │ ├── IRsend_test.cpp │ │ ├── IRsend_test.h │ │ ├── IRutils_test.cpp │ │ ├── Makefile │ │ ├── ir_Airwell_test.cpp │ │ ├── ir_Aiwa_test.cpp │ │ ├── ir_Amcor_test.cpp │ │ ├── ir_Argo_test.cpp │ │ ├── ir_Carrier_test.cpp │ │ ├── ir_Coolix_test.cpp │ │ ├── ir_Daikin_test.cpp │ │ ├── ir_Denon_test.cpp │ │ ├── ir_Dish_test.cpp │ │ ├── ir_Electra_test.cpp │ │ ├── ir_Epson_test.cpp │ │ ├── ir_Fujitsu_test.cpp │ │ ├── ir_GICable_test.cpp │ │ ├── ir_GlobalCache_test.cpp │ │ ├── ir_Goodweather_test.cpp │ │ ├── ir_Gree_test.cpp │ │ ├── ir_Haier_test.cpp │ │ ├── ir_Hitachi_test.cpp │ │ ├── ir_Inax_test.cpp │ │ ├── ir_JVC_test.cpp │ │ ├── ir_Kelvinator_test.cpp │ │ ├── ir_LG_test.cpp │ │ ├── ir_Lasertag_test.cpp │ │ ├── ir_Lego_test.cpp │ │ ├── ir_Lutron_test.cpp │ │ ├── ir_MWM_test.cpp │ │ ├── ir_Magiquest_test.cpp │ │ ├── ir_Midea_test.cpp │ │ ├── ir_MitsubishiHeavy_test.cpp │ │ ├── ir_Mitsubishi_test.cpp │ │ ├── ir_NEC_test.cpp │ │ ├── ir_Neoclima_test.cpp │ │ ├── ir_Nikai_test.cpp │ │ ├── ir_Panasonic_test.cpp │ │ ├── ir_Pioneer_test.cpp │ │ ├── ir_Pronto_test.cpp │ │ ├── ir_RC5_RC6_test.cpp │ │ ├── ir_RCMM_test.cpp │ │ ├── ir_Samsung_test.cpp │ │ ├── ir_Sanyo_test.cpp │ │ ├── ir_Sharp_test.cpp │ │ ├── ir_Sherwood_test.cpp │ │ ├── ir_Sony_test.cpp │ │ ├── ir_Symphony_test.cpp │ │ ├── ir_Tcl_test.cpp │ │ ├── ir_Teco_test.cpp │ │ ├── ir_Toshiba_test.cpp │ │ ├── ir_Trotec_test.cpp │ │ ├── ir_Vestel_test.cpp │ │ ├── ir_Whirlpool_test.cpp │ │ └── ir_Whynter_test.cpp │ └── tools │ │ ├── Makefile │ │ ├── RawToGlobalCache.sh │ │ ├── auto_analyse_raw_data.py │ │ ├── auto_analyse_raw_data_test.py │ │ ├── gc_decode.cpp │ │ ├── generate_irtext_h.sh │ │ ├── mkkeywords │ │ ├── mode2_decode.cpp │ │ └── scrape_supported_devices.py ├── JaretBurkett_ILI9488-gemu-1.0 │ ├── ILI9488.cpp │ ├── ILI9488.h │ ├── README.md │ ├── examples │ │ └── graphicstest │ │ │ └── graphicstest.ino │ ├── keywords.txt │ ├── library.properties │ └── spi_register.h ├── Joba_Tsl2561-2.0.10 │ ├── .gitignore │ ├── .hgignore │ ├── .travis.yml │ ├── COPYING │ ├── COPYING.LESSER │ ├── README │ ├── examples │ │ ├── Autogain │ │ │ └── Autogain.ino │ │ ├── Simple │ │ │ └── Simple.ino │ │ ├── Testing │ │ │ └── Testing.ino │ │ ├── Utility │ │ │ └── Utility.ino │ │ ├── platformio.ini │ │ └── platformio.sh │ ├── lib │ │ └── readme.txt │ ├── library.json │ ├── library.properties │ ├── platformio.ini │ └── src │ │ ├── Tsl2561.cpp │ │ ├── Tsl2561.h │ │ ├── Tsl2561Util.cpp │ │ └── Tsl2561Util.h ├── KeeloqLib │ ├── README.md │ ├── keywords.txt │ ├── library.properties │ ├── src │ │ ├── KeeloqLib.cpp │ │ └── KeeloqLib.h │ └── tests │ │ └── KeeloqLibTest │ │ └── KeeloqLibTest.ino ├── LinkedList-1.2.3 │ ├── LICENSE.txt │ ├── LinkedList.h │ ├── README.md │ ├── examples │ │ ├── ClassList │ │ │ └── ClassList.pde │ │ └── SimpleIntegerList │ │ │ └── SimpleIntegerList.pde │ ├── keywords.txt │ ├── library.json │ └── library.properties ├── LiquidCrystal_I2C-1.1.3 │ ├── LiquidCrystal_I2C.cpp │ ├── LiquidCrystal_I2C.h │ ├── LiquidCrystal_I2C.o │ ├── README.md │ ├── examples │ │ ├── CustomChars │ │ │ └── CustomChars.pde │ │ ├── HelloWorld │ │ │ └── HelloWorld.pde │ │ └── SerialDisplay │ │ │ └── SerialDisplay.pde │ ├── keywords.txt │ ├── library.json │ └── library.properties ├── Mutichannel_Gas_Sensor │ ├── License.txt │ ├── README.md │ ├── examples │ │ ├── GetVersion │ │ │ └── GetVersion.ino │ │ ├── I2C_Address │ │ │ └── I2C_Address.ino │ │ ├── RawData │ │ │ └── RawData.ino │ │ ├── ReadSensorValue_Grove │ │ │ └── ReadSensorValue_Grove.ino │ │ ├── ReadSensorValue_Xadow │ │ │ └── ReadSensorValue_Xadow.ino │ │ ├── UpdateFrimware │ │ │ ├── UpdateFrimware.ino │ │ │ ├── bootloader_atmega168.h │ │ │ └── gpl.txt │ │ ├── calibration │ │ │ └── calibration.ino │ │ ├── factory_setting │ │ │ └── factory_setting.ino │ │ └── new_firmware │ │ │ └── new_firmware.ino │ ├── library.json │ ├── library.properties │ └── src │ │ ├── MutichannelGasSensor.cpp │ │ └── MutichannelGasSensor.h ├── NeoPixelBus-2.5.0.09 │ ├── .gitattributes │ ├── .github │ │ └── ISSUE_TEMPLATE │ │ │ ├── bug_report.md │ │ │ └── feature_request.md │ ├── .gitignore │ ├── COPYING │ ├── ReadMe.md │ ├── examples │ │ ├── DotStarTest │ │ │ └── DotStarTest.ino │ │ ├── NeoPixelBrightness │ │ │ └── NeoPixelBrightness.ino │ │ ├── NeoPixelGamma │ │ │ └── NeoPixelGamma.ino │ │ ├── NeoPixelTest │ │ │ └── NeoPixelTest.ino │ │ ├── animations │ │ │ ├── NeoPixelAnimation │ │ │ │ └── NeoPixelAnimation.ino │ │ │ ├── NeoPixelCylon │ │ │ │ └── NeoPixelCylon.ino │ │ │ ├── NeoPixelFunFadeInOut │ │ │ │ └── NeoPixelFunFadeInOut.ino │ │ │ ├── NeoPixelFunLoop │ │ │ │ └── NeoPixelFunLoop.ino │ │ │ ├── NeoPixelFunRandomChange │ │ │ │ └── NeoPixelFunRandomChange.ino │ │ │ └── NeoPixelRotateLoop │ │ │ │ └── NeoPixelRotateLoop.ino │ │ ├── bitmaps │ │ │ ├── NeoPixelBitmap │ │ │ │ ├── NeoPixelBitmap.ino │ │ │ │ ├── Strings.bmp │ │ │ │ └── StringsW.bmp │ │ │ ├── NeoPixelBufferCylon │ │ │ │ ├── Cylon.pdn │ │ │ │ ├── CylonGrb.h │ │ │ │ ├── CylonGrbw.h │ │ │ │ └── NeoPixelBufferCylon.ino │ │ │ ├── NeoPixelBufferShader │ │ │ │ └── NeoPixelBufferShader.ino │ │ │ └── NeoPixelDibTest │ │ │ │ └── NeoPixelDibTest.ino │ │ └── topologies │ │ │ ├── NeoPixelMosaicDump │ │ │ └── NeoPixelMosaicDump.ino │ │ │ ├── NeoPixelMosaicTest │ │ │ └── NeoPixelMosaicTest.ino │ │ │ ├── NeoPixelRingTopologyTest │ │ │ └── NeoPixelRingTopologyTest.ino │ │ │ ├── NeoPixelTilesDump │ │ │ └── NeoPixelTilesDump.ino │ │ │ ├── NeoPixelTilesTest │ │ │ └── NeoPixelTilesTest.ino │ │ │ ├── NeoPixelTopologyDump │ │ │ └── NeoPixelTopologyDump.ino │ │ │ └── NeoPixelTopologyTest │ │ │ └── NeoPixelTopologyTest.ino │ ├── extras │ │ └── curves │ │ │ ├── circular.png │ │ │ ├── cubic.png │ │ │ ├── different.png │ │ │ ├── exponential.png │ │ │ ├── gamma.png │ │ │ ├── pronounced.png │ │ │ ├── quadratic.png │ │ │ ├── quintic.png │ │ │ └── sinusoidal.png │ ├── keywords.txt │ ├── library.json │ ├── library.properties │ └── src │ │ ├── NeoPixelAnimator.h │ │ ├── NeoPixelBrightnessBus.h │ │ ├── NeoPixelBus.h │ │ └── internal │ │ ├── DotStarAvrMethod.h │ │ ├── DotStarColorFeatures.h │ │ ├── DotStarGenericMethod.h │ │ ├── DotStarSpiMethod.h │ │ ├── Esp32_i2s.c │ │ ├── Esp32_i2s.h │ │ ├── HsbColor.cpp │ │ ├── HsbColor.h │ │ ├── HslColor.cpp │ │ ├── HslColor.h │ │ ├── HtmlColor.cpp │ │ ├── HtmlColor.h │ │ ├── HtmlColorNameStrings.cpp │ │ ├── HtmlColorNameStrings.h │ │ ├── HtmlColorNames.cpp │ │ ├── HtmlColorShortNames.cpp │ │ ├── Layouts.h │ │ ├── NeoArmMethod.h │ │ ├── NeoAvrMethod.h │ │ ├── NeoBitmapFile.h │ │ ├── NeoBuffer.h │ │ ├── NeoBufferContext.h │ │ ├── NeoBufferMethods.h │ │ ├── NeoColorFeatures.h │ │ ├── NeoDib.h │ │ ├── NeoEase.h │ │ ├── NeoEsp32I2sMethod.h │ │ ├── NeoEsp32RmtMethod.h │ │ ├── NeoEsp8266DmaMethod.h │ │ ├── NeoEsp8266UartMethod.cpp │ │ ├── NeoEsp8266UartMethod.h │ │ ├── NeoEspBitBangMethod.h │ │ ├── NeoGamma.cpp │ │ ├── NeoGamma.h │ │ ├── NeoHueBlend.h │ │ ├── NeoMosaic.h │ │ ├── NeoPixelAnimator.cpp │ │ ├── NeoPixelAvr.c │ │ ├── NeoPixelEsp.c │ │ ├── NeoRingTopology.h │ │ ├── NeoSpriteSheet.h │ │ ├── NeoTiles.h │ │ ├── NeoTopology.h │ │ ├── RgbColor.cpp │ │ ├── RgbColor.h │ │ ├── RgbwColor.cpp │ │ └── RgbwColor.h ├── NewPing-1.9.1 │ ├── README.md │ ├── examples │ │ ├── NewPing15SensorsTimer │ │ │ └── NewPing15SensorsTimer.pde │ │ ├── NewPing3Sensors │ │ │ └── NewPing3Sensors.pde │ │ ├── NewPingEventTimer │ │ │ └── NewPingEventTimer.pde │ │ ├── NewPingExample │ │ │ └── NewPingExample.pde │ │ ├── NewPingTimerMedian │ │ │ └── NewPingTimerMedian.pde │ │ └── TimerExample │ │ │ └── TimerExample.pde │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── NewPing.cpp │ │ └── NewPing.h ├── OneWire-2.3.3.06 │ ├── OneWire.cpp │ ├── OneWire.h │ ├── examples │ │ ├── DS18x20_Temperature │ │ │ └── DS18x20_Temperature.pde │ │ ├── DS2408_Switch │ │ │ └── DS2408_Switch.pde │ │ └── DS250x_PROM │ │ │ └── DS250x_PROM.pde │ ├── keywords.txt │ ├── library.json │ └── library.properties ├── OpenTherm-0.9.0 │ ├── LICENSE │ ├── README.md │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── OpenTherm.cpp │ │ └── OpenTherm.h ├── PubSubClient-EspEasy-2.7.12 │ ├── .gitignore │ ├── .travis.yml │ ├── CHANGES.txt │ ├── LICENSE.txt │ ├── README.md │ ├── examples │ │ ├── mqtt_auth │ │ │ └── mqtt_auth.ino │ │ ├── mqtt_basic │ │ │ └── mqtt_basic.ino │ │ ├── mqtt_esp8266 │ │ │ └── mqtt_esp8266.ino │ │ ├── mqtt_large_message │ │ │ └── mqtt_large_message.ino │ │ ├── mqtt_publish_in_callback │ │ │ └── mqtt_publish_in_callback.ino │ │ ├── mqtt_reconnect_nonblocking │ │ │ └── mqtt_reconnect_nonblocking.ino │ │ └── mqtt_stream │ │ │ └── mqtt_stream.ino │ ├── keywords.txt │ ├── library.json │ ├── library.properties │ ├── src │ │ ├── PubSubClient.cpp │ │ └── PubSubClient.h │ └── tests │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── README.md │ │ ├── src │ │ ├── connect_spec.cpp │ │ ├── keepalive_spec.cpp │ │ ├── lib │ │ │ ├── Arduino.h │ │ │ ├── BDDTest.cpp │ │ │ ├── BDDTest.h │ │ │ ├── Buffer.cpp │ │ │ ├── Buffer.h │ │ │ ├── Client.h │ │ │ ├── IPAddress.cpp │ │ │ ├── IPAddress.h │ │ │ ├── Print.h │ │ │ ├── ShimClient.cpp │ │ │ ├── ShimClient.h │ │ │ ├── Stream.cpp │ │ │ ├── Stream.h │ │ │ └── trace.h │ │ ├── publish_spec.cpp │ │ ├── receive_spec.cpp │ │ └── subscribe_spec.cpp │ │ ├── testcases │ │ ├── __init__.py │ │ ├── mqtt_basic.py │ │ ├── mqtt_publish_in_callback.py │ │ └── settings.py │ │ └── testsuite.py ├── RF24 │ ├── .gitignore │ ├── CONTRIBUTING.md │ ├── Doxyfile │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── RF24.cpp │ ├── RF24.h │ ├── RF24_config.h │ ├── configure │ ├── doxygen-custom.css │ ├── examples │ │ ├── GettingStarted │ │ │ └── GettingStarted.ino │ │ ├── GettingStarted_CallResponse │ │ │ └── GettingStarted_CallResponse.ino │ │ ├── GettingStarted_HandlingData │ │ │ └── GettingStarted_HandlingData.ino │ │ ├── GettingStarted_HandlingFailures │ │ │ └── GettingStarted_HandlingFailures.ino │ │ ├── Transfer │ │ │ └── Transfer.ino │ │ ├── TransferTimeouts │ │ │ └── TransferTimeouts.ino │ │ ├── Usage │ │ │ ├── led_remote │ │ │ │ ├── Jamfile │ │ │ │ └── led_remote.pde │ │ │ ├── nordic_fob │ │ │ │ ├── Jamfile │ │ │ │ └── nordic_fob.pde │ │ │ ├── pingpair_maple │ │ │ │ ├── Jamfile │ │ │ │ ├── main.cpp │ │ │ │ └── pingpair_maple.pde │ │ │ └── readme.md │ │ ├── pingpair_ack │ │ │ └── pingpair_ack.ino │ │ ├── pingpair_dyn │ │ │ ├── Jamfile │ │ │ └── pingpair_dyn.ino │ │ ├── pingpair_irq │ │ │ └── pingpair_irq.ino │ │ ├── pingpair_irq_simple │ │ │ └── pingpair_irq_simple.ino │ │ ├── pingpair_multi_dyn │ │ │ ├── Jamfile │ │ │ └── pingpair_multi_dyn.ino │ │ ├── pingpair_sleepy │ │ │ └── pingpair_sleepy.ino │ │ ├── rf24_ATTiny │ │ │ ├── rf24ping85 │ │ │ │ └── rf24ping85.ino │ │ │ └── timingSearch3pin │ │ │ │ └── timingSearch3pin.ino │ │ ├── scanner │ │ │ ├── Jamfile │ │ │ └── scanner.ino │ │ └── starping │ │ │ ├── Jamfile │ │ │ └── starping.pde │ ├── examples_linux │ │ ├── Makefile.examples │ │ ├── extra │ │ │ ├── Makefile │ │ │ ├── rpi-hub.cpp │ │ │ └── scanner.cpp │ │ ├── gettingstarted.cpp │ │ ├── gettingstarted_call_response.cpp │ │ ├── interrupts │ │ │ ├── Makefile │ │ │ ├── gettingstarted_call_response_int.cpp │ │ │ ├── gettingstarted_call_response_int2.cpp │ │ │ ├── pingpair_dyn_int.cpp │ │ │ └── transfer_interrupt.cpp │ │ ├── pingpair_dyn.cpp │ │ ├── pingpair_dyn.py │ │ ├── readme.md │ │ └── transfer.cpp │ ├── keywords.txt │ ├── library.json │ ├── library.properties │ ├── nRF24L01.h │ ├── printf.h │ ├── pyRF24 │ │ ├── crossunixccompiler.py │ │ ├── pyRF24.cpp │ │ ├── pyRF24 │ │ │ ├── crossunixccompiler.py │ │ │ ├── pyRF24.cpp │ │ │ ├── readme.md │ │ │ └── setup.py │ │ ├── pyRF24Mesh │ │ │ ├── example_master.py │ │ │ ├── pyRF24Mesh.cpp │ │ │ └── setup.py │ │ ├── pyRF24Network │ │ │ ├── examples │ │ │ │ ├── helloworld_rx.py │ │ │ │ └── helloworld_tx.py │ │ │ ├── pyRF24Network.cpp │ │ │ └── setup.py │ │ ├── readme.md │ │ └── setup.py │ ├── tests │ │ ├── README │ │ ├── native │ │ │ ├── Jamfile │ │ │ ├── pingpair_irq.pde │ │ │ └── printf.h │ │ ├── pingpair_blocking │ │ │ ├── Jamfile │ │ │ ├── pingpair_blocking.pde │ │ │ ├── printf.h │ │ │ ├── runtest.py │ │ │ ├── runtests.sh │ │ │ └── test.ex │ │ └── pingpair_test │ │ │ ├── Jamfile │ │ │ ├── pingpair_test.pde │ │ │ ├── printf.h │ │ │ ├── runtest.py │ │ │ ├── runtests.sh │ │ │ └── test.ex │ ├── utility │ │ ├── ATTiny │ │ │ ├── RF24_arch_config.h │ │ │ └── spi.h │ │ ├── ATXMegaD3 │ │ │ ├── README.md │ │ │ ├── RF24_arch_config.h │ │ │ ├── compatibility.c │ │ │ ├── compatibility.h │ │ │ ├── gpio.cpp │ │ │ ├── gpio.h │ │ │ ├── gpio_helper.c │ │ │ ├── gpio_helper.h │ │ │ ├── includes.h │ │ │ ├── spi.cpp │ │ │ └── spi.h │ │ ├── Due │ │ │ └── RF24_arch_config.h │ │ ├── LittleWire │ │ │ ├── RF24_arch_config.h │ │ │ └── includes.h │ │ ├── MRAA │ │ │ ├── RF24_arch_config.h │ │ │ ├── compatibility.c │ │ │ ├── compatibility.h │ │ │ ├── gpio.cpp │ │ │ ├── gpio.h │ │ │ ├── includes.h │ │ │ ├── spi.cpp │ │ │ └── spi.h │ │ ├── RPi │ │ │ ├── RF24_arch_config.h │ │ │ ├── bcm2835.c │ │ │ ├── bcm2835.h │ │ │ ├── includes.h │ │ │ ├── interrupt.c │ │ │ ├── interrupt.h │ │ │ ├── spi.cpp │ │ │ └── spi.h │ │ ├── SPIDEV │ │ │ ├── RF24_arch_config.h │ │ │ ├── compatibility.c │ │ │ ├── compatibility.h │ │ │ ├── gpio.cpp │ │ │ ├── gpio.h │ │ │ ├── includes.h │ │ │ ├── interrupt.c │ │ │ ├── interrupt.h │ │ │ ├── spi.cpp │ │ │ └── spi.h │ │ ├── Teensy │ │ │ └── RF24_arch_config.h │ │ ├── Template │ │ │ ├── RF24_arch_config.h │ │ │ ├── compatibility.h │ │ │ ├── gpio.h │ │ │ ├── includes.h │ │ │ └── spi.h │ │ └── wiringPi │ │ │ ├── RF24_arch_config.h │ │ │ ├── includes.h │ │ │ ├── spi.cpp │ │ │ └── spi.h │ └── wikidoc.xslt ├── TasmotaModbus-1.2.0 │ ├── README.md │ ├── examples │ │ └── modbustest │ │ │ └── modbustest.ino │ ├── keywords.txt │ ├── library.json │ ├── library.properties │ └── src │ │ ├── TasmotaModbus.cpp │ │ └── TasmotaModbus.h ├── TasmotaSerial-3.0.0 │ ├── README.md │ ├── examples │ │ └── swsertest │ │ │ └── swsertest.ino │ ├── keywords.txt │ ├── library.json │ ├── library.properties │ └── src │ │ ├── TasmotaSerial.cpp │ │ └── TasmotaSerial.h ├── Unishox-1.0-shadinger │ ├── generator │ │ ├── generator.c │ │ └── remapping.xlsx │ ├── library.properties │ └── src │ │ ├── unishox.cpp │ │ └── unishox.h ├── Xlatb_RA8876-gemu-1.0 │ ├── RA8876.cpp │ ├── RA8876.h │ ├── README.md │ ├── keywords.txt │ ├── library.properties │ └── spi_register.h ├── base64-1.1.1 │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── catch.cpp │ ├── catch.hpp │ ├── library.properties │ └── src │ │ └── base64.hpp ├── bearssl-esp8266 │ ├── bearssl_esp8266-customized.txt │ ├── conf │ │ └── esp8266.mk │ ├── library.properties │ └── src │ │ ├── aead │ │ ├── ccm.c │ │ ├── eax.c │ │ └── gcm.c │ │ ├── codec │ │ ├── ccopy.c │ │ ├── dec16be.c │ │ ├── dec16le.c │ │ ├── dec32be.c │ │ ├── dec32le.c │ │ ├── dec64be.c │ │ ├── dec64le.c │ │ ├── enc16be.c │ │ ├── enc16le.c │ │ ├── enc32be.c │ │ ├── enc32le.c │ │ ├── enc64be.c │ │ ├── enc64le.c │ │ ├── pemdec.c │ │ └── pemenc.c │ │ ├── ec │ │ ├── ec_all_m15.c │ │ ├── ec_c25519_i15.c │ │ ├── ec_curve25519.c │ │ ├── ec_default.c │ │ ├── ec_keygen.c │ │ ├── ec_p256_m15.c │ │ ├── ec_prime_i15.c │ │ ├── ec_pubkey.c │ │ ├── ec_secp256r1.c │ │ ├── ec_secp384r1.c │ │ ├── ec_secp521r1.c │ │ ├── ecdsa_atr.c │ │ ├── ecdsa_default_sign_asn1.c │ │ ├── ecdsa_default_sign_raw.c │ │ ├── ecdsa_default_vrfy_asn1.c │ │ ├── ecdsa_default_vrfy_raw.c │ │ ├── ecdsa_i15_bits.c │ │ ├── ecdsa_i15_sign_asn1.c │ │ ├── ecdsa_i15_sign_raw.c │ │ ├── ecdsa_i15_vrfy_asn1.c │ │ ├── ecdsa_i15_vrfy_raw.c │ │ └── ecdsa_rta.c │ │ ├── hash │ │ ├── dig_oid.c │ │ ├── dig_size.c │ │ ├── ghash_ctmul.c │ │ ├── ghash_ctmul32.c │ │ ├── ghash_ctmul64.c │ │ ├── ghash_pclmul.c │ │ ├── md5.c │ │ ├── md5sha1.c │ │ ├── mgf1.c │ │ ├── multihash.c │ │ ├── sha1.c │ │ ├── sha2big.c │ │ └── sha2small.c │ │ ├── int │ │ ├── i15_add.c │ │ ├── i15_bitlen.c │ │ ├── i15_decmod.c │ │ ├── i15_decode.c │ │ ├── i15_decred.c │ │ ├── i15_encode.c │ │ ├── i15_fmont.c │ │ ├── i15_iszero.c │ │ ├── i15_moddiv.c │ │ ├── i15_modpow.c │ │ ├── i15_modpow2.c │ │ ├── i15_montmul.c │ │ ├── i15_mulacc.c │ │ ├── i15_muladd.c │ │ ├── i15_ninv15.c │ │ ├── i15_reduce.c │ │ ├── i15_rshift.c │ │ ├── i15_sub.c │ │ └── i15_tmont.c │ │ ├── kdf │ │ ├── hkdf.c │ │ └── shake.c │ │ ├── mac │ │ ├── hmac.c │ │ └── hmac_ct.c │ │ ├── pgmspace_bearssl.h │ │ ├── rand │ │ ├── aesctr_drbg.c │ │ ├── hmac_drbg.c │ │ └── sysrng.c │ │ ├── rsa │ │ ├── rsa_default_keygen.c │ │ ├── rsa_default_modulus.c │ │ ├── rsa_default_oaep_decrypt.c │ │ ├── rsa_default_oaep_encrypt.c │ │ ├── rsa_default_pkcs1_sign.c │ │ ├── rsa_default_pkcs1_vrfy.c │ │ ├── rsa_default_priv.c │ │ ├── rsa_default_privexp.c │ │ ├── rsa_default_pss_sign.c │ │ ├── rsa_default_pss_vrfy.c │ │ ├── rsa_default_pub.c │ │ ├── rsa_default_pubexp.c │ │ ├── rsa_i15_keygen.c │ │ ├── rsa_i15_modulus.c │ │ ├── rsa_i15_oaep_decrypt.c │ │ ├── rsa_i15_oaep_encrypt.c │ │ ├── rsa_i15_pkcs1_sign.c │ │ ├── rsa_i15_pkcs1_vrfy.c │ │ ├── rsa_i15_priv.c │ │ ├── rsa_i15_privexp.c │ │ ├── rsa_i15_pss_sign.c │ │ ├── rsa_i15_pss_vrfy.c │ │ ├── rsa_i15_pub.c │ │ ├── rsa_i15_pubexp.c │ │ ├── rsa_oaep_pad.c │ │ ├── rsa_oaep_unpad.c │ │ ├── rsa_pkcs1_sig_pad.c │ │ ├── rsa_pkcs1_sig_unpad.c │ │ ├── rsa_pss_sig_pad.c │ │ ├── rsa_pss_sig_unpad.c │ │ └── rsa_ssl_decrypt.c │ │ ├── settings.c │ │ ├── ssl │ │ ├── prf.c │ │ ├── prf_md5sha1.c │ │ ├── prf_sha256.c │ │ ├── prf_sha384.c │ │ ├── ssl_ccert_single_ec.c │ │ ├── ssl_ccert_single_rsa.c │ │ ├── ssl_client.c │ │ ├── ssl_client_default_rsapub.c │ │ ├── ssl_client_full.c │ │ ├── ssl_engine.c │ │ ├── ssl_engine_default_aescbc.c │ │ ├── ssl_engine_default_aesccm.c │ │ ├── ssl_engine_default_aesgcm.c │ │ ├── ssl_engine_default_chapol.c │ │ ├── ssl_engine_default_descbc.c │ │ ├── ssl_engine_default_ec.c │ │ ├── ssl_engine_default_ecdsa.c │ │ ├── ssl_engine_default_rsavrfy.c │ │ ├── ssl_hashes.c │ │ ├── ssl_hs_client.c │ │ ├── ssl_hs_server.c │ │ ├── ssl_io.c │ │ ├── ssl_keyexport.c │ │ ├── ssl_lru.c │ │ ├── ssl_rec_cbc.c │ │ ├── ssl_rec_ccm.c │ │ ├── ssl_rec_chapol.c │ │ ├── ssl_rec_gcm.c │ │ ├── ssl_scert_single_ec.c │ │ └── ssl_scert_single_rsa.c │ │ ├── symcipher │ │ ├── aes_big_cbcdec.c │ │ ├── aes_big_cbcenc.c │ │ ├── aes_big_ctr.c │ │ ├── aes_big_ctrcbc.c │ │ ├── aes_big_dec.c │ │ ├── aes_big_enc.c │ │ ├── aes_common.c │ │ ├── aes_ct.c │ │ ├── aes_ct64.c │ │ ├── aes_ct64_cbcdec.c │ │ ├── aes_ct64_cbcenc.c │ │ ├── aes_ct64_ctr.c │ │ ├── aes_ct64_ctrcbc.c │ │ ├── aes_ct64_dec.c │ │ ├── aes_ct64_enc.c │ │ ├── aes_ct_cbcdec.c │ │ ├── aes_ct_cbcenc.c │ │ ├── aes_ct_ctr.c │ │ ├── aes_ct_ctrcbc.c │ │ ├── aes_ct_dec.c │ │ ├── aes_ct_enc.c │ │ ├── aes_small_cbcdec.c │ │ ├── aes_small_cbcenc.c │ │ ├── aes_small_ctr.c │ │ ├── aes_small_ctrcbc.c │ │ ├── aes_small_dec.c │ │ ├── aes_small_enc.c │ │ ├── chacha20_ct.c │ │ ├── chacha20_sse2.c │ │ ├── des_ct.c │ │ ├── des_ct_cbcdec.c │ │ ├── des_ct_cbcenc.c │ │ ├── des_support.c │ │ ├── des_tab.c │ │ ├── des_tab_cbcdec.c │ │ ├── des_tab_cbcenc.c │ │ ├── poly1305_ctmul.c │ │ ├── poly1305_ctmul32.c │ │ ├── poly1305_ctmulq.c │ │ └── poly1305_i15.c │ │ ├── t_bearssl.h │ │ ├── t_bearssl_aead.h │ │ ├── t_bearssl_block.h │ │ ├── t_bearssl_ec.h │ │ ├── t_bearssl_hash.h │ │ ├── t_bearssl_hmac.h │ │ ├── t_bearssl_kdf.h │ │ ├── t_bearssl_pem.h │ │ ├── t_bearssl_prf.h │ │ ├── t_bearssl_rand.h │ │ ├── t_bearssl_rsa.h │ │ ├── t_bearssl_ssl.h │ │ ├── t_bearssl_tasmota_config.h │ │ ├── t_bearssl_x509.h │ │ ├── t_config.h │ │ ├── t_inner.h │ │ └── x509 │ │ ├── asn1enc.c │ │ ├── encode_ec_pk8der.c │ │ ├── encode_ec_rawder.c │ │ ├── encode_rsa_pk8der.c │ │ ├── encode_rsa_rawder.c │ │ ├── pkey_decoder.c │ │ ├── skey_decoder.c │ │ ├── x509_decoder.c │ │ ├── x509_knownkey.c │ │ ├── x509_minimal.c │ │ └── x509_minimal_full.c ├── cc1101 │ ├── README.md │ ├── cc1101.cpp │ ├── cc1101.h │ ├── cc1101.h.txt │ └── ccpacket.h ├── ccloader │ └── src │ │ ├── CCLoader.cpp │ │ └── CCLoader.h ├── esp-epaper-29-ws-20171230-gemu-1.1 │ ├── .gitignore │ ├── .travis.yml │ ├── Arduino │ │ ├── epd2in9-demo │ │ │ └── epd2in9-demo.ino │ │ └── libraries │ │ │ └── readme.txt │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── components │ │ └── epaper-29-ws │ │ │ ├── component.mk │ │ │ ├── epaper-29-ws.c │ │ │ ├── epaper-29-ws.h │ │ │ ├── epaper_font.c │ │ │ ├── epaper_fonts.h │ │ │ ├── font16.c │ │ │ ├── font20.c │ │ │ ├── font8.c │ │ │ ├── imagedata.cpp │ │ │ └── imagedata.h │ ├── docs │ │ ├── Doxyfile │ │ ├── Makefile │ │ ├── README.md │ │ ├── conf.py │ │ ├── gen-dxd.py │ │ ├── index.rst │ │ ├── link-roles.py │ │ ├── repo_util.py │ │ └── requirements.txt │ ├── library.properties │ ├── main │ │ ├── README.md │ │ ├── component.mk │ │ ├── esp-epaper-29-ws.c │ │ ├── imagedata.c │ │ └── imagedata.h │ ├── pictures │ │ ├── 2.9inch_e-Paper_Datasheet.pdf │ │ ├── e-paper-and-esp-sample-image.jpg │ │ ├── e-paper-and-esp-sample-text.jpg │ │ ├── espresif-logo.bmp │ │ └── image-conversion-setup.png │ └── src │ │ ├── epd2in9.cpp │ │ ├── epd2in9.h │ │ ├── epd4in2.cpp │ │ ├── epd4in2.h │ │ ├── epdif.cpp │ │ ├── epdif.h │ │ ├── epdpaint.cpp │ │ ├── epdpaint.h │ │ ├── font12.c │ │ ├── font16.c │ │ ├── font20.c │ │ ├── font24.c │ │ ├── font8.c │ │ ├── fonts.h │ │ ├── renderer.cpp │ │ └── renderer.h ├── esp-knx-ip-0.5.2 │ ├── DPT.h │ ├── LICENSE │ ├── README.md │ ├── esp-knx-ip-config.cpp │ ├── esp-knx-ip-conversion.cpp │ ├── esp-knx-ip-send.cpp │ ├── esp-knx-ip-webserver.cpp │ ├── esp-knx-ip.cpp │ ├── esp-knx-ip.h │ ├── examples │ │ ├── environment-sensor │ │ │ └── environment-sensor.ino │ │ ├── sonoff │ │ │ └── sonoff.ino │ │ └── static-config │ │ │ └── static-config.ino │ ├── keywords.txt │ └── library.properties ├── rc-switch-2.6.2.13 │ ├── .gitignore │ ├── .travis.yml │ ├── RCSwitch.cpp │ ├── RCSwitch.h │ ├── README.md │ ├── examples │ │ ├── ReceiveDemo_Advanced │ │ │ ├── ReceiveDemo_Advanced.ino │ │ │ └── output.ino │ │ ├── ReceiveDemo_Simple │ │ │ └── ReceiveDemo_Simple.ino │ │ ├── SendDemo │ │ │ └── SendDemo.ino │ │ ├── TypeA_WithDIPSwitches │ │ │ └── TypeA_WithDIPSwitches.ino │ │ ├── TypeA_WithDIPSwitches_Lightweight │ │ │ └── TypeA_WithDIPSwitches_Lightweight.ino │ │ ├── TypeB_WithRotaryOrSlidingSwitches │ │ │ └── TypeB_WithRotaryOrSlidingSwitches.ino │ │ ├── TypeC_Intertechno │ │ │ └── TypeC_Intertechno.ino │ │ ├── TypeD_REV │ │ │ └── TypeD_REV.ino │ │ └── Webserver │ │ │ └── Webserver.ino │ ├── keywords.txt │ ├── library.json │ └── library.properties └── vl53l0x-arduino-1.02 │ ├── .travis.yml │ ├── LICENSE.txt │ ├── README.md │ ├── VL53L0X.cpp │ ├── VL53L0X.h │ ├── examples │ ├── Continuous │ │ └── Continuous.ino │ └── Single │ │ └── Single.ino │ ├── keywords.txt │ └── library.properties ├── libesp32 ├── ESP32-Mail-Client │ ├── LICENSE │ ├── README.md │ ├── examples │ │ ├── Receive_email │ │ │ └── Receive_email.ino │ │ ├── Send_email │ │ │ ├── Send_email.ino │ │ │ └── image.h │ │ ├── Set_flag │ │ │ └── Set_flag.ino │ │ └── Time │ │ │ └── Time.ino │ ├── keywords.txt │ ├── library.properties │ ├── media │ │ └── images │ │ │ ├── esp32-mail.jpg │ │ │ └── esp32-mail.png │ └── src │ │ ├── ESP32MailHTTPClient.cpp │ │ ├── ESP32MailHTTPClient.h │ │ ├── ESP32TimeHelper.cpp │ │ ├── ESP32TimeHelper.h │ │ ├── ESP32_MailClient.cpp │ │ ├── ESP32_MailClient.h │ │ ├── RFC2047.cpp │ │ ├── RFC2047.h │ │ ├── WiFiClientSecureESP32.cpp │ │ ├── WiFiClientSecureESP32.h │ │ ├── ssl_client32.cpp │ │ └── ssl_client32.h ├── ESP32-to-ESP8266-compat │ ├── README.adoc │ ├── keywords.txt │ ├── library.properties │ └── src │ │ ├── AddrList.h │ │ ├── ESP32Wifi.cpp │ │ ├── ESP8266HTTPClient.h │ │ ├── ESP8266WebServer.h │ │ ├── ESP8266WiFi.h │ │ ├── ESP8266httpUpdate.h │ │ ├── ESP8266mDNS.h │ │ ├── c_types.h │ │ ├── eboot_command.h │ │ ├── esp8266toEsp32.cpp │ │ ├── esp8266toEsp32.h │ │ ├── ets_sys.h │ │ ├── gpio.h │ │ ├── os_type.h │ │ ├── osapi.h │ │ ├── sntp.h │ │ ├── spi_flash.h │ │ ├── twi.h │ │ └── user_interface.h ├── ESP32README.md └── NimBLE-Arduino │ ├── API_DIFFERENCES.md │ ├── LICENSE │ ├── README.md │ ├── examples │ ├── BLE_Beacon_Scanner │ │ ├── BLE_Beacon_Scanner.ino │ │ └── BLE_Beacon_Scanner.md │ ├── BLE_EddystoneTLM_Beacon │ │ ├── BLE_EddystoneTLM_Beacon.ino │ │ └── BLE_EddystoneTLM_Beacon.md │ ├── BLE_EddystoneURL_Beacon │ │ ├── BLE_EddystoneURL_Beacon.ino │ │ └── BLE_EddystoneURL_Beacon.md │ ├── NimBLE_Client │ │ └── NimBLE_Client.ino │ ├── NimBLE_Server │ │ └── NimBLE_Server.ino │ └── Refactored_original_examples │ │ ├── BLE_client │ │ └── BLE_client.ino │ │ ├── BLE_iBeacon │ │ └── BLE_iBeacon.ino │ │ ├── BLE_notify │ │ └── BLE_notify.ino │ │ ├── BLE_scan │ │ └── BLE_scan.ino │ │ ├── BLE_server │ │ └── BLE_server.ino │ │ ├── BLE_server_multiconnect │ │ └── BLE_server_multiconnect.ino │ │ ├── BLE_uart │ │ └── BLE_uart.ino │ │ └── BLE_write │ │ └── BLE_write.ino │ ├── library.properties │ └── src │ ├── CODING_STANDARDS.md │ ├── FreeRTOS.cpp │ ├── FreeRTOS.h │ ├── HIDKeyboardTypes.h │ ├── HIDTypes.h │ ├── NOTICE │ ├── NimBLE2902.cpp │ ├── NimBLE2902.h │ ├── NimBLE2904.cpp │ ├── NimBLE2904.h │ ├── NimBLEAddress.cpp │ ├── NimBLEAddress.h │ ├── NimBLEAdvertisedDevice.cpp │ ├── NimBLEAdvertisedDevice.h │ ├── NimBLEAdvertising.cpp │ ├── NimBLEAdvertising.h │ ├── NimBLEBeacon.cpp │ ├── NimBLEBeacon.h │ ├── NimBLECharacteristic.cpp │ ├── NimBLECharacteristic.h │ ├── NimBLECharacteristicMap.cpp │ ├── NimBLEClient.cpp │ ├── NimBLEClient.h │ ├── NimBLEDescriptor.cpp │ ├── NimBLEDescriptor.h │ ├── NimBLEDescriptorMap.cpp │ ├── NimBLEDevice.cpp │ ├── NimBLEDevice.h │ ├── NimBLEEddystoneTLM.cpp │ ├── NimBLEEddystoneTLM.h │ ├── NimBLEEddystoneURL.cpp │ ├── NimBLEEddystoneURL.h │ ├── NimBLELog.h │ ├── NimBLERemoteCharacteristic.cpp │ ├── NimBLERemoteCharacteristic.h │ ├── NimBLERemoteDescriptor.cpp │ ├── NimBLERemoteDescriptor.h │ ├── NimBLERemoteService.cpp │ ├── NimBLERemoteService.h │ ├── NimBLEScan.cpp │ ├── NimBLEScan.h │ ├── NimBLESecurity.cpp │ ├── NimBLESecurity.h │ ├── NimBLEServer.cpp │ ├── NimBLEServer.h │ ├── NimBLEService.cpp │ ├── NimBLEService.h │ ├── NimBLEServiceMap.cpp │ ├── NimBLEUUID.cpp │ ├── NimBLEUUID.h │ ├── NimBLEUtils.cpp │ ├── NimBLEUtils.h │ ├── NimBLEValue.cpp │ ├── NimBLEValue.h │ ├── README.md │ ├── RELEASE_NOTES.md │ ├── console │ └── console.h │ ├── esp-hci │ └── src │ │ └── esp_nimble_hci.c │ ├── esp_compiler.h │ ├── esp_nimble_cfg.h │ ├── esp_nimble_hci.h │ ├── esp_nimble_mem.h │ ├── ext │ └── tinycrypt │ │ ├── AUTHORS │ │ ├── LICENSE │ │ ├── README │ │ ├── VERSION │ │ ├── documentation │ │ └── tinycrypt.rst │ │ └── src │ │ ├── aes_decrypt.c │ │ ├── aes_encrypt.c │ │ ├── cbc_mode.c │ │ ├── ccm_mode.c │ │ ├── cmac_mode.c │ │ ├── ctr_mode.c │ │ ├── ctr_prng.c │ │ ├── ecc.c │ │ ├── ecc_dh.c │ │ ├── ecc_dsa.c │ │ ├── ecc_platform_specific.c │ │ ├── hmac.c │ │ ├── hmac_prng.c │ │ ├── sha256.c │ │ └── utils.c │ ├── hal │ └── hal_timer.h │ ├── host │ ├── ble_att.h │ ├── ble_eddystone.h │ ├── ble_gap.h │ ├── ble_gatt.h │ ├── ble_hs.h │ ├── ble_hs_adv.h │ ├── ble_hs_hci.h │ ├── ble_hs_id.h │ ├── ble_hs_log.h │ ├── ble_hs_mbuf.h │ ├── ble_hs_pvcy.h │ ├── ble_hs_stop.h │ ├── ble_ibeacon.h │ ├── ble_l2cap.h │ ├── ble_monitor.h │ ├── ble_sm.h │ ├── ble_store.h │ ├── ble_uuid.h │ └── util │ │ └── util.h │ ├── log │ └── log.h │ ├── mem │ └── mem.h │ ├── mesh │ ├── access.h │ ├── cfg_cli.h │ ├── cfg_srv.h │ ├── glue.h │ ├── health_cli.h │ ├── health_srv.h │ ├── main.h │ ├── mesh.h │ ├── model_cli.h │ ├── model_srv.h │ ├── porting.h │ ├── proxy.h │ ├── slist.h │ └── testing.h │ ├── modlog │ └── modlog.h │ ├── nimble │ ├── ble.h │ ├── ble_hci_trans.h │ ├── hci_common.h │ ├── host │ │ ├── mesh │ │ │ ├── pkg.yml │ │ │ ├── src │ │ │ │ ├── access.c │ │ │ │ ├── access.h │ │ │ │ ├── adv.c │ │ │ │ ├── adv.h │ │ │ │ ├── atomic.h │ │ │ │ ├── beacon.c │ │ │ │ ├── beacon.h │ │ │ │ ├── ble_att_priv.h │ │ │ │ ├── ble_gatt_priv.h │ │ │ │ ├── ble_hs_conn_priv.h │ │ │ │ ├── ble_l2cap_coc_priv.h │ │ │ │ ├── ble_l2cap_priv.h │ │ │ │ ├── ble_l2cap_sig_priv.h │ │ │ │ ├── cfg_cli.c │ │ │ │ ├── cfg_srv.c │ │ │ │ ├── crypto.c │ │ │ │ ├── crypto.h │ │ │ │ ├── foundation.h │ │ │ │ ├── friend.c │ │ │ │ ├── friend.h │ │ │ │ ├── glue.c │ │ │ │ ├── health_cli.c │ │ │ │ ├── health_srv.c │ │ │ │ ├── light_model.c │ │ │ │ ├── light_model.h │ │ │ │ ├── lpn.c │ │ │ │ ├── lpn.h │ │ │ │ ├── mesh.c │ │ │ │ ├── mesh_priv.h │ │ │ │ ├── model_cli.c │ │ │ │ ├── model_srv.c │ │ │ │ ├── net.c │ │ │ │ ├── net.h │ │ │ │ ├── prov.c │ │ │ │ ├── prov.h │ │ │ │ ├── proxy.c │ │ │ │ ├── proxy.h │ │ │ │ ├── settings.c │ │ │ │ ├── settings.h │ │ │ │ ├── shell.c │ │ │ │ ├── shell.h │ │ │ │ ├── src │ │ │ │ │ ├── ble_att_cmd_priv.h │ │ │ │ │ ├── ble_att_priv.h │ │ │ │ │ ├── ble_gap_priv.h │ │ │ │ │ ├── ble_gatt_priv.h │ │ │ │ │ ├── ble_hs_adv_priv.h │ │ │ │ │ ├── ble_hs_atomic_priv.h │ │ │ │ │ ├── ble_hs_conn_priv.h │ │ │ │ │ ├── ble_hs_dbg_priv.h │ │ │ │ │ ├── ble_hs_flow_priv.h │ │ │ │ │ ├── ble_hs_hci_priv.h │ │ │ │ │ ├── ble_hs_id_priv.h │ │ │ │ │ ├── ble_hs_mbuf_priv.h │ │ │ │ │ ├── ble_hs_periodic_sync_priv.h │ │ │ │ │ ├── ble_hs_priv.h │ │ │ │ │ ├── ble_hs_pvcy_priv.h │ │ │ │ │ ├── ble_hs_startup_priv.h │ │ │ │ │ ├── ble_l2cap_coc_priv.h │ │ │ │ │ ├── ble_l2cap_priv.h │ │ │ │ │ ├── ble_l2cap_sig_priv.h │ │ │ │ │ ├── ble_monitor_priv.h │ │ │ │ │ ├── ble_sm_priv.h │ │ │ │ │ └── ble_uuid_priv.h │ │ │ │ ├── testing.c │ │ │ │ ├── testing.h │ │ │ │ ├── transport.c │ │ │ │ └── transport.h │ │ │ └── syscfg.yml │ │ ├── services │ │ │ ├── ans │ │ │ │ ├── pkg.yml │ │ │ │ ├── src │ │ │ │ │ └── ble_svc_ans.c │ │ │ │ └── syscfg.yml │ │ │ ├── bas │ │ │ │ ├── pkg.yml │ │ │ │ ├── src │ │ │ │ │ └── ble_svc_bas.c │ │ │ │ └── syscfg.yml │ │ │ ├── gap │ │ │ │ ├── pkg.yml │ │ │ │ ├── src │ │ │ │ │ └── ble_svc_gap.c │ │ │ │ └── syscfg.yml │ │ │ ├── gatt │ │ │ │ ├── pkg.yml │ │ │ │ ├── src │ │ │ │ │ └── ble_svc_gatt.c │ │ │ │ └── syscfg.yml │ │ │ ├── ias │ │ │ │ ├── pkg.yml │ │ │ │ ├── src │ │ │ │ │ └── ble_svc_ias.c │ │ │ │ └── syscfg.yml │ │ │ ├── lls │ │ │ │ ├── pkg.yml │ │ │ │ ├── src │ │ │ │ │ └── ble_svc_lls.c │ │ │ │ └── syscfg.yml │ │ │ └── tps │ │ │ │ ├── pkg.yml │ │ │ │ ├── src │ │ │ │ ├── ble_hs_hci_priv.h │ │ │ │ └── ble_svc_tps.c │ │ │ │ └── syscfg.yml │ │ ├── src │ │ │ ├── ble_att.c │ │ │ ├── ble_att_clt.c │ │ │ ├── ble_att_cmd.c │ │ │ ├── ble_att_cmd_priv.h │ │ │ ├── ble_att_priv.h │ │ │ ├── ble_att_svr.c │ │ │ ├── ble_eddystone.c │ │ │ ├── ble_gap.c │ │ │ ├── ble_gap_priv.h │ │ │ ├── ble_gatt_priv.h │ │ │ ├── ble_gattc.c │ │ │ ├── ble_gatts.c │ │ │ ├── ble_gatts_lcl.c │ │ │ ├── ble_hs.c │ │ │ ├── ble_hs_adv.c │ │ │ ├── ble_hs_adv_priv.h │ │ │ ├── ble_hs_atomic.c │ │ │ ├── ble_hs_atomic_priv.h │ │ │ ├── ble_hs_cfg.c │ │ │ ├── ble_hs_conn.c │ │ │ ├── ble_hs_conn_priv.h │ │ │ ├── ble_hs_dbg.c │ │ │ ├── ble_hs_dbg_priv.h │ │ │ ├── ble_hs_flow.c │ │ │ ├── ble_hs_flow_priv.h │ │ │ ├── ble_hs_hci.c │ │ │ ├── ble_hs_hci_cmd.c │ │ │ ├── ble_hs_hci_evt.c │ │ │ ├── ble_hs_hci_priv.h │ │ │ ├── ble_hs_hci_util.c │ │ │ ├── ble_hs_id.c │ │ │ ├── ble_hs_id_priv.h │ │ │ ├── ble_hs_log.c │ │ │ ├── ble_hs_mbuf.c │ │ │ ├── ble_hs_mbuf_priv.h │ │ │ ├── ble_hs_misc.c │ │ │ ├── ble_hs_mqueue.c │ │ │ ├── ble_hs_periodic_sync.c │ │ │ ├── ble_hs_periodic_sync_priv.h │ │ │ ├── ble_hs_priv.h │ │ │ ├── ble_hs_pvcy.c │ │ │ ├── ble_hs_pvcy_priv.h │ │ │ ├── ble_hs_resolv.c │ │ │ ├── ble_hs_resolv_priv.h │ │ │ ├── ble_hs_shutdown.c │ │ │ ├── ble_hs_startup.c │ │ │ ├── ble_hs_startup_priv.h │ │ │ ├── ble_hs_stop.c │ │ │ ├── ble_ibeacon.c │ │ │ ├── ble_l2cap.c │ │ │ ├── ble_l2cap_coc.c │ │ │ ├── ble_l2cap_coc_priv.h │ │ │ ├── ble_l2cap_priv.h │ │ │ ├── ble_l2cap_sig.c │ │ │ ├── ble_l2cap_sig_cmd.c │ │ │ ├── ble_l2cap_sig_priv.h │ │ │ ├── ble_monitor.c │ │ │ ├── ble_monitor_priv.h │ │ │ ├── ble_sm.c │ │ │ ├── ble_sm_alg.c │ │ │ ├── ble_sm_cmd.c │ │ │ ├── ble_sm_lgcy.c │ │ │ ├── ble_sm_priv.h │ │ │ ├── ble_sm_sc.c │ │ │ ├── ble_store.c │ │ │ ├── ble_store_util.c │ │ │ ├── ble_uuid.c │ │ │ └── ble_uuid_priv.h │ │ ├── store │ │ │ ├── config │ │ │ │ ├── pkg.yml │ │ │ │ ├── src │ │ │ │ │ ├── ble_store_config.c │ │ │ │ │ ├── ble_store_config_conf.unused │ │ │ │ │ ├── ble_store_config_priv.h │ │ │ │ │ └── ble_store_nvs.c │ │ │ │ └── syscfg.yml │ │ │ └── ram │ │ │ │ ├── pkg.yml │ │ │ │ ├── src │ │ │ │ └── ble_store_ram.c │ │ │ │ └── syscfg.yml │ │ └── util │ │ │ ├── pkg.yml │ │ │ ├── src │ │ │ └── addr.c │ │ │ └── syscfg.yml │ ├── nimble_npl.h │ ├── nimble_npl_os.h │ ├── nimble_opt.h │ ├── nimble_opt_auto.h │ ├── nimble_port.h │ ├── nimble_port_freertos.h │ └── npl_freertos.h │ ├── nimconfig.h │ ├── os │ ├── endian.h │ ├── os.h │ ├── os_cputime.h │ ├── os_error.h │ ├── os_mbuf.h │ ├── os_mempool.h │ ├── os_trace_api.h │ └── queue.h │ ├── port │ └── src │ │ └── esp_nimble_mem.c │ ├── porting │ ├── nimble │ │ ├── Makefile.controller │ │ ├── Makefile.defs │ │ ├── Makefile.mesh │ │ ├── Makefile.tinycrypt │ │ ├── include │ │ │ └── nimble │ │ │ │ └── nimble_port.h │ │ ├── pkg.yml │ │ └── src │ │ │ ├── endian.c │ │ │ ├── hal_timer.c │ │ │ ├── mem.c │ │ │ ├── nimble_port.c │ │ │ ├── os_cputime.c │ │ │ ├── os_cputime_pwr2.c │ │ │ ├── os_mbuf.c │ │ │ ├── os_mempool.c │ │ │ └── os_msys_init.c │ └── npl │ │ └── freertos │ │ └── src │ │ ├── nimble_port_freertos.c │ │ └── npl_os_freertos.c │ ├── services │ ├── ans │ │ └── ble_svc_ans.h │ ├── bas │ │ └── ble_svc_bas.h │ ├── gap │ │ └── ble_svc_gap.h │ ├── gatt │ │ └── ble_svc_gatt.h │ ├── ias │ │ └── ble_svc_ias.h │ ├── lls │ │ └── ble_svc_lls.h │ └── tps │ │ └── ble_svc_tps.h │ ├── src │ ├── ble_hs_hci_priv.h │ └── ble_sm_priv.h │ ├── stats │ └── stats.h │ ├── store │ ├── config │ │ └── ble_store_config.h │ └── ram │ │ └── ble_store_ram.h │ ├── syscfg │ └── syscfg.h │ ├── sysinit │ └── sysinit.h │ └── tinycrypt │ ├── AUTHORS │ ├── LICENSE │ ├── README │ ├── VERSION │ ├── aes.h │ ├── cbc_mode.h │ ├── ccm_mode.h │ ├── cmac_mode.h │ ├── constants.h │ ├── ctr_mode.h │ ├── ctr_prng.h │ ├── documentation │ └── tinycrypt.rst │ ├── ecc.h │ ├── ecc_dh.h │ ├── ecc_dsa.h │ ├── ecc_platform_specific.h │ ├── hmac.h │ ├── hmac_prng.h │ ├── sha256.h │ └── utils.h ├── mklittlefs ├── aarch64-linux-gnu-mklittlefs-1c43629.tar.gz ├── amd64_windows │ └── mklittlefs.exe ├── arm-linux-gnueabihf-mklittlefs-1c43629.tar.gz ├── i686-w64-mingw32-mklittlefs-1c43629.zip ├── x86_64-linux-gnu-mklittlefs-1c43629.tar.gz ├── x86_64-w64-mingw32-mklittlefs-1c43629.zip └── x86_64_darwin │ └── mklittlefs ├── pio ├── espupload.py ├── gzip-firmware.py ├── http-uploader.py ├── name-firmware.py ├── obj-dump.py ├── override_copy.py ├── sftp-uploader.py └── strip-floats.py ├── platformio.ini ├── platformio_override_sample.ini ├── platformio_override_z2mp.ini ├── platformio_tasmota_env.ini ├── platformio_tasmota_env32.ini ├── tasmota ├── CHANGELOG.md ├── Parsing.cpp ├── StackThunk_light.cpp ├── StackThunk_light.h ├── WiFiClientSecureLightBearSSL.cpp ├── WiFiClientSecureLightBearSSL.h ├── core_esp8266_waveform.cpp ├── core_esp8266_wiring_digital.cpp ├── core_esp8266_wiring_pwm.cpp ├── i18n.h ├── language │ ├── bg_BG.h │ ├── cs_CZ.h │ ├── de_DE.h │ ├── el_GR.h │ ├── en_GB.h │ ├── es_ES.h │ ├── fr_FR.h │ ├── he_HE.h │ ├── hu_HU.h │ ├── it_IT.h │ ├── ko_KO.h │ ├── nl_NL.h │ ├── pl_PL.h │ ├── pt_BR.h │ ├── pt_PT.h │ ├── ro_RO.h │ ├── ru_RU.h │ ├── sk_SK.h │ ├── sv_SE.h │ ├── tr_TR.h │ ├── uk_UA.h │ ├── zh_CN.h │ └── zh_TW.h ├── my_user_config.h ├── sendemail.h ├── sendemail.ino ├── settings.h ├── settings.ino ├── support.ino ├── support_button.ino ├── support_command.ino ├── support_crash_recorder.ino ├── support_device_groups.ino ├── support_esp32.ino ├── support_esptool.ino ├── support_features.ino ├── support_flash_log.ino ├── support_float.ino ├── support_legacy_cores.ino ├── support_rotary.ino ├── support_rtc.ino ├── support_static_buffer.ino ├── support_statistics.ino ├── support_switch.ino ├── support_tasmota.ino ├── support_udp.ino ├── support_wifi.ino ├── tasmota.h ├── tasmota.ino ├── tasmota_ca.ino ├── tasmota_compat.h ├── tasmota_configurations.h ├── tasmota_configurations_ESP32.h ├── tasmota_globals.h ├── tasmota_template.h ├── tasmota_template_ESP32.h ├── tasmota_version.h ├── user_config_override_sample.h ├── xdrv_01_webserver.ino ├── xdrv_02_mqtt.ino ├── xdrv_03_energy.ino ├── xdrv_04_light.ino ├── xdrv_05_irremote.ino ├── xdrv_05_irremote_full.ino ├── xdrv_06_snfbridge.ino ├── xdrv_07_domoticz.ino ├── xdrv_08_serial_bridge.ino ├── xdrv_09_timers.ino ├── xdrv_10_rules.ino ├── xdrv_10_scripter.ino ├── xdrv_11_knx.ino ├── xdrv_12_home_assistant.ino ├── xdrv_13_display.ino ├── xdrv_14_mp3.ino ├── xdrv_15_pca9685.ino ├── xdrv_16_tuyamcu.ino ├── xdrv_17_rcswitch.ino ├── xdrv_18_armtronix_dimmers.ino ├── xdrv_19_ps16dz_dimmer.ino ├── xdrv_20_hue.ino ├── xdrv_21_wemo.ino ├── xdrv_22_sonoff_ifan.ino ├── xdrv_23_zigbee_0_constants.ino ├── xdrv_23_zigbee_1_headers.ino ├── xdrv_23_zigbee_2_devices.ino ├── xdrv_23_zigbee_3_hue.ino ├── xdrv_23_zigbee_4_persistence.ino ├── xdrv_23_zigbee_5_converters.ino ├── xdrv_23_zigbee_6_commands.ino ├── xdrv_23_zigbee_7_statemachine.ino ├── xdrv_23_zigbee_8_parsers.ino ├── xdrv_23_zigbee_9_impl.ino ├── xdrv_24_buzzer.ino ├── xdrv_25_A4988_Stepper.ino ├── xdrv_26_ariluxrf.ino ├── xdrv_27_shutter.ino ├── xdrv_28_pcf8574.ino ├── xdrv_29_deepsleep.ino ├── xdrv_30_exs_dimmer.ino ├── xdrv_31_tasmota_slave.ino ├── xdrv_32_hotplug.ino ├── xdrv_33_nrf24l01.ino ├── xdrv_34_wemos_motor_v1.ino ├── xdrv_35_pwm_dimmer.ino ├── xdrv_36_keeloq.ino ├── xdrv_37_sonoff_d1.ino ├── xdrv_38_ping.ino ├── xdrv_39_thermostat.ino ├── xdrv_81_webcam.ino ├── xdrv_98_ccloader.ino ├── xdrv_99_debug.ino ├── xdrv_interface.ino ├── xdsp_01_lcd.ino ├── xdsp_02_ssd1306.ino ├── xdsp_03_matrix.ino ├── xdsp_04_ili9341.ino ├── xdsp_05_epaper_29.ino ├── xdsp_06_epaper_42.ino ├── xdsp_07_sh1106.ino ├── xdsp_08_ILI9488.ino ├── xdsp_09_SSD1351.ino ├── xdsp_10_RA8876.ino ├── xdsp_11_sevenseg.ino ├── xdsp_interface.ino ├── xlgt_01_ws2812.ino ├── xlgt_02_my92x1.ino ├── xlgt_03_sm16716.ino ├── xlgt_04_sm2135.ino ├── xlgt_05_sonoff_l1.ino ├── xlgt_06_electriq_moodl.ino ├── xlgt_interface.ino ├── xnrg_01_hlw8012.ino ├── xnrg_02_cse7766.ino ├── xnrg_03_pzem004t.ino ├── xnrg_04_mcp39f501.ino ├── xnrg_05_pzem_ac.ino ├── xnrg_06_pzem_dc.ino ├── xnrg_07_ade7953.ino ├── xnrg_08_sdm120.ino ├── xnrg_09_dds2382.ino ├── xnrg_10_sdm630.ino ├── xnrg_11_ddsu666.ino ├── xnrg_12_solaxX1.ino ├── xnrg_13_fif_le01mr.ino ├── xnrg_interface.ino ├── xsns_01_counter.ino ├── xsns_02_analog.ino ├── xsns_04_snfsc.ino ├── xsns_05_ds18x20.ino ├── xsns_06_dht.ino ├── xsns_07_sht1x.ino ├── xsns_08_htu21.ino ├── xsns_09_bmp.ino ├── xsns_10_bh1750.ino ├── xsns_11_veml6070.ino ├── xsns_12_ads1115.ino ├── xsns_13_ina219.ino ├── xsns_14_sht3x.ino ├── xsns_15_mhz19.ino ├── xsns_16_tsl2561.ino ├── xsns_17_senseair.ino ├── xsns_18_pms5003.ino ├── xsns_19_mgs.ino ├── xsns_20_novasds.ino ├── xsns_21_sgp30.ino ├── xsns_22_sr04.ino ├── xsns_24_si1145.ino ├── xsns_26_lm75ad.ino ├── xsns_27_apds9960.ino ├── xsns_28_tm1638.ino ├── xsns_29_mcp230xx.ino ├── xsns_30_mpr121.ino ├── xsns_31_ccs811.ino ├── xsns_32_mpu6050.ino ├── xsns_33_ds3231.ino ├── xsns_34_hx711.ino ├── xsns_35_tx20.ino ├── xsns_36_mgc3130.ino ├── xsns_37_rfsensor.ino ├── xsns_38_az7798.ino ├── xsns_39_max31855.ino ├── xsns_40_pn532.ino ├── xsns_41_max44009.ino ├── xsns_42_scd30.ino ├── xsns_43_hre.ino ├── xsns_44_sps30.ino ├── xsns_45_vl53l0x.ino ├── xsns_46_MLX90614.ino ├── xsns_47_max31865.ino ├── xsns_48_chirp.ino ├── xsns_50_paj7620.ino ├── xsns_51_rdm6300.ino ├── xsns_52_ibeacon.ino ├── xsns_53_sml.ino ├── xsns_54_ina226.ino ├── xsns_55_hih_series.ino ├── xsns_56_hpma.ino ├── xsns_57_tsl2591.ino ├── xsns_58_dht12.ino ├── xsns_59_ds1624.ino ├── xsns_60_GPS.ino ├── xsns_61_MI_NRF24.ino ├── xsns_62_MI_ESP32.ino ├── xsns_62_MI_HM10.ino ├── xsns_63_aht1x.ino ├── xsns_64_hrxl.ino ├── xsns_65_hdc1080.ino ├── xsns_66_iAQ.ino ├── xsns_67_as3935.ino ├── xsns_68_windmeter.ino ├── xsns_69_opentherm.ino ├── xsns_69_opentherm_protocol.ino ├── xsns_91_prometheus.ino ├── xsns_interface.ino └── xx2c_interface.ino ├── tools ├── Esptool │ ├── EraseFlash.bat │ ├── ReadFlash.bat │ ├── VerifyFlash.bat │ └── WriteFlash.bat ├── decode-config.md ├── decode-status.py ├── fw_efm8bb1 │ ├── RF-Bridge-EFM8BB1-20181023.hex │ ├── RF-Bridge-EFM8BB1-20181102.hex │ ├── RF-Bridge-EFM8BB1-20181127.hex │ └── RF_Bridge_iTead_Original.hex ├── fw_server │ ├── fw-server.py │ └── fw │ │ └── README ├── logo │ ├── TASMOTA_FullLogo_Vector.svg │ └── TASMOTA_Symbol_Vector.svg └── theov2_attiny85 │ ├── TheoV2Sensor1 │ └── TheoV2Sensor1.ino │ ├── TheoV2Sensor2 │ └── TheoV2Sensor2.ino │ └── info.txt └── updateDocs.sh /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=off 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Tasmota Docs 4 | url: https://tasmota.github.io/docs 5 | about: All the information related to Tasmota 6 | - name: Tasmota Support Chat 7 | url: https://discord.gg/Ks2Kzd4 8 | about: Chat for feedback, questions and troubleshooting. 9 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Description: 2 | 3 | **Related issue (if applicable):** fixes # 4 | 5 | ## Checklist: 6 | - [ ] The pull request is done against the latest dev branch 7 | - [ ] Only relevant files were touched 8 | - [ ] Only one feature/fix was added per PR. 9 | - [ ] The code change is tested and works on core ESP8266 V.2.7.1 10 | - [ ] The code change is tested and works on core ESP32 V.1.12.0 11 | - [ ] I accept the [CLA](https://github.com/arendst/Tasmota/blob/development/CONTRIBUTING.md#contributor-license-agreement-cla). 12 | 13 | _NOTE: The code change must pass CI tests. **Your PR cannot be merged unless tests pass**_ 14 | -------------------------------------------------------------------------------- /.github/config.yml: -------------------------------------------------------------------------------- 1 | # Configuration for sentiment-bot - https://github.com/behaviorbot/sentiment-bot 2 | 3 | # *Required* toxicity threshold between 0 and .99 with the higher numbers being the most toxic 4 | # Anything higher than this threshold will be marked as toxic and commented on 5 | sentimentBotToxicityThreshold: .7 6 | 7 | # *Required* Comment to reply with 8 | sentimentBotReplyComment: > 9 | Please be sure to review the code of conduct and be respectful of other users. 10 | 11 | # Note: the bot will only work if your repository has a Code of Conduct 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## OS specific ######## 2 | .DS_Store 3 | .fuse_hidden* 4 | 5 | ## Project files ###### 6 | .pioenvs 7 | .piolibdeps 8 | .clang_complete 9 | .gcc-flags.json 10 | .cache 11 | tasmota/user_config_override.h 12 | build 13 | build_output 14 | firmware.map 15 | firmware.asm 16 | tasmota*.bin 17 | tasmota*.bin.gz 18 | tasmota*.map 19 | platformio_override.ini 20 | platformio_tasmota_cenv.ini 21 | 22 | ## Visual Studio Code specific ###### 23 | .vscode 24 | .vscode/.browse.c_cpp.db* 25 | .vscode/c_cpp_properties.json 26 | .vscode/launch.json 27 | *.bak 28 | *.code-workspace 29 | -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- 1 | tasks: 2 | - before: pip3 install -U platformio 3 | command: platformio run -e tasmota 4 | -------------------------------------------------------------------------------- /LittleFSBuilder.py: -------------------------------------------------------------------------------- 1 | Import("env") 2 | import platform 3 | import os 4 | 5 | print(platform.machine().lower()) 6 | print(platform.system().lower()) 7 | 8 | env.Replace(MKSPIFFSTOOL='' + env.get("PROJECT_DIR") + '/mklittlefs/' + platform.machine().lower() + '_' + platform.system().lower() + '/mklittlefs' ) -------------------------------------------------------------------------------- /TEMPLATES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/TEMPLATES.md -------------------------------------------------------------------------------- /data/cc2530_c.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/data/cc2530_c.bin -------------------------------------------------------------------------------- /data/cc2530_r.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/data/cc2530_r.bin -------------------------------------------------------------------------------- /data/script.txt: -------------------------------------------------------------------------------- 1 | >D 2 | zrp=12 3 | s0=16 4 | s1=5 5 | zr=0 6 | 7 | ; On boot 8 | >B 9 | =>print Set Pins 10 | spinm(s0 1) 11 | spinm(s1 1) 12 | spinm(zrp 1) 13 | spin(s0 1) 14 | spin(s1 1) 15 | =>print Reset Zigbee 16 | spin(zrp 1) 17 | delay(200) 18 | spin(zrp 0) 19 | delay(200) 20 | spin(zrp 1) 21 | 22 | >E 23 | if chg[zr]>0 24 | then 25 | =>print Reset Zigbee 26 | spin(zrp 0) 27 | delay(200) 28 | spin(zrp 1) 29 | endif 30 | 31 | ; On webpage 32 | >W 33 | bu(zr "Reset Zigbee" "Reset Zigbee") -------------------------------------------------------------------------------- /esp32_partition_app1984k_spiffs64k.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size, Flags 2 | nvs, data, nvs, 0x9000, 0x5000, 3 | otadata, data, ota, 0xe000, 0x2000, 4 | app0, app, ota_0, 0x10000, 0x1F0000, 5 | app1, app, ota_1, 0x200000, 0x1F0000, 6 | spiffs, data, spiffs, 0x3F0000,0x10000, 7 | -------------------------------------------------------------------------------- /include/dummy.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /lib/A4988_Stepper/README.adoc: -------------------------------------------------------------------------------- 1 | Stepper Library for Tasmota 2 | 3 | This Class allows you to control bipolar stepper motors. To use it you will need an A4988-StepperDriverCircuit, connected at least with 2 GPIO's (direction and step) and of cause a stepper motor. 4 | 5 | == License == 6 | 7 | This library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Lesser General Public 9 | License as published by the Free Software Foundation; either 10 | version 2.1 of the License, or (at your option) any later version. 11 | 12 | This library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Lesser General Public License for more details. 16 | 17 | You should have received a copy of the GNU Lesser General Public 18 | License along with this library; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | -------------------------------------------------------------------------------- /lib/A4988_Stepper/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For Test 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | A4988_Stepper KEYWORD1 A4988_Stepper 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | 15 | doMove KEYWORD2 16 | doRotate KEYWORD2 17 | setRPM KEYWORD2 18 | setSPR KEYWORD2 19 | setMIS KEYWORD2 20 | version KEYWORD2 21 | 22 | ####################################### 23 | # Constants (LITERAL1) 24 | ####################################### 25 | -------------------------------------------------------------------------------- /lib/A4988_Stepper/library.properties: -------------------------------------------------------------------------------- 1 | name=A4988_Stepper 2 | version=0.0.1 3 | author=Tim Leuschner 4 | maintainer=Tim Leuschner 5 | sentence=Allows Tasmota to control stepper motors, connected to A4988-StepperDriverCircuit. 6 | paragraph=This library allows you to control bipolar stepper motors, controlled by A4988-stepperDriverCircuit. 7 | category=Device Control 8 | url= 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/Adafruit-GFX-Library-1.5.6-gemu-1.0/.gitignore: -------------------------------------------------------------------------------- 1 | default.vim 2 | fontconvert/fontconvert 3 | # Our handy .gitignore for automation ease 4 | Doxyfile* 5 | doxygen_sqlite3.db 6 | html -------------------------------------------------------------------------------- /lib/Adafruit-GFX-Library-1.5.6-gemu-1.0/.travis.yml: -------------------------------------------------------------------------------- 1 | language: c 2 | sudo: false 3 | cache: 4 | directories: 5 | - ~/arduino_ide 6 | - ~/.arduino15/packages/ 7 | git: 8 | depth: false 9 | quiet: true 10 | env: 11 | global: 12 | - PRETTYNAME="Adafruit GFX Library" 13 | 14 | before_install: 15 | - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/install.sh) 16 | 17 | install: 18 | - arduino --install-library "Adafruit ILI9341" 19 | 20 | script: 21 | - build_main_platforms 22 | 23 | # Generate and deploy documentation 24 | after_success: 25 | - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/library_check.sh) 26 | - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/doxy_gen_and_deploy.sh) 27 | -------------------------------------------------------------------------------- /lib/Adafruit-GFX-Library-1.5.6-gemu-1.0/Adafruit_SPITFT_Macros.h: -------------------------------------------------------------------------------- 1 | // THIS FILE INTENTIONALLY LEFT BLANK. 2 | 3 | // Macros previously #defined here have been made into (mostly) inline 4 | // functions in the Adafruit_SPITFT class. Other libraries might still 5 | // contain code trying to #include this header file, so until everything's 6 | // updated this file still exists (but doing nothing) to avoid trouble. 7 | -------------------------------------------------------------------------------- /lib/Adafruit-GFX-Library-1.5.6-gemu-1.0/fontconvert/Makefile: -------------------------------------------------------------------------------- 1 | all: fontconvert 2 | 3 | CC = gcc 4 | CFLAGS = -Wall -I/usr/local/include/freetype2 -I/usr/include/freetype2 -I/usr/include 5 | LIBS = -lfreetype 6 | 7 | fontconvert: fontconvert.c 8 | $(CC) $(CFLAGS) $< $(LIBS) -o $@ 9 | strip $@ 10 | 11 | clean: 12 | rm -f fontconvert 13 | -------------------------------------------------------------------------------- /lib/Adafruit-GFX-Library-1.5.6-gemu-1.0/library.properties: -------------------------------------------------------------------------------- 1 | name=Adafruit GFX Library 2 | version=1.5.6 3 | author=Adafruit 4 | maintainer=Adafruit 5 | sentence=Adafruit GFX graphics core library, this is the 'core' class that all our other graphics libraries derive from. 6 | paragraph=Install this library in addition to the display library for your hardware. 7 | category=Display 8 | url=https://github.com/adafruit/Adafruit-GFX-Library 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/Adafruit_CCS811-1.0.0.14/.travis.yml: -------------------------------------------------------------------------------- 1 | language: c 2 | sudo: false 3 | 4 | # Blacklist 5 | branches: 6 | except: 7 | - gh-pages 8 | 9 | env: 10 | global: 11 | - PRETTYNAME="Adafruit CCS811 Arduino Library" 12 | # Optional, will default to "$TRAVIS_BUILD_DIR/Doxyfile" 13 | # - DOXYFILE: $TRAVIS_BUILD_DIR/Doxyfile 14 | 15 | before_install: 16 | - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/install.sh) 17 | 18 | install: 19 | - arduino --install-library "Adafruit SSD1306","Adafruit GFX Library" 20 | 21 | script: 22 | - build_main_platforms 23 | 24 | # Generate and deploy documentation 25 | after_success: 26 | - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/library_check.sh) 27 | - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/doxy_gen_and_deploy.sh) -------------------------------------------------------------------------------- /lib/Adafruit_CCS811-1.0.0.14/README.md: -------------------------------------------------------------------------------- 1 | # Adafruit CCS811 Library [![Build Status](https://travis-ci.org/adafruit/Adafruit_CCS811.svg?branch=master)](https://travis-ci.org/adafruit/Adafruit_CCS811) 2 | 3 | 4 | 5 | This is a library for the Adafruit CCS811 gas sensor breakout board: 6 | * https://www.adafruit.com/product/3566 7 | 8 | Check out the links above for our tutorials and wiring diagrams. This chip uses I2C to communicate 9 | 10 | Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit! 11 | 12 | Written by Dean Miller for Adafruit Industries. 13 | MIT license, all text above must be included in any redistribution 14 | -------------------------------------------------------------------------------- /lib/Adafruit_CCS811-1.0.0.14/library.properties: -------------------------------------------------------------------------------- 1 | name=Adafruit CCS811 Library 2 | version=1.0.0 3 | author=Adafruit 4 | maintainer=Adafruit 5 | sentence=This is a library for the Adafruit CCS811 I2C gas sensor breakout. 6 | paragraph=This is a library for the Adafruit CCS811 I2C gas sensor breakou. 7 | category=Sensors 8 | url=https://github.com/adafruit/Adafruit_CCS811 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/Adafruit_ILI9341-1.2.0-Tasmota-1.0/.gitignore: -------------------------------------------------------------------------------- 1 | # Our handy .gitignore for automation ease 2 | Doxyfile* 3 | doxygen_sqlite3.db 4 | html 5 | -------------------------------------------------------------------------------- /lib/Adafruit_ILI9341-1.2.0-Tasmota-1.0/examples/breakouttouchpaint/.esp8266.test.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/Adafruit_ILI9341-1.2.0-Tasmota-1.0/examples/breakouttouchpaint/.esp8266.test.skip -------------------------------------------------------------------------------- /lib/Adafruit_ILI9341-1.2.0-Tasmota-1.0/examples/fulltest_featherwing/.mega2560.test.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/Adafruit_ILI9341-1.2.0-Tasmota-1.0/examples/fulltest_featherwing/.mega2560.test.skip -------------------------------------------------------------------------------- /lib/Adafruit_ILI9341-1.2.0-Tasmota-1.0/examples/graphicstest_featherwing/.mega2560.test.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/Adafruit_ILI9341-1.2.0-Tasmota-1.0/examples/graphicstest_featherwing/.mega2560.test.skip -------------------------------------------------------------------------------- /lib/Adafruit_ILI9341-1.2.0-Tasmota-1.0/examples/onoffbutton_breakout/.esp8266.test.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/Adafruit_ILI9341-1.2.0-Tasmota-1.0/examples/onoffbutton_breakout/.esp8266.test.skip -------------------------------------------------------------------------------- /lib/Adafruit_ILI9341-1.2.0-Tasmota-1.0/examples/touchpaint_featherwing/.mega2560.test.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/Adafruit_ILI9341-1.2.0-Tasmota-1.0/examples/touchpaint_featherwing/.mega2560.test.skip -------------------------------------------------------------------------------- /lib/Adafruit_ILI9341-1.2.0-Tasmota-1.0/library.properties: -------------------------------------------------------------------------------- 1 | name=Adafruit ILI9341 2 | version=1.2.0 3 | author=Adafruit 4 | maintainer=Adafruit 5 | sentence=Library for Adafruit ILI9341 displays 6 | paragraph=Library for Adafruit ILI9341 displays 7 | category=Display 8 | url=https://github.com/adafruit/Adafruit_ILI9341 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/Adafruit_LED_Backpack-1.1.6/examples/wavface/wavs/beware_i.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/Adafruit_LED_Backpack-1.1.6/examples/wavface/wavs/beware_i.wav -------------------------------------------------------------------------------- /lib/Adafruit_LED_Backpack-1.1.6/examples/wavface/wavs/ihunger.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/Adafruit_LED_Backpack-1.1.6/examples/wavface/wavs/ihunger.wav -------------------------------------------------------------------------------- /lib/Adafruit_LED_Backpack-1.1.6/examples/wavface/wavs/run_cowd.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/Adafruit_LED_Backpack-1.1.6/examples/wavface/wavs/run_cowd.wav -------------------------------------------------------------------------------- /lib/Adafruit_LED_Backpack-1.1.6/library.properties: -------------------------------------------------------------------------------- 1 | name=Adafruit LED Backpack Library 2 | version=1.1.6 3 | author=Adafruit 4 | maintainer=Adafruit 5 | sentence=Adafruit LED Backpack Library for our 8x8 matrix and 7-segment LED backpacks 6 | paragraph=Adafruit LED Backpack Library for our 8x8 matrix and 7-segment LED backpacks 7 | category=Display 8 | url=https://github.com/adafruit/Adafruit-LED-Backpack-Library 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/Adafruit_MAX31865-1.1.0-custom/README.md: -------------------------------------------------------------------------------- 1 | # Adafruit_MAX31865 2 | Arduino Library for Adafruit MAX31865 RTD Sensor 3 | -------------------------------------------------------------------------------- /lib/Adafruit_MAX31865-1.1.0-custom/README.txt: -------------------------------------------------------------------------------- 1 | This is the Adafruit MAX31856 Arduino Library 2 | 3 | Tested and works great with the Adafruit Thermocouple Breakout w/MAX31856 4 | 5 | * http://www.adafruit.com/products/3328 6 | 7 | These sensors use SPI to communicate, 4 pins are required to 8 | interface 9 | 10 | Adafruit invests time and resources providing this open source code, 11 | please support Adafruit and open-source hardware by purchasing 12 | products from Adafruit! 13 | 14 | Written by Limor Fried/Ladyada for Adafruit Industries. 15 | BSD license, check license.txt for more information 16 | All text above must be included in any redistribution -------------------------------------------------------------------------------- /lib/Adafruit_MAX31865-1.1.0-custom/library.properties: -------------------------------------------------------------------------------- 1 | name=Adafruit MAX31865 library 2 | version=1.0.1 3 | author=Adafruit 4 | maintainer=Adafruit 5 | sentence=Library for the Adafruit RTD Amplifier breakout with MAX31865 6 | paragraph=Library for the Adafruit RTD Amplifier breakout with MAX31865 7 | category=Sensors 8 | url=https://github.com/adafruit/Adafruit_MAX31865 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/Adafruit_SGP30-1.0.3/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | Doxyfile* 3 | doxygen_sqlite3.db 4 | html -------------------------------------------------------------------------------- /lib/Adafruit_SGP30-1.0.3/.travis.yml: -------------------------------------------------------------------------------- 1 | language: c 2 | sudo: false 3 | 4 | # Blacklist 5 | branches: 6 | except: 7 | - gh-pages 8 | 9 | env: 10 | global: 11 | - PRETTYNAME="Adafruit SGP30 Arduino Library" 12 | # Optional, will default to "$TRAVIS_BUILD_DIR/Doxyfile" 13 | # - DOXYFILE: $TRAVIS_BUILD_DIR/Doxyfile 14 | 15 | before_install: 16 | - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/install.sh) 17 | 18 | #install: 19 | # - arduino --install-library "Adafruit ILI9341","Adafruit GFX Library" 20 | 21 | script: 22 | - build_main_platforms 23 | 24 | # Generate and deploy documentation 25 | after_success: 26 | - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/library_check.sh) 27 | - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/doxy_gen_and_deploy.sh) -------------------------------------------------------------------------------- /lib/Adafruit_SGP30-1.0.3/README.md: -------------------------------------------------------------------------------- 1 | Adafruit_SGP30 2 | ================ 3 | 4 | This is the Adafruit SGP30 Gas / Air Quality I2C sensor library 5 | 6 | Tested and works great with the Aadafruit SGP30 Breakout Board 7 | * http://www.adafruit.com/products/3709 8 | 9 | This chip uses I2C to communicate, 2 pins are required to interface 10 | 11 | Adafruit invests time and resources providing this open source code, 12 | please support Adafruit and open-source hardware by purchasing 13 | products from Adafruit! 14 | 15 | Written by Limor Fried for Adafruit Industries. 16 | BSD license, check license.txt for more information 17 | All text above must be included in any redistribution 18 | 19 | -------------------------------------------------------------------------------- /lib/Adafruit_SGP30-1.0.3/library.properties: -------------------------------------------------------------------------------- 1 | name=Adafruit SGP30 Sensor 2 | version=1.0.3 3 | author=Adafruit 4 | maintainer=Adafruit 5 | sentence=This is an Arduino library for the Adafruit SGP30 Gas / Air Quality Sensor 6 | paragraph=This is an Arduino library for the Adafruit SGP30 Gas / Air Quality Sensor 7 | category=Sensors 8 | url=https://github.com/adafruit/Adafruit_SGP30 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/Adafruit_SH1106-gemu-1.0/README.md: -------------------------------------------------------------------------------- 1 | Adafruit_SH1106 2 | =============== 3 | 4 | Adafruit graphic library for SH1106 driver lcds. 5 | 6 | some small oled lcd use SH1106 driver. 7 | 8 | I change the adafruit SSD1306 to SH1106 9 | 10 | SH1106 driver similar to SSD1306. thus, just change the display() method. 11 | 12 | However, SH1106 driver don't provide several functions such as scroll commands. 13 | 14 | 15 | Adafruit-GFX-Library 16 | https://github.com/adafruit/Adafruit-GFX-Library 17 | -------------------------------------------------------------------------------- /lib/Adafruit_SSD1306-1.3.0-gemu-1.1/.gitignore: -------------------------------------------------------------------------------- 1 | # Our handy .gitignore for automation ease 2 | Doxyfile* 3 | doxygen_sqlite3.db 4 | html 5 | -------------------------------------------------------------------------------- /lib/Adafruit_SSD1306-1.3.0-gemu-1.1/.travis.yml: -------------------------------------------------------------------------------- 1 | language: c 2 | sudo: false 3 | cache: 4 | directories: 5 | - ~/arduino_ide 6 | - ~/.arduino15/packages/ 7 | git: 8 | depth: false 9 | quiet: true 10 | env: 11 | global: 12 | - ARDUINO_IDE_VERSION="1.8.5" 13 | - PRETTYNAME="Adafruit SSD1306" 14 | # Optional, will default to "$TRAVIS_BUILD_DIR/Doxyfile" 15 | # - DOXYFILE: $TRAVIS_BUILD_DIR/Doxyfile 16 | 17 | before_install: 18 | - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/install.sh) 19 | 20 | install: 21 | - arduino --install-library "Adafruit GFX Library" 22 | 23 | script: 24 | - build_main_platforms 25 | 26 | # Generate and deploy documentation 27 | after_success: 28 | - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/library_check.sh) 29 | - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/doxy_gen_and_deploy.sh) 30 | -------------------------------------------------------------------------------- /lib/Adafruit_SSD1306-1.3.0-gemu-1.1/library.properties: -------------------------------------------------------------------------------- 1 | name=Adafruit SSD1306 2 | version=1.3.0 3 | author=Adafruit 4 | maintainer=Adafruit 5 | sentence=SSD1306 oled driver library for monochrome 128x64 and 128x32 displays 6 | paragraph=SSD1306 oled driver library for monochrome 128x64 and 128x32 displays 7 | category=Display 8 | url=https://github.com/adafruit/Adafruit_SSD1306 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/Adafruit_SSD1351-gemu-1.0/README.md: -------------------------------------------------------------------------------- 1 | ### SSD3115 Arduino Library 2 | This library is for support for the 128x128 oled controller over 3 wire SPI. It is based heavily on the [Adafruit_SSD1351](https://github.com/adafruit/Adafruit-SSD1351-library) library and is designed to work with the [Adafruit_GFX library](https://github.com/adafruit/Adafruit-GFX-Library). 3 | -------------------------------------------------------------------------------- /lib/Adafruit_SSD1351-gemu-1.0/Tiger.rgb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/Adafruit_SSD1351-gemu-1.0/Tiger.rgb -------------------------------------------------------------------------------- /lib/Adafruit_SSD1351-gemu-1.0/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | SSD3115 KEYWORD1 10 | 11 | 12 | ####################################### 13 | # Methods and Functions (KEYWORD2) 14 | ####################################### 15 | 16 | setRotation KEYWORD2 17 | setAddrWindow KEYWORD2 18 | pushColor KEYWORD2 19 | drawPixel KEYWORD2 20 | drawFastVLine KEYWORD2 21 | drawFastHLine KEYWORD2 22 | fillRect KEYWORD2 23 | setRotation KEYWORD2 24 | setRotation KEYWORD2 25 | height KEYWORD2 26 | width KEYWORD2 27 | invertDisplay KEYWORD2 28 | drawImage KEYWORD2 29 | setScrollArea KEYWORD2 30 | scroll KEYWORD2 31 | -------------------------------------------------------------------------------- /lib/Adafruit_SSD1351-gemu-1.0/library.properties: -------------------------------------------------------------------------------- 1 | name=SSD3115 2 | version=1.0 3 | author=Limor Fried/Ladyada 4 | maintainer=Limor Fried/Ladyada 5 | sentence=Library for SSD3115 displays 6 | paragraph=Library for SSD3115 displays 7 | category=Display 8 | url=https://github.com/adafruit/Adafruit-SSD1351-library 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/ArduinoJson.h: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #include "src/ArduinoJson.h" 6 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/keywords.txt: -------------------------------------------------------------------------------- 1 | JsonArray KEYWORD1 2 | JsonObject KEYWORD1 3 | JsonVariant KEYWORD1 4 | StaticJsonBuffer KEYWORD1 5 | DynamicJsonBuffer KEYWORD1 6 | add KEYWORD2 7 | createArray KEYWORD2 8 | createNestedArray KEYWORD2 9 | createNestedObject KEYWORD2 10 | createObject KEYWORD2 11 | parseArray KEYWORD2 12 | parseObject KEYWORD2 13 | prettyPrintTo KEYWORD2 14 | printTo KEYWORD2 15 | success KEYWORD2 16 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/library.properties: -------------------------------------------------------------------------------- 1 | name=ArduinoJson 2 | version=5.13.4 3 | author=Benoit Blanchon 4 | maintainer=Benoit Blanchon 5 | sentence=An efficient and elegant JSON library for Arduino. 6 | paragraph=ArduinoJson supports serialization, deserialization, fixed allocation, zero-copy, streams, and more. It is the most popular Arduino library on GitHub. Check out arduinojson.org for a comprehensive documentation. 7 | category=Data Processing 8 | url=https://arduinojson.org/?utm_source=meta&utm_medium=library.properties 9 | architectures=* 10 | repository=https://github.com/bblanchon/ArduinoJson.git 11 | license=MIT 12 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson.h: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #ifdef __cplusplus 8 | 9 | #include "ArduinoJson.hpp" 10 | 11 | using namespace ArduinoJson; 12 | 13 | #else 14 | 15 | #error ArduinoJson requires a C++ compiler, please change file extension to .cc or .cpp 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "ArduinoJson/version.hpp" 8 | 9 | #include "ArduinoJson/DynamicJsonBuffer.hpp" 10 | #include "ArduinoJson/JsonArray.hpp" 11 | #include "ArduinoJson/JsonObject.hpp" 12 | #include "ArduinoJson/StaticJsonBuffer.hpp" 13 | 14 | #include "ArduinoJson/Deserialization/JsonParserImpl.hpp" 15 | #include "ArduinoJson/JsonArrayImpl.hpp" 16 | #include "ArduinoJson/JsonBufferImpl.hpp" 17 | #include "ArduinoJson/JsonObjectImpl.hpp" 18 | #include "ArduinoJson/JsonVariantImpl.hpp" 19 | #include "ArduinoJson/Serialization/JsonSerializerImpl.hpp" 20 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Data/Encoding.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | class Encoding { 11 | public: 12 | // Optimized for code size on a 8-bit AVR 13 | static char escapeChar(char c) { 14 | const char *p = escapeTable(false); 15 | while (p[0] && p[1] != c) { 16 | p += 2; 17 | } 18 | return p[0]; 19 | } 20 | 21 | // Optimized for code size on a 8-bit AVR 22 | static char unescapeChar(char c) { 23 | const char *p = escapeTable(true); 24 | for (;;) { 25 | if (p[0] == '\0') return c; 26 | if (p[0] == c) return p[1]; 27 | p += 2; 28 | } 29 | } 30 | 31 | private: 32 | static const char *escapeTable(bool excludeIdenticals) { 33 | return &"\"\"\\\\b\bf\fn\nr\rt\t"[excludeIdenticals ? 4 : 0]; 34 | } 35 | }; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Data/JsonBufferAllocated.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "../JsonBuffer.hpp" 8 | 9 | namespace ArduinoJson { 10 | namespace Internals { 11 | 12 | class JsonBufferAllocated { 13 | public: 14 | void *operator new(size_t n, JsonBuffer *jsonBuffer) throw() { 15 | if (!jsonBuffer) return NULL; 16 | return jsonBuffer->alloc(n); 17 | } 18 | 19 | void operator delete(void *, JsonBuffer *)throw(); 20 | }; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Data/JsonFloat.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "../Configuration.hpp" 8 | 9 | namespace ArduinoJson { 10 | namespace Internals { 11 | 12 | #if ARDUINOJSON_USE_DOUBLE 13 | typedef double JsonFloat; 14 | #else 15 | typedef float JsonFloat; 16 | #endif 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Data/JsonInteger.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "../Configuration.hpp" 8 | 9 | namespace ArduinoJson { 10 | namespace Internals { 11 | 12 | #if ARDUINOJSON_USE_LONG_LONG 13 | typedef long long JsonInteger; 14 | typedef unsigned long long JsonUInt; 15 | #elif ARDUINOJSON_USE_INT64 16 | typedef __int64 JsonInteger; 17 | typedef unsigned _int64 JsonUInt; 18 | #else 19 | typedef long JsonInteger; 20 | typedef unsigned long JsonUInt; 21 | #endif 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Data/JsonVariantAs.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | // A metafunction that returns the type of the value returned by 11 | // JsonVariant::as() 12 | template 13 | struct JsonVariantAs { 14 | typedef T type; 15 | }; 16 | 17 | template <> 18 | struct JsonVariantAs { 19 | typedef const char* type; 20 | }; 21 | 22 | template <> 23 | struct JsonVariantAs { 24 | typedef JsonArray& type; 25 | }; 26 | 27 | template <> 28 | struct JsonVariantAs { 29 | typedef const JsonArray& type; 30 | }; 31 | 32 | template <> 33 | struct JsonVariantAs { 34 | typedef JsonObject& type; 35 | }; 36 | 37 | template <> 38 | struct JsonVariantAs { 39 | typedef const JsonObject& type; 40 | }; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Data/JsonVariantContent.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "JsonFloat.hpp" 8 | #include "JsonInteger.hpp" 9 | 10 | namespace ArduinoJson { 11 | 12 | // Forward declarations 13 | class JsonArray; 14 | class JsonObject; 15 | 16 | namespace Internals { 17 | // A union that defines the actual content of a JsonVariant. 18 | // The enum JsonVariantType determines which member is in use. 19 | union JsonVariantContent { 20 | JsonFloat asFloat; // used for double and float 21 | JsonUInt asInteger; // used for bool, char, short, int and longs 22 | const char* asString; // asString can be null 23 | JsonArray* asArray; // asArray cannot be null 24 | JsonObject* asObject; // asObject cannot be null 25 | }; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Data/JsonVariantDefault.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | template 11 | struct JsonVariantDefault { 12 | static T get() { 13 | return T(); 14 | } 15 | }; 16 | 17 | template 18 | struct JsonVariantDefault : JsonVariantDefault {}; 19 | 20 | template 21 | struct JsonVariantDefault : JsonVariantDefault {}; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Data/ListNode.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include // for NULL 8 | 9 | #include "JsonBufferAllocated.hpp" 10 | 11 | namespace ArduinoJson { 12 | namespace Internals { 13 | 14 | // A node for a singly-linked list. 15 | // Used by List and its iterators. 16 | template 17 | struct ListNode : public Internals::JsonBufferAllocated { 18 | ListNode() throw() : next(NULL) {} 19 | 20 | ListNode *next; 21 | T content; 22 | }; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Data/NonCopyable.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | // A type that cannot be copied 11 | class NonCopyable { 12 | protected: 13 | NonCopyable() {} 14 | 15 | private: 16 | // copy constructor is private 17 | NonCopyable(const NonCopyable&); 18 | 19 | // copy operator is private 20 | NonCopyable& operator=(const NonCopyable&); 21 | }; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Data/ReferenceType.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | // A type that is meant to be used by reference only (JsonArray and JsonObject) 11 | class ReferenceType { 12 | public: 13 | bool operator==(const ReferenceType& other) const { 14 | // two JsonArray are equal if they are the same instance 15 | // (we don't compare the content) 16 | return this == &other; 17 | } 18 | 19 | bool operator!=(const ReferenceType& other) const { 20 | return this != &other; 21 | } 22 | }; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Deserialization/StringWriter.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | template 11 | class StringWriter { 12 | public: 13 | class String { 14 | public: 15 | String(TChar** ptr) : _writePtr(ptr), _startPtr(*ptr) {} 16 | 17 | void append(char c) { 18 | *(*_writePtr)++ = TChar(c); 19 | } 20 | 21 | const char* c_str() const { 22 | *(*_writePtr)++ = 0; 23 | return reinterpret_cast(_startPtr); 24 | } 25 | 26 | private: 27 | TChar** _writePtr; 28 | TChar* _startPtr; 29 | }; 30 | 31 | StringWriter(TChar* buffer) : _ptr(buffer) {} 32 | 33 | String startString() { 34 | return String(&_ptr); 35 | } 36 | 37 | private: 38 | TChar* _ptr; 39 | }; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/JsonArrayImpl.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "JsonArray.hpp" 8 | #include "JsonArraySubscript.hpp" 9 | #include "JsonObject.hpp" 10 | 11 | namespace ArduinoJson { 12 | 13 | inline JsonArray &JsonArray::createNestedArray() { 14 | if (!_buffer) return JsonArray::invalid(); 15 | JsonArray &array = _buffer->createArray(); 16 | add(array); 17 | return array; 18 | } 19 | 20 | inline JsonObject &JsonArray::createNestedObject() { 21 | if (!_buffer) return JsonObject::invalid(); 22 | JsonObject &object = _buffer->createObject(); 23 | add(object); 24 | return object; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/JsonBufferImpl.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "Deserialization/JsonParser.hpp" 8 | 9 | inline ArduinoJson::JsonArray &ArduinoJson::JsonBuffer::createArray() { 10 | JsonArray *ptr = new (this) JsonArray(this); 11 | return ptr ? *ptr : JsonArray::invalid(); 12 | } 13 | 14 | inline ArduinoJson::JsonObject &ArduinoJson::JsonBuffer::createObject() { 15 | JsonObject *ptr = new (this) JsonObject(this); 16 | return ptr ? *ptr : JsonObject::invalid(); 17 | } 18 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/JsonObjectImpl.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "JsonArray.hpp" 8 | #include "JsonObject.hpp" 9 | #include "JsonObjectSubscript.hpp" 10 | 11 | namespace ArduinoJson { 12 | 13 | template 14 | inline JsonArray &JsonObject::createNestedArray_impl(TStringRef key) { 15 | if (!_buffer) return JsonArray::invalid(); 16 | JsonArray &array = _buffer->createArray(); 17 | set(key, array); 18 | return array; 19 | } 20 | 21 | template 22 | inline JsonObject &JsonObject::createNestedObject_impl(TStringRef key) { 23 | if (!_buffer) return JsonObject::invalid(); 24 | JsonObject &object = _buffer->createObject(); 25 | set(key, object); 26 | return object; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/JsonPair.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "JsonVariant.hpp" 8 | 9 | namespace ArduinoJson { 10 | 11 | // A key value pair for JsonObject. 12 | struct JsonPair { 13 | const char* key; 14 | JsonVariant value; 15 | }; 16 | } 17 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/JsonVariantBase.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "JsonVariantCasts.hpp" 8 | #include "JsonVariantComparisons.hpp" 9 | #include "JsonVariantOr.hpp" 10 | #include "JsonVariantSubscripts.hpp" 11 | #include "Serialization/JsonPrintable.hpp" 12 | 13 | namespace ArduinoJson { 14 | namespace Internals { 15 | 16 | template 17 | class JsonVariantBase : public JsonPrintable, 18 | public JsonVariantCasts, 19 | public JsonVariantComparisons, 20 | public JsonVariantOr, 21 | public JsonVariantSubscripts, 22 | public JsonVariantTag {}; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Polyfills/attributes.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #ifdef _MSC_VER // Visual Studio 8 | 9 | #define FORCE_INLINE // __forceinline causes C4714 when returning std::string 10 | #define NO_INLINE __declspec(noinline) 11 | #define DEPRECATED(msg) __declspec(deprecated(msg)) 12 | 13 | #elif defined(__GNUC__) // GCC or Clang 14 | 15 | #define FORCE_INLINE __attribute__((always_inline)) 16 | #define NO_INLINE __attribute__((noinline)) 17 | #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) 18 | #define DEPRECATED(msg) __attribute__((deprecated(msg))) 19 | #else 20 | #define DEPRECATED(msg) __attribute__((deprecated)) 21 | #endif 22 | 23 | #else // Other compilers 24 | 25 | #define FORCE_INLINE 26 | #define NO_INLINE 27 | #define DEPRECATED(msg) 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Polyfills/ctype.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | inline bool isdigit(char c) { 11 | return '0' <= c && c <= '9'; 12 | } 13 | 14 | inline bool issign(char c) { 15 | return '-' == c || c == '+'; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Polyfills/isFloat.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include // for strcmp 8 | #include "./ctype.hpp" 9 | 10 | namespace ArduinoJson { 11 | namespace Internals { 12 | 13 | inline bool isFloat(const char* s) { 14 | if (!s) return false; 15 | 16 | if (!strcmp(s, "NaN")) return true; 17 | if (issign(*s)) s++; 18 | if (!strcmp(s, "Infinity")) return true; 19 | if (*s == '\0') return false; 20 | 21 | while (isdigit(*s)) s++; 22 | 23 | if (*s == '.') { 24 | s++; 25 | while (isdigit(*s)) s++; 26 | } 27 | 28 | if (*s == 'e' || *s == 'E') { 29 | s++; 30 | if (issign(*s)) s++; 31 | if (!isdigit(*s)) return false; 32 | while (isdigit(*s)) s++; 33 | } 34 | 35 | return *s == '\0'; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Polyfills/isInteger.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "./ctype.hpp" 8 | 9 | namespace ArduinoJson { 10 | namespace Internals { 11 | 12 | inline bool isInteger(const char* s) { 13 | if (!s || !*s) return false; 14 | if (issign(*s)) s++; 15 | while (isdigit(*s)) s++; 16 | return *s == '\0'; 17 | } 18 | } // namespace Internals 19 | } // namespace ArduinoJson 20 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Polyfills/math.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | template 10 | bool isNaN(T x) { 11 | return x != x; 12 | } 13 | 14 | template 15 | bool isInfinity(T x) { 16 | return x != 0.0 && x * 2 == x; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Polyfills/parseInteger.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | #include "../Configuration.hpp" 10 | #include "./ctype.hpp" 11 | 12 | namespace ArduinoJson { 13 | namespace Internals { 14 | template 15 | T parseInteger(const char *s) { 16 | if (!s) return 0; // NULL 17 | 18 | if (*s == 't') return 1; // "true" 19 | 20 | T result = 0; 21 | bool negative_result = false; 22 | 23 | switch (*s) { 24 | case '-': 25 | negative_result = true; 26 | s++; 27 | break; 28 | case '+': 29 | s++; 30 | break; 31 | } 32 | 33 | while (isdigit(*s)) { 34 | result = T(result * 10 + T(*s - '0')); 35 | s++; 36 | } 37 | 38 | return negative_result ? T(~result + 1) : result; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Serialization/DummyPrint.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | // A dummy Print implementation used in JsonPrintable::measureLength() 11 | class DummyPrint { 12 | public: 13 | size_t print(char) { 14 | return 1; 15 | } 16 | 17 | size_t print(const char* s) { 18 | return strlen(s); 19 | } 20 | }; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Serialization/DynamicStringBuilder.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "../StringTraits/StringTraits.hpp" 8 | 9 | namespace ArduinoJson { 10 | namespace Internals { 11 | 12 | // A Print implementation that allows to write in a String 13 | template 14 | class DynamicStringBuilder { 15 | public: 16 | DynamicStringBuilder(TString &str) : _str(str) {} 17 | 18 | size_t print(char c) { 19 | StringTraits::append(_str, c); 20 | return 1; 21 | } 22 | 23 | size_t print(const char *s) { 24 | size_t initialLen = _str.length(); 25 | StringTraits::append(_str, s); 26 | return _str.length() - initialLen; 27 | } 28 | 29 | private: 30 | DynamicStringBuilder &operator=(const DynamicStringBuilder &); 31 | 32 | TString &_str; 33 | }; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Serialization/JsonSerializer.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "JsonWriter.hpp" 8 | 9 | namespace ArduinoJson { 10 | 11 | class JsonArray; 12 | class JsonObject; 13 | class JsonVariant; 14 | 15 | namespace Internals { 16 | 17 | class JsonArraySubscript; 18 | template 19 | class JsonObjectSubscript; 20 | 21 | template 22 | class JsonSerializer { 23 | public: 24 | static void serialize(const JsonArray &, Writer &); 25 | static void serialize(const JsonArraySubscript &, Writer &); 26 | static void serialize(const JsonObject &, Writer &); 27 | template 28 | static void serialize(const JsonObjectSubscript &, Writer &); 29 | static void serialize(const JsonVariant &, Writer &); 30 | }; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Serialization/StaticStringBuilder.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | // A Print implementation that allows to write in a char[] 11 | class StaticStringBuilder { 12 | public: 13 | StaticStringBuilder(char *buf, size_t size) : end(buf + size - 1), p(buf) { 14 | *p = '\0'; 15 | } 16 | 17 | size_t print(char c) { 18 | if (p >= end) return 0; 19 | *p++ = c; 20 | *p = '\0'; 21 | return 1; 22 | } 23 | 24 | size_t print(const char *s) { 25 | char *begin = p; 26 | while (p < end && *s) *p++ = *s++; 27 | *p = '\0'; 28 | return size_t(p - begin); 29 | } 30 | 31 | private: 32 | char *end; 33 | char *p; 34 | }; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/Serialization/StreamPrintAdapter.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "../Configuration.hpp" 8 | 9 | #if ARDUINOJSON_ENABLE_STD_STREAM 10 | 11 | #include 12 | 13 | namespace ArduinoJson { 14 | namespace Internals { 15 | 16 | class StreamPrintAdapter { 17 | public: 18 | explicit StreamPrintAdapter(std::ostream& os) : _os(os) {} 19 | 20 | size_t print(char c) { 21 | _os << c; 22 | return 1; 23 | } 24 | 25 | size_t print(const char* s) { 26 | _os << s; 27 | return strlen(s); 28 | } 29 | 30 | private: 31 | // cannot be assigned 32 | StreamPrintAdapter& operator=(const StreamPrintAdapter&); 33 | 34 | std::ostream& _os; 35 | }; 36 | } 37 | } 38 | 39 | #endif // ARDUINOJSON_ENABLE_STD_STREAM 40 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/TypeTraits/EnableIf.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | // A meta-function that return the type T if Condition is true. 11 | template 12 | struct EnableIf {}; 13 | 14 | template 15 | struct EnableIf { 16 | typedef T type; 17 | }; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/TypeTraits/IsArray.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | // A meta-function that return the type T without the const modifier 11 | template 12 | struct IsArray { 13 | static const bool value = false; 14 | }; 15 | template 16 | struct IsArray { 17 | static const bool value = true; 18 | }; 19 | template 20 | struct IsArray { 21 | static const bool value = true; 22 | }; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/TypeTraits/IsBaseOf.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | // A meta-function that returns true if Derived inherits from TBase is an 11 | // integral type. 12 | template 13 | class IsBaseOf { 14 | protected: // <- to avoid GCC's "all member functions in class are private" 15 | typedef char Yes[1]; 16 | typedef char No[2]; 17 | 18 | static Yes &probe(const TBase *); 19 | static No &probe(...); 20 | 21 | public: 22 | enum { 23 | value = sizeof(probe(reinterpret_cast(0))) == sizeof(Yes) 24 | }; 25 | }; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/TypeTraits/IsChar.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "IsSame.hpp" 8 | 9 | namespace ArduinoJson { 10 | namespace Internals { 11 | 12 | // A meta-function that returns true if T is a charater 13 | template 14 | struct IsChar { 15 | static const bool value = IsSame::value || 16 | IsSame::value || 17 | IsSame::value; 18 | }; 19 | 20 | template 21 | struct IsChar : IsChar {}; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/TypeTraits/IsConst.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | // A meta-function that return the type T without the const modifier 11 | template 12 | struct IsConst { 13 | static const bool value = false; 14 | }; 15 | 16 | template 17 | struct IsConst { 18 | static const bool value = true; 19 | }; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/TypeTraits/IsFloatingPoint.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "IsSame.hpp" 8 | 9 | namespace ArduinoJson { 10 | namespace Internals { 11 | 12 | // A meta-function that returns true if T is a floating point type 13 | template 14 | struct IsFloatingPoint { 15 | static const bool value = IsSame::value || IsSame::value; 16 | }; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/TypeTraits/IsIntegral.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "IsSame.hpp" 8 | #include "IsSignedIntegral.hpp" 9 | #include "IsUnsignedIntegral.hpp" 10 | 11 | namespace ArduinoJson { 12 | namespace Internals { 13 | 14 | // A meta-function that returns true if T is an integral type. 15 | template 16 | struct IsIntegral { 17 | static const bool value = IsSignedIntegral::value || 18 | IsUnsignedIntegral::value || 19 | IsSame::value; 20 | // CAUTION: differs from std::is_integral as it doesn't include bool 21 | }; 22 | 23 | template 24 | struct IsIntegral : IsIntegral {}; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/TypeTraits/IsSame.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | // A meta-function that returns true if types T and U are the same. 11 | template 12 | struct IsSame { 13 | static const bool value = false; 14 | }; 15 | 16 | template 17 | struct IsSame { 18 | static const bool value = true; 19 | }; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/TypeTraits/IsSignedIntegral.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "../Configuration.hpp" 8 | #include "IsSame.hpp" 9 | 10 | namespace ArduinoJson { 11 | namespace Internals { 12 | 13 | // A meta-function that returns true if T is an integral type. 14 | template 15 | struct IsSignedIntegral { 16 | static const bool value = 17 | IsSame::value || IsSame::value || 18 | IsSame::value || IsSame::value || 19 | #if ARDUINOJSON_USE_LONG_LONG 20 | IsSame::value || 21 | #endif 22 | #if ARDUINOJSON_USE_INT64 23 | IsSame::value || 24 | #endif 25 | false; 26 | }; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/TypeTraits/IsUnsignedIntegral.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "../Configuration.hpp" 8 | #include "IsSame.hpp" 9 | 10 | namespace ArduinoJson { 11 | namespace Internals { 12 | 13 | // A meta-function that returns true if T is an integral type. 14 | template 15 | struct IsUnsignedIntegral { 16 | static const bool value = 17 | IsSame::value || IsSame::value || 18 | IsSame::value || IsSame::value || 19 | #if ARDUINOJSON_USE_LONG_LONG 20 | IsSame::value || 21 | #endif 22 | #if ARDUINOJSON_USE_INT64 23 | IsSame::value || 24 | #endif 25 | false; 26 | }; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/TypeTraits/IsVariant.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "IsBaseOf.hpp" 8 | 9 | namespace ArduinoJson { 10 | namespace Internals { 11 | 12 | class JsonVariantTag {}; 13 | 14 | template 15 | struct IsVariant : IsBaseOf {}; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/TypeTraits/RemoveConst.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | // A meta-function that return the type T without the const modifier 11 | template 12 | struct RemoveConst { 13 | typedef T type; 14 | }; 15 | template 16 | struct RemoveConst { 17 | typedef T type; 18 | }; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/TypeTraits/RemoveReference.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ArduinoJson { 8 | namespace Internals { 9 | 10 | // A meta-function that return the type T without the reference modifier. 11 | template 12 | struct RemoveReference { 13 | typedef T type; 14 | }; 15 | template 16 | struct RemoveReference { 17 | typedef T type; 18 | }; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/ArduinoJson-5.13.4/src/ArduinoJson/version.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2018 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #define ARDUINOJSON_VERSION "5.13.4" 8 | #define ARDUINOJSON_VERSION_MAJOR 5 9 | #define ARDUINOJSON_VERSION_MINOR 13 10 | #define ARDUINOJSON_VERSION_REVISION 4 11 | -------------------------------------------------------------------------------- /lib/ArduinoNTPd/NTPServer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * File: NTPServer.h 3 | * Description: 4 | * NTP server implementation. 5 | * Author: Mooneer Salem 6 | * License: New BSD License 7 | */ 8 | 9 | #ifndef NTP_SERVER_H 10 | #define NTP_SERVER_H 11 | 12 | class NtpServer 13 | { 14 | public: 15 | NtpServer(WiFiUDP Port) 16 | { 17 | timeServerPort_=Port; 18 | } 19 | 20 | /* 21 | * Begins listening for NTP requests. 22 | */ 23 | bool beginListening(void); 24 | 25 | 26 | /* 27 | * Processes a single NTP request. 28 | */ 29 | bool processOneRequest(uint32_t utc, uint32_t millisecs); 30 | 31 | private: 32 | WiFiUDP timeServerPort_; 33 | }; 34 | 35 | #endif // NTP_SERVER_H 36 | -------------------------------------------------------------------------------- /lib/C2Programmer-1.0.0/README.md: -------------------------------------------------------------------------------- 1 | # c2_prog_wifi 2 | WiFi-enabled programmer for Silicon Labs microcontrollers using the C2 programmer protocol, and to act as a serial-wifi bridge. 3 | 4 | Designed to run in the Arduino environment for ESP8266 module: https://github.com/esp8266/Arduino 5 | 6 | New programs can be loaded sending .hex files through the web-interface. 7 | 8 | Everything is still alpha. Currently tested with EFM8BB10F2G-A-QFN20 and ESP-01 module: http://app.cear.ufpb.br/~lucas.hartmann/tag/efm8bb1/ 9 | 10 | LICENSE: GPLv3 or newer. -------------------------------------------------------------------------------- /lib/C2Programmer-1.0.0/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map for C2Programmer 3 | # (esp8266) 4 | ####################################### 5 | 6 | ####################################### 7 | # Datatypes (KEYWORD1) 8 | ####################################### 9 | 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | 15 | 16 | ####################################### 17 | # Constants (LITERAL1) 18 | ####################################### 19 | 20 | -------------------------------------------------------------------------------- /lib/C2Programmer-1.0.0/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "C2Programmer", 3 | "version": "1.0.0", 4 | "keywords": [ 5 | "C2", "io", "Programmer" 6 | ], 7 | "description": "Implementation of C2 programmer allowing update of Sonoff Bridge RF chip.", 8 | "repository": 9 | { 10 | "type": "git", 11 | "url": "https://github.com/lhartmann/c2_prog_wifi" 12 | }, 13 | "frameworks": "arduino", 14 | "platforms": "espressif8266" 15 | } 16 | -------------------------------------------------------------------------------- /lib/C2Programmer-1.0.0/library.properties: -------------------------------------------------------------------------------- 1 | name=C2Programmer 2 | version=1.0.0 3 | author=Lucas Hartmann 4 | maintainer=Theo Arends 5 | sentence=Implementation of C2 programmer allowing update of Sonoff Bridge RF chip. 6 | paragraph= 7 | category=Signal Input/Output 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /lib/HPMA115S0/README.md: -------------------------------------------------------------------------------- 1 | # HPMA115S0 2 | Library for Honeywell's Particle Sensor (HPMA115S0-XXX) 3 | -------------------------------------------------------------------------------- /lib/HPMA115S0/example/example.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * @file example.ino 3 | * @author Felix Galindo 4 | * @date June 2017 5 | * @brief Example using HPMA115S0 sensor library on a Feather 32u4 6 | * @license MIT 7 | */ 8 | 9 | #include 10 | #include 11 | 12 | //Create an instance of software serial 13 | SoftwareSerial hpmaSerial(10, 11); // Feather TX, Feather RX 14 | 15 | //Create an instance of the hpma115S0 library 16 | HPMA115S0 hpma115S0(hpmaSerial); 17 | 18 | void setup() { 19 | Serial.begin(57600); 20 | hpmaSerial.begin(9600); 21 | delay(5000); 22 | Serial.println("Starting..."); 23 | hpma115S0.Init(); 24 | hpma115S0.StartParticleMeasurement(); 25 | } 26 | 27 | void loop() { 28 | unsigned int pm2_5, pm10; 29 | if (hpma115S0.ReadParticleMeasurement(&pm2_5, &pm10)) { 30 | Serial.println("PM 2.5: " + String(pm2_5) + " ug/m3" ); 31 | Serial.println("PM 10: " + String(pm10) + " ug/m3" ); 32 | } 33 | delay(1000); 34 | } -------------------------------------------------------------------------------- /lib/HPMA115S0/library.properties: -------------------------------------------------------------------------------- 1 | name=HPMA115S0 Arduino Library 2 | version=1.0.0 3 | author=Felix Galindo 4 | maintainer=Felix Galindo 5 | sentence=A library for Honeywell HPMA115S0 Particle Sensor 6 | paragraph=Supports the HPMA115S0 7 | category=Sensors 8 | url=https://github.com/felixgalindo/HPMA115S0.git 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/I2Cdevlib-Core/.library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "I2Cdevlib-Core", 3 | "repository": { 4 | "url": "https://github.com/jrowberg/i2cdevlib.git", 5 | "type": "git" 6 | }, 7 | "platforms": [ 8 | "atmelavr" 9 | ], 10 | "frameworks": [ 11 | "arduino" 12 | ], 13 | "version": "6744ce0ac4", 14 | "export": { 15 | "include": "Arduino/I2Cdev" 16 | }, 17 | "authors": [ 18 | { 19 | "maintainer": false, 20 | "name": "Jeff Rowberg", 21 | "url": "https://github.com/jrowberg", 22 | "email": "jeff@rowberg.net" 23 | } 24 | ], 25 | "keywords": [ 26 | "i2cdevlib", 27 | "i2c" 28 | ], 29 | "id": 11, 30 | "description": "The I2C Device Library (I2Cdevlib) is a collection of uniform and well-documented classes to provide simple and intuitive interfaces to I2C devices." 31 | } -------------------------------------------------------------------------------- /lib/I2Cdevlib-Core/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For I2Cdev 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | I2Cdev KEYWORD1 9 | 10 | ####################################### 11 | # Methods and Functions (KEYWORD2) 12 | ####################################### 13 | 14 | readBit KEYWORD2 15 | readBitW KEYWORD2 16 | readBits KEYWORD2 17 | readBitsW KEYWORD2 18 | readByte KEYWORD2 19 | readBytes KEYWORD2 20 | readWord KEYWORD2 21 | readWords KEYWORD2 22 | writeBit KEYWORD2 23 | writeBitW KEYWORD2 24 | writeBits KEYWORD2 25 | writeBitsW KEYWORD2 26 | writeByte KEYWORD2 27 | writeBytes KEYWORD2 28 | writeWord KEYWORD2 29 | writeWords KEYWORD2 30 | 31 | ####################################### 32 | # Instances (KEYWORD2) 33 | ####################################### 34 | 35 | ####################################### 36 | # Constants (LITERAL1) 37 | ####################################### 38 | 39 | -------------------------------------------------------------------------------- /lib/I2Cdevlib-Core/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "I2Cdevlib-Core", 3 | "keywords": "i2cdevlib, i2c", 4 | "description": "The I2C Device Library (I2Cdevlib) is a collection of uniform and well-documented classes to provide simple and intuitive interfaces to I2C devices.", 5 | "include": "Arduino/I2Cdev", 6 | "repository": 7 | { 8 | "type": "git", 9 | "url": "https://github.com/jrowberg/i2cdevlib.git" 10 | }, 11 | "frameworks": "arduino", 12 | "platforms": "atmelavr" 13 | } 14 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/CPPLINT.cfg: -------------------------------------------------------------------------------- 1 | set noparent 2 | root=src 3 | linelength=80 4 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/CommonAcControl/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/ControlSamsungAC/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/DumbIRRepeater/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/IRGCSendDemo/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/IRGCTCPServer/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/IRServer/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/IRrecvDemo/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/IRrecvDump/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/IRsendDemo/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/IRsendProntoDemo/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/JVCPanasonicSendDemo/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/LGACSend/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/SmartIRRepeater/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/TurnOnArgoAC/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/TurnOnDaikinAC/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/TurnOnFujitsuAC/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/TurnOnGreeAC/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/TurnOnKelvinatorAC/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/TurnOnMitsubishiAC/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/TurnOnMitsubishiHeavyAc/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/TurnOnPanasonicAC/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/TurnOnToshibaAC/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/TurnOnTrotecAC/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [env:nodemcuv2] 12 | platform = espressif8266 13 | board = nodemcuv2 14 | 15 | [env:esp32dev] 16 | platform = espressif32 17 | board = esp32dev 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/Web-AC-control/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | src_dir = . 3 | 4 | [env] 5 | lib_extra_dirs = ../../ 6 | lib_ldf_mode = deep+ 7 | lib_ignore = examples 8 | framework = arduino 9 | build_flags = ; -D_IR_LOCALE_=en-AU 10 | 11 | [common] 12 | lib_deps_builtin = 13 | lib_deps_external = 14 | ArduinoJson@>=6.0 15 | 16 | [common_esp8266] 17 | lib_deps_external = 18 | ${common.lib_deps_builtin} 19 | ${common.lib_deps_external} 20 | WifiManager@>=0.14 21 | 22 | [common_esp32] 23 | lib_deps_external = 24 | ${common.lib_deps_builtin} 25 | ${common.lib_deps_external} 26 | https://github.com/tzapu/WiFiManager.git#development 27 | 28 | [env:nodemcuv2] 29 | platform = espressif8266 30 | board = nodemcuv2 31 | lib_deps = ${common_esp8266.lib_deps_external} 32 | 33 | [env:esp32dev] 34 | platform = espressif32 35 | board = esp32dev 36 | lib_deps = ${common_esp32.lib_deps_external} 37 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/Web-AC-control/printscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/IRremoteESP8266-2.7.6/examples/Web-AC-control/printscreen.png -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/examples/Web-AC-control/upload/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/IRremoteESP8266-2.7.6/examples/Web-AC-control/upload/favicon.ico -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/library.properties: -------------------------------------------------------------------------------- 1 | name=IRremoteESP8266 2 | version=2.7.6 3 | author=David Conran, Sebastien Warin, Mark Szabo, Ken Shirriff 4 | maintainer=David Conran, Mark Szabo, Sebastien Warin, Roi Dayan, Massimiliano Pinto 5 | sentence=Send and receive infrared signals with multiple protocols (ESP8266/ESP32) 6 | paragraph=This library enables you to send and receive infra-red signals on an ESP8266 or an ESP32. 7 | category=Device Control 8 | url=https://github.com/crankyoldgit/IRremoteESP8266 9 | architectures=esp8266,esp32 10 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | # Default to building IRrecvDumpV2 if not in a specific example directory. 3 | src_dir = examples/IRrecvDumpV2 4 | 5 | [env] 6 | lib_extra_dirs = . 7 | lib_ldf_mode = deep+ 8 | lib_ignore = examples 9 | framework = arduino 10 | platform = espressif8266 11 | build_flags = ; -D_IR_LOCALE_=en-AU 12 | 13 | [env:nodemcuv2] 14 | board = nodemcuv2 15 | 16 | [env:d1_mini] 17 | board = d1_mini 18 | 19 | [env:esp32dev] 20 | platform = espressif32 21 | board = esp32dev 22 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/pylintrc: -------------------------------------------------------------------------------- 1 | [REPORTS] 2 | 3 | # Tells whether to display a full report or only the messages 4 | reports=no 5 | 6 | [FORMAT] 7 | 8 | # Maximum number of characters on a single line. 9 | max-line-length=80 10 | 11 | # String used as indentation unit. 12 | indent-string=' ' 13 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/src/CPPLINT.cfg: -------------------------------------------------------------------------------- 1 | filter=-build/include,+build/include_alpha,+build/include_order,+build/include_what_you_use 2 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/src/IRtimer.h: -------------------------------------------------------------------------------- 1 | // Copyright 2017 David Conran 2 | 3 | #ifndef IRTIMER_H_ 4 | #define IRTIMER_H_ 5 | 6 | #define __STDC_LIMIT_MACROS 7 | #include 8 | 9 | // Classes 10 | class IRtimer { 11 | public: 12 | IRtimer(); 13 | void reset(); 14 | uint32_t elapsed(); 15 | #ifdef UNIT_TEST 16 | static void add(uint32_t usecs); 17 | #endif // UNIT_TEST 18 | 19 | private: 20 | uint32_t start; 21 | }; 22 | 23 | class TimerMs { 24 | public: 25 | TimerMs(); 26 | void reset(); 27 | uint32_t elapsed(); 28 | #ifdef UNIT_TEST 29 | static void add(uint32_t msecs); 30 | #endif // UNIT_TEST 31 | 32 | private: 33 | uint32_t start; 34 | }; 35 | #endif // IRTIMER_H_ 36 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/src/i18n.h: -------------------------------------------------------------------------------- 1 | // Copyright 2019 - David Conran (@crankyoldgit) 2 | 3 | #ifndef I18N_H_ 4 | #define I18N_H_ 5 | 6 | #include "IRremoteESP8266.h" 7 | 8 | // Load the appropriate locale header file. 9 | #ifndef _IR_LOCALE_ 10 | #define _IR_LOCALE_ en-AU 11 | #endif // _IR_LOCALE_ 12 | 13 | #define ENQUOTE_(x) #x 14 | #define ENQUOTE(x) ENQUOTE_(x) 15 | 16 | // Load the desired/requested locale. 17 | #ifdef _IR_LOCALE_ 18 | #include ENQUOTE(locale/_IR_LOCALE_.h) 19 | #endif // _IR_LOCALE_ 20 | 21 | // Now that any specific locale has been loaded, we can safely load the defaults 22 | // as the defaults should not override anything that has now set. 23 | #include "locale/defaults.h" 24 | 25 | #endif // I18N_H_ 26 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/src/ir_Sherwood.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2017 David Conran 2 | 3 | // Sherwood IR remote emulation 4 | 5 | // Supports: 6 | // Brand: Sherwood, Model: RC-138 remote 7 | // Brand: Sherwood, Model: RD6505(B) Receiver 8 | 9 | #include 10 | #include "IRsend.h" 11 | 12 | #if SEND_SHERWOOD 13 | // Send an IR command to a Sherwood device. 14 | // 15 | // Args: 16 | // data: The contents of the command you want to send. 17 | // nbits: The bit size of the command being sent. (kSherwoodBits) 18 | // repeat: The nr. of times you want the command to be repeated. (Default: 1) 19 | // 20 | // Status: STABLE / Known working. 21 | // 22 | // Note: 23 | // Sherwood remote codes appear to be NEC codes with a manditory repeat code. 24 | // i.e. repeat should be >= kSherwoodMinRepeat (1). 25 | void IRsend::sendSherwood(uint64_t data, uint16_t nbits, uint16_t repeat) { 26 | sendNEC(data, nbits, std::max((uint16_t)kSherwoodMinRepeat, repeat)); 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/src/locale/en-AU.h: -------------------------------------------------------------------------------- 1 | // Copyright 2019 - David Conran (@crankyoldgit) 2 | // Locale/language file for English / Australia. 3 | // This file will override the default values located in `defaults.h`. 4 | #ifndef LOCALE_EN_AU_H_ 5 | #define LOCALE_EN_AU_H_ 6 | // Nothing should really need to be set here, as en-AU is the default 7 | // locale/language. 8 | #endif // LOCALE_EN_AU_H__ 9 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/src/locale/en-IE.h: -------------------------------------------------------------------------------- 1 | // Copyright 2019 - David Conran (@crankyoldgit) 2 | // Locale/language file for English / Ireland. 3 | // This file will override the default values located in `defaults.h`. 4 | #ifndef LOCALE_EN_IE_H_ 5 | #define LOCALE_EN_IE_H_ 6 | // Nothing should really need to be set here, as en-IE is the same as en-AU, 7 | // which is the default locale/language. 8 | #endif // LOCALE_EN_IE_H__ 9 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/src/locale/en-UK.h: -------------------------------------------------------------------------------- 1 | // Copyright 2019 - David Conran (@crankyoldgit) 2 | // Locale/language file for English / United Kingdom. 3 | // This file will override the default values located in `defaults.h`. 4 | #ifndef LOCALE_EN_UK_H_ 5 | #define LOCALE_EN_UK_H_ 6 | // Nothing should really need to be set here, as en-UK is the same as en-AU, 7 | // which is the default locale/language. 8 | #endif // LOCALE_EN_UK_H__ 9 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/src/locale/en-US.h: -------------------------------------------------------------------------------- 1 | // Copyright 2019 - David Conran (@crankyoldgit) 2 | // Locale/language file for English / United States of America. 3 | // This file will override the default values located in `defaults.h`. 4 | #ifndef LOCALE_EN_US_H_ 5 | #define LOCALE_EN_US_H_ 6 | // Not much should really need to be set here, as English is the default 7 | // locale/language. 8 | 9 | // Overrides to the default. 10 | #define D_STR_CENTRE "Center" 11 | #define D_STR_MOULD "Mold" 12 | 13 | #endif // LOCALE_EN_US_H__ 14 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/test/IRrecv_test.h: -------------------------------------------------------------------------------- 1 | // Copyright 2017 David Conran 2 | 3 | #ifndef TEST_IRRECV_TEST_H_ 4 | #define TEST_IRRECV_TEST_H_ 5 | 6 | #include 7 | #include 8 | #include 9 | #include "IRutils.h" 10 | 11 | #define EXPECT_STATE_EQ(a, b, c) \ 12 | for (uint8_t i = 0; i < c / 8; ++i) { \ 13 | EXPECT_EQ(a[i], b[i]) << "Expected state " \ 14 | "differs at i = " \ 15 | << uint64ToString(i); \ 16 | } 17 | #endif // TEST_IRRECV_TEST_H_ 18 | -------------------------------------------------------------------------------- /lib/IRremoteESP8266-2.7.6/tools/generate_irtext_h.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export INPUT="IRtext.cpp" 3 | export OUTPUT="IRtext.h" 4 | 5 | if [[ ! -f ${INPUT} ]]; then 6 | echo "Can't read file '${INPUT}'. Aborting!" 7 | exit 1 8 | fi 9 | 10 | # Header 11 | cat >${OUTPUT} << EOF 12 | // Copyright 2019 - David Conran (@crankyoldgit) 13 | // This header file is to be included in files **other than** 'IRtext.cpp'. 14 | // 15 | // WARNING: Do not edit this file! This file is automatically generated by 16 | // 'tools/generate_irtext_h.sh'. 17 | 18 | #ifndef IRTEXT_H_ 19 | #define IRTEXT_H_ 20 | 21 | #include "i18n.h" 22 | 23 | // Constant text to be shared across all object files. 24 | // This means there is only one copy of the character/string/text etc. 25 | 26 | EOF 27 | 28 | # Parse and output contents of INPUT file. 29 | sed 's/ PROGMEM//' ${INPUT} | egrep "^(const )?char" | cut -f1 -d= | 30 | sed 's/ $/;/;s/^/extern /' | sort -u >> ${OUTPUT} 31 | 32 | # Footer 33 | cat >> ${OUTPUT} << EOF 34 | 35 | #endif // IRTEXT_H_ 36 | EOF 37 | -------------------------------------------------------------------------------- /lib/JaretBurkett_ILI9488-gemu-1.0/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | ILI9488 KEYWORD1 10 | 11 | 12 | ####################################### 13 | # Methods and Functions (KEYWORD2) 14 | ####################################### 15 | 16 | setRotation KEYWORD2 17 | setAddrWindow KEYWORD2 18 | pushColor KEYWORD2 19 | drawPixel KEYWORD2 20 | drawFastVLine KEYWORD2 21 | drawFastHLine KEYWORD2 22 | fillRect KEYWORD2 23 | setRotation KEYWORD2 24 | setRotation KEYWORD2 25 | height KEYWORD2 26 | width KEYWORD2 27 | invertDisplay KEYWORD2 28 | drawImage KEYWORD2 29 | setScrollArea KEYWORD2 30 | scroll KEYWORD2 31 | -------------------------------------------------------------------------------- /lib/JaretBurkett_ILI9488-gemu-1.0/library.properties: -------------------------------------------------------------------------------- 1 | name=ILI9488 2 | version=1.0.2 3 | author=Jaret Burkett 4 | maintainer=Jaret Burkett 5 | sentence=Library for ILI9488 displays 6 | paragraph=Library for ILI9488 displays 7 | category=Display 8 | url=https://github.com/jaretburkett/ILI9488 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/Joba_Tsl2561-2.0.10/.gitignore: -------------------------------------------------------------------------------- 1 | .pioenvs 2 | .piolibdeps 3 | .clang_complete 4 | .gcc-flags.json 5 | examples/*/platformio.ini 6 | examples/*/lib 7 | examples/*/.gitignore 8 | examples/*/.travis.yml 9 | -------------------------------------------------------------------------------- /lib/Joba_Tsl2561-2.0.10/.hgignore: -------------------------------------------------------------------------------- 1 | .pioenvs 2 | .piolibdeps 3 | .clang_complete 4 | .gcc-flags.json 5 | -------------------------------------------------------------------------------- /lib/Joba_Tsl2561-2.0.10/examples/platformio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Create platformio.ini templates for all examples, if missing. 4 | # Start this script from within the examples directory. 5 | 6 | for d in *; do 7 | if [ -d "$d" -a -f "$d/$d.ino" -a ! -e "$d/platformio.ini" ] 8 | then 9 | cp -av platformio.ini "$d/" 10 | fi 11 | done 12 | 13 | -------------------------------------------------------------------------------- /lib/Joba_Tsl2561-2.0.10/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Joba_Tsl2561", 3 | "version": "2.0.10", 4 | "keywords": "twowire, i2c, bus, sensor, luminosity, illuminance, lux", 5 | "description": "Arduino library for ams (taos) luminance chip Tsl2561 with autogain. Tested with Nano, Esp8266 and Esp32.", 6 | "repository": 7 | { 8 | "type": "git", 9 | "url": "https://github.com/joba-1/Joba_Tsl2561.git" 10 | }, 11 | "frameworks": "arduino", 12 | "platforms": "*" 13 | } 14 | -------------------------------------------------------------------------------- /lib/Joba_Tsl2561-2.0.10/library.properties: -------------------------------------------------------------------------------- 1 | name=Joba Tsl2561 Library 2 | version=2.0.10 3 | author=joba-1 4 | maintainer=joba-1 5 | sentence=IoT library for using the Tsl2561 luminosity sensor 6 | paragraph=Luminosity measurement in lux with autogain. Tested with Nano, Esp8266 and Esp32. 7 | category=Sensors 8 | url=https://github.com/joba-1/Joba_Tsl2561 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/KeeloqLib/README.md: -------------------------------------------------------------------------------- 1 | ## Keeloq encryption algorithm 2 | This implementations might be useful if you are playing around with [Microchip Keeloq](http://www.microchip.com/pagehandler/en-us/technology/embeddedsecurity/technology/keeloqencoderdl.html) chips. 3 | I verified that this algorithm gives the same results as that produced by the Microchip SDK for several test cases. 4 | The Keeloq algorithm is not patented. 5 | However, since Microchip does hold a patent on its application to secure keyless entry, 6 | it probably would not be wise to make a commercial secure keyless entry product using this algorithm in a non-Microchip processor. 7 | Personal experimentation should be okay. 8 | 9 | __If you decide to make something commercial, buy Microchip's processors.__ 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /lib/KeeloqLib/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For CamelliaLib. 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | Keeloq KEYWORD1 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | 15 | encrypt KEYWORD2 16 | decrypt KEYWORD2 17 | 18 | ####################################### 19 | # Constants (LITERAL1) 20 | ####################################### 21 | -------------------------------------------------------------------------------- /lib/KeeloqLib/library.properties: -------------------------------------------------------------------------------- 1 | name=KeeloqLib 2 | version=1.1 3 | author=Mirko Falchetto 4 | maintainer=Mirko Falchetto 5 | sentence=C++ Class Implementing Keeloq cipher by Microchip.com. 6 | paragraph=Developed/Tested on Arduino/ESP8266 with Arduino IDE Environment. 7 | category=Uncategorized 8 | url=http://none.net 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/KeeloqLib/src/KeeloqLib.h: -------------------------------------------------------------------------------- 1 | /* 2 | Keeloq.h - Crypto library 3 | Written by Frank Kienast in November, 2010 4 | */ 5 | #ifndef Keeloq_lib_h 6 | #define Keeloq_lib_h 7 | #if defined(ARDUINO) && ARDUINO >= 100 8 | #include 9 | #else 10 | #include 11 | #endif 12 | 13 | class Keeloq 14 | { 15 | public: 16 | Keeloq( 17 | const unsigned long keyHigh, 18 | const unsigned long keyLow ); 19 | 20 | unsigned long encrypt( const unsigned long data ); 21 | unsigned long decrypt( const unsigned long data ); 22 | 23 | private: 24 | unsigned long _keyHigh; 25 | unsigned long _keyLow; 26 | }; 27 | 28 | #endif /*Keeloq_lib_h*/ 29 | -------------------------------------------------------------------------------- /lib/KeeloqLib/tests/KeeloqLibTest/KeeloqLibTest.ino: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void setup( void ) 4 | { 5 | Serial.begin(9600); 6 | 7 | Keeloq k(0x01020304,0x05060708); 8 | 9 | const unsigned long p = 6623281UL; 10 | const unsigned long enc = k.encrypt(p); 11 | const unsigned long dec = k.decrypt(enc); 12 | 13 | Serial.print("Plaintext : "); 14 | Serial.println(p,DEC); 15 | 16 | Serial.print("After encrypt: "); 17 | Serial.println(enc,HEX); 18 | 19 | Serial.print("After decrypt: "); 20 | Serial.println(dec,DEC); 21 | } 22 | 23 | void loop( void ) 24 | { 25 | delay(3000); 26 | } 27 | 28 | -------------------------------------------------------------------------------- /lib/LinkedList-1.2.3/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | LinkedList KEYWORD1 10 | ListNode KEYWORD1 11 | 12 | ####################################### 13 | # Methods and Functions (KEYWORD2) 14 | ####################################### 15 | 16 | size KEYWORD2 17 | add KEYWORD2 18 | unshift KEYWORD2 19 | set KEYWORD2 20 | remove KEYWORD2 21 | pop KEYWORD2 22 | shift KEYWORD2 23 | get KEYWORD2 24 | clear KEYWORD2 25 | 26 | ####################################### 27 | # Constants (LITERAL1) 28 | ####################################### 29 | -------------------------------------------------------------------------------- /lib/LinkedList-1.2.3/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "LinkedList", 3 | "keywords": "pattern", 4 | "description": "A fully implemented LinkedList (int, float, objects, Lists or Wales) made to work with Arduino projects", 5 | "repository": 6 | { 7 | "type": "git", 8 | "url": "https://github.com/ivanseidel/LinkedList.git" 9 | }, 10 | "frameworks": "arduino", 11 | "platforms": "*" 12 | } 13 | -------------------------------------------------------------------------------- /lib/LinkedList-1.2.3/library.properties: -------------------------------------------------------------------------------- 1 | name=LinkedList 2 | version=1.2.3 3 | author=Ivan Seidel 4 | maintainer=Ivan Seidel 5 | sentence=A fully implemented LinkedList made to work with Arduino projects 6 | paragraph=The objective of this library is to create a pattern for projects. If you need to use a List of: int, float, objects, Lists or Wales. This is what you are looking for. 7 | category=Data Processing 8 | url=https://github.com/ivanseidel/LinkedList 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/LiquidCrystal_I2C-1.1.3/LiquidCrystal_I2C.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/LiquidCrystal_I2C-1.1.3/LiquidCrystal_I2C.o -------------------------------------------------------------------------------- /lib/LiquidCrystal_I2C-1.1.3/README.md: -------------------------------------------------------------------------------- 1 | # LiquidCrystal_I2C 2 | LiquidCrystal Arduino library for the DFRobot I2C LCD displays 3 | -------------------------------------------------------------------------------- /lib/LiquidCrystal_I2C-1.1.3/examples/HelloWorld/HelloWorld.pde: -------------------------------------------------------------------------------- 1 | //YWROBOT 2 | //Compatible with the Arduino IDE 1.0 3 | //Library version:1.1 4 | #include 5 | #include 6 | 7 | LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display 8 | 9 | void setup() 10 | { 11 | lcd.init(); // initialize the lcd 12 | lcd.init(); 13 | // Print a message to the LCD. 14 | lcd.backlight(); 15 | lcd.setCursor(3,0); 16 | lcd.print("Hello, world!"); 17 | lcd.setCursor(2,1); 18 | lcd.print("Ywrobot Arduino!"); 19 | lcd.setCursor(0,2); 20 | lcd.print("Arduino LCM IIC 2004"); 21 | lcd.setCursor(2,3); 22 | lcd.print("Power By Ec-yuan!"); 23 | } 24 | 25 | 26 | void loop() 27 | { 28 | } 29 | -------------------------------------------------------------------------------- /lib/LiquidCrystal_I2C-1.1.3/examples/SerialDisplay/SerialDisplay.pde: -------------------------------------------------------------------------------- 1 | /* 2 | * Displays text sent over the serial port (e.g. from the Serial Monitor) on 3 | * an attached LCD. 4 | * YWROBOT 5 | *Compatible with the Arduino IDE 1.0 6 | *Library version:1.1 7 | */ 8 | #include 9 | #include 10 | 11 | LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display 12 | 13 | void setup() 14 | { 15 | lcd.init(); // initialize the lcd 16 | lcd.backlight(); 17 | Serial.begin(9600); 18 | } 19 | 20 | void loop() 21 | { 22 | // when characters arrive over the serial port... 23 | if (Serial.available()) { 24 | // wait a bit for the entire message to arrive 25 | delay(100); 26 | // clear the screen 27 | lcd.clear(); 28 | // read all the available characters 29 | while (Serial.available() > 0) { 30 | // display each character to the LCD 31 | lcd.write(Serial.read()); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /lib/LiquidCrystal_I2C-1.1.3/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "LiquidCrystal_I2C", 3 | "keywords": "LCD, liquidcrystal, I2C", 4 | "description": "A library for DFRobot I2C LCD displays", 5 | "repository": 6 | { 7 | "type": "git", 8 | "url": "https://github.com/marcoschwartz/LiquidCrystal_I2C.git" 9 | }, 10 | "frameworks": "arduino", 11 | "platforms": 12 | [ 13 | "atmelavr" 14 | ] 15 | } -------------------------------------------------------------------------------- /lib/LiquidCrystal_I2C-1.1.3/library.properties: -------------------------------------------------------------------------------- 1 | name=LiquidCrystal_I2C 2 | version=1.1.2 3 | author=Frank de Brabander 4 | maintainer=Marco Schwartz 5 | sentence=A library for I2C LCD displays. 6 | paragraph= The library allows to control I2C displays with functions extremely similar to LiquidCrystal library. THIS LIBRARY MIGHT NOT BE COMPATIBLE WITH EXISTING SKETCHES. 7 | category=Display 8 | url=https://github.com/marcoschwartz/LiquidCrystal_I2C 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/Mutichannel_Gas_Sensor/examples/GetVersion/GetVersion.ino: -------------------------------------------------------------------------------- 1 | // Get firmware version of Grove Multichannel Gas Sensor 2 | #include 3 | #include "MutichannelGasSensor.h" 4 | 5 | #define SENSOR_ADDR 0X04 // default to 0x04 6 | 7 | void setup() 8 | { 9 | Serial.begin(115200); 10 | gas.begin(SENSOR_ADDR); 11 | 12 | unsigned char version = gas.getVersion(); 13 | Serial.print("Version = "); 14 | Serial.println(version); 15 | } 16 | 17 | void loop() 18 | { 19 | // nothing to do 20 | } -------------------------------------------------------------------------------- /lib/Mutichannel_Gas_Sensor/examples/I2C_Address/I2C_Address.ino: -------------------------------------------------------------------------------- 1 | // change i2c address 2 | // Loovee 3 | // 2016-11-10 4 | 5 | #include 6 | #include "MutichannelGasSensor.h" 7 | 8 | #define SENSOR_ADDR_OLD 0x04 // default to 0x04 9 | #define SENSOR_ADDR_NEW 0x19 // change i2c address to 0x19 10 | 11 | void setup() 12 | { 13 | Serial.begin(115200); 14 | gas.begin(SENSOR_ADDR_OLD); // 15 | gas.change_i2c_address(SENSOR_ADDR_NEW); 16 | Serial.print("I2C ADDRESS SET TO 0X");; 17 | Serial.println(SENSOR_ADDR_NEW, HEX); 18 | } 19 | 20 | void loop() 21 | { 22 | 23 | } 24 | 25 | // END FILE 26 | -------------------------------------------------------------------------------- /lib/Mutichannel_Gas_Sensor/examples/calibration/calibration.ino: -------------------------------------------------------------------------------- 1 | // Calibration code for Grove - Multichannel Gas Sensor 2 | // Note that it need 10 minutes pre-heat before calibration 3 | // This code is writen by Loovee@2016-5-18 4 | 5 | #include 6 | #include "MutichannelGasSensor.h" 7 | 8 | #define SENSOR_ADDR 0X04 // default to 0x04 9 | #define PRE_HEAT_TIME 0 // pre-heat time, 10-30 minutes is recommended 10 | 11 | void setup() 12 | { 13 | Serial.begin(115200); 14 | gas.begin(SENSOR_ADDR); // 15 | Serial.println("power on, and pre-heat"); 16 | 17 | for(int i=60*PRE_HEAT_TIME; i>=0; i--) 18 | { 19 | Serial.print(i/60); 20 | Serial.print(":"); 21 | Serial.println(i%60); 22 | delay(1000); 23 | } 24 | 25 | Serial.println("Begin to calibrate..."); 26 | gas.doCalibrate(); 27 | Serial.println("Calibration ok"); 28 | 29 | gas.display_eeprom(); 30 | } 31 | 32 | void loop() 33 | { 34 | 35 | } 36 | -------------------------------------------------------------------------------- /lib/Mutichannel_Gas_Sensor/examples/factory_setting/factory_setting.ino: -------------------------------------------------------------------------------- 1 | // factory setting 2 | // Loovee 3 | // 2016-11-10 4 | 5 | #include 6 | #include "MutichannelGasSensor.h" 7 | 8 | #define SENSOR_ADDR 0X04 // default to 0x04 9 | 10 | void setup() 11 | { 12 | Serial.begin(115200); 13 | Serial.println("Please input something to continue"); 14 | while(!Serial.available()); 15 | 16 | gas.begin(SENSOR_ADDR); // 17 | 18 | Serial.println("FACTORY SETTING OK"); 19 | 20 | float R0_NH3, R0_CO, R0_NO2; 21 | 22 | R0_NH3 = gas.getR0(0); 23 | R0_CO = gas.getR0(1); 24 | R0_NO2 = gas.getR0(2); 25 | 26 | Serial.print("R0_NH3 = "); 27 | Serial.println(R0_NH3); 28 | Serial.print("R0_CO = "); 29 | Serial.println(R0_CO); 30 | Serial.print("R0_NO2 = "); 31 | Serial.println(R0_NO2); 32 | } 33 | 34 | void loop() 35 | { 36 | } 37 | -------------------------------------------------------------------------------- /lib/Mutichannel_Gas_Sensor/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Mutichannel_Gas_Sensor", 3 | "keywords": "Gas Sensor", 4 | "description": "Grove - Multichannel Gas Sensor", 5 | "homepage": "http://wiki.seeed.cc/Grove-Multichannel_Gas_Sensor/", 6 | "repository": 7 | { 8 | "type": "git", 9 | "url": "https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor.git" 10 | }, 11 | "version": "0.0.1", 12 | "frameworks": "arduino", 13 | "platforms": "*" 14 | } 15 | -------------------------------------------------------------------------------- /lib/Mutichannel_Gas_Sensor/library.properties: -------------------------------------------------------------------------------- 1 | name=Grove - Multichannel Gas Sensor 2 | version=0.0.1 3 | author=WEMOS.CC 4 | maintainer=WEMOS.CC 5 | sentence=Library for the Grove - Multichannel Gas Sensor. 6 | paragraph=Library for the Grove - Multichannel Gas Sensor. 7 | category=Device Control 8 | url=https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor.git 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | 5 | --- 6 | 7 | **NOTE: If you are seeking help or have questions, this is NOT the place to do it.** For questions and support, jump on Gitter and ask away. 8 | [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Makuna/NeoPixelBus?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # ========================= 18 | # Operating System Files 19 | # ========================= 20 | 21 | # OSX 22 | # ========================= 23 | 24 | .DS_Store 25 | .AppleDouble 26 | .LSOverride 27 | 28 | # Icon must ends with two \r. 29 | Icon 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear on external disk 35 | .Spotlight-V100 36 | .Trashes 37 | -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/examples/bitmaps/NeoPixelBitmap/Strings.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/NeoPixelBus-2.5.0.09/examples/bitmaps/NeoPixelBitmap/Strings.bmp -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/examples/bitmaps/NeoPixelBitmap/StringsW.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/NeoPixelBus-2.5.0.09/examples/bitmaps/NeoPixelBitmap/StringsW.bmp -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/examples/bitmaps/NeoPixelBufferCylon/Cylon.pdn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/NeoPixelBus-2.5.0.09/examples/bitmaps/NeoPixelBufferCylon/Cylon.pdn -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/extras/curves/circular.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/NeoPixelBus-2.5.0.09/extras/curves/circular.png -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/extras/curves/cubic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/NeoPixelBus-2.5.0.09/extras/curves/cubic.png -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/extras/curves/different.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/NeoPixelBus-2.5.0.09/extras/curves/different.png -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/extras/curves/exponential.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/NeoPixelBus-2.5.0.09/extras/curves/exponential.png -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/extras/curves/gamma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/NeoPixelBus-2.5.0.09/extras/curves/gamma.png -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/extras/curves/pronounced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/NeoPixelBus-2.5.0.09/extras/curves/pronounced.png -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/extras/curves/quadratic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/NeoPixelBus-2.5.0.09/extras/curves/quadratic.png -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/extras/curves/quintic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/NeoPixelBus-2.5.0.09/extras/curves/quintic.png -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/extras/curves/sinusoidal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/NeoPixelBus-2.5.0.09/extras/curves/sinusoidal.png -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NeoPixelBus", 3 | "keywords": "NeoPixel, WS2811, WS2812, WS2813, SK6812, DotStar, APA102, RGB, RGBW", 4 | "description": "A library that makes controlling NeoPixels (WS2811, WS2812, WS2813 & SK6812) and DotStars (APA102) easy. Supports most Arduino platforms. Support for RGBW pixels. Includes seperate RgbColor, RgbwColor, HslColor, and HsbColor objects. Includes an animator class that helps create asyncronous animations. For Esp8266 it has three methods of sending NeoPixel data, DMA, UART, and Bit Bang. For Esp32 it has two base methods of sending NeoPixel data, i2s and RMT. For all platforms, there are two methods of sending DotStar data, hardware SPI and software SPI.", 5 | "homepage": "https://github.com/Makuna/NeoPixelBus/wiki", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/Makuna/NeoPixelBus" 9 | }, 10 | "version": "2.5.0", 11 | "frameworks": "arduino", 12 | "platforms": "*" 13 | } 14 | 15 | -------------------------------------------------------------------------------- /lib/NeoPixelBus-2.5.0.09/library.properties: -------------------------------------------------------------------------------- 1 | name=NeoPixelBus by Makuna 2 | version=2.5.0 3 | author=Michael C. Miller (makuna@live.com) 4 | maintainer=Michael C. Miller (makuna@live.com) 5 | sentence=A library that makes controlling NeoPixels (WS2811, WS2812, WS2813 & SK6812) and DotStars (APA102) easy. 6 | paragraph=Supports most Arduino platforms, including Esp8266 and Esp32. Support for RGBW pixels. Includes seperate RgbColor, RgbwColor, HslColor, and HsbColor objects. Includes an animator class that helps create asyncronous animations. Supports Matrix layout of pixels. Includes Gamma corretion object. For Esp8266 it has three methods of sending NeoPixel data, DMA, UART, and Bit Bang. For Esp32 it has two base methods of sending NeoPixel data, i2s and RMT. For all platforms, there are two methods of sending DotStar data, hardware SPI and software SPI. 7 | category=Display 8 | url=https://github.com/Makuna/NeoPixelBus/wiki 9 | architectures=* -------------------------------------------------------------------------------- /lib/NewPing-1.9.1/README.md: -------------------------------------------------------------------------------- 1 | # NewPing Arduino Library for Arduino 2 | 3 | ## See the [NewPing Wiki](https://bitbucket.org/teckel12/arduino-new-ping/wiki/Home) for documentation 4 | -------------------------------------------------------------------------------- /lib/NewPing-1.9.1/keywords.txt: -------------------------------------------------------------------------------- 1 | ################################### 2 | # Syntax Coloring Map For NewPing 3 | ################################### 4 | 5 | ################################### 6 | # Datatypes (KEYWORD1) 7 | ################################### 8 | 9 | NewPing KEYWORD1 10 | 11 | ################################### 12 | # Methods and Functions (KEYWORD2) 13 | ################################### 14 | 15 | ping KEYWORD2 16 | ping_in KEYWORD2 17 | ping_cm KEYWORD2 18 | ping_median KEYWORD2 19 | ping_timer KEYWORD2 20 | check_timer KEYWORD2 21 | ping_result KEYWORD2 22 | timer_us KEYWORD2 23 | timer_ms KEYWORD2 24 | timer_stop KEYWORD2 25 | convert_in KEYWORD2 26 | convert_cm KEYWORD2 27 | 28 | ################################### 29 | # Constants (LITERAL1) 30 | ################################### 31 | -------------------------------------------------------------------------------- /lib/NewPing-1.9.1/library.properties: -------------------------------------------------------------------------------- 1 | name=NewPing 2 | version=1.9.1 3 | author=Tim Eckel 4 | maintainer=Tim Eckel 5 | sentence=A library that makes working with ultrasonic sensors easy. 6 | paragraph=When I first received an ultrasonic sensor I was not happy with how poorly it performed. I soon realized the problem was not the sensor, it was the available ping and ultrasonic libraries causing the problem. The NewPing library totally fixes these problems, adds many new features, and breathes new life into these very affordable distance sensors. 7 | category=Sensors 8 | url=https://bitbucket.org/teckel12/arduino-new-ping/wiki/Home 9 | architectures=avr,arm,esp8266 10 | includes=NewPing.h 11 | -------------------------------------------------------------------------------- /lib/OneWire-2.3.3.06/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For OneWire 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | OneWire KEYWORD1 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | 15 | reset KEYWORD2 16 | write_bit KEYWORD2 17 | read_bit KEYWORD2 18 | write KEYWORD2 19 | write_bytes KEYWORD2 20 | read KEYWORD2 21 | read_bytes KEYWORD2 22 | select KEYWORD2 23 | skip KEYWORD2 24 | depower KEYWORD2 25 | reset_search KEYWORD2 26 | search KEYWORD2 27 | crc8 KEYWORD2 28 | crc16 KEYWORD2 29 | check_crc16 KEYWORD2 30 | 31 | ####################################### 32 | # Instances (KEYWORD2) 33 | ####################################### 34 | 35 | 36 | ####################################### 37 | # Constants (LITERAL1) 38 | ####################################### 39 | -------------------------------------------------------------------------------- /lib/OneWire-2.3.3.06/library.properties: -------------------------------------------------------------------------------- 1 | name=OneWire 2 | version=2.3.3 3 | author=Jim Studt, Tom Pollard, Robin James, Glenn Trewitt, Jason Dangel, Guillermo Lovato, Paul Stoffregen, Scott Roberts, Bertrik Sikken, Mark Tillotson, Ken Butcher, Roger Clark, Love Nystrom 4 | maintainer=Paul Stoffregen 5 | sentence=Access 1-wire temperature sensors, memory and other chips. 6 | paragraph= 7 | category=Communication 8 | url=http://www.pjrc.com/teensy/td_libs_OneWire.html 9 | architectures=* 10 | 11 | -------------------------------------------------------------------------------- /lib/OpenTherm-0.9.0/library.properties: -------------------------------------------------------------------------------- 1 | name=OpenTherm Library 2 | version=0.9.0 3 | author=Ihor Melnyk 4 | maintainer=Ihor Melnyk 5 | sentence=OpenTherm Library for HVAC system control communication using Arduino and ESP8266 hardware. 6 | paragraph=OpenTherm Library is based on OpenTherm protocol specification v2.2 and works with all OpenTherm compatible boilers. 7 | category=Communication 8 | url=https://github.com/ihormelnyk/opentherm_library 9 | architectures=* 10 | includes=OpenTherm.h 11 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/.gitignore: -------------------------------------------------------------------------------- 1 | tests/bin 2 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: cpp 3 | compiler: 4 | - g++ 5 | script: cd tests && make && make test 6 | os: 7 | - linux 8 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For PubSubClient 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | PubSubClient KEYWORD1 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | 15 | connect KEYWORD2 16 | disconnect KEYWORD2 17 | publish KEYWORD2 18 | publish_P KEYWORD2 19 | beginPublish KEYWORD2 20 | endPublish KEYWORD2 21 | write KEYWORD2 22 | subscribe KEYWORD2 23 | unsubscribe KEYWORD2 24 | loop KEYWORD2 25 | connected KEYWORD2 26 | setServer KEYWORD2 27 | setCallback KEYWORD2 28 | setClient KEYWORD2 29 | setStream KEYWORD2 30 | 31 | ####################################### 32 | # Constants (LITERAL1) 33 | ####################################### 34 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PubSubClient", 3 | "keywords": "ethernet, mqtt, m2m, iot", 4 | "description": "A client library for MQTT messaging. MQTT is a lightweight messaging protocol ideal for small devices. This library allows you to send and receive MQTT messages. It supports the latest MQTT 3.1.1 protocol and can be configured to use the older MQTT 3.1 if needed. It supports all Arduino Ethernet Client compatible hardware, including the Intel Galileo/Edison, ESP8266 and TI CC3000.", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/knolleary/pubsubclient.git" 8 | }, 9 | "version": "2.7", 10 | "exclude": "tests", 11 | "examples": "examples/*/*.ino", 12 | "frameworks": "arduino", 13 | "platforms": [ 14 | "atmelavr", 15 | "espressif" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/library.properties: -------------------------------------------------------------------------------- 1 | name=PubSubClient 2 | version=2.7 3 | author=Nick O'Leary 4 | maintainer=Nick O'Leary 5 | sentence=A client library for MQTT messaging. 6 | paragraph=MQTT is a lightweight messaging protocol ideal for small devices. This library allows you to send and receive MQTT messages. It supports the latest MQTT 3.1.1 protocol and can be configured to use the older MQTT 3.1 if needed. It supports all Arduino Ethernet Client compatible hardware, including the Intel Galileo/Edison, ESP8266 and TI CC3000. 7 | category=Communication 8 | url=http://pubsubclient.knolleary.net 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/tests/.gitignore: -------------------------------------------------------------------------------- 1 | .build 2 | tmpbin 3 | logs 4 | *.pyc 5 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/tests/Makefile: -------------------------------------------------------------------------------- 1 | SRC_PATH=./src 2 | OUT_PATH=./bin 3 | TEST_SRC=$(wildcard ${SRC_PATH}/*_spec.cpp) 4 | TEST_BIN= $(TEST_SRC:${SRC_PATH}/%.cpp=${OUT_PATH}/%) 5 | VPATH=${SRC_PATH} 6 | SHIM_FILES=${SRC_PATH}/lib/*.cpp 7 | PSC_FILE=../src/PubSubClient.cpp 8 | CC=g++ 9 | CFLAGS=-I${SRC_PATH}/lib -I../src 10 | 11 | all: $(TEST_BIN) 12 | 13 | ${OUT_PATH}/%: ${SRC_PATH}/%.cpp ${PSC_FILE} ${SHIM_FILES} 14 | mkdir -p ${OUT_PATH} 15 | ${CC} ${CFLAGS} $^ -o $@ 16 | 17 | clean: 18 | @rm -rf ${OUT_PATH} 19 | 20 | test: 21 | @bin/connect_spec 22 | @bin/publish_spec 23 | @bin/receive_spec 24 | @bin/subscribe_spec 25 | @bin/keepalive_spec 26 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/tests/src/lib/Arduino.h: -------------------------------------------------------------------------------- 1 | #ifndef Arduino_h 2 | #define Arduino_h 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include "Print.h" 9 | 10 | 11 | extern "C"{ 12 | typedef uint8_t byte ; 13 | typedef uint8_t boolean ; 14 | 15 | /* sketch */ 16 | extern void setup( void ) ; 17 | extern void loop( void ) ; 18 | uint32_t millis( void ); 19 | } 20 | 21 | #define PROGMEM 22 | #define pgm_read_byte_near(x) *(x) 23 | 24 | #define yield(x) {} 25 | 26 | #endif // Arduino_h 27 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/tests/src/lib/BDDTest.h: -------------------------------------------------------------------------------- 1 | #ifndef bddtest_h 2 | #define bddtest_h 3 | 4 | void bddtest_suite(const char* name); 5 | int bddtest_test(const char*, int, const char*, int); 6 | void bddtest_start(const char*); 7 | void bddtest_end(); 8 | int bddtest_summary(); 9 | 10 | #define SUITE(x) { bddtest_suite(x); } 11 | #define TEST(x) { if (!bddtest_test(__FILE__, __LINE__, #x, (x))) return false; } 12 | 13 | #define IT(x) { bddtest_start(x); } 14 | #define END_IT { bddtest_end();return true;} 15 | 16 | #define FINISH { return bddtest_summary(); } 17 | 18 | #define IS_TRUE(x) TEST(x) 19 | #define IS_FALSE(x) TEST(!(x)) 20 | #define IS_EQUAL(x,y) TEST(x==y) 21 | #define IS_NOT_EQUAL(x,y) TEST(x!=y) 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/tests/src/lib/Buffer.cpp: -------------------------------------------------------------------------------- 1 | #include "Buffer.h" 2 | #include "Arduino.h" 3 | 4 | Buffer::Buffer() { 5 | this->pos = 0; 6 | this->length = 0; 7 | } 8 | 9 | Buffer::Buffer(uint8_t* buf, size_t size) { 10 | this->pos = 0; 11 | this->length = 0; 12 | this->add(buf,size); 13 | } 14 | bool Buffer::available() { 15 | return this->pos < this->length; 16 | } 17 | 18 | uint8_t Buffer::next() { 19 | if (this->available()) { 20 | return this->buffer[this->pos++]; 21 | } 22 | return 0; 23 | } 24 | 25 | void Buffer::reset() { 26 | this->pos = 0; 27 | } 28 | 29 | void Buffer::add(uint8_t* buf, size_t size) { 30 | uint16_t i = 0; 31 | for (;ibuffer[this->length++] = buf[i]; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/tests/src/lib/Buffer.h: -------------------------------------------------------------------------------- 1 | #ifndef buffer_h 2 | #define buffer_h 3 | 4 | #include "Arduino.h" 5 | 6 | class Buffer { 7 | private: 8 | uint8_t buffer[1024]; 9 | uint16_t pos; 10 | uint16_t length; 11 | 12 | public: 13 | Buffer(); 14 | Buffer(uint8_t* buf, size_t size); 15 | 16 | virtual bool available(); 17 | virtual uint8_t next(); 18 | virtual void reset(); 19 | 20 | virtual void add(uint8_t* buf, size_t size); 21 | }; 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/tests/src/lib/Client.h: -------------------------------------------------------------------------------- 1 | #ifndef client_h 2 | #define client_h 3 | #include "IPAddress.h" 4 | 5 | class Client { 6 | public: 7 | virtual int connect(IPAddress ip, uint16_t port) =0; 8 | virtual int connect(const char *host, uint16_t port) =0; 9 | virtual size_t write(uint8_t) =0; 10 | virtual size_t write(const uint8_t *buf, size_t size) =0; 11 | virtual int available() = 0; 12 | virtual int read() = 0; 13 | virtual int read(uint8_t *buf, size_t size) = 0; 14 | virtual int peek() = 0; 15 | virtual void flush() = 0; 16 | virtual void stop() = 0; 17 | virtual uint8_t connected() = 0; 18 | virtual operator bool() = 0; 19 | }; 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/tests/src/lib/Stream.cpp: -------------------------------------------------------------------------------- 1 | #include "Stream.h" 2 | #include "trace.h" 3 | #include 4 | #include 5 | 6 | Stream::Stream() { 7 | this->expectBuffer = new Buffer(); 8 | this->_error = false; 9 | this->_written = 0; 10 | } 11 | 12 | size_t Stream::write(uint8_t b) { 13 | this->_written++; 14 | TRACE(std::hex << (unsigned int)b); 15 | if (this->expectBuffer->available()) { 16 | uint8_t expected = this->expectBuffer->next(); 17 | if (expected != b) { 18 | this->_error = true; 19 | TRACE("!=" << (unsigned int)expected); 20 | } 21 | } else { 22 | this->_error = true; 23 | } 24 | TRACE("\n"<< std::dec); 25 | return 1; 26 | } 27 | 28 | 29 | bool Stream::error() { 30 | return this->_error; 31 | } 32 | 33 | void Stream::expect(uint8_t *buf, size_t size) { 34 | this->expectBuffer->add(buf,size); 35 | } 36 | 37 | uint16_t Stream::length() { 38 | return this->_written; 39 | } 40 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/tests/src/lib/Stream.h: -------------------------------------------------------------------------------- 1 | #ifndef Stream_h 2 | #define Stream_h 3 | 4 | #include "Arduino.h" 5 | #include "Buffer.h" 6 | 7 | class Stream { 8 | private: 9 | Buffer* expectBuffer; 10 | bool _error; 11 | uint16_t _written; 12 | 13 | public: 14 | Stream(); 15 | virtual size_t write(uint8_t); 16 | 17 | virtual bool error(); 18 | virtual void expect(uint8_t *buf, size_t size); 19 | virtual uint16_t length(); 20 | }; 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/tests/src/lib/trace.h: -------------------------------------------------------------------------------- 1 | #ifndef trace_h 2 | #define trace_h 3 | #include 4 | 5 | #include 6 | 7 | #define LOG(x) {std::cout << x << std::flush; } 8 | #define TRACE(x) {if (getenv("TRACE")) { std::cout << x << std::flush; }} 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/tests/testcases/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/PubSubClient-EspEasy-2.7.12/tests/testcases/__init__.py -------------------------------------------------------------------------------- /lib/PubSubClient-EspEasy-2.7.12/tests/testcases/settings.py: -------------------------------------------------------------------------------- 1 | server_ip = "172.16.0.2" 2 | arduino_ip = "172.16.0.100" 3 | -------------------------------------------------------------------------------- /lib/RF24/.gitignore: -------------------------------------------------------------------------------- 1 | *.bak 2 | *.o 3 | .*.swp 4 | *.orig 5 | .swp 6 | docs/ 7 | output/ 8 | ojam/ 9 | out/ 10 | 16000000/ 11 | 8000000/ 12 | out_native/ 13 | version.h 14 | Session.vim 15 | *.so 16 | *.so.* 17 | *.dylib 18 | *.dylib.* 19 | .DS_Store 20 | Makefile.inc 21 | utility/includes.h 22 | examples_linux/* 23 | !examples_linux/**/ 24 | !examples_linux/*.* 25 | .directory 26 | .idea 27 | -------------------------------------------------------------------------------- /lib/RF24/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Try your best to follow the NASA C style http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-c-style.pdf 2 | -------------------------------------------------------------------------------- /lib/RF24/README.md: -------------------------------------------------------------------------------- 1 | 2 | **See http://tmrh20.github.io/RF24 for all documentation** -------------------------------------------------------------------------------- /lib/RF24/examples/Usage/readme.md: -------------------------------------------------------------------------------- 1 | Note: These examples may have not been maintained with library updates, and are provided as-is for reference purposes. -------------------------------------------------------------------------------- /lib/RF24/examples_linux/extra/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################# 2 | # 3 | # Makefile for librf24 examples on Raspberry Pi 4 | # 5 | # License: GPL (General Public License) 6 | # Author: gnulnulf 7 | # Date: 2013/02/07 (version 1.0) 8 | # 9 | # Description: 10 | # ------------ 11 | # use make all and make install to install the examples 12 | # You can change the install directory by editing the prefix line 13 | # 14 | 15 | ifeq ($(wildcard ../../Makefile.inc), ) 16 | $(error Configuration not found. Run ./configure first) 17 | endif 18 | 19 | include ../../Makefile.inc 20 | 21 | # define all programs 22 | PROGRAMS = rpi-hub scanner 23 | 24 | include ../Makefile.examples 25 | -------------------------------------------------------------------------------- /lib/RF24/examples_linux/interrupts/Makefile: -------------------------------------------------------------------------------- 1 | ############################################################################# 2 | # 3 | # Makefile for librf24 examples on Raspberry Pi 4 | # 5 | # License: GPL (General Public License) 6 | # Author: gnulnulf 7 | # Date: 2013/02/07 (version 1.0) 8 | # 9 | # Description: 10 | # ------------ 11 | # use make all and make install to install the examples 12 | # You can change the install directory by editing the prefix line 13 | # 14 | 15 | ifeq ($(wildcard ../../Makefile.inc), ) 16 | $(error Configuration not found. Run ./configure first) 17 | endif 18 | 19 | include ../../Makefile.inc 20 | 21 | # define all programs 22 | PROGRAMS = gettingstarted_call_response_int gettingstarted_call_response_int2 transfer_interrupt pingpair_dyn_int 23 | 24 | include ../Makefile.examples 25 | -------------------------------------------------------------------------------- /lib/RF24/examples_linux/readme.md: -------------------------------------------------------------------------------- 1 | Note: These examples were originally designed for RPi, but should work on any supported Linux platform, with the proper pin configuration. 2 | 3 | See http://tmrh20.github.io/RF24 for more information -------------------------------------------------------------------------------- /lib/RF24/keywords.txt: -------------------------------------------------------------------------------- 1 | RF24 KEYWORD1 2 | begin KEYWORD2 3 | setChannel KEYWORD2 4 | setPayloadSize KEYWORD2 5 | getPayloadSize KEYWORD2 6 | print_details KEYWORD2 7 | startListening KEYWORD2 8 | stopListening KEYWORD2 9 | write KEYWORD2 10 | writeFast KEYWORD2 11 | writeBlocking KEYWORD2 12 | txStandBy KEYWORD2 13 | available KEYWORD2 14 | read KEYWORD2 15 | openWritingPipe KEYWORD2 16 | openReadingPipe KEYWORD2 -------------------------------------------------------------------------------- /lib/RF24/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "RF24", 3 | "keywords": "rf, radio, wireless, spi", 4 | "description": "Optimized High Speed Driver for nRF24L01(+) 2.4GHz Wireless Transceiver", 5 | "repository": 6 | { 7 | "type": "git", 8 | "url": "https://github.com/nRF24/RF24.git" 9 | }, 10 | "version": "1.3.3", 11 | "frameworks": "arduino", 12 | "platforms": [ 13 | "atmelavr", 14 | "atmelsam", 15 | "teensy", 16 | "espressif32", 17 | "espressif8266", 18 | "linux_arm" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /lib/RF24/library.properties: -------------------------------------------------------------------------------- 1 | name=RF24 2 | version=1.3.3 3 | author=TMRh20 4 | maintainer=TMRh20,Avamander 5 | sentence=A library for NRF24L01(+) communication. 6 | paragraph=Optimized library for nRF24L01(+) that is simple to use for beginners, but yet offers a lot for advanced users. It also has a lot of good examples how to use the library. 7 | category=Communication 8 | url=https://tmrh20.github.io/RF24/ 9 | architectures=avr,arm,x86,esp8266,esp32 10 | -------------------------------------------------------------------------------- /lib/RF24/pyRF24/pyRF24/readme.md: -------------------------------------------------------------------------------- 1 | Python Wrapper for RF24 2 | See http://tmrh20.github.io/RF24 for more information 3 | -------------------------------------------------------------------------------- /lib/RF24/pyRF24/pyRF24Mesh/example_master.py: -------------------------------------------------------------------------------- 1 | from RF24 import * 2 | from RF24Network import * 3 | from RF24Mesh import * 4 | 5 | 6 | # radio setup for RPi B Rev2: CS0=Pin 24 7 | radio = RF24(RPI_V2_GPIO_P1_15, RPI_V2_GPIO_P1_24, BCM2835_SPI_SPEED_8MHZ) 8 | network = RF24Network(radio) 9 | mesh = RF24Mesh(radio, network) 10 | 11 | mesh.setNodeID(0) 12 | mesh.begin(108, RF24_250KBPS) 13 | radio.setPALevel(RF24_PA_MAX) # Power Amplifier 14 | radio.printDetails() 15 | 16 | while 1: 17 | mesh.update() 18 | mesh.DHCP() 19 | 20 | while network.available(): 21 | print("Received message") 22 | header, payload = network.read(10) 23 | -------------------------------------------------------------------------------- /lib/RF24/pyRF24/pyRF24Mesh/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | from distutils.core import setup, Extension 4 | import sys 5 | 6 | if sys.version_info >= (3,): 7 | BOOST_LIB = 'boost_python3' 8 | else: 9 | BOOST_LIB = 'boost_python' 10 | 11 | module_RF24Mesh = Extension('RF24Mesh', 12 | libraries = ['rf24mesh', 'rf24network', BOOST_LIB], 13 | sources = ['pyRF24Mesh.cpp']) 14 | 15 | setup(name='RF24Mesh', 16 | version='1.0', 17 | ext_modules=[module_RF24Mesh]) 18 | -------------------------------------------------------------------------------- /lib/RF24/pyRF24/pyRF24Network/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | from distutils.core import setup, Extension 4 | import sys 5 | 6 | if sys.version_info >= (3,): 7 | BOOST_LIB = 'boost_python3' 8 | else: 9 | BOOST_LIB = 'boost_python' 10 | 11 | module_RF24Network = Extension('RF24Network', 12 | libraries = ['rf24network', BOOST_LIB], 13 | sources = ['pyRF24Network.cpp']) 14 | 15 | setup(name='RF24Network', 16 | version='1.0', 17 | ext_modules=[module_RF24Network] 18 | ) 19 | -------------------------------------------------------------------------------- /lib/RF24/pyRF24/readme.md: -------------------------------------------------------------------------------- 1 | Python Wrapper for RF24 2 | See http://tmrh20.github.io/RF24 for more information 3 | -------------------------------------------------------------------------------- /lib/RF24/tests/README: -------------------------------------------------------------------------------- 1 | The sketches in this directory are intended to be checkin tests. 2 | No code should be pushed to github without these tests passing. 3 | 4 | See "runtests.sh" script inside each sketch dir. This script is fully compatible with 5 | git bisest. 6 | 7 | Note that this requires python and py-serial 8 | -------------------------------------------------------------------------------- /lib/RF24/tests/native/printf.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2011 James Coliz, Jr. 3 | 4 | This program is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU General Public License 6 | version 2 as published by the Free Software Foundation. 7 | */ 8 | 9 | /** 10 | * @file printf.h 11 | * 12 | * Setup necessary to direct stdout to the Arduino Serial library, which 13 | * enables 'printf' 14 | */ 15 | 16 | #ifndef __PRINTF_H__ 17 | #define __PRINTF_H__ 18 | 19 | #include "WProgram.h" 20 | 21 | int serial_putc( char c, FILE * ) 22 | { 23 | Serial.write( c ); 24 | 25 | return c; 26 | } 27 | 28 | void printf_begin(void) 29 | { 30 | fdevopen( &serial_putc, 0 ); 31 | } 32 | 33 | #endif // __PRINTF_H__ 34 | -------------------------------------------------------------------------------- /lib/RF24/tests/pingpair_blocking/printf.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2011 J. Coliz 3 | 4 | This program is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU General Public License 6 | version 2 as published by the Free Software Foundation. 7 | */ 8 | 9 | /** 10 | * @file printf.h 11 | * 12 | * Setup necessary to direct stdout to the Arduino Serial library, which 13 | * enables 'printf' 14 | */ 15 | 16 | #ifndef __PRINTF_H__ 17 | #define __PRINTF_H__ 18 | 19 | #ifdef ARDUINO 20 | 21 | int serial_putc( char c, FILE * ) 22 | { 23 | Serial.write( c ); 24 | 25 | return c; 26 | } 27 | 28 | void printf_begin(void) 29 | { 30 | fdevopen( &serial_putc, 0 ); 31 | } 32 | 33 | #else 34 | #error This example is only for use on Arduino. 35 | #endif // ARDUINO 36 | 37 | #endif // __PRINTF_H__ 38 | -------------------------------------------------------------------------------- /lib/RF24/tests/pingpair_blocking/runtest.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | import sys,serial 4 | 5 | def read_until(token): 6 | while 1: 7 | line = ser.readline(None) 8 | sys.stdout.write(line) 9 | 10 | if (line.startswith(token)): 11 | break 12 | return line 13 | 14 | 15 | ser = serial.Serial(sys.argv[1], 57600, timeout=5, dsrdtr=False, rtscts=False) 16 | 17 | read_until("+READY") 18 | ser.write(sys.argv[2]) 19 | 20 | line = read_until("+OK") 21 | ser.close() 22 | if (line.find("PASS") != -1): 23 | sys.exit(0) 24 | else: 25 | sys.exit(1) 26 | -------------------------------------------------------------------------------- /lib/RF24/tests/pingpair_blocking/runtests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Connect u0 to receiver, u1 to sender 4 | 5 | jam u0 u1 && expect test.ex 6 | -------------------------------------------------------------------------------- /lib/RF24/tests/pingpair_blocking/test.ex: -------------------------------------------------------------------------------- 1 | #/usr/bin/expect 2 | 3 | set timeout 100 4 | spawn picocom -b 57600 /dev/ttyUSB0 5 | expect "+READY" 6 | send "1" 7 | expect "+OK" 8 | spawn picocom -b 57600 /dev/ttyUSB1 9 | expect "+READY" 10 | send "1" 11 | expect "+OK" 12 | -------------------------------------------------------------------------------- /lib/RF24/tests/pingpair_test/printf.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2011 J. Coliz 3 | 4 | This program is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU General Public License 6 | version 2 as published by the Free Software Foundation. 7 | */ 8 | 9 | /** 10 | * @file printf.h 11 | * 12 | * Setup necessary to direct stdout to the Arduino Serial library, which 13 | * enables 'printf' 14 | */ 15 | 16 | #ifndef __PRINTF_H__ 17 | #define __PRINTF_H__ 18 | 19 | #ifdef ARDUINO 20 | 21 | int serial_putc( char c, FILE * ) 22 | { 23 | Serial.write( c ); 24 | 25 | return c; 26 | } 27 | 28 | void printf_begin(void) 29 | { 30 | fdevopen( &serial_putc, 0 ); 31 | } 32 | 33 | #else 34 | #error This example is only for use on Arduino. 35 | #endif // ARDUINO 36 | 37 | #endif // __PRINTF_H__ 38 | -------------------------------------------------------------------------------- /lib/RF24/tests/pingpair_test/runtest.py: -------------------------------------------------------------------------------- 1 | #!/opt/local/bin/python 2 | 3 | import sys,serial 4 | 5 | def read_until(token): 6 | while 1: 7 | line = ser.readline(None,"\r") 8 | sys.stdout.write(line) 9 | 10 | if (line.startswith(token)): 11 | break 12 | return line 13 | 14 | 15 | ser = serial.Serial(sys.argv[1], 57600, timeout=5, dsrdtr=False, rtscts=False) 16 | 17 | read_until("+READY") 18 | ser.write(sys.argv[2]) 19 | 20 | line = read_until("+OK") 21 | ser.close() 22 | if (line.find("PASS") != -1): 23 | sys.exit(0) 24 | else: 25 | sys.exit(1) 26 | -------------------------------------------------------------------------------- /lib/RF24/tests/pingpair_test/runtests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Connect u0 to receiver, u0 to sender 4 | # WARNING: Test config 2 only works with PLUS units. 5 | 6 | jam u0 u1 && expect test.ex 1 7 | sleep 1 8 | stty 57600 raw ignbrk hup < /dev/ttyUSB0 9 | sleep 1 10 | stty 57600 raw ignbrk hup < /dev/ttyUSB1 11 | expect test.ex 2 12 | sleep 1 13 | stty 57600 raw ignbrk hup < /dev/ttyUSB0 14 | sleep 1 15 | stty 57600 raw ignbrk hup < /dev/ttyUSB1 16 | expect test.ex 3 17 | sleep 1 18 | stty 57600 raw ignbrk hup < /dev/ttyUSB0 19 | sleep 1 20 | stty 57600 raw ignbrk hup < /dev/ttyUSB1 21 | expect test.ex 4 22 | -------------------------------------------------------------------------------- /lib/RF24/tests/pingpair_test/test.ex: -------------------------------------------------------------------------------- 1 | #/usr/bin/expect 2 | 3 | set timeout 100 4 | spawn picocom -b 57600 /dev/ttyUSB0 5 | expect "+READY" 6 | send [lindex $argv 0] 7 | expect "+OK" 8 | spawn picocom -b 57600 /dev/ttyUSB1 9 | expect "+READY" 10 | send [lindex $argv 0] 11 | expect "+OK" 12 | -------------------------------------------------------------------------------- /lib/RF24/utility/ATTiny/RF24_arch_config.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | TMRh20 2015 4 | ATTiny Configuration File 5 | */ 6 | 7 | #ifndef __RF24_ARCH_CONFIG_H__ 8 | #define __RF24_ARCH_CONFIG_H__ 9 | 10 | /*** USER DEFINES: ***/ 11 | //#define FAILURE_HANDLING 12 | //#define MINIMAL 13 | /**********************/ 14 | 15 | #define rf24_max(a,b) (a>b?a:b) 16 | #define rf24_min(a,b) (a 22 | #else 23 | #include 24 | #endif 25 | #include 26 | 27 | // Include the header file for SPI functions ( Main SPI code is contained in RF24.cpp for simplicity ) 28 | #include "spi.h" 29 | 30 | #define _SPI SPI 31 | 32 | #ifdef SERIAL_DEBUG 33 | #define IF_SERIAL_DEBUG(x) ({x;}) 34 | #else 35 | #define IF_SERIAL_DEBUG(x) 36 | #if defined(RF24_TINY) 37 | #define printf_P(...) 38 | #endif 39 | #endif 40 | 41 | #include 42 | #define PRIPSTR "%S" 43 | 44 | 45 | 46 | #endif // __RF24_ARCH_CONFIG_H__ 47 | 48 | -------------------------------------------------------------------------------- /lib/RF24/utility/ATXMegaD3/compatibility.h: -------------------------------------------------------------------------------- 1 | /* 2 | * File: compatiblity.h 3 | * Author: purinda 4 | * 5 | * Created on 24 June 2012, 3:08 PM 6 | */ 7 | 8 | /** 9 | * @file compatibility.h 10 | * Class declaration for SPI helper files 11 | */ 12 | 13 | /** 14 | * Example of compatibility.h class declaration for timing functions portability 15 | * 16 | * @defgroup Porting_Timing Porting: Timing 17 | * 18 | * 19 | * @{ 20 | */ 21 | 22 | #ifndef COMPATIBLITY_H 23 | #define COMPATIBLITY_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | #include 30 | //#include 31 | //#include 32 | 33 | void __msleep(int milisec); 34 | void __usleep(int usec); 35 | void __start_timer(); 36 | long __millis(); 37 | void update_milisec(); 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif /* COMPATIBLITY_H */ 44 | 45 | /*@}*/ -------------------------------------------------------------------------------- /lib/RF24/utility/ATXMegaD3/gpio.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * gpio.cpp 3 | * 4 | * Created: 20/1/2016 11:57:21 5 | * Author: akatran 6 | */ 7 | 8 | //#include "gpio_helper.h" 9 | #include "gpio.h" 10 | #include 11 | 12 | void GPIO::open(int port, int DDR) 13 | { 14 | uint8_t pin; 15 | PORT_t * p = GPIO_getPort(port,&pin); 16 | if (DDR==0) 17 | { 18 | p->DIRCLR=pin; 19 | }else if (DDR==1) 20 | { 21 | p->DIRSET = pin; 22 | } 23 | } 24 | 25 | void GPIO::close(int port) 26 | { 27 | // Nothing to do with close; 28 | } 29 | 30 | int read(int port) 31 | { 32 | uint8_t pin; 33 | PORT_t * p = GPIO_getPort(port,&pin); 34 | return p->IN; 35 | } 36 | 37 | void GPIO::write(int port,int value) 38 | { 39 | uint8_t pin; 40 | PORT_t * p = GPIO_getPort(port,&pin); 41 | if (value==0) 42 | { 43 | p->OUTCLR=pin; 44 | }else if (value==1) 45 | { 46 | p->OUTSET = pin; 47 | } 48 | 49 | } 50 | 51 | -------------------------------------------------------------------------------- /lib/RF24/utility/ATXMegaD3/includes.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @file includes.h 4 | * Configuration defines for RF24/Linux 5 | */ 6 | 7 | /** 8 | * Example of includes.h for RF24 Linux portability 9 | * 10 | * @defgroup Porting_Includes Porting: Includes 11 | * 12 | * 13 | * @{ 14 | */ 15 | 16 | #ifndef __RF24_INCLUDES_H__ 17 | #define __RF24_INCLUDES_H__ 18 | 19 | /** 20 | * Define a specific platform for this configuration 21 | */ 22 | // #define RF24_BBB 23 | 24 | /** 25 | * Load the correct configuration for this platform 26 | */ 27 | //#include "BBB/RF24_arch_config.h" 28 | 29 | #endif 30 | 31 | /*@}*/ -------------------------------------------------------------------------------- /lib/RF24/utility/Due/RF24_arch_config.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | TMRh20 2015 4 | RF24 Configuration file for Arduino Due 5 | 6 | */ 7 | 8 | #ifndef __RF24_ARCH_CONFIG_H__ 9 | #define __RF24_ARCH_CONFIG_H__ 10 | 11 | /*** USER DEFINES: ***/ 12 | //#define FAILURE_HANDLING 13 | //#define SERIAL_DEBUG 14 | //#define MINIMAL 15 | /**********************/ 16 | #define rf24_max(a,b) (a>b?a:b) 17 | #define rf24_min(a,b) (a 20 | #include 21 | 22 | #define _BV(x) (1<<(x)) 23 | #define _SPI SPI 24 | 25 | #ifdef SERIAL_DEBUG 26 | #define IF_SERIAL_DEBUG(x) ({x;}) 27 | #else 28 | #define IF_SERIAL_DEBUG(x) 29 | #endif 30 | 31 | #define printf_P printf 32 | #define strlen_P strlen 33 | #define PRIPSTR "%s" 34 | 35 | 36 | #endif // __RF24_CONFIG_H__ 37 | 38 | -------------------------------------------------------------------------------- /lib/RF24/utility/LittleWire/RF24_arch_config.h: -------------------------------------------------------------------------------- 1 | #ifndef __ARCH_CONFIG_H__ 2 | #define __ARCH_CONFIG_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | // Additional fixes for LittleWire 12 | #include 13 | #include 14 | extern LittleWireSPI _SPI; 15 | 16 | // GCC a Arduino Missing 17 | #define _BV(x) (1<<(x)) 18 | #define pgm_read_word(p) (*(p)) 19 | #define pgm_read_byte(p) (*(p)) 20 | #define pgm_read_ptr(p) (*(p)) 21 | 22 | //typedef uint16_t prog_uint16_t; 23 | #define PSTR(x) (x) 24 | #define printf_P printf 25 | #define strlen_P strlen 26 | #define PROGMEM 27 | #define PRIPSTR "%s" 28 | 29 | #ifdef SERIAL_DEBUG 30 | #define IF_SERIAL_DEBUG(x) ({x;}) 31 | #else 32 | #define IF_SERIAL_DEBUG(x) 33 | #if defined(RF24_TINY) 34 | #define printf_P(...) 35 | #endif 36 | #endif 37 | 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /lib/RF24/utility/LittleWire/includes.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @file includes.h 4 | * Configuration defines for RF24/Linux 5 | */ 6 | 7 | /** 8 | * Example of includes.h for RF24 Linux portability 9 | * 10 | * @defgroup Porting_Includes Porting: Includes 11 | * 12 | * 13 | * @{ 14 | */ 15 | 16 | #ifndef __RF24_INCLUDES_H__ 17 | #define __RF24_INCLUDES_H__ 18 | 19 | /** 20 | * Define a specific platform for this configuration 21 | */ 22 | #define LITTLEWIRE 23 | 24 | /** 25 | * Load the correct configuration for this platform 26 | */ 27 | #include "LittleWire/RF24_arch_config.h" 28 | 29 | #endif 30 | 31 | /*@}*/ 32 | -------------------------------------------------------------------------------- /lib/RF24/utility/MRAA/compatibility.h: -------------------------------------------------------------------------------- 1 | /* 2 | * File: compatiblity.h 3 | * Author: purinda 4 | * 5 | * Created on 24 June 2012, 3:08 PM 6 | */ 7 | 8 | #ifndef COMPATIBLITY_H 9 | #define COMPATIBLITY_H 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | void __msleep(int milisec); 20 | void __usleep(int milisec); 21 | void __start_timer(); 22 | long __millis(); 23 | 24 | #ifdef __cplusplus 25 | } 26 | #endif 27 | 28 | #endif /* COMPATIBLITY_H */ 29 | 30 | -------------------------------------------------------------------------------- /lib/RF24/utility/MRAA/includes.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef __RF24_INCLUDES_H__ 3 | #define __RF24_INCLUDES_H__ 4 | 5 | #ifndef MRAA 6 | #define MRAA 7 | #endif 8 | #include "MRAA/RF24_arch_config.h" 9 | 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /lib/RF24/utility/RPi/includes.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef __RF24_INCLUDES_H__ 3 | #define __RF24_INCLUDES_H__ 4 | 5 | #define RF24_RPi 6 | #include "RPi/bcm2835.h" 7 | #include "RPi/RF24_arch_config.h" 8 | #include "RPi/interrupt.h" 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /lib/RF24/utility/SPIDEV/compatibility.h: -------------------------------------------------------------------------------- 1 | /* 2 | * File: compatiblity.h 3 | * Author: purinda 4 | * 5 | * Created on 24 June 2012, 3:08 PM 6 | * patch for safer monotonic clock & millis() correction for 64bit LDV 2018 7 | */ 8 | 9 | #ifndef COMPATIBLITY_H 10 | #define COMPATIBLITY_H 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | #include // for uintXX_t types 17 | #include 18 | #include 19 | #include 20 | 21 | void __msleep(int milisec); 22 | void __usleep(int milisec); 23 | void __start_timer(); 24 | uint32_t __millis(); 25 | 26 | #ifdef __cplusplus 27 | } 28 | #endif 29 | 30 | #endif /* COMPATIBLITY_H */ 31 | 32 | -------------------------------------------------------------------------------- /lib/RF24/utility/SPIDEV/includes.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef __RF24_INCLUDES_H__ 3 | #define __RF24_INCLUDES_H__ 4 | 5 | #define RF24_SPIDEV 6 | #include "SPIDEV/RF24_arch_config.h" 7 | #include "SPIDEV/interrupt.h" 8 | #endif 9 | -------------------------------------------------------------------------------- /lib/RF24/utility/Teensy/RF24_arch_config.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | #if ARDUINO < 100 4 | #include 5 | #else 6 | #include 7 | #endif 8 | 9 | #include 10 | 11 | #include 12 | #include 13 | #include 14 | 15 | #include 16 | #define _SPI SPI 17 | 18 | #define printf Serial.printf 19 | 20 | #ifdef SERIAL_DEBUG 21 | #define IF_SERIAL_DEBUG(x) ({x;}) 22 | #else 23 | #define IF_SERIAL_DEBUG(x) 24 | #endif 25 | 26 | 27 | #define PRIPSTR "%s" 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /lib/RF24/utility/Template/compatibility.h: -------------------------------------------------------------------------------- 1 | /* 2 | * File: compatiblity.h 3 | * Author: purinda 4 | * 5 | * Created on 24 June 2012, 3:08 PM 6 | */ 7 | 8 | /** 9 | * @file compatibility.h 10 | * Class declaration for SPI helper files 11 | */ 12 | 13 | /** 14 | * Example of compatibility.h class declaration for timing functions portability 15 | * 16 | * @defgroup Porting_Timing Porting: Timing 17 | * 18 | * 19 | * @{ 20 | */ 21 | 22 | #ifndef COMPATIBLITY_H 23 | #define COMPATIBLITY_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | #include 30 | #include 31 | #include 32 | 33 | void __msleep(int milisec); 34 | void __usleep(int milisec); 35 | void __start_timer(); 36 | long __millis(); 37 | 38 | #ifdef __cplusplus 39 | } 40 | #endif 41 | 42 | #endif /* COMPATIBLITY_H */ 43 | 44 | /*@}*/ -------------------------------------------------------------------------------- /lib/RF24/utility/Template/includes.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @file includes.h 4 | * Configuration defines for RF24/Linux 5 | */ 6 | 7 | /** 8 | * Example of includes.h for RF24 Linux portability 9 | * 10 | * @defgroup Porting_Includes Porting: Includes 11 | * 12 | * 13 | * @{ 14 | */ 15 | 16 | #ifndef __RF24_INCLUDES_H__ 17 | #define __RF24_INCLUDES_H__ 18 | 19 | /** 20 | * Define a specific platform for this configuration 21 | */ 22 | #define RF24_BBB 23 | 24 | /** 25 | * Load the correct configuration for this platform 26 | */ 27 | #include "BBB/RF24_arch_config.h" 28 | 29 | #endif 30 | 31 | /*@}*/ -------------------------------------------------------------------------------- /lib/RF24/utility/wiringPi/includes.h: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @file includes.h 4 | * Configuration defines for RF24/Linux 5 | */ 6 | 7 | /** 8 | * Example of includes.h for RF24 Linux portability 9 | * 10 | * @defgroup Porting_Includes Porting: Includes 11 | * 12 | * 13 | * @{ 14 | */ 15 | 16 | #ifndef __RF24_INCLUDES_H__ 17 | #define __RF24_INCLUDES_H__ 18 | 19 | /** 20 | * Define RF24_WIRINGPI configuration for RaspberryPi platform 21 | */ 22 | #define RF24_WIRINGPI 23 | 24 | /** 25 | * Load the correct configuration for this platform 26 | */ 27 | #include "wiringPi/RF24_arch_config.h" 28 | 29 | #endif 30 | /*@}*/ -------------------------------------------------------------------------------- /lib/TasmotaModbus-1.2.0/README.md: -------------------------------------------------------------------------------- 1 | # TasmotaSerial 2 | 3 | Implementation of software serial with hardware serial fallback library for the ESP8266 4 | 5 | Allows for several instances to be active at the same time. 6 | 7 | Please note that due to the fact that the ESP always have other activities ongoing, there will be some inexactness in interrupt timings. This may lead to bit errors when having heavy data traffic. 8 | -------------------------------------------------------------------------------- /lib/TasmotaModbus-1.2.0/examples/modbustest/modbustest.ino: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | TasmotaModbus Modbus(14, 12); 5 | 6 | void setup() { 7 | Serial.begin(115200); 8 | Modbus.Begin(9600); 9 | 10 | Serial.println("\nTasmotaModbus test started"); 11 | 12 | Modbus.Send(0x01, 0x04, 0, 8); 13 | } 14 | 15 | void loop() { 16 | if (Modbus.ReceiveReady()) { 17 | uint8_t buffer[26]; 18 | 19 | uint8_t error = Modbus.ReceiveBuffer(buffer, 8); 20 | if (error) { 21 | Serial.print("Modbus response error "); 22 | Serial.println(error); 23 | } else { 24 | Serial.print("Modbus received:"); 25 | for (int i = 0; i < (buffer[2]) ? buffer[2] +5 : sizeof(buffer); i++) { 26 | Serial.print(" "); 27 | Serial.print(buffer[i], HEX); 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /lib/TasmotaModbus-1.2.0/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map for TasmotaModbus 3 | # (esp8266) 4 | ####################################### 5 | 6 | ####################################### 7 | # Datatypes (KEYWORD1) 8 | ####################################### 9 | 10 | TasmotaModbus KEYWORD1 11 | 12 | ####################################### 13 | # Methods and Functions (KEYWORD2) 14 | ####################################### 15 | 16 | Begin KEYWORD2 17 | Send KEYWORD2 18 | ReceiveReady KEYWORD2 19 | ReceiveBuffer KEYWORD2 20 | Receive16BitRegister KEYWORD2 21 | Receive32BitRegister KEYWORD2 22 | 23 | ####################################### 24 | # Constants (LITERAL1) 25 | ####################################### 26 | 27 | -------------------------------------------------------------------------------- /lib/TasmotaModbus-1.2.0/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TasmotaModbus", 3 | "version": "1.2.0", 4 | "keywords": [ 5 | "serial", "io", "TasmotaModbus" 6 | ], 7 | "description": "Basic modbus wrapper for TasmotaSerial for ESP8266.", 8 | "repository": 9 | { 10 | "type": "git", 11 | "url": "https://github.com/arendst/Tasmota/lib/TasmotaModbus" 12 | }, 13 | "frameworks": "arduino", 14 | "platforms": "espressif8266" 15 | } 16 | -------------------------------------------------------------------------------- /lib/TasmotaModbus-1.2.0/library.properties: -------------------------------------------------------------------------------- 1 | name=TasmotaModbus 2 | version=1.2.0 3 | author=Theo Arends 4 | maintainer=Theo Arends 5 | sentence=Basic modbus wrapper for TasmotaSerial for ESP8266. 6 | paragraph= 7 | category=Signal Input/Output 8 | url= 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /lib/TasmotaSerial-3.0.0/README.md: -------------------------------------------------------------------------------- 1 | # TasmotaSerial 2 | 3 | Implementation of software serial with hardware serial fallback library for the ESP8266 4 | Implementation of dual UART hardware serial for the ESP32 5 | 6 | Allows for several instances to be active at the same time. 7 | 8 | Please note that due to the fact that the ESP always have other activities ongoing, there will be some inexactness in interrupt timings. This may lead to bit errors when having heavy data traffic. 9 | -------------------------------------------------------------------------------- /lib/TasmotaSerial-3.0.0/examples/swsertest/swsertest.ino: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | TasmotaSerial swSer(14, 12); 5 | 6 | void setup() { 7 | Serial.begin(115200); 8 | swSer.begin(); 9 | 10 | Serial.println("\nTasmota serial test started"); 11 | 12 | for (char ch = ' '; ch <= 'z'; ch++) { 13 | swSer.write(ch); 14 | } 15 | swSer.println(""); 16 | 17 | } 18 | 19 | void loop() { 20 | while (swSer.available() > 0) { 21 | Serial.write(swSer.read()); 22 | } 23 | while (Serial.available() > 0) { 24 | swSer.write(Serial.read()); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /lib/TasmotaSerial-3.0.0/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map for TasmotaSerial 3 | # (esp8266 and esp32) 4 | ####################################### 5 | 6 | ####################################### 7 | # Datatypes (KEYWORD1) 8 | ####################################### 9 | 10 | TasmotaSerial KEYWORD1 11 | 12 | ####################################### 13 | # Methods and Functions (KEYWORD2) 14 | ####################################### 15 | 16 | begin KEYWORD2 17 | hardwareSerial KEYWORD2 18 | read KEYWORD2 19 | write KEYWORD2 20 | available KEYWORD2 21 | flush KEYWORD2 22 | peek KEYWORD2 23 | 24 | ####################################### 25 | # Constants (LITERAL1) 26 | ####################################### 27 | 28 | -------------------------------------------------------------------------------- /lib/TasmotaSerial-3.0.0/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TasmotaSerial", 3 | "version": "3.0.0", 4 | "keywords": [ 5 | "serial", "io", "TasmotaSerial" 6 | ], 7 | "description": "Implementation of software serial with hardware serial fallback for ESP8266 and ESP32.", 8 | "repository": 9 | { 10 | "type": "git", 11 | "url": "https://github.com/arendst/Tasmota/lib/TasmotaSerial" 12 | }, 13 | "frameworks": "arduino", 14 | "platforms": [ 15 | "espressif8266", "espressif32" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /lib/TasmotaSerial-3.0.0/library.properties: -------------------------------------------------------------------------------- 1 | name=TasmotaSerial 2 | version=3.0.0 3 | author=Theo Arends 4 | maintainer=Theo Arends 5 | sentence=Implementation of software serial with hardware serial fallback for ESP8266 and ESP32. 6 | paragraph= 7 | category=Signal Input/Output 8 | url= 9 | architectures=esp8266,esp32 10 | -------------------------------------------------------------------------------- /lib/Unishox-1.0-shadinger/generator/remapping.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/Unishox-1.0-shadinger/generator/remapping.xlsx -------------------------------------------------------------------------------- /lib/Unishox-1.0-shadinger/library.properties: -------------------------------------------------------------------------------- 1 | name=Unishox Compressor Decompressor highly customized and optimized for ESP8266 and Tasmota 2 | version=1.0 3 | author=Arundale Ramanathan, Stephan Hadinger 4 | maintainer=Arun , Stephan 5 | sentence=Unishox compression for Tasmota Rules 6 | paragraph=It is based on Unishox hybrid encoding technique. This version has specific Unicode code removed for size. 7 | url=https://github.com/siara-cc/Unishox 8 | architectures=esp8266 9 | -------------------------------------------------------------------------------- /lib/Unishox-1.0-shadinger/src/unishox.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019 Siara Logics (cc) 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * @author Arundale R. 17 | * 18 | */ 19 | #ifndef unishox 20 | #define unishox 21 | 22 | extern int32_t unishox_compress(const char *in, size_t len, char *out, size_t len_out); 23 | extern int32_t unishox_decompress(const char *in, size_t len, char *out, size_t len_out); 24 | 25 | #endif 26 | 27 | -------------------------------------------------------------------------------- /lib/Xlatb_RA8876-gemu-1.0/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | RA8876 KEYWORD1 10 | 11 | 12 | ####################################### 13 | # Methods and Functions (KEYWORD2) 14 | ####################################### 15 | 16 | setRotation KEYWORD2 17 | setAddrWindow KEYWORD2 18 | pushColor KEYWORD2 19 | drawPixel KEYWORD2 20 | drawFastVLine KEYWORD2 21 | drawFastHLine KEYWORD2 22 | fillRect KEYWORD2 23 | setRotation KEYWORD2 24 | setRotation KEYWORD2 25 | height KEYWORD2 26 | width KEYWORD2 27 | invertDisplay KEYWORD2 28 | drawImage KEYWORD2 29 | setScrollArea KEYWORD2 30 | scroll KEYWORD2 31 | -------------------------------------------------------------------------------- /lib/Xlatb_RA8876-gemu-1.0/library.properties: -------------------------------------------------------------------------------- 1 | name=RA8876 2 | version=1.0.2 3 | author=Jaret Burkett 4 | maintainer=Jaret Burkett 5 | sentence=Library for RA8876 displays 6 | paragraph=Library for RA8876 displays 7 | category=Display 8 | url=https://github.com/jaretburkett/ILI9488 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/base64-1.1.1/Makefile: -------------------------------------------------------------------------------- 1 | CXX ?= g++ 2 | CFLAGS ?= -Wall -I src 3 | 4 | test: catch.cpp catch.hpp src/base64.hpp 5 | $(CXX) $(CFLAGS) catch.cpp -o catch 6 | ./catch 7 | 8 | clean: 9 | rm catch 10 | -------------------------------------------------------------------------------- /lib/base64-1.1.1/library.properties: -------------------------------------------------------------------------------- 1 | name=base64 2 | version=1.1.1 3 | author=Densaugeo 4 | maintainer=Densaugeo 5 | sentence=Base64 encoder/decoder for arduino repo 6 | paragraph=Uses common web conventions - '+' for 62, '/' for 63, '=' for padding. Note that invalid base64 characters are interpreted as padding. 7 | category=Communication 8 | url=https://github.com/Densaugeo/base64_arduino 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/bearssl-esp8266/bearssl_esp8266-customized.txt: -------------------------------------------------------------------------------- 1 | This library is adapted from bearssl-esp8266 to avoid conflict with the 2 | BearSSL headers in Arduino Core. 3 | 4 | To recreate, copy all original 'src/' and 'inc/' into 'src/' lib. 5 | 6 | Then rename the following: 7 | - "bearssl with "t_bearssl 8 | - "inner with "t_inner 9 | - "config with "t_config 10 | 11 | Add the customized files in src/: 12 | - t_bearssl_tasmota_config.h 13 | - pgmspace_bearssl.h 14 | -------------------------------------------------------------------------------- /lib/bearssl-esp8266/conf/esp8266.mk: -------------------------------------------------------------------------------- 1 | # Configuration for compiling to an ESP8266 from a UNIX system 2 | 3 | # We are on a Unix system so we assume a Single Unix compatible 'make' 4 | # utility, and Unix defaults. 5 | include conf/Unix.mk 6 | 7 | # We override the build directory. 8 | BUILD = esp8266 9 | 10 | # C compiler, linker, and static library builder. 11 | TOOLCHAIN_PREFIX := xtensa-lx106-elf- 12 | CC := $(TOOLCHAIN_PREFIX)gcc 13 | CFLAGS = -W -Wall -g -O2 -Wpointer-arith -Wl,-EL -nostdlib -mlongcalls -mno-text-section-literals -ffunction-sections -fdata-sections -Werror 14 | CFLAGS += -D__ets__ -DICACHE_FLASH -DESP8266 -DBR_SLOW_MUL15=1 15 | LD := $(TOOLCHAIN_PREFIX)ld 16 | AR := $(TOOLCHAIN_PREFIX)ar 17 | 18 | # We compile only the static library. 19 | DLL = no 20 | TOOLS = no 21 | TESTS = no 22 | -------------------------------------------------------------------------------- /lib/bearssl-esp8266/library.properties: -------------------------------------------------------------------------------- 1 | name=BearSSL 2 | version=0.6 3 | author=Thomas Pornin 4 | maintainer=Earle F. Philhower, III 5 | sentence=BearSSL implementation of the SSL/TLS protocol optimized for ESP8266 by Earle F. Philhower, optimized for Tamota by Stephan Hadinger 6 | paragraph= 7 | category=Other 8 | url=https://github.com/earlephilhower/bearssl-esp8266.git 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /lib/bearssl-esp8266/src/t_bearssl_tasmota_config.h: -------------------------------------------------------------------------------- 1 | // do not delete 2 | 3 | #ifndef BEARSSL_TASMOTA_CONFIG 4 | #define BEARSSL_TASMOTA_CONFIG 5 | 6 | #ifndef __ets__ 7 | #define __ets__ 8 | #endif 9 | 10 | #ifndef ICACHE_FLASH 11 | #define ICACHE_FLASH 12 | #endif 13 | 14 | #ifndef ESP8266 15 | #define ESP8266 16 | #endif 17 | 18 | #ifndef BR_SLOW_MUL15 19 | #define BR_SLOW_MUL15 1 // shrinks EC code by 8.5k 20 | #endif 21 | 22 | #ifndef BR_MAX_RSA_SIZE 23 | #ifdef USE_4K_RSA 24 | #define BR_MAX_RSA_SIZE 4096 // max 4096 bits RSA keys 25 | #else 26 | #define BR_MAX_RSA_SIZE 2048 // max 2048 bits RSA keys 27 | #endif 28 | #endif 29 | 30 | #ifndef BR_MAX_EC_SIZE 31 | #define BR_MAX_EC_SIZE 256 // max 256 bits EC keys 32 | #endif 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /lib/cc1101/README.md: -------------------------------------------------------------------------------- 1 | Port of panStamp's CC1101 Library to ESP8266. 2 | -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/.gitignore: -------------------------------------------------------------------------------- 1 | sdkconfig* 2 | .cproject 3 | .project 4 | .settings/* 5 | build/* 6 | doxygen_sqlite3.db 7 | docs/_build 8 | docs/man 9 | docs/xml 10 | docs/doxygen-warning-log.txt 11 | docs/sphinx-warning-log.txt 12 | *.pyc 13 | -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/Arduino/libraries/readme.txt: -------------------------------------------------------------------------------- 1 | For information on installing libraries, see: http://www.arduino.cc/en/Guide/Libraries 2 | -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # This is a project Makefile. It is assumed the directory this Makefile resides in is a 3 | # project subdirectory. 4 | # 5 | 6 | PROJECT_NAME := esp-epaper-29-ws 7 | 8 | include $(IDF_PATH)/make/project.mk 9 | 10 | -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/components/epaper-29-ws/component.mk: -------------------------------------------------------------------------------- 1 | COMPONENT_ADD_INCLUDEDIRS := . 2 | 3 | -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/docs/README.md: -------------------------------------------------------------------------------- 1 | # Documentation Source Folder 2 | 3 | This folder contains source files of [documentation](https://esp-epaper-29-ws.readthedocs.io/). 4 | 5 | The sources do not render well in GitHub and some information is not visible at all. 6 | 7 | Use actual the link above to access documentation generated instantly on each commit: 8 | 9 | -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/docs/index.rst: -------------------------------------------------------------------------------- 1 | ESP-IDF Component Documentation 2 | =============================== 3 | 4 | Component: epaper-29-ws 5 | ----------------------- 6 | 7 | This component and documentation is based almost entirely on `epaper `_ component for another type of display developed by `esp-iot-solution `_ team. 8 | 9 | .. include:: _build/inc/epaper-29-ws.inc 10 | -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/docs/repo_util.py: -------------------------------------------------------------------------------- 1 | import re 2 | import os 3 | 4 | def run_cmd_get_output(cmd): 5 | return os.popen(cmd).read().strip() 6 | -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/docs/requirements.txt: -------------------------------------------------------------------------------- 1 | # This is a list of python packages used to generate documentation. This file is used with pip: 2 | # pip install -r requirements.txt 3 | # 4 | sphinx==1.6.5 5 | sphinx-rtd-theme 6 | breathe==4.7.3 7 | -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/library.properties: -------------------------------------------------------------------------------- 1 | name=Waveshare esp 2.9 inch e-paper display driver 2 | version=1.0 3 | author=Gerhard Mutz 4 | maintainer=Gerhard Mutz 5 | sentence=ESP8266 library for Waveshare e-paper display. 6 | paragraph= 7 | category=Display 8 | url=https://github.com/gemu2015/Sonoff-Tasmota/tree/displays/lib/esp-epaper-29-ws-20171230-gemu-1.0# 9 | architectures=esp8266 10 | -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/main/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # "main" pseudo-component makefile. 3 | # 4 | # (Uses default behaviour of compiling all source files in directory, adding 'include' to include path.) 5 | -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/main/imagedata.h: -------------------------------------------------------------------------------- 1 | // Copyright 2015-2017 Espressif Systems (Shanghai) PTE LTD 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | extern const unsigned char IMAGE_DATA[]; 16 | 17 | /* FILE END */ 18 | 19 | -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/pictures/2.9inch_e-Paper_Datasheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/esp-epaper-29-ws-20171230-gemu-1.1/pictures/2.9inch_e-Paper_Datasheet.pdf -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/pictures/e-paper-and-esp-sample-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/esp-epaper-29-ws-20171230-gemu-1.1/pictures/e-paper-and-esp-sample-image.jpg -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/pictures/e-paper-and-esp-sample-text.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/esp-epaper-29-ws-20171230-gemu-1.1/pictures/e-paper-and-esp-sample-text.jpg -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/pictures/espresif-logo.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/esp-epaper-29-ws-20171230-gemu-1.1/pictures/espresif-logo.bmp -------------------------------------------------------------------------------- /lib/esp-epaper-29-ws-20171230-gemu-1.1/pictures/image-conversion-setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/lib/esp-epaper-29-ws-20171230-gemu-1.1/pictures/image-conversion-setup.png -------------------------------------------------------------------------------- /lib/esp-knx-ip-0.5.2/library.properties: -------------------------------------------------------------------------------- 1 | name=ESP KNX IP Library 2 | version=0.5.2 3 | author=Nico Weichbrodt 4 | maintainer=Nico Weichbrodt 5 | sentence=ESP8266 library for KNX/IP communication. 6 | paragraph=Build your own IoT devices with KNX/IP connectivity! 7 | category=Communication 8 | url=https://github.com/envy/esp-knx-ip 9 | architectures=esp8266 10 | includes=esp-knx-ip.h 11 | -------------------------------------------------------------------------------- /lib/rc-switch-2.6.2.13/.gitignore: -------------------------------------------------------------------------------- 1 | # Mac stuff 2 | .DS_Store 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | 9 | # Compiled Dynamic libraries 10 | *.so 11 | *.dylib 12 | 13 | # Compiled Static libraries 14 | *.lai 15 | *.la 16 | *.a 17 | 18 | -------------------------------------------------------------------------------- /lib/rc-switch-2.6.2.13/examples/ReceiveDemo_Advanced/ReceiveDemo_Advanced.ino: -------------------------------------------------------------------------------- 1 | /* 2 | Example for receiving 3 | 4 | https://github.com/sui77/rc-switch/ 5 | 6 | If you want to visualize a telegram copy the raw data and 7 | paste it into http://test.sui.li/oszi/ 8 | */ 9 | 10 | #include 11 | 12 | RCSwitch mySwitch = RCSwitch(); 13 | 14 | void setup() { 15 | Serial.begin(9600); 16 | mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2 17 | } 18 | 19 | void loop() { 20 | if (mySwitch.available()) { 21 | output(mySwitch.getReceivedValue(), mySwitch.getReceivedBitlength(), mySwitch.getReceivedDelay(), mySwitch.getReceivedRawdata(),mySwitch.getReceivedProtocol()); 22 | mySwitch.resetAvailable(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /lib/rc-switch-2.6.2.13/examples/ReceiveDemo_Simple/ReceiveDemo_Simple.ino: -------------------------------------------------------------------------------- 1 | /* 2 | Simple example for receiving 3 | 4 | https://github.com/sui77/rc-switch/ 5 | */ 6 | 7 | #include 8 | 9 | RCSwitch mySwitch = RCSwitch(); 10 | 11 | void setup() { 12 | Serial.begin(9600); 13 | mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2 14 | } 15 | 16 | void loop() { 17 | if (mySwitch.available()) { 18 | 19 | Serial.print("Received "); 20 | Serial.print( mySwitch.getReceivedValue() ); 21 | Serial.print(" / "); 22 | Serial.print( mySwitch.getReceivedBitlength() ); 23 | Serial.print("bit "); 24 | Serial.print("Protocol: "); 25 | Serial.println( mySwitch.getReceivedProtocol() ); 26 | 27 | mySwitch.resetAvailable(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /lib/rc-switch-2.6.2.13/examples/TypeC_Intertechno/TypeC_Intertechno.ino: -------------------------------------------------------------------------------- 1 | /* 2 | Example for Intertechno outlets 3 | 4 | https://github.com/sui77/rc-switch/ 5 | */ 6 | 7 | #include 8 | 9 | RCSwitch mySwitch = RCSwitch(); 10 | 11 | void setup() { 12 | 13 | // Transmitter is connected to Arduino Pin #10 14 | mySwitch.enableTransmit(10); 15 | 16 | // Optional set pulse length. 17 | // mySwitch.setPulseLength(320); 18 | 19 | } 20 | 21 | void loop() { 22 | 23 | // Switch on: 24 | // The first parameter represents the familycode (a, b, c, ... f) 25 | // The second parameter represents the group number 26 | // The third parameter represents the device number 27 | // 28 | // In this example it's family 'b', group #3, device #2 29 | mySwitch.switchOn('b', 3, 2); 30 | 31 | // Wait a second 32 | delay(1000); 33 | 34 | // Switch off 35 | mySwitch.switchOff('b', 3, 2); 36 | 37 | // Wait another second 38 | delay(1000); 39 | 40 | } -------------------------------------------------------------------------------- /lib/rc-switch-2.6.2.13/examples/TypeD_REV/TypeD_REV.ino: -------------------------------------------------------------------------------- 1 | /* 2 | Example for REV outlets (e.g. 8342L) 3 | 4 | https://github.com/sui77/rc-switch/ 5 | 6 | Need help? http://forum.ardumote.com 7 | */ 8 | 9 | #include 10 | 11 | RCSwitch mySwitch = RCSwitch(); 12 | 13 | void setup() { 14 | 15 | // Transmitter is connected to Arduino Pin #10 16 | mySwitch.enableTransmit(10); 17 | 18 | // set pulse length. 19 | mySwitch.setPulseLength(360); 20 | 21 | } 22 | 23 | void loop() { 24 | 25 | // Switch on: 26 | // The first parameter represents the channel (a, b, c, d) 27 | // The second parameter represents the device number 28 | // 29 | // In this example it's family 'd', device #2 30 | mySwitch.switchOn('d', 2); 31 | 32 | // Wait a second 33 | delay(1000); 34 | 35 | // Switch off 36 | mySwitch.switchOff('d', 2); 37 | 38 | // Wait another second 39 | delay(1000); 40 | 41 | } 42 | -------------------------------------------------------------------------------- /lib/rc-switch-2.6.2.13/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rc-switch", 3 | "description": "Use your Arduino or Raspberry Pi to operate remote radio controlled devices", 4 | "keywords": "rf, radio, wireless", 5 | "authors": 6 | { 7 | "name": "Suat Ozgur" 8 | }, 9 | "repository": 10 | { 11 | "type": "git", 12 | "url": "https://github.com/sui77/rc-switch.git" 13 | }, 14 | "version": "2.6.2", 15 | "frameworks": [ 16 | "arduino", 17 | "energia", 18 | "wiringpi" 19 | ], 20 | "platforms": "*" 21 | } 22 | -------------------------------------------------------------------------------- /lib/rc-switch-2.6.2.13/library.properties: -------------------------------------------------------------------------------- 1 | name=rc-switch 2 | version=2.6.2 3 | author=sui77 4 | maintainer=sui77,fingolfin 5 | sentence=Operate 433/315Mhz devices. 6 | paragraph=Use your Arduino, ESP8266/ESP32 or Raspberry Pi to operate remote radio controlled devices. This will most likely work with all popular low cost power outlet sockets. 7 | category=Device Control 8 | url=https://github.com/sui77/rc-switch 9 | architectures=avr,esp8266,esp32 10 | includes=RCSwitch.h 11 | -------------------------------------------------------------------------------- /lib/vl53l0x-arduino-1.02/.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | 3 | cache: 4 | directories: 5 | - "~/.platformio" 6 | 7 | install: 8 | - pip install -U platformio 9 | 10 | env: 11 | - BOARD=uno 12 | - BOARD=leonardo 13 | - BOARD=micro 14 | - BOARD=megaatmega2560 15 | - BOARD=due 16 | - BOARD=yun 17 | - BOARD=genuino101 18 | - BOARD=zero 19 | 20 | script: 21 | - set -eo pipefail; 22 | for e in examples/*; do 23 | platformio ci --board=$BOARD --lib=. $e/*; 24 | done 25 | -------------------------------------------------------------------------------- /lib/vl53l0x-arduino-1.02/examples/Continuous/Continuous.ino: -------------------------------------------------------------------------------- 1 | /* This example shows how to use continuous mode to take 2 | range measurements with the VL53L0X. It is based on 3 | vl53l0x_ContinuousRanging_Example.c from the VL53L0X API. 4 | 5 | The range readings are in units of mm. */ 6 | 7 | #include 8 | #include 9 | 10 | VL53L0X sensor; 11 | 12 | void setup() 13 | { 14 | Serial.begin(9600); 15 | Wire.begin(); 16 | 17 | sensor.init(); 18 | sensor.setTimeout(500); 19 | 20 | // Start continuous back-to-back mode (take readings as 21 | // fast as possible). To use continuous timed mode 22 | // instead, provide a desired inter-measurement period in 23 | // ms (e.g. sensor.startContinuous(100)). 24 | sensor.startContinuous(); 25 | } 26 | 27 | void loop() 28 | { 29 | Serial.print(sensor.readRangeContinuousMillimeters()); 30 | if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); } 31 | 32 | Serial.println(); 33 | } 34 | -------------------------------------------------------------------------------- /lib/vl53l0x-arduino-1.02/library.properties: -------------------------------------------------------------------------------- 1 | name=VL53L0X 2 | version=1.0.2 3 | author=Pololu 4 | maintainer=Pololu 5 | sentence=VL53L0X distance sensor library 6 | paragraph=This is a library for the Arduino IDE that helps interface with ST's VL53L0X distance sensor. 7 | category=Sensors 8 | url=https://github.com/pololu/vl53l0x-arduino 9 | architectures=* 10 | -------------------------------------------------------------------------------- /libesp32/ESP32-Mail-Client/library.properties: -------------------------------------------------------------------------------- 1 | name=ESP32 Mail Client 2 | 3 | version=2.1.4 4 | 5 | author=Mobizt 6 | 7 | maintainer=Mobizt 8 | 9 | sentence=Mail Client Arduino Library for ESP32 10 | 11 | paragraph=This library allows ESP32 to send Email with/without attachment and receive Email with/without attachment download through SMTP and IMAP servers. 12 | 13 | category=Communication 14 | 15 | url=https://github.com/mobizt/ESP32-Mail-Client 16 | 17 | architectures=esp32 18 | -------------------------------------------------------------------------------- /libesp32/ESP32-Mail-Client/media/images/esp32-mail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/libesp32/ESP32-Mail-Client/media/images/esp32-mail.jpg -------------------------------------------------------------------------------- /libesp32/ESP32-Mail-Client/media/images/esp32-mail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/libesp32/ESP32-Mail-Client/media/images/esp32-mail.png -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/README.adoc: -------------------------------------------------------------------------------- 1 | Library for ESP32 with Tasmota 2 | 3 | This Class is for compatibility with esp8266 code 4 | 5 | == License == 6 | 7 | This library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Lesser General Public 9 | License as published by the Free Software Foundation; either 10 | version 2.1 of the License, or (at your option) any later version. 11 | 12 | This library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Lesser General Public License for more details. 16 | 17 | You should have received a copy of the GNU Lesser General Public 18 | License along with this library; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map For Test 3 | ####################################### 4 | 5 | ####################################### 6 | # Datatypes (KEYWORD1) 7 | ####################################### 8 | 9 | A4988_ESP32Compat KEYWORD1 A4988_ESP32Compat 10 | 11 | ####################################### 12 | # Methods and Functions (KEYWORD2) 13 | ####################################### 14 | 15 | doMove KEYWORD2 16 | doRotate KEYWORD2 17 | setRPM KEYWORD2 18 | setSPR KEYWORD2 19 | setMIS KEYWORD2 20 | version KEYWORD2 21 | 22 | ####################################### 23 | # Constants (LITERAL1) 24 | ####################################### 25 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/library.properties: -------------------------------------------------------------------------------- 1 | name=ESP32-to-ESP8266-compat 2 | version=0.0.2 3 | author=Jörg Schüler-Maroldt 4 | maintainer=Jörg Schüler-Maroldt 5 | sentence=Allows Tasmota to compile for esp32 6 | paragraph=Allows Tasmota to compile for esp32 7 | category=ESP32 8 | url= 9 | architectures=* 10 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/ESP8266HTTPClient.h: -------------------------------------------------------------------------------- 1 | // 2 | // Compat with ESP32 3 | // 4 | #include 5 | 6 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/ESP8266WebServer.h: -------------------------------------------------------------------------------- 1 | // 2 | // Compat with ESP32 3 | // 4 | #pragma once 5 | #include 6 | 7 | //#define ESP8266WebServer WebServer 8 | 9 | 10 | class ESP8266WebServer : public WebServer 11 | { 12 | public: 13 | ESP8266WebServer(int port) 14 | :WebServer(port) 15 | { 16 | } 17 | }; 18 | 19 | //#define ENC_TYPE_AUTO 0 20 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/ESP8266httpUpdate.h: -------------------------------------------------------------------------------- 1 | // 2 | // Compat with ESP32 3 | // 4 | #include 5 | #define ESPhttpUpdate httpUpdate 6 | 7 | inline HTTPUpdateResult ESPhttpUpdate_update(const String& url, const String& currentVersion = "") 8 | { 9 | return HTTP_UPDATE_OK; 10 | } 11 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/ESP8266mDNS.h: -------------------------------------------------------------------------------- 1 | // 2 | // Compat with ESP32 3 | // 4 | #include 5 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/c_types.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /**/ 3 | #include 4 | #ifndef ICACHE_FLASH_ATTR 5 | #define ICACHE_FLASH_ATTR 6 | #endif 7 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/eboot_command.h: -------------------------------------------------------------------------------- 1 | // 2 | // Compat with ESP32 3 | // 4 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/esp8266toEsp32.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This library is free software: you can redistribute it and/or modify 3 | it under the terms of the GNU General Public License as published by 4 | the Free Software Foundation, either version 3 of the License, or 5 | (at your option) any later version. 6 | 7 | This library is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program. If not, see . 14 | 15 | */ 16 | // 17 | #include "Arduino.h" 18 | #include "lwip/apps/sntp.h" 19 | #include 20 | #include 21 | #include 22 | #include "esp8266toEsp32.h" 23 | 24 | // ESP Stuff 25 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/ets_sys.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #define timercallback void* 3 | #define ets_printf(...) 4 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/gpio.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #define GPIO_STATUS_W1TC_ADDRESS 0x24 3 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/os_type.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "esp8266-compat.h" 3 | #include 4 | #include 5 | typedef uint16 uint16_t; 6 | typedef double real64_t; 7 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/osapi.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /**/ 3 | #include 4 | /* 5 | #ifndef ICACHE_FLASH_ATTR 6 | #define ICACHE_FLASH_ATTR 7 | #endif 8 | */ 9 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/sntp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #define sntp_get_current_timestamp() SntpGetCurrentTimestamp() 3 | #define sntp_init() SntpInit() 4 | #define sntp_set_timezone(tz) 5 | #define sntp_setservername(idx, name) 6 | #define sntp_stop() 7 | 8 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/spi_flash.h: -------------------------------------------------------------------------------- 1 | // 2 | // Compat with ESP32 3 | // 4 | // TODO: Port it to ESP32 5 | -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/twi.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /**/ -------------------------------------------------------------------------------- /libesp32/ESP32-to-ESP8266-compat/src/user_interface.h: -------------------------------------------------------------------------------- 1 | /* 2 | This library is free software: you can redistribute it and/or modify 3 | it under the terms of the GNU General Public License as published by 4 | the Free Software Foundation, either version 3 of the License, or 5 | (at your option) any later version. 6 | 7 | This library is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program. If not, see . 14 | */ 15 | #ifndef user_interface_h 16 | #define user_interface_h 17 | enum wps_cb_status { 18 | WPS_CB_ST_SUCCESS = 0, 19 | WPS_CB_ST_FAILED, 20 | WPS_CB_ST_TIMEOUT, 21 | WPS_CB_ST_WEP, 22 | WPS_CB_ST_UNK, 23 | }; 24 | #endif 25 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/examples/BLE_Beacon_Scanner/BLE_Beacon_Scanner.md: -------------------------------------------------------------------------------- 1 | ## BLE Beacon Scanner 2 | 3 | Initiates a BLE device scan. 4 | Checks if the discovered devices are 5 | - an iBeacon 6 | - an Eddystone TLM beacon 7 | - an Eddystone URL beacon 8 | 9 | and sends the decoded beacon information over Serial log -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/examples/BLE_EddystoneTLM_Beacon/BLE_EddystoneTLM_Beacon.md: -------------------------------------------------------------------------------- 1 | ## Eddystone TLM beacon 2 | EddystoneTLM beacon by BeeGee based on 3 | [pcbreflux ESP32 Eddystone TLM deepsleep](https://github.com/pcbreflux/espressif/blob/master/esp32/arduino/sketchbook/ESP32_Eddystone_TLM_deepsleep/ESP32_Eddystone_TLM_deepsleep.ino) 4 | 5 | [EddystoneTLM frame specification](https://github.com/google/eddystone/blob/master/eddystone-tlm/tlm-plain.md) 6 | 7 | Create a BLE server that will send periodic Eddystone TLM frames. 8 | The design of creating the BLE server is: 9 | 1. Create a BLE Server 10 | 2. Create advertising data 11 | 3. Start advertising. 12 | 4. wait 13 | 5. Stop advertising. 14 | 6. deep sleep 15 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/examples/BLE_EddystoneURL_Beacon/BLE_EddystoneURL_Beacon.md: -------------------------------------------------------------------------------- 1 | ## Eddystone URL beacon 2 | EddystoneURL beacon by BeeGee based on 3 | [pcbreflux ESP32 Eddystone URL deepsleep](https://github.com/pcbreflux/espressif/tree/master/esp32/arduino/sketchbook/ESP32_Eddystone_URL_deepsleep) 4 | 5 | [EddystoneURL frame specification](https://github.com/google/eddystone/blob/master/eddystone-url/README.md) 6 | 7 | Create a BLE server that will send periodic Eddystone URL frames. 8 | The design of creating the BLE server is: 9 | 1. Create a BLE Server 10 | 2. Create advertising data 11 | 3. Start advertising. 12 | 4. wait 13 | 5. Stop advertising. 14 | 6. deep sleep 15 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/library.properties: -------------------------------------------------------------------------------- 1 | name=NimBLE-Arduino 2 | version=0.9.0 3 | author=H2zero 4 | maintainer=h2zero 5 | sentence=NimBLE library for Arduino 6 | paragraph=A lighter-weight alternative to the bluedroid library for esp32. 7 | url=https://github.com/h2zero/NimBLE-Arduino 8 | category=Communication 9 | architectures=esp32 10 | includes=NimBLEDevice.h -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/NOTICE: -------------------------------------------------------------------------------- 1 | Apache Mynewt NimBLE 2 | Copyright 2015-2018 The Apache Software Foundation 3 | 4 | This product includes software developed at 5 | The Apache Software Foundation (http://www.apache.org/). 6 | 7 | Portions of this software were developed at 8 | Runtime Inc, copyright 2015. 9 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/console/console.h: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Espressif Systems (Shanghai) PTE LTD 2 | // 3 | //Licensed under the Apache License, Version 2.0 (the "License"); 4 | //you may not use this file except in compliance with the License. 5 | //You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | //Unless required by applicable law or agreed to in writing, software 10 | //distributed under the License is distributed on an "AS IS" BASIS, 11 | //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | //See the License for the specific language governing permissions and 13 | //limitations under the License. 14 | #ifndef _CONSOLE_H 15 | #define _CONSOLE_H 16 | 17 | #include 18 | 19 | #define console_printf printf 20 | 21 | #endif -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/ext/tinycrypt/AUTHORS: -------------------------------------------------------------------------------- 1 | Architect: 2 | Rafael Misoczki 3 | 4 | Open Source Maintainer: 5 | Constanza Heath 6 | Rafael Misoczki 7 | 8 | Contributors: 9 | Constanza Heath 10 | Rafael Misoczki 11 | Flavio Santes 12 | Jarkko Sakkinen 13 | Chris Morrison 14 | Marti Bolivar 15 | Colin Ian King 16 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/ext/tinycrypt/VERSION: -------------------------------------------------------------------------------- 1 | 0.2.8 2 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/mesh/mesh.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | * @brief Bluetooth Mesh Profile APIs. 3 | */ 4 | 5 | /* 6 | * Copyright (c) 2017 Intel Corporation 7 | * 8 | * SPDX-License-Identifier: Apache-2.0 9 | */ 10 | #ifndef __BT_MESH_H 11 | #define __BT_MESH_H 12 | 13 | #include 14 | #include "syscfg/syscfg.h" 15 | #include "os/os_mbuf.h" 16 | 17 | #include "glue.h" 18 | #include "access.h" 19 | #include "main.h" 20 | #include "cfg_srv.h" 21 | #include "health_srv.h" 22 | #include "cfg_cli.h" 23 | #include "health_cli.h" 24 | #include "proxy.h" 25 | 26 | #endif /* __BT_MESH_H */ 27 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/mesh/porting.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | * @brief Bluetooth Mesh Porting APIs. 3 | */ 4 | 5 | /* 6 | * Copyright (c) 2017 Intel Corporation 7 | * 8 | * SPDX-License-Identifier: Apache-2.0 9 | */ 10 | #ifndef __BT_MESH_PORTING_H 11 | #define __BT_MESH_PORTING_H 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | void mesh_adv_thread(void *args); 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | 23 | /** 24 | * @} 25 | */ 26 | 27 | #endif /* __BT_MESH_PORTING_H */ 28 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/mesh/proxy.h: -------------------------------------------------------------------------------- 1 | /** @file 2 | * @brief Bluetooth Mesh Proxy APIs. 3 | */ 4 | 5 | /* 6 | * Copyright (c) 2017 Intel Corporation 7 | * 8 | * SPDX-License-Identifier: Apache-2.0 9 | */ 10 | #ifndef __BT_MESH_PROXY_H 11 | #define __BT_MESH_PROXY_H 12 | 13 | /** 14 | * @brief Bluetooth Mesh Proxy 15 | * @defgroup bt_mesh_proxy Bluetooth Mesh Proxy 16 | * @ingroup bt_mesh 17 | * @{ 18 | */ 19 | 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | 24 | /** 25 | * @brief Enable advertising with Node Identity. 26 | * 27 | * This API requires that GATT Proxy support has been enabled. Once called 28 | * each subnet will start advertising using Node Identity for the next 29 | * 60 seconds. 30 | * 31 | * @return 0 on success, or (negative) error code on failure. 32 | */ 33 | int bt_mesh_proxy_identity_enable(void); 34 | 35 | #ifdef __cplusplus 36 | } 37 | #endif 38 | 39 | /** 40 | * @} 41 | */ 42 | 43 | #endif /* __BT_MESH_PROXY_H */ 44 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/nimble/host/mesh/src/beacon.h: -------------------------------------------------------------------------------- 1 | /* Bluetooth Mesh */ 2 | 3 | /* 4 | * Copyright (c) 2017 Intel Corporation 5 | * 6 | * SPDX-License-Identifier: Apache-2.0 7 | */ 8 | 9 | #ifndef __BEACON_H__ 10 | #define __BEACON_H__ 11 | 12 | #include "os/os_mbuf.h" 13 | 14 | void bt_mesh_beacon_enable(void); 15 | void bt_mesh_beacon_disable(void); 16 | 17 | void bt_mesh_beacon_ivu_initiator(bool enable); 18 | 19 | void bt_mesh_beacon_recv(struct os_mbuf *buf); 20 | 21 | void bt_mesh_beacon_create(struct bt_mesh_subnet *sub, 22 | struct os_mbuf *buf); 23 | 24 | void bt_mesh_beacon_init(void); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/nimble/host/mesh/src/light_model.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 Intel Corporation 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | #ifndef __BT_MESH_LIGHT_MODEL_H 7 | #define __BT_MESH_LIGHT_MODEL_H 8 | 9 | #include "syscfg/syscfg.h" 10 | #include "mesh/mesh.h" 11 | 12 | int light_model_gen_onoff_get(struct bt_mesh_model *model, u8_t *state); 13 | int light_model_gen_onoff_set(struct bt_mesh_model *model, u8_t state); 14 | int light_model_gen_level_get(struct bt_mesh_model *model, s16_t *level); 15 | int light_model_gen_level_set(struct bt_mesh_model *model, s16_t level); 16 | int light_model_light_lightness_get(struct bt_mesh_model *model, s16_t *lightness); 17 | int light_model_light_lightness_set(struct bt_mesh_model *model, s16_t lightness); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/nimble/host/mesh/src/prov.h: -------------------------------------------------------------------------------- 1 | /* Bluetooth Mesh */ 2 | 3 | /* 4 | * Copyright (c) 2017 Intel Corporation 5 | * 6 | * SPDX-License-Identifier: Apache-2.0 7 | */ 8 | 9 | #ifndef __PROV_H__ 10 | #define __PROV_H__ 11 | 12 | #include "os/os_mbuf.h" 13 | #include "mesh/mesh.h" 14 | #include "../src/ble_hs_conn_priv.h" 15 | 16 | void bt_mesh_pb_adv_recv(struct os_mbuf *buf); 17 | 18 | bool bt_prov_active(void); 19 | 20 | int bt_mesh_pb_gatt_open(uint16_t conn_handle); 21 | int bt_mesh_pb_gatt_close(uint16_t conn_handle); 22 | int bt_mesh_pb_gatt_recv(uint16_t conn_handle, struct os_mbuf *buf); 23 | 24 | const struct bt_mesh_prov *bt_mesh_prov_get(void); 25 | 26 | int bt_mesh_prov_init(const struct bt_mesh_prov *prov); 27 | 28 | void bt_mesh_prov_reset_link(void); 29 | 30 | void bt_mesh_prov_complete(u16_t net_idx, u16_t addr); 31 | void bt_mesh_prov_reset(void); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/nimble/host/mesh/src/settings.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018 Intel Corporation 3 | * 4 | * SPDX-License-Identifier: Apache-2.0 5 | */ 6 | 7 | void bt_mesh_store_net(void); 8 | void bt_mesh_store_iv(bool only_duration); 9 | void bt_mesh_store_seq(void); 10 | void bt_mesh_store_rpl(struct bt_mesh_rpl *rpl); 11 | void bt_mesh_store_subnet(struct bt_mesh_subnet *sub); 12 | void bt_mesh_store_app_key(struct bt_mesh_app_key *key); 13 | void bt_mesh_store_hb_pub(void); 14 | void bt_mesh_store_cfg(void); 15 | void bt_mesh_store_mod_bind(struct bt_mesh_model *mod); 16 | void bt_mesh_store_mod_sub(struct bt_mesh_model *mod); 17 | void bt_mesh_store_mod_pub(struct bt_mesh_model *mod); 18 | 19 | void bt_mesh_clear_net(void); 20 | void bt_mesh_clear_subnet(struct bt_mesh_subnet *sub); 21 | void bt_mesh_clear_app_key(struct bt_mesh_app_key *key); 22 | void bt_mesh_clear_rpl(void); 23 | 24 | void bt_mesh_settings_init(void); 25 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/nimble/host/mesh/src/shell.h: -------------------------------------------------------------------------------- 1 | #ifndef __SHELL_H__ 2 | #define __SHELL_H__ 3 | 4 | void ble_mesh_shell_init(void); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/nimble/host/mesh/src/testing.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file testing.h 3 | * @brief Internal API for Bluetooth testing. 4 | */ 5 | 6 | /* 7 | * Copyright (c) 2017 Intel Corporation 8 | * 9 | * SPDX-License-Identifier: Apache-2.0 10 | */ 11 | 12 | #include "mesh/glue.h" 13 | #include "mesh/access.h" 14 | 15 | void bt_test_mesh_model_bound(u16_t addr, struct bt_mesh_model *model, 16 | u16_t key_idx); 17 | void bt_test_mesh_model_unbound(u16_t addr, struct bt_mesh_model *model, 18 | u16_t key_idx); 19 | void bt_test_mesh_prov_invalid_bearer(u8_t opcode); 20 | void bt_test_mesh_net_recv(u8_t ttl, u8_t ctl, u16_t src, u16_t dst, 21 | const void *payload, size_t payload_len); 22 | void bt_test_mesh_trans_incomp_timer_exp(void); 23 | void bt_test_print_credentials(void); 24 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/nimble/host/util/syscfg.yml: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | # 18 | 19 | syscfg.defs: 20 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/tinycrypt/AUTHORS: -------------------------------------------------------------------------------- 1 | Architect: 2 | Rafael Misoczki 3 | 4 | Open Source Maintainer: 5 | Constanza Heath 6 | Rafael Misoczki 7 | 8 | Contributors: 9 | Constanza Heath 10 | Rafael Misoczki 11 | Flavio Santes 12 | Jarkko Sakkinen 13 | Chris Morrison 14 | Marti Bolivar 15 | Colin Ian King 16 | -------------------------------------------------------------------------------- /libesp32/NimBLE-Arduino/src/tinycrypt/VERSION: -------------------------------------------------------------------------------- 1 | 0.2.8 2 | -------------------------------------------------------------------------------- /mklittlefs/aarch64-linux-gnu-mklittlefs-1c43629.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/mklittlefs/aarch64-linux-gnu-mklittlefs-1c43629.tar.gz -------------------------------------------------------------------------------- /mklittlefs/amd64_windows/mklittlefs.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/mklittlefs/amd64_windows/mklittlefs.exe -------------------------------------------------------------------------------- /mklittlefs/arm-linux-gnueabihf-mklittlefs-1c43629.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/mklittlefs/arm-linux-gnueabihf-mklittlefs-1c43629.tar.gz -------------------------------------------------------------------------------- /mklittlefs/i686-w64-mingw32-mklittlefs-1c43629.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/mklittlefs/i686-w64-mingw32-mklittlefs-1c43629.zip -------------------------------------------------------------------------------- /mklittlefs/x86_64-linux-gnu-mklittlefs-1c43629.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/mklittlefs/x86_64-linux-gnu-mklittlefs-1c43629.tar.gz -------------------------------------------------------------------------------- /mklittlefs/x86_64-w64-mingw32-mklittlefs-1c43629.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/mklittlefs/x86_64-w64-mingw32-mklittlefs-1c43629.zip -------------------------------------------------------------------------------- /mklittlefs/x86_64_darwin/mklittlefs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SchumyHao/Tasmota/cae25d2b7d73efc0558da7d297ceea31fa9b37b4/mklittlefs/x86_64_darwin/mklittlefs -------------------------------------------------------------------------------- /pio/gzip-firmware.py: -------------------------------------------------------------------------------- 1 | Import('env') 2 | import os 3 | import shutil 4 | import gzip 5 | 6 | OUTPUT_DIR = "build_output{}".format(os.path.sep) 7 | 8 | def bin_gzip(source, target, env): 9 | variant = str(target[0]).split(os.path.sep)[1] 10 | 11 | # create string with location and file names based on variant 12 | bin_file = "{}firmware{}{}.bin".format(OUTPUT_DIR, os.path.sep, variant) 13 | gzip_file = "{}firmware{}{}.bin.gz".format(OUTPUT_DIR, os.path.sep, variant) 14 | 15 | # check if new target files exist and remove if necessary 16 | if os.path.isfile(gzip_file): os.remove(gzip_file) 17 | 18 | # write gzip firmware file 19 | with open(bin_file,"rb") as fp: 20 | with gzip.open(gzip_file, "wb") as f: 21 | shutil.copyfileobj(fp, f) 22 | 23 | env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", [bin_gzip]) 24 | -------------------------------------------------------------------------------- /pio/http-uploader.py: -------------------------------------------------------------------------------- 1 | Import("env") 2 | import os 3 | 4 | # pio < 4.0.0 5 | # from base64 import b64decode 6 | # env.Replace(UPLOADER="pio\espupload.py") 7 | # env.Replace(UPLOADERFLAGS="") 8 | # env.Replace(UPLOADCMD="$UPLOADER -u " + b64decode(ARGUMENTS.get("UPLOAD_PORT")) + " -f $SOURCES") 9 | 10 | # pio >= 4.0.0 11 | env.Replace(UPLOADER=os.path.join("pio", "espupload.py")) 12 | env.Replace(UPLOADERFLAGS="") 13 | env.Replace(UPLOADCMD="$UPLOADER -u $UPLOAD_PORT -f $SOURCES") 14 | -------------------------------------------------------------------------------- /pio/obj-dump.py: -------------------------------------------------------------------------------- 1 | # Little convenience script to get an object dump 2 | 3 | Import('env') 4 | 5 | def obj_dump_after_elf(source, target, env): 6 | print("Create firmware.asm") 7 | env.Execute("xtensa-lx106-elf-objdump "+ "-D " + str(target[0]) + " > "+ "${PROGNAME}.asm") 8 | 9 | env.AddPostAction("$BUILD_DIR/${PROGNAME}.elf", [obj_dump_after_elf]) 10 | -------------------------------------------------------------------------------- /pio/override_copy.py: -------------------------------------------------------------------------------- 1 | Import('env') 2 | import os 3 | import shutil 4 | 5 | # copy tasmota/user_config_override_sample.h to tasmota/user_config_override.h 6 | if os.path.isfile("tasmota/user_config_override.h"): 7 | print ("*** use provided user_config_override.h as planned ***") 8 | else: 9 | shutil.copy("tasmota/user_config_override_sample.h", "tasmota/user_config_override.h") 10 | -------------------------------------------------------------------------------- /pio/sftp-uploader.py: -------------------------------------------------------------------------------- 1 | Import("env") 2 | 3 | # pio < 4.0.0 4 | # from base64 import b64decode 5 | # env.Replace(UPLOADER="scp") 6 | # env.Replace(UPLOADERFLAGS="") 7 | # env.Replace(UPLOADCMD="$UPLOADER $SOURCES " + b64decode(ARGUMENTS.get("UPLOAD_PORT")) + "/" + b64decode(ARGUMENTS.get("PIOENV")) + ".bin") 8 | 9 | # pio >= 4.0.0 10 | env.Replace(UPLOADER="scp") 11 | env.Replace(UPLOADERFLAGS="") 12 | env.Replace(UPLOADCMD='$UPLOADER $SOURCES "$UPLOAD_PORT/${PIOENV}.bin"') 13 | -------------------------------------------------------------------------------- /pio/strip-floats.py: -------------------------------------------------------------------------------- 1 | Import('env') 2 | 3 | # 4 | # Dump build environment (for debug) 5 | #print env.Dump() 6 | # 7 | 8 | flags = " ".join(env['LINKFLAGS']) 9 | flags = flags.replace("-u _printf_float", "") 10 | flags = flags.replace("-u _scanf_float", "") 11 | newflags = flags.split() 12 | 13 | env.Replace( 14 | LINKFLAGS=newflags 15 | ) -------------------------------------------------------------------------------- /tasmota/tasmota_compat.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifdef ESP32 4 | #include 5 | // Modul 6 | #undef MODULE 7 | #define MODULE WEMOS // [Module] Select default model 8 | #endif // ESP32 9 | 10 | #ifdef ESP8266 11 | // ESP8266 12 | // 13 | // UDP 14 | #define PortUdp_write(p,n) PortUdp.write(p, n) 15 | // 16 | // Serial minimal type to hold the config 17 | #define SerConfu8 uint8_t 18 | #endif // ESP8266 19 | -------------------------------------------------------------------------------- /tools/Esptool/EraseFlash.bat: -------------------------------------------------------------------------------- 1 | esptool.py --baud 115200 erase_flash 2 | -------------------------------------------------------------------------------- /tools/Esptool/ReadFlash.bat: -------------------------------------------------------------------------------- 1 | esptool.py --baud 115200 read_flash 0x000000 0x100000 backup.bin 2 | -------------------------------------------------------------------------------- /tools/Esptool/VerifyFlash.bat: -------------------------------------------------------------------------------- 1 | esptool.py --baud 115200 verify_flash -fs 1MB -fm dout 0x000000 firmware.bin 2 | -------------------------------------------------------------------------------- /tools/Esptool/WriteFlash.bat: -------------------------------------------------------------------------------- 1 | esptool.py --baud 115200 write_flash -fs 1MB -fm dout 0x000000 firmware.bin 2 | -------------------------------------------------------------------------------- /tools/decode-config.md: -------------------------------------------------------------------------------- 1 | A tool to backup and restore the configuration of [Tasmota](http://tasmota.com/)-devices. 2 | 3 | ## decode-config has moved to [https://github.com/tasmota/decode-config](https://github.com/tasmota/decode-config) 4 | -------------------------------------------------------------------------------- /tools/fw_server/fw/README: -------------------------------------------------------------------------------- 1 | Copy Tasmota firmware binary files in this directory. 2 | A set of prebuilt files can be downloaded by Tasmota release page: 3 | https://github.com/arendst/Tasmota/releases -------------------------------------------------------------------------------- /tools/logo/TASMOTA_Symbol_Vector.svg: -------------------------------------------------------------------------------- 1 | Element 1 -------------------------------------------------------------------------------- /tools/theov2_attiny85/info.txt: -------------------------------------------------------------------------------- 1 | These files provide Arduino code for ATTiny85 battery powered sensor hardware. 2 | 3 | Tasmota can receive and decode them when defines USE_RF_SENSOR and USE_THEO_V2 are enabled 4 | 5 | 6 | TheoV2Sensor1 - Light and Temperature 7 | Uses BH1750 and DS18B20 8 | Uses 1 x 3.6V Lithium battery lasting at least 3 years 9 | See https://sidweb.nl/cms3/en/projects/mcs51/attiny85-lichtsensor 10 | 11 | 12 | TheoV2Sensor2 - Temperature and Humidity 13 | Uses DHT22 14 | Uses 3 x AAA battery lasting at least 3 years 15 | See https://sidweb.nl/cms3/en/projects/mcs51/vocht-en-tempsensor -------------------------------------------------------------------------------- /updateDocs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | SCRIPTPATH="$(readlink -f "$0")" 4 | SCRIPTPATH="${SCRIPTPATH%/*}" 5 | 6 | rm -rf "$SCRIPTPATH/html" 7 | echo -e "\n\n\n\n" 8 | #cd "$SCRIPTPATH/" && doxygen && git add $DOCDIR && git commit -a -m "Documentation update." 9 | cd "$SCRIPTPATH/" && doxygen 10 | --------------------------------------------------------------------------------