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
1db0dfea43
Merge branch 'master' into pico_sdk
2026-08-11 18:21:50 +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
cb5530c864
fix: writePipe loses data on partial write > PIPE_BUF
2026-08-06 17:01:30 +03:00
andrey
27a9f05d65
fix(PIProcess): handle fork() failure (return value -1)
...
fork() can return -1 on error (too many processes, out of memory).
The old code treated pid_ == -1 as a successful fork, entering the
parent branch and calling waitpid(-1, ...) which waits for ANY
child process. Added explicit check: close pipes, free memory,
and return on fork failure.
2026-08-05 17:39:38 +03:00
andrey
b0307e8323
fix piprocess set workdir
2026-08-05 12:01:36 +03:00
peri4
8d1c97da04
PIProcess code brush
2025-09-10 15:54:55 +03:00
andrey
39266f8c3c
try 3
2025-08-13 22:20:13 +03:00
andrey
3bcb778628
try 2
2025-08-13 22:17:04 +03:00
andrey
781b430c33
revert
2025-08-13 22:15:12 +03:00
andrey
0ac7ea3096
fix linux exit finished
2025-08-13 22:12:14 +03:00
peri4
d6a0ae6106
PIProcess windows works
2025-08-13 21:36:13 +03:00
andrey
3625afa783
fix tests
2025-08-13 19:50:47 +03:00
andrey
154cbd0160
read and write pipes
2025-08-13 19:18:02 +03:00
andrey
da30ae558f
add process tests
2025-08-13 14:09:18 +03:00
andrey
30c4f215a2
remove unused includes
2025-08-13 10:32:42 +03:00
andrey
6ffbbbe636
starting pipes
2025-08-12 21:44:50 +03:00
andrey
19f8f522b3
Fix multi piprocess wait
2025-07-31 20:55:33 +03:00
andrey
905d39c07b
fix clang format and clear flag for read process out\err
2025-07-30 11:28:26 +03:00
peri4
15548de79c
version 4.5.0
...
PIThread::stopAndWait now returns bool
PIKbdListener on Linux now use piwaitevent_p and can immediately stop
new base method piZeroMemory, also migrate all "memset 0" to piZeroMemory
2024-12-29 11:48:24 +03:00
peri4
57f8c1313e
first release of translation facility
...
* runtime - loading and translating
* design-time - works with *.ts file (pip_tr utility)
* compile-time - CMake macro for compile *.ts
2024-11-05 13:49:00 +03:00
peri4
1c7fc39b6c
version 4.0.0_alpha
...
in almost all methods removed timeouts in milliseconds, replaced to PISystemTime
PITimer rewrite, remove internal impl, now only thread implementation, API similar to PIThread
PITimer API no longer pass void*
PIPeer, PIConnection improved stability on reinit and exit
PISystemTime new methods
pisd now exit without hanging
2024-07-30 14:18:02 +03:00
peri4
3ab57eea88
PIProcess exit code for Windows
2023-04-25 17:15:00 +03:00
peri4
c2b8a8d6da
code format
2022-12-14 14:13:52 +03:00
peri4
0b3ee4bb6a
doc ru
2022-05-05 22:31:59 +03:00
andrey
a6cea11911
PIString ICU
2022-04-25 22:54:46 +03:00
andrey
41fb7cc40d
linux fix
2022-04-25 21:32:35 +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
0c54709414
doc ru
2022-04-23 11:27:07 +03:00
Andrey
a7df53fbfe
platformio_pre.py
2022-01-14 18:15:56 +03:00
peri4
a2a205cfd2
version 2.33.0
...
piMinSleep() method
2021-11-16 14:43:57 +03:00
Andrey
6e5a5a6ade
remove msleep, clean PIConditionVariable, rewrite pipipelinethread, etc...
2021-10-29 16:52:03 +03:00
peri4
ccd6a9888f
tree changes
2020-08-19 00:47:05 +03:00