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
4f20ec4360
test: disabled some tests for arm64 / macOS
2023-01-20 17:15:27 +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
b5c6d37e0c
test: set define TRAINTASTIC_TEST
...
useful for making some stuff available during testing
2023-01-15 22:49:46 +01:00
Reinder Feenstra
bf1cf30cae
test: moved hardware related test to seperate directory
2023-01-15 22:48:45 +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
Filippo Gentile
811536370e
CMake: fix linking with MinGW compiler
...
First commit of a series to fix issues when building with MinGW
Boost.Asio uses Windows Socket library version 2.
MinGW needs explicit linking to ws2_32.dll for socket functions.
Also mswsock.dll is needed for AcceptEx() function.
MinGW can link directly .dll files, without import libraries.
So keep the generation of import library only on MSVC builds.
The path to the library needs adjusmets as it is no longer generated
inside build directory.
2023-01-09 21:41:48 +01:00
Reinder Feenstra
f3e47be740
set MSVC warning level to 4
2023-01-09 17:09:28 +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
74ac77b1a1
test: added move object between interfaces tests
2023-01-06 00:25:47 +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