Commit Graph
25 Commits
Author SHA1 Message Date
andrey 077ac9887b refactor: rename PIP_NO_\* to PIP_HAS_\* with inverted logic
All feature flags now use positive naming (enabled by default):
- PIP_HAS_FILESYSTEM, PIP_HAS_THREADS, PIP_HAS_SOCKET
- PIP_HAS_PROCESS, PIP_HAS_DYNLIB, PIP_HAS_FFT, PIP_HAS_SERIAL

Preprocessor guards inverted:
- #ifndef PIP_NO_X → #ifdef PIP_HAS_X
- #ifdef PIP_NO_X → #ifndef PIP_HAS_X

CMake options default ON instead of OFF.
Platform blocks set flags OFF to disable features.

85 files transformed via Python script + 2 manual fixes.
2026-08-11 19:51:42 +03:00
andrey 4d8b743075 refactor: migrate MICRO_PIP to fine-grained feature flags
Replace monolithic MICRO_PIP/PIP_MICRO with granular flags:

Feature flags (CMake options + platform auto-detection):
- PIP_NO_FILESYSTEM, PIP_NO_THREADS, PIP_NO_SOCKET
- PIP_NO_PROCESS, PIP_NO_DYNLIB, PIP_NO_FFT, PIP_NO_SERIAL

Embedded optimization flag:
- PIP_EMBEDDED (auto-set for Pico SDK and FreeRTOS)
  Controls buffer sizes, time stubs, terminal fallback, init stubs

Platform blocks in CMakeLists.txt:
- Pico SDK: auto-disables FS, PROCESS, DYNLIB, FFT, SERIAL;
  conditionally disables THREADS (no FreeRTOS) and SOCKET (no LWIP)
- FreeRTOS: auto-disables FS, PROCESS, DYNLIB, FFT, SERIAL;
  conditionally disables SOCKET (no LWIP)
- Android: auto-disables PROCESS, DYNLIB, FFT

Updated 96 files across libs/, utils/, tests/, and CMakeLists.txt.
Builds verified for Linux (547 tests pass) and Pico SDK (100%).
Removed all MICRO_PIP and PIP_MICRO references (0 remaining).
2026-08-11 14:34:59 +03:00
andrey 533f9cc640 parse only public inherited classes 2026-05-27 16:37:04 +03:00
peri4 7083b2c32b finish codeparser improvements
pip_cmg now works with new nested entities approach
Getters now can access to bitfields
2025-09-18 05:54:31 +03:00
peri4 af02684dc5 adopt PICodeParser for C-style typedefs and some other 2025-09-17 19:42:00 +03:00
peri4 a2c24c9f07 version 4.8.0
fix PICodeParser: complex static array dimensions, member template types for multideclaration
PIJSON::serialize and PIJSON::deserialize helpers
2025-08-02 22:14:49 +03:00
peri4 caa7880cc4 get rid of piForeach
apply some code analyzer recommendations
ICU flag now check if libicu exists
prepare for more accurate growth of containers (limited PoT, then constantly increase size)
2024-11-20 20:01:47 +03:00
peri4 2247473959 PICodeParser namespace fix 2024-11-07 15:43:13 +03:00
peri4 9f1d23ad8e version 4.3.1
PICodeParser now works with multi-line macros
2024-10-23 19:11:46 +03:00
peri4 7297b9aee0 PICodeParser::parseFileContent 2024-01-25 23:58:50 +03:00
peri4 ac76e07d9d version 3.13.2 2023-07-14 22:14:02 +03:00
peri4 7badc531ce support PICodeParser "enum class" 2023-04-06 21:11:01 +03:00
peri4 c2b8a8d6da code format 2022-12-14 14:13:52 +03:00
peri4 2163deb7ea PICodeParser entities visibility, check pip_cmg stream operators for public and global visibility 2022-11-01 14:54:53 +03:00
peri4 1b04d7ecce version 2.93 ready to master
remove PIString << operators
2022-06-24 12:10:57 +03:00
peri4 b66272a68a version 2.92
pip_cmg
2022-06-09 17:59:04 +03:00
peri4 cc4e1f48aa doc ru 2022-03-17 00:57:15 +03:00
peri4 3b0a1c70fe documentation fix 2021-09-03 17:12:46 +03:00
peri4 305275e3ac PICodeParser namespaces fix 2021-09-03 11:39:26 +03:00
peri4 efb0d5f4f9 PICodeParser predefined PIP macros 2021-09-03 11:20:38 +03:00
peri4 4236ca87b1 pip_cmg new feature - struct or class PIMETA(no-stream) 2021-07-26 14:59:37 +03:00
peri4 8526ad1c30 PICodeParser now recognize non-direct PIMETA 2021-05-02 14:02:18 +03:00
peri4 438b4a6bce PICodeParser optimizations and improvements with PIMETA() 2021-04-29 17:17:27 +03:00
peri4 7a2a9ee7d0 picrypt.cpp no-sodium fix
picodeparser now recognize assignment in declaration
2021-04-12 23:17:13 +03:00
peri4 ccd6a9888f tree changes 2020-08-19 00:47:05 +03:00