620 Commits

Autor SHA1 Nachricht Datum
Reinder Feenstra
268479f224 #11 marklin-cs: added interface class 2023-01-20 23:02:46 +01:00
Reinder Feenstra
e490c656bc bugfix: Infinite recursion in SignalPath, closes #7 2023-01-20 21:54:36 +01:00
Reinder Feenstra
11d407b5af bugfix: if an interface failed to go online and exception caused the event processing
closes #9
2023-01-18 19:48:53 +01:00
Reinder Feenstra
a440d3968d fix: assigning another interface to an input didn't work 2023-01-18 19:17:42 +01:00
Reinder Feenstra
61b3db241a bugfix: assert() triggered on invalid data on world close
closes #8
2023-01-17 23:43:39 +01:00
Reinder Feenstra
27e14f4bd1 eventloop: threadId writable during tests
some test require a working eventloop
2023-01-15 22:50:52 +01:00
Reinder Feenstra
1839233687
Merge pull request #5 from gfgit/work/diy_input_sim_fix
input: fix TraintasticDIY input simulation
2023-01-13 23:11:23 +01:00
Filippo Gentile
794b0a4dcc input: fix TraintasticDIY input simulation
Toggling a disabled input caused crash.
Prevent iterator derefencing when invalid.

Other interfaces, like z21, allow toggling disabled inputs so the
behaviour is still correct.
2023-01-13 23:05:18 +01:00
Reinder Feenstra
37fc7bfcdb fix: use memcpy, size is always known
(MinGW complained)
2023-01-13 00:14:08 +01:00
Reinder Feenstra
b22e011ded
fix: missing include for mingw 2023-01-11 23:55:45 +01:00
Reinder Feenstra
08e4b45268
Merge pull request #3 from gfgit/work/fix_mingw
Fix compilation on Windows with MinGW
2023-01-10 23:41:57 +01:00
Reinder Feenstra
db87ed9cc1
fix: m_socket -> m_socketTCP 2023-01-10 08:33:08 +01:00
Reinder Feenstra
e738a162bf minor optimalizations 2023-01-09 23:01:39 +01:00
Filippo Gentile
8c12a50078 threading: fix MinGW thread name
SetThreadDescription() is not currently supported by MinGW compiler.
It was added in Windows 10 so it's relatively new function.

But MinGW comes with a Windows implementation of pthread library.
This means we can just use the same code as for linux which
calls 'pthread_setname_np()' and skip windows specific call.
2023-01-09 21:52:43 +01:00
Filippo Gentile
0bd6148a1e TrayIcon: fix string literal conversion.
The member function menuAddItem() is called passing constant string
literals for "text" argument which is a pointer to non constant string.

MinGW refuses to compile so change the type to constant LPCSTR.
The variable is later passed inside explicit const_cast<LPSTR>(text).
2023-01-09 21:49:51 +01:00
Filippo Gentile
fc8ce2a891 endianess: fix MinGW on Windows
MinGW has _byteswap_ushort and the other functions like MSVC but
needs additional <cstdlib> header.
2023-01-09 21:46:31 +01:00
Filippo Gentile
09b9ed3de6 SerialPortListImplWin32: fix includes with MinGW on Windows
MinGW needs additional <ntdef.h> header to define PHYSICAL_ADDRESS.
The type is then used inside <ntddser.h>
2023-01-09 21:45:02 +01:00
Reinder Feenstra
ff9b524593 fix: use localtime_s or localtime_r instead of localtime 2023-01-08 23:34:38 +01:00
Reinder Feenstra
59a7f22ab9 fix: assigning a new interface to an output failed 2023-01-06 01:04:29 +01:00
Reinder Feenstra
9425c30cfd fix: assert caused crash 2023-01-06 01:03:16 +01:00
Reinder Feenstra
d77ddfbafb fix: added missing destroying() in Lua::Script 2023-01-06 00:55:53 +01:00
Reinder Feenstra
d21816caca corrected include guard 2023-01-06 00:54:37 +01:00
Reinder Feenstra
15d30710bb world: destroy() objects on world delete
else object may keep eachother alive when haveing a shared_ptr to eachother
2023-01-06 00:54:10 +01:00
Reinder Feenstra
896bd2a13f bugfix: added keepalive, to make sure object isn't deleted during destroy() call 2023-01-06 00:50:56 +01:00
Reinder Feenstra
1ef5e847b5 bugfix: propertyChanged signals were not disconnected 2023-01-06 00:11:46 +01:00
Reinder Feenstra
39213771c2 fix: tile destroy was called multiple times 2022-12-30 21:42:18 +01:00
Reinder Feenstra
433ef6ad79 fix: timing issue (quick start/stop of messagepump failed)
occured when running the tests
2022-12-25 23:43:54 +01:00
Reinder Feenstra
8659fc1d52 bugfix: vector iterator was used while modifing the vector 2022-12-25 23:42:08 +01:00
Reinder Feenstra
fc3012f346 fix: constexpr -> inline 2022-12-24 21:59:04 +01:00
Reinder Feenstra
0d7ef4eb4a windows: added serial port discovery/hotplug detection 2022-12-24 20:26:43 +01:00
Reinder Feenstra
1715c1db03 added std::string overload of rtrim() 2022-12-24 11:58:44 +01:00
Reinder Feenstra
4730b7ebce removed sd_event* member, just get it from the event source 2022-12-21 00:13:16 +01:00
Reinder Feenstra
3b5fec37c8 fix: removed sd_device_unref(), seems not needed based on libsystemd source 2022-12-20 23:35:39 +01:00
Reinder Feenstra
28dcd86919 fix: added missing include 2022-12-20 23:12:06 +01:00
Reinder Feenstra
9d743cb377 linux: added serial port discovery/hotplug detection (using libsystemd) 2022-12-20 00:01:20 +01:00
Reinder Feenstra
34abfafd21 added special serial device property and serial port list 2022-12-19 23:55:24 +01:00
Reinder Feenstra
ba1a3c09ef withrottle: added sending server type and version 2022-12-07 00:00:46 +01:00
Reinder Feenstra
fc163efc6d fix: added missing include for macOS 2022-12-05 10:19:54 +01:00
Reinder Feenstra
42746972b6 fix: added missing include for macOS 2022-12-05 08:08:33 +01:00
Reinder Feenstra
50f14074a1 added basic WiThrottle support 2022-12-04 23:54:32 +01:00
Reinder Feenstra
8554a409dd world saver: don't save empty object
object that don't need to be saved return an empty JSON object on save
2022-12-04 23:17:21 +01:00
Reinder Feenstra
3e1121ee04 added throttle objects to aquire/release decoder control 2022-12-04 23:16:08 +01:00
Reinder Feenstra
ada10ae2cb loconet: added slot write ack in simulation 2022-11-27 23:50:44 +01:00
Reinder Feenstra
ef6f3473e9 renamed methods for consistency 2022-11-26 23:52:55 +01:00
Reinder Feenstra
3459da35da fix: loconet fastclock hour/minute calculation 2022-11-26 23:46:54 +01:00
Reinder Feenstra
21558b5bd7 missing in c1081cc0bfe029e768a5a32a2f610013f764f88a 2022-11-15 07:08:24 +01:00
Reinder Feenstra
c1081cc0bf loconet: added fast clock support 2022-11-14 22:20:00 +01:00
Reinder Feenstra
6c466a9f14 added fast clock support 2022-11-06 23:59:51 +01:00
Reinder Feenstra
a22c42dc71 eventloop now uses boost::asio::io_context
make it easier to use timers etc.
2022-11-06 23:53:32 +01:00
Reinder Feenstra
11244744c8 loconet: wip: split messages.hpp/cpp 2022-10-31 22:57:54 +01:00