Commit Graph
31 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
peri4 f334a6603f adopt for new MinGW 2025-01-06 12:55:44 +03:00
peri4 65d3168eb5 PICout::withExternalBufferAnd decomposed to PICout::withExternalBufferAndID and PICout::withExternalBufferAnd
PIString::toPercentageEncoding/fromPercentageEncoding
piStringify()
PIHTTPClient support arguments
some doc
2024-11-26 18:26:02 +03:00
peri4 f5270d75eb multi-utf16 fix 2024-11-21 16:28:19 +03:00
peri4 cd7e053fc5 version 4.2.0
move toStdFunction() to pibase.h
refactor PIParseHelper, now it much more abstract and useful
fix PIIODevice::createFromFullPath() when whitespaces at start or end are presence
PIStreamPacker add events for start and end packet receive
PIClientServer::ClientBase add virtual methods for start and end packet receive. also one can enable diagnostics with enableDiagnostics() method
PICout now call flush() on each end of output
add PIString::entries(const PIString & str)
2024-10-15 12:02:18 +03:00
peri4 000ce2a54d PICout improvement:
* renamed private members for more clear code
 * registerExternalBufferID() method to obtain unique ID for withExternalBuffer()
 * PICoutManipulators::PICoutStdStream enum for select stream (stdout or stderr)
 * Constructors now accept optional stream
 * piCerr and piCerrObj macros

PIDir::temporary() moved to "mkdtemp"

PILog:
 * now 4 levels
 * you can set max level
 * Error writes to piCerr
2024-09-16 16:06:07 +03:00
peri4 c2b8a8d6da code format 2022-12-14 14:13:52 +03:00
peri4 499ee386a7 PIString::toFloat/Double/LDouble own fast implementation (. and , equivalent)
PICout ldouble support
PIEthernet small optimization
2022-09-17 17:53:58 +03:00
Бычков Андрей 60f4db61eb Merge branch 'master' of https://git.shs.tools/SHS/pip 2022-08-08 17:14:21 +03:00
Бычков Андрей 724a2dffcf picout and clean 2022-08-08 16:44:37 +03:00
peri4 8551499a5e PICout refactoring, new SHSTKMacros 2022-08-07 22:07:26 +03:00
peri4 bd98583116 PIString delete operator += int
PICout fix
2022-07-29 20:09:40 +03:00
Бычков Андрей ddba8f401b PICout fix 2022-07-29 18:16:42 +03:00
peri4 a4882dc054 complex macros with ; 2022-07-25 11:18:09 +03:00
peri4 1b04d7ecce version 2.93 ready to master
remove PIString << operators
2022-06-24 12:10:57 +03:00
peri4 0b3ee4bb6a doc ru 2022-05-05 22:31:59 +03:00
peri4 d1f7065c8a PICout::writePIString -> PICout::write 2022-05-05 10:35:15 +03:00
peri4 6881fd13b7 PIConstChars 2022-04-29 23:53:07 +03:00
peri4 c1c47b4869 locale changes, piscreen 2022-04-27 12:41:38 +03:00
peri4 2f4e73ef13 console encoding patch 2022-04-26 22:49:31 +03:00
Andrey 765ef7368e PIString replace pibytearray by char * 2022-04-25 11:42:58 +03:00
peri4 fcd871c0fc doc 2022-04-23 12:32:17 +03:00
peri4 6485d81025 piobject metasystem memory and performance optimization 2022-04-22 15:35:25 +03:00
peri4 c7e67b309e picout fix 2022-04-13 22:46:53 +03:00
Andrey 2ab2614ab4 PICout optimization 2022-04-13 17:59:24 +03:00
peri4 7a26ae7292 doc ru 2022-03-17 18:13:02 +03:00
peri4 cc4e1f48aa doc ru 2022-03-17 00:57:15 +03:00
peri4 cbdaabee4a some build fixes 2022-01-07 01:58:38 +03:00
andrey 25def958a1 rename doc macros 2021-08-04 16:31:32 +03:00
peri4 ccd6a9888f tree changes 2020-08-19 00:47:05 +03:00