Skip to content

Add new boards Phoenix 1.0 & Phoenix 2.0 #2088

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jun 6, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
210 changes: 210 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -665,6 +665,216 @@ espresso_lite_v2.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DD
espresso_lite_v2.build.debug_port=
espresso_lite_v2.build.debug_level=

##############################################################
phoenix_v1.name=Phoenix 1.0
phoenix_v1.upload.tool=esptool
phoenix_v1.upload.speed=115200
phoenix_v1.upload.maximum_size=1044464
phoenix_v1.upload.maximum_data_size=81920
phoenix_v1.upload.wait_for_upload_port=true

phoenix_v1.build.mcu=esp8266
phoenix_v1.build.f_cpu=80000000L
phoenix_v1.build.board=ESP8266_PHOENIX_V1
phoenix_v1.build.core=esp8266
phoenix_v1.build.variant=phoenix_v1
phoenix_v1.build.flash_mode=dio
phoenix_v1.build.flash_size=4M
phoenix_v1.build.flash_freq=40

phoenix_v1.menu.CpuFrequency.80=80 MHz
phoenix_v1.menu.CpuFrequency.80.build.f_cpu=80000000L
phoenix_v1.menu.CpuFrequency.160=160 MHz
phoenix_v1.menu.CpuFrequency.160.build.f_cpu=160000000L

phoenix_v1.menu.UploadSpeed.115200=115200
phoenix_v1.menu.UploadSpeed.115200.upload.speed=115200
phoenix_v1.menu.UploadSpeed.57600=57600
phoenix_v1.menu.UploadSpeed.57600.upload.speed=57600
phoenix_v1.menu.UploadSpeed.256000.windows=256000
phoenix_v1.menu.UploadSpeed.256000.upload.speed=256000
phoenix_v1.menu.UploadSpeed.230400.linux=230400
phoenix_v1.menu.UploadSpeed.230400.macosx=230400
phoenix_v1.menu.UploadSpeed.230400.macosx=230400
phoenix_v1.menu.UploadSpeed.230400.upload.speed=230400
phoenix_v1.menu.UploadSpeed.460800.linux=460800
phoenix_v1.menu.UploadSpeed.460800.macosx=460800
phoenix_v1.menu.UploadSpeed.460800.upload.speed=460800
phoenix_v1.menu.UploadSpeed.512000.windows=512000
phoenix_v1.menu.UploadSpeed.512000.upload.speed=512000
phoenix_v1.menu.UploadSpeed.921600=921600
phoenix_v1.menu.UploadSpeed.921600.upload.speed=921600

phoenix_v1.menu.FlashSize.4M3M=4M (3M SPIFFS)
phoenix_v1.menu.FlashSize.4M3M.build.flash_size=4M
phoenix_v1.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld
phoenix_v1.menu.FlashSize.4M3M.build.spiffs_start=0x100000
phoenix_v1.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000
phoenix_v1.menu.FlashSize.4M3M.build.spiffs_blocksize=8192
phoenix_v1.menu.FlashSize.4M3M.upload.maximum_size=1044464

phoenix_v1.menu.FlashSize.4M1M=4M (1M SPIFFS)
phoenix_v1.menu.FlashSize.4M1M.build.flash_size=4M
phoenix_v1.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld
phoenix_v1.menu.FlashSize.4M1M.build.spiffs_start=0x300000
phoenix_v1.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000
phoenix_v1.menu.FlashSize.4M1M.build.spiffs_blocksize=8192
phoenix_v1.menu.FlashSize.4M1M.build.spiffs_pagesize=256
phoenix_v1.menu.FlashSize.4M1M.upload.maximum_size=1044464

phoenix_v1.menu.ResetMethod.nodemcu=nodemcu
phoenix_v1.menu.ResetMethod.nodemcu.upload.resetmethod=nodemcu
phoenix_v1.menu.ResetMethod.ck=ck
phoenix_v1.menu.ResetMethod.ck.upload.resetmethod=ck

phoenix_v1.menu.Debug.Disabled=Disabled
phoenix_v1.menu.Debug.Disabled.build.debug_port=
phoenix_v1.menu.Debug.Serial=Serial
phoenix_v1.menu.Debug.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial
phoenix_v1.menu.Debug.Serial1=Serial1
phoenix_v1.menu.Debug.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1

phoenix_v1.menu.DebugLevel.None____=None
phoenix_v1.menu.DebugLevel.None____.build.debug_level=
phoenix_v1.menu.DebugLevel.Core____=Core
phoenix_v1.menu.DebugLevel.Core____.build.debug_level=-DDEBUG_ESP_CORE
phoenix_v1.menu.DebugLevel.SSL_____=Core + SSL
phoenix_v1.menu.DebugLevel.SSL_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL
phoenix_v1.menu.DebugLevel.SSL_MEM_=Core + SSL + TLS Mem
phoenix_v1.menu.DebugLevel.SSL_MEM_.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_TLS_MEM
phoenix_v1.menu.DebugLevel.WiFic___=Core + WiFi
phoenix_v1.menu.DebugLevel.WiFic___.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI
phoenix_v1.menu.DebugLevel.WiFi____=WiFi
phoenix_v1.menu.DebugLevel.WiFi____.build.debug_level=-DDEBUG_ESP_WIFI
phoenix_v1.menu.DebugLevel.HTTPClient=HTTPClient
phoenix_v1.menu.DebugLevel.HTTPClient.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT
phoenix_v1.menu.DebugLevel.HTTPClient2=HTTPClient + SSL
phoenix_v1.menu.DebugLevel.HTTPClient2.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_SSL
phoenix_v1.menu.DebugLevel.HTTPUpdate=HTTPUpdate
phoenix_v1.menu.DebugLevel.HTTPUpdate.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE
phoenix_v1.menu.DebugLevel.HTTPUpdate2=HTTPClient + HTTPUpdate
phoenix_v1.menu.DebugLevel.HTTPUpdate2.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE
phoenix_v1.menu.DebugLevel.HTTPUpdate3=HTTPClient + HTTPUpdate + Updater
phoenix_v1.menu.DebugLevel.HTTPUpdate3.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER
phoenix_v1.menu.DebugLevel.HTTPServer=HTTPServer
phoenix_v1.menu.DebugLevel.HTTPServer.build.debug_level=-DDEBUG_ESP_HTTP_SERVER
phoenix_v1.menu.DebugLevel.UPDATER=Updater
phoenix_v1.menu.DebugLevel.UPDATER.build.debug_level=-DDEBUG_ESP_UPDATER
phoenix_v1.menu.DebugLevel.OTA_____=OTA
phoenix_v1.menu.DebugLevel.OTA_____.build.debug_level=-DDEBUG_ESP_OTA
phoenix_v1.menu.DebugLevel.OTA2____=OTA + Updater
phoenix_v1.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_UPDATER
phoenix_v1.menu.DebugLevel.all_____=All
phoenix_v1.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM

phoenix_v1.build.debug_port=
phoenix_v1.build.debug_level=

##############################################################
phoenix_v2.name=Phoenix 2.0
phoenix_v2.upload.tool=esptool
phoenix_v2.upload.speed=115200
phoenix_v2.upload.maximum_size=1044464
phoenix_v2.upload.maximum_data_size=81920
phoenix_v2.upload.wait_for_upload_port=true

phoenix_v2.build.mcu=esp8266
phoenix_v2.build.f_cpu=80000000L
phoenix_v2.build.board=ESP8266_PHOENIX_V2
phoenix_v2.build.core=esp8266
phoenix_v2.build.variant=phoenix_v2
phoenix_v2.build.flash_mode=dio
phoenix_v2.build.flash_size=4M
phoenix_v2.build.flash_freq=40

phoenix_v2.menu.CpuFrequency.80=80 MHz
phoenix_v2.menu.CpuFrequency.80.build.f_cpu=80000000L
phoenix_v2.menu.CpuFrequency.160=160 MHz
phoenix_v2.menu.CpuFrequency.160.build.f_cpu=160000000L

phoenix_v2.menu.UploadSpeed.115200=115200
phoenix_v2.menu.UploadSpeed.115200.upload.speed=115200
phoenix_v2.menu.UploadSpeed.57600=57600
phoenix_v2.menu.UploadSpeed.57600.upload.speed=57600
phoenix_v2.menu.UploadSpeed.256000.windows=256000
phoenix_v2.menu.UploadSpeed.256000.upload.speed=256000
phoenix_v2.menu.UploadSpeed.230400.linux=230400
phoenix_v2.menu.UploadSpeed.230400.macosx=230400
phoenix_v2.menu.UploadSpeed.230400.macosx=230400
phoenix_v2.menu.UploadSpeed.230400.upload.speed=230400
phoenix_v2.menu.UploadSpeed.460800.linux=460800
phoenix_v2.menu.UploadSpeed.460800.macosx=460800
phoenix_v2.menu.UploadSpeed.460800.upload.speed=460800
phoenix_v2.menu.UploadSpeed.512000.windows=512000
phoenix_v2.menu.UploadSpeed.512000.upload.speed=512000
phoenix_v2.menu.UploadSpeed.921600=921600
phoenix_v2.menu.UploadSpeed.921600.upload.speed=921600

phoenix_v2.menu.FlashSize.4M3M=4M (3M SPIFFS)
phoenix_v2.menu.FlashSize.4M3M.build.flash_size=4M
phoenix_v2.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld
phoenix_v2.menu.FlashSize.4M3M.build.spiffs_start=0x100000
phoenix_v2.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000
phoenix_v2.menu.FlashSize.4M3M.build.spiffs_blocksize=8192
phoenix_v2.menu.FlashSize.4M3M.upload.maximum_size=1044464

phoenix_v2.menu.FlashSize.4M1M=4M (1M SPIFFS)
phoenix_v2.menu.FlashSize.4M1M.build.flash_size=4M
phoenix_v2.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld
phoenix_v2.menu.FlashSize.4M1M.build.spiffs_start=0x300000
phoenix_v2.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000
phoenix_v2.menu.FlashSize.4M1M.build.spiffs_blocksize=8192
phoenix_v2.menu.FlashSize.4M1M.build.spiffs_pagesize=256
phoenix_v2.menu.FlashSize.4M1M.upload.maximum_size=1044464

phoenix_v2.menu.ResetMethod.ck=ck
phoenix_v2.menu.ResetMethod.ck.upload.resetmethod=ck
phoenix_v2.menu.ResetMethod.nodemcu=nodemcu
phoenix_v2.menu.ResetMethod.nodemcu.upload.resetmethod=nodemcu

phoenix_v2.menu.Debug.Disabled=Disabled
phoenix_v2.menu.Debug.Disabled.build.debug_port=
phoenix_v2.menu.Debug.Serial=Serial
phoenix_v2.menu.Debug.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial
phoenix_v2.menu.Debug.Serial1=Serial1
phoenix_v2.menu.Debug.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1

phoenix_v2.menu.DebugLevel.None____=None
phoenix_v2.menu.DebugLevel.None____.build.debug_level=
phoenix_v2.menu.DebugLevel.Core____=Core
phoenix_v2.menu.DebugLevel.Core____.build.debug_level=-DDEBUG_ESP_CORE
phoenix_v2.menu.DebugLevel.SSL_____=Core + SSL
phoenix_v2.menu.DebugLevel.SSL_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL
phoenix_v2.menu.DebugLevel.SSL_MEM_=Core + SSL + TLS Mem
phoenix_v2.menu.DebugLevel.SSL_MEM_.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_TLS_MEM
phoenix_v2.menu.DebugLevel.WiFic___=Core + WiFi
phoenix_v2.menu.DebugLevel.WiFic___.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI
phoenix_v2.menu.DebugLevel.WiFi____=WiFi
phoenix_v2.menu.DebugLevel.WiFi____.build.debug_level=-DDEBUG_ESP_WIFI
phoenix_v2.menu.DebugLevel.HTTPClient=HTTPClient
phoenix_v2.menu.DebugLevel.HTTPClient.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT
phoenix_v2.menu.DebugLevel.HTTPClient2=HTTPClient + SSL
phoenix_v2.menu.DebugLevel.HTTPClient2.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_SSL
phoenix_v2.menu.DebugLevel.HTTPUpdate=HTTPUpdate
phoenix_v2.menu.DebugLevel.HTTPUpdate.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE
phoenix_v2.menu.DebugLevel.HTTPUpdate2=HTTPClient + HTTPUpdate
phoenix_v2.menu.DebugLevel.HTTPUpdate2.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE
phoenix_v2.menu.DebugLevel.HTTPUpdate3=HTTPClient + HTTPUpdate + Updater
phoenix_v2.menu.DebugLevel.HTTPUpdate3.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER
phoenix_v2.menu.DebugLevel.HTTPServer=HTTPServer
phoenix_v2.menu.DebugLevel.HTTPServer.build.debug_level=-DDEBUG_ESP_HTTP_SERVER
phoenix_v2.menu.DebugLevel.UPDATER=Updater
phoenix_v2.menu.DebugLevel.UPDATER.build.debug_level=-DDEBUG_ESP_UPDATER
phoenix_v2.menu.DebugLevel.OTA_____=OTA
phoenix_v2.menu.DebugLevel.OTA_____.build.debug_level=-DDEBUG_ESP_OTA
phoenix_v2.menu.DebugLevel.OTA2____=OTA + Updater
phoenix_v2.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_UPDATER
phoenix_v2.menu.DebugLevel.all_____=All
phoenix_v2.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM

phoenix_v2.build.debug_port=
phoenix_v2.build.debug_level=

##############################################################
nodemcu.name=NodeMCU 0.9 (ESP-12 Module)

Expand Down
9 changes: 9 additions & 0 deletions doc/boards.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ title: Supported Hardware
* [Olimex MOD\-WIFI\-ESP8266\-DEV](#olimex-mod-wifi-esp8266-dev)
* [Olimex MOD\-WIFI\-ESP8266](#olimex-mod-wifi-esp8266)
* [Olimex ESP8266\-EVB](#olimex-esp8266-evb)
* [Phoenix 1\.0](#phoenix-10)
* [Phoenix 2\.0](#phoenix-20)
* [SparkFun ESP8266 Thing](#sparkfun-esp8266-thing)
* [SweetPea ESP\-210](#sweetpea-esp-210)
* [ESPino](#espino)
Expand Down Expand Up @@ -44,6 +46,13 @@ ESPresso Lite 1.0 (beta version) is an Arduino-compatible Wi-Fi development boar

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

## Phoenix 1.0

Product page: http://www.espert.co

## Phoenix 2.0

Product page: http://www.espert.co

## NodeMCU 0.9

Expand Down
14 changes: 11 additions & 3 deletions libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -706,19 +706,27 @@ String HTTPClient::errorToString(int error)
* @param value
* @param first
*/
void HTTPClient::addHeader(const String& name, const String& value, bool first)
void HTTPClient::addHeader(const String& name, const String& value, bool first, bool replace)
{

// not allow set of Header handled by code
if(!name.equalsIgnoreCase(F("Connection")) &&
!name.equalsIgnoreCase(F("User-Agent")) &&
!name.equalsIgnoreCase(F("Host")) &&
!(name.equalsIgnoreCase(F("Authorization")) && _base64Authorization.length())){

String headerLine = name;
headerLine += ": ";

if (replace) {
int headerStart = _headers.indexOf(headerLine);
if (headerStart != -1) {
int headerEnd = _headers.indexOf('\n', headerStart);
_headers = _headers.substring(0, headerStart) + _headers.substring(headerEnd + 1);
}
}

headerLine += value;
headerLine += "\r\n";

if(first) {
_headers = headerLine + _headers;
} else {
Expand Down
2 changes: 1 addition & 1 deletion libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.h
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ class HTTPClient
int sendRequest(const char * type, uint8_t * payload = NULL, size_t size = 0);
int sendRequest(const char * type, Stream * stream, size_t size = 0);

void addHeader(const String& name, const String& value, bool first = false);
void addHeader(const String& name, const String& value, bool first = false, bool replace = true);

/// Response handling
void collectHeaders(const char* headerKeys[], const size_t headerKeysCount);
Expand Down
6 changes: 6 additions & 0 deletions package/package_esp8266com_index.template.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,12 @@
{
"name": "ESPresso Lite 2.0"
},
{
"name": "Phoenix 1.0"
},
{
"name": "Phoenix 2.0"
},
{
"name": "SparkFun Thing"
},
Expand Down
1 change: 1 addition & 0 deletions tests/device/libraries/test_config/test_config.h.template
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@
#define AP_SSID "test_wifi_ap"
#define AP_PASS "test_wifi_ap_pass"

#define SERVER_IP "192.168.10.1"
66 changes: 14 additions & 52 deletions tests/device/test_http_client/test_http_client.ino
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ void setup()

const char* fp = "40 A3 6C E3 8A DF A2 D4 13 B0 32 5C 87 44 54 28 0B CE C5 A4";

TEST_CASE("HTTP GET request", "[HTTPClient]")
TEST_CASE("HTTP GET & POST requests", "[HTTPClient]")
{
{
// small request
Expand All @@ -47,7 +47,20 @@ TEST_CASE("HTTP GET request", "[HTTPClient]")
}
}
}
{
// can do two POST requests with one HTTPClient object (#1902)
HTTPClient http;
http.begin(SERVER_IP, 8088, "/");
http.addHeader("Content-Type", "text/plain");
auto httpCode = http.POST("foo");
Serial.println(httpCode);
REQUIRE(httpCode == HTTP_CODE_OK);
http.end();

httpCode = http.POST("bar");
REQUIRE(httpCode == HTTP_CODE_OK);
http.end();
}
}


Expand Down Expand Up @@ -79,57 +92,6 @@ TEST_CASE("HTTPS GET request", "[HTTPClient]")
}

}
// TEST_CASE("HTTP GET request", "[HTTPClient]")
// {
// const int repeatCount = 10;

// String url = createBin(false);
// int heapBefore = ESP.getFreeHeap();
// for (int i = 0; i < repeatCount; ++i) {
// HTTPClient http;
// http.begin(url);
// auto httpCode = http.GET();
// REQUIRE(httpCode == HTTP_CODE_OK);
// String payload = http.getString();
// payload.replace("\n", "\\n");
// String quotedPayload;
// quotedPayload.reserve(payload.length() + 3);
// quotedPayload += "\"";
// quotedPayload += payload;
// quotedPayload += "\"";
// Serial.println("----payload:");
// Serial.println(quotedPayload);
// Serial.println("----");
// Serial.println("----test_payload:");
// Serial.println(test_payload);
// Serial.println("----");
// CHECK(quotedPayload == test_payload);
// http.end();
// delay(100);
// }
// int heapAfter = ESP.getFreeHeap();
// CHECK(heapBefore - heapAfter <= 8);
// }

// TEST_CASE("HTTPS GET request", "[HTTPClient]")
// {
// const int repeatCount = 10;

// String url = createBin(true);
// int heapBefore = ESP.getFreeHeap();
// for (int i = 0; i < repeatCount; ++i) {
// HTTPClient http;
// http.begin(url, mockbin_fingerprint);
// auto httpCode = http.GET();
// REQUIRE(httpCode == HTTP_CODE_OK);
// String payload = http.getString();
// CHECK(payload == test_payload);
// http.end();
// delay(100);
// }
// int heapAfter = ESP.getFreeHeap();
// CHECK(heapBefore - heapAfter <= 8);
// }

void loop()
{
Expand Down
Loading