Reinder Feenstra
4f5e4f2992
fix: set socket options from network thread, see #33
2023-02-21 23:46:57 +01:00
Reinder Feenstra
6e3d2e68fc
added version property to Traintastic object
2023-02-19 12:23:34 +01:00
Reinder Feenstra
f7fd18ea1a
Merge branch 'master' of github.com:traintastic/traintastic
2023-02-18 23:14:40 +01:00
Reinder Feenstra
5a407e5ba1
fix: socket shutdown and close wasn't called by the io context thread
...
see #33
2023-02-18 23:14:37 +01:00
Filippo Gentile
2d035b6bac
logging: Fix MinGW broken std::put_time()
...
Workaround missing specifier support in MinGW 12.2.0 by using old pre-C+
+11 specifiers.
2023-02-15 21:32:10 +01:00
Reinder Feenstra
7397cb9e16
Merge branch 'master' of github.com:traintastic/traintastic
2023-02-10 20:36:50 +01:00
Reinder Feenstra
ac9505f1f7
fix: disconnect() not called by the eventloop thread, see #34
2023-02-10 20:36:47 +01:00
Reinder Feenstra
312950c28c
Merge pull request #31 from gfgit/work/object_list_removed
...
model: HACK to let client refresh after object is removed
2023-02-06 23:23:44 +01:00
Filippo Gentile
54c2dc7c72
model: HACK to let client refresh after object is removed
...
When an object is removed from a list, Clients need to clear cached
values and reload the model.
This could be more efficient but it will be adressed in a separate pull
request.
2023-02-06 23:17:12 +01:00
Reinder Feenstra
ea3fbd8022
bugfix: blocksAhead may only be decremented on block tile
2023-02-06 19:59:14 +01:00
Reinder Feenstra
91658fafbb
Merge branch 'master' into 11-märklin-cs2cs3-hardware-support
2023-01-31 23:41:25 +01:00
Reinder Feenstra
5c369efec5
Merge branch 'master' into 11-märklin-cs2cs3-hardware-support
2023-01-31 23:39:24 +01:00
Reinder Feenstra
86c4685b69
ObjectProperty: added getObject() to request object without knowing the id on the client
...
see #22
2023-01-30 23:33:25 +01:00
Reinder Feenstra
6829973e92
marklin_can: added MFX
...
see #11
2023-01-29 21:43:28 +01:00
Reinder Feenstra
ef3eb82dbe
marklin_can: added motorola decoder support
2023-01-29 19:30:58 +01:00
Reinder Feenstra
b0349bf7ad
marklin_can: debug logging improvements
2023-01-29 15:20:27 +01:00
Reinder Feenstra
60c5930ba3
marklin_can: implemented (DCC) decoder control
2023-01-29 15:19:41 +01:00
Reinder Feenstra
de231121f0
decoder: speedStep vs. throttle function now template
...
so they can be used with other data types as well.
2023-01-29 14:55:05 +01:00
Reinder Feenstra
143bb49a68
renamed MarklinCSInterface to MArklinCANInterface
...
see #11
2023-01-29 10:17:33 +01:00
Reinder Feenstra
12a22d20ed
marklin_cs: implemented TCP/UDP communication and system stop/go/halt
...
see #11
2023-01-28 22:48:15 +01:00
Reinder Feenstra
1d250f28f8
added object id validation, see #22
...
an id may only contain a-z 0-9 _ and must start with a-z
all chars must be lowercase
2023-01-25 23:25:13 +01:00
Reinder Feenstra
9ee10e8aff
Merge pull request #18 from gfgit/work/gcc_warnings
...
Fix gcc warnings
2023-01-22 21:56:07 +01:00
Filippo Gentile
536c82f739
server: remove unix specific signal handler header
2023-01-22 01:22:10 +01:00
Filippo Gentile
4277285591
Fix GCC warning -Werror=uninitialized
...
std::array has no explicit constructors but GCC 12.2.0 doesn't like it
so add brace initialization.
2023-01-22 01:19:32 +01:00
Reinder Feenstra
6ad267f333
Merge pull request #13 from gfgit/work/signal_handler
...
server: handle SIGINT, SIGTERM, SIGBREAK (all platforms)
2023-01-21 22:23:59 +01:00
Reinder Feenstra
d5ace6999b
some changes for code style
2023-01-21 22:22:17 +01:00
Reinder Feenstra
7ee8a6aad7
corrected spelling, some changes for code style
2023-01-21 22:20:17 +01:00
Filippo Gentile
280d3ae2c4
server: log signal handler
...
New static function for signal handling
2023-01-21 21:35:30 +01:00
Filippo Gentile
45fd09e071
server: removed Unix specific signal handlers
...
Now it uses Boost.Asio
2023-01-21 21:34:17 +01:00
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
Filippo Gentile
e2b6c149d4
server: handle SIGINT, SIGTERM, SIGBREAK
...
Register signal handlers to shutdown gracefully
2023-01-19 23:31:15 +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