File tree 5 files changed +62
-2
lines changed
5 files changed +62
-2
lines changed Original file line number Diff line number Diff line change @@ -16,10 +16,16 @@ ARDUINO_ARCH_NRF52
16
16
ARDUINO_ARCH_RP2040
17
17
ARDUINO_ARCH_SAMD
18
18
ARDUINO_ARCH_STM32
19
+ ARDUINO_ESP32_DEV
20
+ ARDUINO_ESP8266_ESP01
21
+ ARDUINO_NANO_RP2040_CONNECT
22
+ ARDUINO_SAMD_MKRWIFI1010
19
23
ARDUINO_SAMD_NANO_33_IOT
20
24
ARDUINO_SAM_DUE
21
25
ARDUINO_SEEED_XIAO
26
+ ARDUINO_TEENSY40
22
27
ARDUINO_TEENSY41
28
+ ARDUINO_UNOWIFIR4
23
29
ASN_DUMP_OID
24
30
ASN_TEMPLATE_SKIP_ISCA_CHECK
25
31
ATCAPRINTF
Original file line number Diff line number Diff line change 25
25
/* Function to allow wolfcrypt to use Arduino Serial.print for debug messages.
26
26
* See wolfssl/wolfcrypt/logging.c */
27
27
28
+ #if defined(__AVR__)
29
+ #include < avr/pgmspace.h> /* Required for PROGMEM handling on AVR */
30
+ #endif
31
+
28
32
int wolfSSL_Arduino_Serial_Print (const char * const s)
29
33
{
30
34
/* Reminder: Serial.print is only available in C++ */
31
- Serial.println (F (s));
35
+ int is_progmem = 0 ;
36
+
37
+ #if defined(__AVR__)
38
+ const char * t;
39
+ t = s;
40
+
41
+ /* Safely check if `s` is in PROGMEM, 0x8000 is typical for AVR flash */
42
+ if (reinterpret_cast <uint16_t >(t) >= 0x8000 ) {
43
+ while (pgm_read_byte (t)) {
44
+ Serial.write (pgm_read_byte (t++));
45
+ }
46
+ Serial.println ();
47
+ is_progmem = 1 ;
48
+ }
49
+ #endif
50
+
51
+ /* Print normally for non-AVR boards or RAM-stored strings */
52
+ if (!is_progmem) {
53
+ Serial.println (s);
54
+ }
55
+
32
56
return 0 ;
33
57
};
Original file line number Diff line number Diff line change @@ -262,6 +262,11 @@ if [ "$THIS_DIR" = "ARDUINO" ]; then
262
262
# Copy examples
263
263
mkdir -p " .${ROOT_SRC_DIR} " /examples
264
264
265
+ EXAMPLES_DIR_REAL_PATH=$( realpath " .${EXAMPLES_DIR} " )
266
+ echo " Source WOLFSSL_EXAMPLES_ROOT=$WOLFSSL_EXAMPLES_ROOT "
267
+ echo " Destination EXAMPLES_DIR=.${EXAMPLES_DIR} "
268
+ echo " EXAMPLES_DIR_REAL_PATH=${EXAMPLES_DIR_REAL_PATH} "
269
+
265
270
if [ -n " $WOLFSSL_EXAMPLES_ROOT " ]; then
266
271
echo " Copy template example...."
267
272
mkdir -p " .${EXAMPLES_DIR} " /template/wolfssl_library/src
@@ -294,6 +299,9 @@ if [ "$THIS_DIR" = "ARDUINO" ]; then
294
299
else
295
300
NO_ARDUINO_EXAMPLES=1
296
301
fi
302
+ echo " Examples copied to .${EXAMPLES_DIR} "
303
+ echo " ls ${EXAMPLES_DIR_REAL_PATH} "
304
+ ls " ${EXAMPLES_DIR_REAL_PATH} "
297
305
else
298
306
echo " ERROR: You must be in the IDE/ARDUINO directory to run this script"
299
307
exit 1
Original file line number Diff line number Diff line change 92
92
#elif defined(WOLFSSL_SERVER_EXAMPLE )
93
93
#define NO_WOLFSSL_CLIENT
94
94
#elif defined(WOLFSSL_TEMPLATE_EXAMPLE )
95
+ #define NO_TLS
96
+ #define WOLFCRYPT_ONLY
95
97
#define NO_WOLFSSL_SERVER
96
98
#define NO_WOLFSSL_CLIENT
97
99
#elif defined(WOLFSSL_AES_CTR_EXAMPLE )
100
+ #define NO_TLS
101
+ #define WOLFCRYPT_ONLY
98
102
#define NO_WOLFSSL_SERVER
99
103
#define NO_WOLFSSL_CLIENT
100
104
#define WOLFSSL_AES
Original file line number Diff line number Diff line change 314
314
#define WOLFSSL_USER_SETTINGS
315
315
#endif /* WOLFSSL_USER_SETTINGS */
316
316
317
- /* board-specific */
317
+ /* Board-specific network capability check */
318
+ #if defined(ARDUINO_SAMD_MKRWIFI1010 ) || \
319
+ defined(ARDUINO_SAMD_NANO_33_IOT ) || \
320
+ defined(ARDUINO_NANO_RP2040_CONNECT ) || \
321
+ defined(ARDUINO_UNOWIFIR4 ) || \
322
+ defined(ARDUINO_ESP32_DEV ) || \
323
+ defined(ARDUINO_ESP8266_ESP01 ) || \
324
+ defined(ARDUINO_TEENSY40 ) || \
325
+ defined(ARDUINO_TEENSY41 ) || \
326
+ defined(ESP32 ) || defined(ESP8266 )
327
+ /* Known to have networking available. */
328
+ #else
329
+ #define NO_WOLFSSL_CLIENT
330
+ #define NO_WOLFSSL_SERVER
331
+ #define WOLFCRYPT_ONLY
332
+ #define NO_TLS
333
+ #endif
334
+
318
335
#if defined(__AVR__ )
336
+ #define WOLFSSL_USER_IO
319
337
#define WOLFSSL_NO_SOCK
320
338
#define NO_WRITEV
321
339
#elif defined(__arm__ )
You can’t perform that action at this time.
0 commit comments