Hi pert,
where is the button to add New Tab like the old one's down arrow?
I'm using add file to do it now, not so convenient。
Thanks
Adam
Split from an unrelated topic
To manage tabs in IDE 2 click on the ellipsis (the 3 horizontal dots) top/right of the window to open a menu of options

Thanks.
I don't know what's wrong, my ellipsis was overlap by the Serial monitor button.
THIS OK NOW after restart.

another thing is the 'find' function just work for one file, and disappear when open another one? I was planned to post suggestion to let the find go through all files......
That is not a phrase that you hear every day ![]()
You used the past tense (was). Is the display OK now ?
Thanks.
Hi @shanren
There are two search interfaces in Arduino IDE 2.x, each with its own scope:
- Per-file
- Sketch
The sketch scoped search is accessed by clicking the magnifying glass icon on the "Activity Bar" at the left side of the Arduino IDE window:

Great!
Thank you.
You are welcome. I'm glad if I was able to be of assistance.
Regards,
Per
It is a lot of help.
Best to you.
And since mentioned IDE, I'd like to ask something more:
- about the serial monitor, can it be stopped during the transmission? I just need to pull off USB cable to do some data checking.
- seems the tool/port doesn't get available port automatically like was in previous version?
There are a few buttons / icons at the right above the serial monitor window. On of them is to pause / resume the scrolling; I'm not behind a PC at this moment to show.
better keep in this topic:
the TFT_eSPI example: TFT_Clock.INO uploaded to TTGOS3 by IDE1.8.19 works well without output any thing;
same code uploaded by IDE 2.1.0 doesn't work and Serial monitor any thing, why?
/*
An example analogue clock using a TFT LCD screen to show the time
use of some of the drawing commands with the ST7735 library.
For a more accurate clock, it would be better to use the RTClib library.
But this is just a demo.
Uses compile time to set the time so a reset will start with the compile time again
Gilchrist 6/2/2014 1.0
Updated by Bodmer
*/
#include <TFT_eSPI.h> // Graphics and font library for ST7735 driver chip
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI(); // Invoke library, pins defined in User_Setup.h
#define TFT_GREY 0xBDF7
float sx = 0, sy = 1, mx = 1, my = 0, hx = -1, hy = 0; // Saved H, M, S x & y multipliers
float sdeg=0, mdeg=0, hdeg=0;
uint16_t osx=64, osy=64, omx=64, omy=64, ohx=64, ohy=64; // Saved H, M, S x & y coords
uint16_t x0=0, x1=0, yy0=0, yy1=0;
uint32_t targetTime = 0; // for next 1 second timeout
static uint8_t conv2d(const char* p) {
uint8_t v = 0;
if ('0' <= *p && *p <= '9')
v = *p - '0';
return 10 * v + *++p - '0';
}
uint8_t hh=conv2d(__TIME__), mm=conv2d(__TIME__+3), ss=conv2d(__TIME__+6); // Get H, M, S from compile time
bool initial = 1;
void setup(void) {
tft.init();
tft.setRotation(0);
tft.fillScreen(TFT_GREY);
tft.setTextColor(TFT_GREEN, TFT_GREY); // Adding a black background colour erases previous text automatically
// Draw clock face
tft.fillCircle(64, 64, 61, TFT_BLUE);
tft.fillCircle(64, 64, 57, TFT_BLACK);
// Draw 12 lines
for(int i = 0; i<360; i+= 30) {
sx = cos((i-90)*0.0174532925);
sy = sin((i-90)*0.0174532925);
x0 = sx*57+64;
yy0 = sy*57+64;
x1 = sx*50+64;
yy1 = sy*50+64;
tft.drawLine(x0, yy0, x1, yy1, TFT_BLUE);
}
// Draw 60 dots
for(int i = 0; i<360; i+= 6) {
sx = cos((i-90)*0.0174532925);
sy = sin((i-90)*0.0174532925);
x0 = sx*53+64;
yy0 = sy*53+64;
tft.drawPixel(x0, yy0, TFT_BLUE);
if(i==0 || i==180) tft.fillCircle(x0, yy0, 1, TFT_CYAN);
if(i==0 || i==180) tft.fillCircle(x0+1, yy0, 1, TFT_CYAN);
if(i==90 || i==270) tft.fillCircle(x0, yy0, 1, TFT_CYAN);
if(i==90 || i==270) tft.fillCircle(x0+1, yy0, 1, TFT_CYAN);
}
tft.fillCircle(65, 65, 3, TFT_RED);
// Draw text at position 64,125 using fonts 4
// Only font numbers 2,4,6,7 are valid. Font 6 only contains characters [space] 0 1 2 3 4 5 6 7 8 9 : . a p m
// Font 7 is a 7 segment font and only contains characters [space] 0 1 2 3 4 5 6 7 8 9 : .
tft.drawCentreString("Time flies",64,130,4);
targetTime = millis() + 1000;
}
void loop() {
if (targetTime < millis()) {
targetTime = millis()+1000;
ss++; // Advance second
if (ss==60) {
ss=0;
mm++; // Advance minute
if(mm>59) {
mm=0;
hh++; // Advance hour
if (hh>23) {
hh=0;
}
}
}
// Pre-compute hand degrees, x & y coords for a fast screen update
sdeg = ss*6; // 0-59 -> 0-354
mdeg = mm*6+sdeg*0.01666667; // 0-59 -> 0-360 - includes seconds
hdeg = hh*30+mdeg*0.0833333; // 0-11 -> 0-360 - includes minutes and seconds
hx = cos((hdeg-90)*0.0174532925);
hy = sin((hdeg-90)*0.0174532925);
mx = cos((mdeg-90)*0.0174532925);
my = sin((mdeg-90)*0.0174532925);
sx = cos((sdeg-90)*0.0174532925);
sy = sin((sdeg-90)*0.0174532925);
if (ss==0 || initial) {
initial = 0;
// Erase hour and minute hand positions every minute
tft.drawLine(ohx, ohy, 65, 65, TFT_BLACK);
ohx = hx*33+65;
ohy = hy*33+65;
tft.drawLine(omx, omy, 65, 65, TFT_BLACK);
omx = mx*44+65;
omy = my*44+65;
}
// Redraw new hand positions, hour and minute hands not erased here to avoid flicker
tft.drawLine(osx, osy, 65, 65, TFT_BLACK);
tft.drawLine(ohx, ohy, 65, 65, TFT_WHITE);
tft.drawLine(omx, omy, 65, 65, TFT_WHITE);
osx = sx*47+65;
osy = sy*47+65;
tft.drawLine(osx, osy, 65, 65, TFT_RED);
tft.fillCircle(65, 65, 3, TFT_RED);
}
}
Serial monitor by IDE2.1.0:
c9700,len:0xbe4
lESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x15 (USB_UART_CHIP_RESET),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x40048820
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbe4
load:0x403cc700,len:0x2a38
entry 0x403c98d4
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x3 (RTC_SW_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x403cd9f6
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbe4
load:0x403cc700,len:0x2a38
entry 0x403c98d4
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x3 (RTC_SW_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x403cd9f6
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbe4
load:0x403cc700,len:0x2a38
......................
complement:
I have a multi-sub sketch (not easy to post it), compiling passed by IDE2.1, compiling failed by IDE1.8.19, and got errors, selected partition Scheme: 16M Flash :
Arduino: 1.8.19 (Windows 10), Board: "ESP32 Dev Module, Disabled, Disabled, 16M Flash (2MB APP/12.5MB FATFS), 240MHz (WiFi/BT), DIO, 80MHz, 4MB (32Mb), 921600, Core 0, Core 0, None, Disabled"
c:/users/xz/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/esp-2021r2-patch5-8.4.0/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\xz\AppData\Local\Temp\arduino_build_99685/Arduino_oscilloscope_8file_V106_S3_M1.ino.elf section `.dram0.bss' will not fit in region `dram0_0_seg'
c:/users/xz/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/esp-2021r2-patch5-8.4.0/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: DRAM segment data does not fit.
c:/users/xz/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/esp-2021r2-patch5-8.4.0/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: DRAM segment data does not fit.
c:/users/xz/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/esp-2021r2-patch5-8.4.0/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: region `dram0_0_seg' overflowed by 4384 bytes
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compiling for board ESP32 Dev Module.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
The same sketch as mentioned above need library i2s.h, what I did see the pictures below, what's wrong with it?
compiling error:
search i2s.h:
added library:
added failed:

what's wrong?
Thanks
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.


