What is the purpose of these flags build_flags = -DVL53L1X_TINY -DCONFIG_LED_PIN=1 -DCONFIG_DATA_PIN=4

These are flags from the github project, I asked Google, but he doesn’t know anything about it. Where can I read more about this?

See build_flags.

if possible, please show me where I can read about these flags, exactly about these. I read everything that was sent, but either I didn’t find it or it’s not there.

The documentation shows you exactly what it means when build_flags = -DSOME_NAME=someValue is used.

This in turn ties in with the GCC documentation, 3.13 Options controlling the preprocessor.

How the macros are used within the code is a different story. All the build_flags expression does is globally define the macro VL53L1X_TINY, CONFIG_LED_PIN with value 1 and CONFIG_DATA_PIN with value 4 with respect to the C/C++ pre-processor. That means that code that does

void some_func() {
   Serial.print("Data pin: ");
   Serial.println(CONFIG_DATA_PIN);
   Serial.print("LED pin: ");
   Serial.println(CONFIG_LED_PIN);
#ifdef VL53L1X_TINY
   some_code();
#else
   some_other_code();
#endif
}

will, after running through the preprocessor, be equivalent to

void some_func() {
   Serial.print("Data pin: ");
   Serial.println(4);
   Serial.print("LED pin: ");
   Serial.println(1);
   some_code();
}

after all the substitutions and #ifdef checks etc have been done.

Since you haven’t provided the code / project in which these macros are used, we can impossibly tell you how it affects the project, just that it defines these macros to the values you’ve shown.

thank you so much for the explanations, now everything is clear. The fact is that in the original project, the macro is used only in platformio.ini and nowhere else, and that’s what misled me. I thought it was some kind of instruction and tried to find its description, but it turns out to be an analog of define (if very approximately).