mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-12 01:53:07 +03:00
Sketch emulation on host (#5342)
* WIP compile examples on host with 'make examples' * WIP bufferize tcp input * WIP Makefile * WIP network to rework, tcp/udp to factorize, udp addresses broken * minor changes to the core * WIP basic udp working * WIP mdns * WIP mcast receiving, not sending * WIP mdns OK * beta version * SSL + doc * update travis host test command * licenses * typo * doc: arduino builder is not around: declare functions before calling them * fix with latest SSL PR, compile in 32 bits mode * fix make clean * make -m32 optional * 32bits compiler ability tester * WIP * WIP (fix 1 vtable error, still another one to hunt with using spiffs) * example astyle * fix os_printf_plus * load / save mock spiffs * fix style * fix using spiffs/mock * don't mess ram * update doc * remove leftover * optimization -Os except for CI, rename ARCH32 to FORCE32 * revert useless cast (not even compiled) * remove unused function * use proper type for pointer arithmetics * makefile: sketch object and cpp file moved to bin/ directories easier to clean, and IDE don't like them * changes for review * make use of %zd * less verbose makefile by default (option) * update readme
This commit is contained in:
@ -40,10 +40,12 @@ extern "C" {
|
||||
#include "lwip/tcp.h"
|
||||
#include "lwip/inet.h"
|
||||
#include "lwip/netif.h"
|
||||
#include "include/ClientContext.h"
|
||||
#include <include/ClientContext.h>
|
||||
#include "c_types.h"
|
||||
#include "coredecls.h"
|
||||
|
||||
#if !CORE_MOCK
|
||||
|
||||
// The BearSSL thunks in use for now
|
||||
#define br_ssl_engine_recvapp_ack thunk_br_ssl_engine_recvapp_ack
|
||||
#define br_ssl_engine_recvapp_buf thunk_br_ssl_engine_recvapp_buf
|
||||
@ -54,6 +56,8 @@ extern "C" {
|
||||
#define br_ssl_engine_sendrec_ack thunk_br_ssl_engine_sendrec_ack
|
||||
#define br_ssl_engine_sendrec_buf thunk_br_ssl_engine_sendrec_buf
|
||||
|
||||
#endif
|
||||
|
||||
namespace BearSSL {
|
||||
|
||||
void WiFiClientSecure::_clear() {
|
||||
@ -1377,6 +1381,21 @@ bool WiFiClientSecure::loadPrivateKey(Stream& stream, size_t size) {
|
||||
// SSL debugging which should focus on the WiFiClientBearSSL objects.
|
||||
|
||||
extern "C" {
|
||||
|
||||
#if CORE_MOCK
|
||||
|
||||
void br_esp8266_stack_proxy_init(uint8_t *space, uint16_t size) {
|
||||
(void)space;
|
||||
(void)size;
|
||||
}
|
||||
void _BearSSLCheckStack(const char *fcn, const char *file, int line) {
|
||||
(void)fcn;
|
||||
(void)file;
|
||||
(void)line;
|
||||
}
|
||||
|
||||
#else // !CORE_MOCK
|
||||
|
||||
extern size_t br_esp8266_stack_proxy_usage();
|
||||
|
||||
void _BearSSLCheckStack(const char *fcn, const char *file, int line) {
|
||||
@ -1386,7 +1405,7 @@ extern "C" {
|
||||
int freeheap = ESP.getFreeHeap();
|
||||
static int laststack, lastheap, laststack2;
|
||||
if ((laststack != freestack) || (lastheap != freeheap) || (laststack2 != (int)br_esp8266_stack_proxy_usage())) {
|
||||
Serial.printf("%s:%s(%d): FREESTACK=%d, STACK2USAGE=%d, FREEHEAP=%d\n", file, fcn, line, freestack, br_esp8266_stack_proxy_usage(), freeheap);
|
||||
Serial.printf("%s:%s(%d): FREESTACK=%d, STACK2USAGE=%zd, FREEHEAP=%d\n", file, fcn, line, freestack, br_esp8266_stack_proxy_usage(), freeheap);
|
||||
if (freestack < 256) {
|
||||
Serial.printf("!!! Out of main stack space\n");
|
||||
}
|
||||
@ -1405,6 +1424,8 @@ extern "C" {
|
||||
}
|
||||
}
|
||||
|
||||
#endif // !CORE_MOCK
|
||||
|
||||
void _BearSSLSerialPrint(const char *str) {
|
||||
static int cnt = 0;
|
||||
Serial.printf("%s", str);
|
||||
|
Reference in New Issue
Block a user