100 Commits
Author SHA1 Message Date
peri4 b69529a339 PIThread - add pthread_cleanup_push/pop in case of terminate(), fix MacOS code 2026-11-08 11:55:30 +03:00
peri4 9255e7528c PIThread: macos fixes
doc
2026-11-08 10:47:50 +03:00
peri4 4c8c4ef5c3 PIObject::Deleter refactoring:
- more readable code
 - detect PIThread and PIIODevice
 - try to gracefully stop thread or IODevice, wait with 10_ms and cycle object back to deletion queue if more needed
 - on program shutdown also try to wait for thread or device actually stop, but with smaller timeout
 - print which thread or IODevice hangs (can`t stop in timeout)

PIThread fix deadlock on join when thread in _startThread

PIProcess::optimizeMemory fix
2026-11-08 02:03:49 +03:00
peri4 8a60665c71 hide __PIThreadCollection API
fix PIThread for Windows
2026-11-07 20:51:40 +03:00
peri4 8749e86e97 PIThread fix segfault on delete when thread still starting
add PIProcess::optimizeMemory()
2026-11-07 14:42:35 +03:00
peri4 8e979c51b5 PIObject::Deleter now wait threads
PIThread::runOnce refactor
2026-11-06 23:59:35 +03:00
peri4 823a94d7d9 pithread fixes 2026-11-06 23:09:13 +03:00
peri4 c72ff20592 pithread fixes 2026-11-06 22:33:57 +03:00
peri4 6185320d8c pithread fix 2026-11-06 22:07:26 +03:00
peri4 606c9f449c add pithread test 2026-11-06 18:24:54 +03:00
peri4 b3d5ef5856 version 6.3.0
PIThread refactoring:
 - much more clear platform implementations
 - single status instead of flags zoo
 - more stability, using join instead of leaving detached
2026-11-06 18:24:27 +03:00
peri4 c05a2f3eed Merge pull request 'version 6.2.0' (#220) from fftw_refactor into master
Reviewed-on: #220
2026-10-19 12:32:11 +03:00
peri4 f1028bf98a version 6.2.0
breaking changes in FFT
fix calcHilbert
2026-10-19 12:32:05 +03:00
peri4 630ddeae01 Merge pull request 'FFTW refactor' (#219) from fftw_refactor into master
Reviewed-on: #219
2026-10-18 22:40:05 +03:00
peri4 6f5a3f988b last PocketFFT (with POCKETFFT_NO_EXCEPTIONS) 2026-10-18 22:23:57 +03:00
peri4 639c4e140e small variable rename, keep in priority optimized FFTW plan (prepare() then calcFFT() scenario) 2026-10-18 21:09:46 +03:00
peri4 06fffeb976 fix small mistakes
PIFFTW now save all 3 plans, with fast flag
PIFFTBase::calcHibert now normalized
add -fexception for pifft.cpp
2026-10-18 20:31:21 +03:00
peri4 aa40c02b18 refactor PIFFTW 2026-10-18 16:41:42 +03:00
peri4 aa710956f1 add PIFFTBase as interface, storage and base functionality
change PIFFT<T> from alglib to PocketFFT
2026-10-18 00:21:27 +03:00
peri4 750ef910de thread-save PIFile::openTemporary() for Windows 2026-10-18 00:19:56 +03:00
peri4 3ef92a8b4d version 6.1.0
remove fftw_threads search/link, use internal mutex instead
2026-10-13 18:59:51 +03:00
peri4 95375993ca version 6.0.1 2026-09-22 20:38:15 +03:00
peri4 a21a5b4fbc .clang-format
PIEthernet::stopThreadedListen now close device, so repeated listen() works
2026-09-22 20:37:37 +03:00
peri4 031c3b9999 more 17 standard 2026-09-15 10:56:04 +03:00
peri4 04a588eb45 version 6.0.0
change CMAKE_CXX_STANDARD to 17
add PIByteArray(PIMemoryBlock)
PIJSON print functions now correctly handle top-level node, print name only for non-top-level
2026-09-15 10:53:21 +03:00
peri4 b745d5d867 add 418 code (1 april joke) 2026-09-11 20:17:33 +03:00
peri4 8e41461c08 version 6.0.0_beta
PIThread:
- remove old  V singleton V, migrate to modern STATIC_INITIALIZER and common singleton
- add PowerPolicy - now implemented only for Windows, if SetThreadInformation available, then use, else try to use SetThreadIdealProcessor. Mixed cores not supported for SetThreadIdealProcessor case.

PIThreadPoolLoop: add setPriority() and setPowerPolicy()
2026-09-08 15:40:44 +03:00
peri4 1b66ff527f PIInit - remove old V singleton V shit, migrate to modern STATIC_INITIALIZER, fix Windows locale
all PIP_HAS_*-derivated headers - #ifdef after basic includes
2026-09-06 21:42:26 +03:00
peri4 05ae5411f3 windows version pretty 2026-09-06 17:22:39 +03:00
peri4 3da94abb2a PIInit refactoring, iteration 2
add to PISystemInfo processorsCount<P|E> fields, now counts only for Windows
Introspection public API works without PIP_HAS_THREADS
2026-09-06 10:41:53 +03:00
peri4 7051e138e9 PIInit refactoring, first iteration 2026-09-06 09:09:45 +03:00
peri4 43e7c8de0d Merge pull request 'Pi Pico support' (#193) from pico_sdk into master
Reviewed-on: #193
2026-09-05 23:13:14 +03:00
peri4 b36e9a9bfb version 6.0.0_alpha
try to release with features
2026-09-05 23:12:57 +03:00
peri4 4df907ef10 CMake - add all flags to pip_defs.h
Introspection - revert *_p files, because they are external API for introspection, not internal
2026-09-05 23:09:38 +03:00
peri4 b1af66bee7 Merge pull request 'Support building with musl libc (Alpine Linux)' (#216) from alpine-musl-build into master
Reviewed-on: #216
2026-08-30 20:11:58 +03:00
peri4 2764df8591 adopt for host Windows 2026-08-27 13:34:31 +03:00
peri4 cce1f6fa5c Merge pull request 'add PIIODevice::shutdown()' (#215) from master into gdb_pretty_printers
Reviewed-on: #215
2026-08-27 03:40:12 +03:00
peri4 59c7e99e50 add PIIODevice::shutdown() 2026-08-26 11:38:30 +03:00
peri4 b1cab18496 version 5.9.0 2026-08-17 20:36:43 +03:00
peri4 b1060fd572 PIEthernet fix: no more close outdated fd on disconnect (error at work with MHD) 2026-08-17 20:26:36 +03:00
peri4 ef560ccc96 Merge pull request 'PIP Bugfixes' (#207) from bugfixes into master
Reviewed-on: #207
2026-08-05 13:32:11 +03:00
peri4 15277f8f32 PIPoint operators *=, /=, * and / now also with PIPoint 2026-06-04 11:18:28 +03:00
peri4 1689f560d5 version 5.8.0
very important performance fix for normalizeAngleDeg...() methods, now fixed-speed (no "while")
MQTT client release
2026-05-29 17:40:09 +03:00
peri4 afb4ae8126 MQTT ready to use
change subscription logic - now keep subscriptions independently from connecting state. No unregisters on disconnect, but resubscriptions on connect. So one-time subscription on app start and just connect() on lost connection - all subscriptions keeps
2026-05-29 09:56:29 +03:00
peri4 38d09e272c MQTT seems to work
1. subscribe now similar to HTTP server, with lambda
 2. subscribe topic syntax support all HTTP features as path arguments and wildcards
 3. event received() changed to receivedUnhandled() for unhandled messages (should never be called in proper work)
 4. internal logic got more complicated, several endpoints may be serviced by single MQTT topic, so nested Map used
2026-05-28 20:26:49 +03:00
peri4 cf67072bed add files 2026-05-26 21:38:00 +03:00
peri4 34b55de561 revert RequestFunction 2026-05-26 21:37:21 +03:00
peri4 a2093e24a6 detach PIHTTPServer::Endpoint to base struct PIHTTP::ServerEndpoint (private header), no functionality changes in HTTP server
Ready to implement this private base struct to MQTT client
2026-05-26 21:31:58 +03:00
peri4 a2e54c3694 android fix unknown -W 2026-05-08 16:17:56 +03:00
peri4 a90c486094 PIJSON::print (and toJSON()) now use "null" for unknown type, resulting valid JSON 2026-04-09 14:23:41 +03:00
peri4 715d70d930 add PIJSON de/serialization overloads for PIStringList 2026-04-09 13:56:08 +03:00
peri4 a680b7eceb fix PIValueTree 2026-04-02 17:35:25 +03:00
peri4 22b47799dc PIPoint: const fixes, add some methods 2026-03-28 22:23:41 +03:00
peri4 9076cc749a Merge pull request 'Add forEach method to PIVector2D' (#205) from pivector2d into master
Reviewed-on: #205
2026-03-28 20:25:11 +03:00
peri4 aadf3375a6 PIMQTT::Message now Const & Mutable (as in PIHTTP) 2026-03-26 16:50:55 +03:00
peri4 089e241a67 migrate to PIThreadPoolWorker 2026-03-26 13:28:34 +03:00
peri4 c05fe46d04 pimqttclient before migrate to threadpoolworker 2026-03-26 13:06:57 +03:00
peri4 1ef4103cf9 Merge pull request 'add file' (#204) from mqtt_client into master
Reviewed-on: #204
2026-03-26 13:04:37 +03:00
peri4 a2f73d053c add file 2026-03-26 13:04:26 +03:00
peri4 7e48df7e01 Merge pull request 'mqtt_client' (#203) from mqtt_client into master
Reviewed-on: #203
2026-03-26 13:03:06 +03:00
peri4 6a6cfe1efe Merge branch 'master' into mqtt_client 2026-03-26 12:57:03 +03:00
peri4 f52fd45936 version 2026-03-26 09:33:23 +03:00
peri4 88d4a8e74d PIByteArray gcc one annoying warning off 2026-03-26 09:32:30 +03:00
peri4 6ddc7263e8 Merge pull request 'add new PIThreadPoolWorker - rework of PIThreadPoolExecutor' (#202) from PIThreadPoolWorker into master
Reviewed-on: #202
Reviewed-by: Бычков Андрей <andrey@signalmodelling.ru>
2026-03-26 09:12:23 +03:00
peri4 a16f629dc5 PIThreadPoolWorker ready to use 2026-03-25 10:59:32 +03:00
peri4 5868e0ec9d work with PIThreadPoolWorker 2026-03-24 19:56:43 +03:00
peri4 3102b985d5 add new PIThreadPoolWorker - rework of PIThreadPoolExecutor 2026-03-24 14:09:41 +03:00
peri4 93547beb38 Merge pull request 'disable gmock build and remove obsolete tests' (#201) from disable_gmock into master
Reviewed-on: #201
2026-03-21 17:00:45 +03:00
peri4 5794eac20a Merge pull request 'move std function' (#200) from pitimer_slot into master
Reviewed-on: #200
2026-03-21 17:00:36 +03:00
peri4 dc16a0c903 CMakeLists.txt 2026-03-20 17:26:58 +03:00
peri4 fe3b30bd49 version 5.6.1
patch deploy_tool: procDpkg now prioritize "non-cross" and "non-dev" packages, then only "non-cross"
add PIP_MANUAL_TEST CMake option
2026-03-20 13:00:24 +03:00
peri4 ba63e72bfa Merge pull request 'disable exeptions in cmake' (#199) from disable_exeptions into master
Reviewed-on: #199
2026-03-18 11:48:54 +03:00
peri4 79fa549201 fix matrix test 2026-03-18 11:46:08 +03:00
peri4 35140ee002 Merge pull request 'some fixes' (#198) from some_fixes into master
Reviewed-on: #198
2026-03-18 11:08:48 +03:00
peri4 f0c8bfef0a Merge pull request 'simplify piprotectedvariable' (#197) from protected_var_refact into master
Reviewed-on: #197
2026-03-18 10:58:58 +03:00
peri4 feb86b15f8 start mqtt client (based on paho.mqtt.c), basically works 2026-03-13 23:56:55 +03:00
peri4 767bb2b382 doc 2026-03-12 19:55:06 +03:00
peri4 3e5714a5e1 doc 2026-03-12 19:27:21 +03:00
peri4 6e4a64e64a doc 2026-03-12 19:21:03 +03:00
peri4 40cdc90131 fix 2026-03-12 19:13:12 +03:00
peri4 d758cea974 doc fix 2026-03-12 19:11:28 +03:00
peri4 ed13838237 merged AI doc, some new pages 2026-03-12 14:46:57 +03:00
peri4 07ae277f9e add PIHTTPClient::ignoreSSLErrors() 2026-03-06 20:31:37 +03:00
peri4 46f86b6591 add PIMathVectors JSON serialization 2026-03-05 11:58:34 +03:00
peri4 6f1660fd9e version 5.5.5
fix PIHIDevice enumeration for Windows
2026-02-13 18:47:33 +03:00
peri4 f50a3abc8e PIString::buildData for ICU fix according to official doc 2026-02-08 17:01:52 +03:00
peri4 8c15113cb0 fix PIHTTPClient with queryArguments 2026-02-08 02:50:54 +03:00
peri4 4253acb72b rename override to override_vt 2026-02-03 20:33:23 +03:00
peri4 e22630b1bd version 5.5.4
add PIValueTree::merge
PIValueTreeConversions::from*File supports .override files (replace or add values)
empty JSON arrays now 0 size
2026-02-03 18:56:58 +03:00
peri4 563d9c5487 value_tree_translator: add toolTip 2026-01-22 11:48:29 +03:00
peri4 34bc322b9b version 5.5.3
force using '.' instead of ',' in PIString::fromNumber()
2025-10-22 15:24:10 +03:00
peri4 6c3c763934 try fix old mingw 2025-10-17 11:30:41 +03:00
peri4 4d841787fc version 5.5.2
PIVariant complex(f,d,ld) full support
2025-10-16 11:47:55 +03:00
peri4 790246afea add miss files, add PIUnits::Distance and PIUnits::Mass 2025-10-10 19:47:25 +03:00
peri4 978e350722 version 5.5.1
add SipHash and HalfSipHash for PIDigest
2025-10-08 21:15:28 +03:00
peri4 1d76cacae2 code brush some digest 2025-10-08 16:59:56 +03:00
peri4 db954ffdaa version 5.5.0
add PIIODevice::threadedReadTimeout
2025-09-29 18:48:20 +03:00
peri4 8d6ae976a3 remove comment 2025-09-26 21:38:41 +03:00
peri4 e767fae934 merge pscreen_win_u16 2025-09-26 21:35:36 +03:00
peri4 5db97ca959 version 5.4.0
remove CORS default header from PIHTTPServer
fix several docs
fix PIMathVector::dot return type
add units directory with PIUnits facility
2025-09-26 21:33:45 +03:00