File tree 4 files changed +38
-1
lines changed
4 files changed +38
-1
lines changed 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 316
316
317
317
/* board-specific */
318
318
#if defined(__AVR__ )
319
+ #define WOLFSSL_USER_IO
319
320
#define WOLFSSL_NO_SOCK
320
321
#define NO_WRITEV
321
322
#elif defined(__arm__ )
You can’t perform that action at this time.
0 commit comments