Skip to content
This repository was archived by the owner on Jan 29, 2023. It is now read-only.

Commit bc6410f

Browse files
authored
v1.1.0 to fix multiple-definitions linker error
### Releases v1.1.0 1. Fix `multiple-definitions` linker error. Check [Different behaviour using the src_cpp or src_h lib #80](khoih-prog/ESPAsync_WiFiManager#80) 2. Update all examples
1 parent f8262e4 commit bc6410f

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed

src/LittleFS_Mbed_RP2040_Debug.h

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
/****************************************************************************************************************************
2+
LittleFS_Mbed_RP2040_Debug.h - Filesystem wrapper for LittleFS on the Mbed RP2040
3+
4+
For MBED RP2040-based boards such as Nano_RP2040_Connect, RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040.
5+
Written by Khoi Hoang
6+
7+
Built by Khoi Hoang https://github.com/khoih-prog/LittleFS_Mbed_RP2040
8+
Licensed under MIT license
9+
10+
Version: 1.1.0
11+
12+
Version Modified By Date Comments
13+
------- ----------- ---------- -----------
14+
1.0.0 K Hoang 11/06/2021 Initial coding to support MBED RP2040-based boards such as RASPBERRY_PI_PICO. etc.
15+
1.0.1 K Hoang 16/08/2021 Fix FORCE_REFORMAT bug in example
16+
1.0.2 K Hoang 07/09/2021 Add mbed and ArduinoCore-mbed to architectures
17+
1.0.3 K Hoang 02/11/2021 Fix crashing issue for new flash
18+
1.1.0 K Hoang 30/12/2021 Fix `multiple-definitions` linker error
19+
*****************************************************************************************************************************/
20+
21+
#ifndef LittleFS_Mbed_RP2040_Debug_h
22+
#define LittleFS_Mbed_RP2040_Debug_h
23+
24+
#ifdef LFS_DEBUG_OUTPUT
25+
#define DBG_PORT_LFS LFS_DEBUG_OUTPUT
26+
#else
27+
#define DBG_PORT_LFS Serial
28+
#endif
29+
30+
// Change _LFS_LOGLEVEL_ to set tracing and logging verbosity
31+
// 0: DISABLED: no logging
32+
// 1: ERROR: errors
33+
// 2: WARN: errors and warnings
34+
// 3: INFO: errors, warnings and informational (default)
35+
// 4: DEBUG: errors, warnings, informational and debug
36+
37+
#ifndef _LFS_LOGLEVEL_
38+
#define _LFS_LOGLEVEL_ 0
39+
#endif
40+
41+
//////////////////////////////////////////
42+
43+
const char LFS_MARK[] = "[LFS] ";
44+
45+
#define LFS_PRINT_MARK DBG_PORT_LFS.print(LFS_MARK)
46+
47+
#define LFS_PRINT DBG_PORT_LFS.print
48+
#define LFS_PRINTLN DBG_PORT_LFS.println
49+
50+
51+
//////////////////////////////////////////
52+
53+
#define LFS_LOGERROR0(x) if(_LFS_LOGLEVEL_>0) { LFS_PRINT(x); }
54+
#define LFS_LOGERROR(x) if(_LFS_LOGLEVEL_>0) { LFS_PRINT_MARK; LFS_PRINTLN(x); }
55+
#define LFS_LOGERROR1(x,y) if(_LFS_LOGLEVEL_>0) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINTLN(y); }
56+
#define LFS_LOGERROR2(x,y,z) if(_LFS_LOGLEVEL_>0) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINT(y); LFS_PRINTLN(z); }
57+
#define LFS_LOGERROR3(x,y,z,w) if(_LFS_LOGLEVEL_>0) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINT(y); LFS_PRINT(z); LFS_PRINTLN(w); }
58+
#define LFS_LOGERROR5(x,y,z,w,xx,yy) if(_LFS_LOGLEVEL_>0) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINT(y); LFS_PRINT(z); LFS_PRINT(w); LFS_PRINT(xx); LFS_PRINTLN(yy); }
59+
60+
//////////////////////////////////////////
61+
62+
#define LFS_LOGWARN0(x) if(_LFS_LOGLEVEL_>1) { LFS_PRINT(x); }
63+
#define LFS_LOGWARN(x) if(_LFS_LOGLEVEL_>1) { LFS_PRINT_MARK; LFS_PRINTLN(x); }
64+
#define LFS_LOGWARN1(x,y) if(_LFS_LOGLEVEL_>1) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINTLN(y); }
65+
#define LFS_LOGWARN2(x,y,z) if(_LFS_LOGLEVEL_>1) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINT(y); LFS_PRINTLN(z); }
66+
#define LFS_LOGWARN3(x,y,z,w) if(_LFS_LOGLEVEL_>1) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINT(y); LFS_PRINT(z); LFS_PRINTLN(w); }
67+
#define LFS_LOGWARN5(x,y,z,w,xx,yy) if(_LFS_LOGLEVEL_>1) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINT(y); LFS_PRINT(z); LFS_PRINT(w); LFS_PRINT(xx); LFS_PRINTLN(yy); }
68+
69+
//////////////////////////////////////////
70+
71+
#define LFS_LOGINFO0(x) if(_LFS_LOGLEVEL_>2) { LFS_PRINT(x); }
72+
#define LFS_LOGINFO(x) if(_LFS_LOGLEVEL_>2) { LFS_PRINT_MARK; LFS_PRINTLN(x); }
73+
#define LFS_LOGINFO1(x,y) if(_LFS_LOGLEVEL_>2) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINTLN(y); }
74+
#define LFS_LOGINFO2(x,y,z) if(_LFS_LOGLEVEL_>3) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINT(y); LFS_PRINTLN(z); }
75+
#define LFS_LOGINFO3(x,y,z,w) if(_LFS_LOGLEVEL_>3) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINT(y); LFS_PRINT(z); LFS_PRINTLN(w); }
76+
#define LFS_LOGINFO5(x,y,z,w,xx,yy) if(_LFS_LOGLEVEL_>2) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINT(y); LFS_PRINT(z); LFS_PRINT(w); LFS_PRINT(xx); LFS_PRINTLN(yy); }
77+
78+
//////////////////////////////////////////
79+
80+
#define LFS_LOGDEBUG0(x) if(_LFS_LOGLEVEL_>3) { LFS_PRINT(x); }
81+
#define LFS_LOGDEBUG(x) if(_LFS_LOGLEVEL_>3) { LFS_PRINT_MARK; LFS_PRINTLN(x); }
82+
#define LFS_LOGDEBUG1(x,y) if(_LFS_LOGLEVEL_>3) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINTLN(y); }
83+
#define LFS_LOGDEBUG2(x,y,z) if(_LFS_LOGLEVEL_>3) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINT(y); LFS_PRINTLN(z); }
84+
#define LFS_LOGDEBUG3(x,y,z,w) if(_LFS_LOGLEVEL_>3) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINT(y); LFS_PRINT(z); LFS_PRINTLN(w); }
85+
#define LFS_LOGDEBUG5(x,y,z,w,xx,yy) if(_LFS_LOGLEVEL_>3) { LFS_PRINT_MARK; LFS_PRINT(x); LFS_PRINT(y); LFS_PRINT(z); LFS_PRINT(w); LFS_PRINT(xx); LFS_PRINTLN(yy); }
86+
87+
//////////////////////////////////////////
88+
89+
#endif //LittleFS_Mbed_RP2040_Debug_h

0 commit comments

Comments
 (0)