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
e05abf16b5
fix(PIWaitEvent): use -1 as pipe_fd sentinel instead of 0
...
File descriptor 0 is stdin (a valid fd). Using 0 as the 'not-open'
sentinel caused isCreate() to return false and destroy() to skip
close() when pipe() happened to allocate fds {0, 1} (e.g. in daemons
with closed stdio). POSIX convention: -1 = invalid fd.
2026-08-05 17:39:36 +03:00
andrey
3603f6df13
fix piwaitevent
2026-08-05 12:59:36 +03:00
andrey
427130e2ca
fix 2
2026-08-05 12:48:40 +03:00
andrey
42dd5945dd
review fixes
2026-08-05 12:46:43 +03:00
andrey
ec98963347
Revert "fix select usage"
...
This reverts commit 9da2d4fdb3 .
2026-08-05 12:45:46 +03:00
andrey
9da2d4fdb3
fix select usage
2026-08-05 12:03:22 +03:00
andrey
cf89d77981
pip micro disable piintrospection piwaitevent
...
PIP_NO_SOCET
2025-10-18 11:20:18 +03:00
peri4
d01baffb0b
PITimeMeasurer remove some API, add elapsedAndReset()
...
got rid off some warnings
2025-01-17 11:49:24 +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
e6c8714857
version 4.1.0
...
maybe fix hang on PIEthernet::interrupt()
replace piLetobe with piChangeEndian:
* piChangeEndianBinary
* piChangeBinary
* piChangedBinary
PIDiagnostics::start now accept PISystemTime instead of number
add PITimer::start(PISystemTime, std::function<void()>) overload
2024-08-28 11:56:36 +03:00
peri4
c2b8a8d6da
code format
2022-12-14 14:13:52 +03:00
peri4
46751ab977
missing include
2022-11-12 13:38:07 +03:00
peri4
e9128771db
version 3.6.0
...
another fixes in PIEthernet
remove PIThread::interrupt()
piwaitevent patches
2022-11-12 13:31:26 +03:00
peri4
398d760ba9
PIObject::deleteLater important fix
...
PIWaitEvent::sleep() method
PITimer thread imp wait optimization, migrate to interruptable sleeps
2022-11-10 12:26:08 +03:00
peri4
fffaf0726d
CAN adopted, Linux work
2022-11-07 18:07:26 +03:00
Бычков Андрей
f08a07cab0
небольшая чистка и улучшение кода, попытка исправить picloud
2022-11-07 17:16:27 +03:00
peri4
8a5e72c723
migrate to async IO model
...
new PIIODevice::interrupt() virtual method
new PIWaitEvent private class
PIEthernet and PISerial basically tested on Windows and Linux
2022-11-05 23:43:07 +03:00