From 3f5d06bc12553fc1b2811e7b7480b4615be25c91 Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Tue, 1 Aug 2017 00:33:19 -0700 Subject: [PATCH] add DigiStump Oak pins & board --- boards.txt | 65 +++++++++++++++++++ doc/boards.rst | 9 +++ .../package_esp8266com_index.template.json | 3 + variants/oak/pins_arduino.h | 55 ++++++++++++++++ 4 files changed, 132 insertions(+) create mode 100644 variants/oak/pins_arduino.h diff --git a/boards.txt b/boards.txt index 890a8bc0fb..19a692de96 100644 --- a/boards.txt +++ b/boards.txt @@ -2021,3 +2021,68 @@ gen4iod.menu.UploadSpeed.512000.windows=512000 gen4iod.menu.UploadSpeed.512000.upload.speed=512000 gen4iod.menu.UploadSpeed.921600=921600 gen4iod.menu.UploadSpeed.921600.upload.speed=921600 + +############################################################## +oak.name=DigiStump Oak + +oak.upload.tool=esptool +oak.upload.speed=115200 +oak.upload.resetmethod=ck +oak.upload.maximum_size=1040368 +oak.upload.maximum_data_size=81920 +oak.upload.wait_for_upload_port=true +oak.serial.disableDTR=true +oak.serial.disableRTS=true + +oak.build.mcu=esp8266 +oak.build.f_cpu=80000000L +oak.build.board=ESP8266_OAK +oak.build.core=esp8266 +oak.build.variant=oak +oak.build.flash_mode=dio +oak.build.flash_size=4M +oak.build.flash_freq=40 +oak.build.debug_port= +oak.build.debug_level= + +oak.menu.CpuFrequency.80=80 MHz +oak.menu.CpuFrequency.80.build.f_cpu=80000000L +oak.menu.CpuFrequency.160=160 MHz +oak.menu.CpuFrequency.160.build.f_cpu=160000000L + +oak.menu.UploadSpeed.921600=921600 +oak.menu.UploadSpeed.921600.upload.speed=921600 +oak.menu.UploadSpeed.115200=115200 +oak.menu.UploadSpeed.115200.upload.speed=115200 +oak.menu.UploadSpeed.9600=9600 +oak.menu.UploadSpeed.9600.upload.speed=9600 +oak.menu.UploadSpeed.57600=57600 +oak.menu.UploadSpeed.57600.upload.speed=57600 +oak.menu.UploadSpeed.256000.windows=256000 +oak.menu.UploadSpeed.256000.upload.speed=256000 +oak.menu.UploadSpeed.230400.linux=230400 +oak.menu.UploadSpeed.230400.macosx=230400 +oak.menu.UploadSpeed.230400.macosx=230400 +oak.menu.UploadSpeed.230400.upload.speed=230400 +oak.menu.UploadSpeed.460800.linux=460800 +oak.menu.UploadSpeed.460800.macosx=460800 +oak.menu.UploadSpeed.460800.upload.speed=460800 +oak.menu.UploadSpeed.512000.windows=512000 +oak.menu.UploadSpeed.512000.upload.speed=512000 + + +oak.menu.FlashSize.4M3M=4M (3M SPIFFS) +oak.menu.FlashSize.4M3M.build.flash_size=4M +oak.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld +oak.menu.FlashSize.4M3M.build.spiffs_start=0x100000 +oak.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 +oak.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 +oak.menu.FlashSize.4M3M.build.spiffs_pagesize=256 + +oak.menu.FlashSize.4M1M=4M (1M SPIFFS) +oak.menu.FlashSize.4M1M.build.flash_size=4M +oak.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld +oak.menu.FlashSize.4M1M.build.spiffs_start=0x300000 +oak.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 +oak.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 +oak.menu.FlashSize.4M1M.build.spiffs_pagesize=256 diff --git a/doc/boards.rst b/doc/boards.rst index ec085057bc..c60469867f 100644 --- a/doc/boards.rst +++ b/doc/boards.rst @@ -131,6 +131,15 @@ WifInfo integrates the ESP-12 or ESP-07+Ext antenna module with a 3.3v regulator For more information, please see WifInfo related `blog `__ entries, `github `__ and `community `__ forum. +DigiStump Oak +------------- + +The Oak requires an [adapter](#serial-adapter) for a serial connection or flashing; its micro USB port is only for power. + +To make a serial connection, wire the adapter's **TX to P3**, **RX to P4**, and **GND** to **GND**. Supply 3.3v from the serial adapter if not already powered via USB. + +To put the board into bootloader mode, configure a serial connection as above, connect **P2 to GND**, then re-apply power. Once flashing is complete, remove the connection from P2 to GND, then re-apply power to boot into normal mode. + Generic ESP8266 modules ----------------------- diff --git a/package/package_esp8266com_index.template.json b/package/package_esp8266com_index.template.json index a1789f7b59..53c8dd4079 100644 --- a/package/package_esp8266com_index.template.json +++ b/package/package_esp8266com_index.template.json @@ -73,6 +73,9 @@ }, { "name": "4D Systems gen4 IoD Range" + }, + { + "name": "DigiStump Oak" } ], "toolsDependencies": [ diff --git a/variants/oak/pins_arduino.h b/variants/oak/pins_arduino.h new file mode 100644 index 0000000000..757a5c5237 --- /dev/null +++ b/variants/oak/pins_arduino.h @@ -0,0 +1,55 @@ +/* + pins_arduino.h - Pin definition functions for Arduino + Part of Arduino - http://www.arduino.cc/ + + Copyright (c) 2007 David A. Mellis + Modified for ESP8266 platform by Ivan Grokhotkov, 2014-2015. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General + Public License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ +*/ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +static const uint8_t P0 = 2; +static const uint8_t P1 = 5; +static const uint8_t P2 = 0; +static const uint8_t P3 = 3; +static const uint8_t P4 = 1; +static const uint8_t P5 = 4; +static const uint8_t P6 = 15; +static const uint8_t P7 = 13; +static const uint8_t P8 = 12; +static const uint8_t P9 = 14; +static const uint8_t P10 = 16; +static const uint8_t P11 = 17; + +static const uint8_t SDA = 2; +static const uint8_t SCL = 0; + +static const uint8_t SS = 15; +static const uint8_t MOSI = 13; +static const uint8_t MISO = 12; +static const uint8_t SCK = 14; + +static const uint8_t BUILTIN_LED = 5; +static const uint8_t LED_BUILTIN = 5; + +static const uint8_t A0 = 17; + +#endif /* Pins_Arduino_h */