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
87c53d45a4
Merge branch 'master' into pico_sdk
2026-08-11 09:56:27 +03:00
andrey
1a153eefbc
fix(PISystemInfo): correct guard for df output parsing
...
The guard ml.size_s() < 2 allowed size==2, but ml[2] was then
accessed — OOB read on truncated or unusual df output lines.
2026-08-06 17:01:30 +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
andrey
4e7a5d58aa
Merge branch 'master' into pico_sdk
2026-03-29 12:28:36 +03:00
andrey
15f90d9e17
Try MICRO_PIP fixes via opencode
2026-03-29 11:21:12 +03:00
andrey
96c22e1184
move std function
2026-03-20 16:31:30 +03:00
peri4
ed13838237
merged AI doc, some new pages
2026-03-12 14:46:57 +03:00
andrey
9588b48105
PIVector2D - add funcs, optimize, tests, fixes, doxygen ( #194 )
...
Reviewed-on: #194
Co-authored-by: andrey.bychkov <andrey@signalmodelling.ru >
Co-committed-by: andrey.bychkov <andrey@signalmodelling.ru >
2026-02-27 23:58:44 +03:00
peri4
6f1660fd9e
version 5.5.5
...
fix PIHIDevice enumeration for Windows
2026-02-13 18:47:33 +03:00
peri4
6c3c763934
try fix old mingw
2025-10-17 11:30:41 +03:00
andrey
ce962bfb40
fix for new pip
2025-09-15 19:47:32 +03:00
peri4
dcdd7db33d
version 5.2.1
...
fix potentially errors in PIConstChars compare methods
PIHIDevice::open() for open last device
PIVariant::toPoint() now can cast from PIMathVectord
2025-09-13 17:25:12 +03:00
peri4
3c72db2de8
add PIHIDevice
2025-09-11 21:06:30 +03:00
peri4
8d1c97da04
PIProcess code brush
2025-09-10 15:54:55 +03:00
peri4
a299ada873
PIFile::readAll release
...
patch deploy_tool: ignore libc.so and take last dpkg dependency instead of first
2025-09-05 21:46:44 +03:00
andrey
3426a3064e
main doc
2025-08-13 22:35:43 +03:00
andrey
a41379a40e
doc
2025-08-13 22:29:44 +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
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
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
9eecbbab6e
new method PIClientServer::Server::closeAll()
...
PISignals::releaseSignals()
2024-09-24 18:57:50 +03:00
peri4
aa2f117075
finalize module
2024-09-13 13:37:09 +03:00
peri4
bf5bb45771
decompose, add new main group "Application"
...
PICLI code brush
2024-09-13 13:31:31 +03:00
peri4
996b7ea403
important:
...
* PIThread::~PIThread() now unregister itself from introspection, if terminates than show warning
* PISystemMonitor now correctly stops
* PIPeer now can correctly stopAndWait
* PIPeer::destroy(), protected method for close all eths and threads
* new PIINTROSPECTION_STOP macro
* Introspection now can be correctly stopped by macro, more safety
ClientServer:
* ClientBase::close() stop and disconnect channel
* Server clients clean-up now event-based
* No warnings on client destructor
2024-09-12 17:07:48 +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
b19d50ba62
linux
2023-07-06 21:48:42 +03:00
peri4
ccae1a7311
more literals, use some in PIP, small refactor PIThread::start (clang-format mistakes)
2023-07-02 14:02:10 +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
0bd45ec49b
friend with UNICODE macro on windows
2022-12-07 09:33:46 +03:00
peri4
494faf862b
some doc
2022-08-15 11:43:27 +03:00
peri4
8551499a5e
PICout refactoring, new SHSTKMacros
2022-08-07 22:07:26 +03:00
Бычков Андрей
1eaecb288f
PIMapIterators refactoring
...
PIChunkStream some refactoring
2022-08-05 17:05:56 +03:00
peri4
af9a9e78b9
doc
2022-08-02 17:08:51 +03:00