From bc5f69319fcf57104d78bf4a2364393d051f5d53 Mon Sep 17 00:00:00 2001 From: Ian Tester Date: Wed, 6 May 2015 14:53:29 +1000 Subject: [PATCH 1/2] Add definition for the Olimex MOD-WIFI-ESP8266(-DEV) boards --- hardware/esp8266com/esp8266/boards.txt | 50 ++++++++++++++ .../esp8266/variants/modwifi/pins_arduino.h | 67 +++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 hardware/esp8266com/esp8266/variants/modwifi/pins_arduino.h diff --git a/hardware/esp8266com/esp8266/boards.txt b/hardware/esp8266com/esp8266/boards.txt index bbcebb9e04..3cc72a0f0c 100644 --- a/hardware/esp8266com/esp8266/boards.txt +++ b/hardware/esp8266com/esp8266/boards.txt @@ -1,6 +1,7 @@ menu.UploadSpeed=Upload Speed menu.CpuFrequency=CPU Frequency menu.FlashSize=Flash size + ############################################################## generic.name=Generic ESP8266 Module @@ -56,6 +57,55 @@ generic.menu.FlashSize.2M.build.flash_size=2M generic.menu.FlashSize.4M=4M generic.menu.FlashSize.4M.build.flash_size=4M +############################################################## +modwifi.name=Olimex MOD-WIFI-ESP8266(-DEV) + +modwifi.upload.tool=esptool +modwifi.upload.speed=115200 +modwifi.upload.resetmethod=ck +modwifi.upload.maximum_size=2097152 +modwifi.upload.wait_for_upload_port=true +modwifi.serial.disableDTR=true +modwifi.serial.disableRTS=true + +modwifi.build.mcu=esp8266 +modwifi.build.f_cpu=80000000L +modwifi.build.board=MOD_WIFI_ESP8266 +modwifi.build.core=esp8266 +modwifi.build.variant=modwifi +# Winbond W25Q16 flash +modwifi.build.flash_mode=qio +modwifi.build.flash_size=2M +modwifi.build.flash_freq=40 + +modwifi.menu.CpuFrequency.80=80 MHz +modwifi.menu.CpuFrequency.80.build.f_cpu=80000000L +modwifi.menu.CpuFrequency.160=160 MHz +modwifi.menu.CpuFrequency.160.build.f_cpu=160000000L + +modwifi.menu.UploadSpeed.115200=115200 +modwifi.menu.UploadSpeed.115200.upload.speed=115200 +modwifi.menu.UploadSpeed.9600=9600 +modwifi.menu.UploadSpeed.9600.upload.speed=9600 +modwifi.menu.UploadSpeed.57600=57600 +modwifi.menu.UploadSpeed.57600.upload.speed=57600 +modwifi.menu.UploadSpeed.256000.windows=256000 +modwifi.menu.UploadSpeed.256000.upload.speed=256000 +modwifi.menu.UploadSpeed.230400.linux=230400 +modwifi.menu.UploadSpeed.230400.macosx=230400 +modwifi.menu.UploadSpeed.230400.macosx=230400 +modwifi.menu.UploadSpeed.230400.upload.speed=230400 +modwifi.menu.UploadSpeed.460800.linux=460800 +modwifi.menu.UploadSpeed.460800.macosx=460800 +modwifi.menu.UploadSpeed.460800.upload.speed=460800 +modwifi.menu.UploadSpeed.512000.windows=512000 +modwifi.menu.UploadSpeed.512000.upload.speed=512000 +modwifi.menu.UploadSpeed.921600=921600 +modwifi.menu.UploadSpeed.921600.upload.speed=921600 + +modwifi.menu.FlashSize.2M=2M +modwifi.menu.FlashSize.2M.build.flash_size=2M + ############################################################## nodemcu.name=NodeMCU (ESP8266 ESP-12 Module) diff --git a/hardware/esp8266com/esp8266/variants/modwifi/pins_arduino.h b/hardware/esp8266com/esp8266/variants/modwifi/pins_arduino.h new file mode 100644 index 0000000000..4fef366d09 --- /dev/null +++ b/hardware/esp8266com/esp8266/variants/modwifi/pins_arduino.h @@ -0,0 +1,67 @@ +/* + 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 + +#define EXTERNAL_NUM_INTERRUPTS 16 +#define NUM_DIGITAL_PINS 17 +#define NUM_ANALOG_INPUTS 1 + +#define analogInputToDigitalPin(p) ((p > 0)?NOT_A_PIN:0) +#define digitalPinToInterrupt(p) (((p) < EXTERNAL_NUM_INTERRUPTS)?p:NOT_A_PIN) +#define digitalPinHasPWM(p) (((p) < NUM_DIGITAL_PINS)?p:NOT_A_PIN) + +static const uint8_t SDA = 4; +static const uint8_t SCL = 5; + +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 A0 = 17; + +// These serial port names are intended to allow libraries and architecture-neutral +// sketches to automatically default to the correct port name for a particular type +// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, +// the first hardware serial port whose RX/TX pins are not dedicated to another use. +// +// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor +// +// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial +// +// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library +// +// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. +// +// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX +// pins are NOT connected to anything by default. +#define SERIAL_PORT_MONITOR Serial +#define SERIAL_PORT_USBVIRTUAL Serial +#define SERIAL_PORT_HARDWARE Serial +#define SERIAL_PORT_HARDWARE_OPEN Serial + +#endif /* Pins_Arduino_h */ From 3419538cd24d4c88c7a65efc5eb04c8e711e296a Mon Sep 17 00:00:00 2001 From: Ian Tester Date: Thu, 7 May 2015 01:37:16 +1000 Subject: [PATCH 2/2] No need to have a separate variant for the Olimex MOD-WIFI-ESP8266, nor a menu entry for the flash size --- hardware/esp8266com/esp8266/boards.txt | 5 +- .../esp8266/variants/modwifi/pins_arduino.h | 67 ------------------- 2 files changed, 1 insertion(+), 71 deletions(-) delete mode 100644 hardware/esp8266com/esp8266/variants/modwifi/pins_arduino.h diff --git a/hardware/esp8266com/esp8266/boards.txt b/hardware/esp8266com/esp8266/boards.txt index 3cc72a0f0c..4190e64835 100644 --- a/hardware/esp8266com/esp8266/boards.txt +++ b/hardware/esp8266com/esp8266/boards.txt @@ -72,7 +72,7 @@ modwifi.build.mcu=esp8266 modwifi.build.f_cpu=80000000L modwifi.build.board=MOD_WIFI_ESP8266 modwifi.build.core=esp8266 -modwifi.build.variant=modwifi +modwifi.build.variant=generic # Winbond W25Q16 flash modwifi.build.flash_mode=qio modwifi.build.flash_size=2M @@ -103,9 +103,6 @@ modwifi.menu.UploadSpeed.512000.upload.speed=512000 modwifi.menu.UploadSpeed.921600=921600 modwifi.menu.UploadSpeed.921600.upload.speed=921600 -modwifi.menu.FlashSize.2M=2M -modwifi.menu.FlashSize.2M.build.flash_size=2M - ############################################################## nodemcu.name=NodeMCU (ESP8266 ESP-12 Module) diff --git a/hardware/esp8266com/esp8266/variants/modwifi/pins_arduino.h b/hardware/esp8266com/esp8266/variants/modwifi/pins_arduino.h deleted file mode 100644 index 4fef366d09..0000000000 --- a/hardware/esp8266com/esp8266/variants/modwifi/pins_arduino.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - 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 - -#define EXTERNAL_NUM_INTERRUPTS 16 -#define NUM_DIGITAL_PINS 17 -#define NUM_ANALOG_INPUTS 1 - -#define analogInputToDigitalPin(p) ((p > 0)?NOT_A_PIN:0) -#define digitalPinToInterrupt(p) (((p) < EXTERNAL_NUM_INTERRUPTS)?p:NOT_A_PIN) -#define digitalPinHasPWM(p) (((p) < NUM_DIGITAL_PINS)?p:NOT_A_PIN) - -static const uint8_t SDA = 4; -static const uint8_t SCL = 5; - -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 A0 = 17; - -// These serial port names are intended to allow libraries and architecture-neutral -// sketches to automatically default to the correct port name for a particular type -// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, -// the first hardware serial port whose RX/TX pins are not dedicated to another use. -// -// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor -// -// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial -// -// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library -// -// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. -// -// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX -// pins are NOT connected to anything by default. -#define SERIAL_PORT_MONITOR Serial -#define SERIAL_PORT_USBVIRTUAL Serial -#define SERIAL_PORT_HARDWARE Serial -#define SERIAL_PORT_HARDWARE_OPEN Serial - -#endif /* Pins_Arduino_h */