1190 Commits

Autor SHA1 Nachricht Datum
Filippo Gentile
50279a12d9 server: Z21 ClientKernel, try/catch when updating decoder 2023-11-05 22:28:52 +01:00
Filippo Gentile
3e3eaca008 server: Z21 handle LAN_X_LOCO_INFO
Handle LanXLocoInfo inside ClientKernel
This allows reacting to external decoder state changes
2023-11-05 22:28:52 +01:00
Filippo Gentile
46fae8ca17 DecoderChangeFlags: add operator|=() 2023-11-05 22:28:50 +01:00
Reinder Feenstra
84ef8713cd nx button: draw gray if not enabled 2023-11-05 16:38:14 +01:00
Reinder Feenstra
174ffd8690
Added stringop-overflow ignore for MinGW 2023-11-04 00:56:51 +01:00
Filippo Gentile
0a5e654df7 server: Z21 use less hardcoded values
- Add new labels for message values
- Remove unneeded Z21 namespace prefix
- Fix newlines after case
2023-11-03 23:11:48 +01:00
Filippo Gentile
52fdb3371e server: Z21 custom checksum for LanXLocoInfo message 2023-11-03 23:11:47 +01:00
Filippo Gentile
14df2a7344 server: Z21 better checksum calculation
- Tweak XpressNet checksum code to accept custom message size
- Renamed LanX::calcChecksum() to LanX::updateChecksum()
- Added LanX::isChecksumValid()
- Internally reuse XpressNet checksum code
- Removed old commented function in LanXGetLocoInfo
2023-11-03 23:11:46 +01:00
Filippo Gentile
313d3b2d57 server: Z21 Use helper functions in ClientKernel
Use helper functions for LanXSetLocoDrive message
2023-11-03 23:11:45 +01:00
Filippo Gentile
2c73473ea8 server: Z21 Utils, fix 28 speed step format 2023-11-03 23:11:44 +01:00
Filippo Gentile
e0d5375a35 server: Z21 fix race condition for power state
- Read/Write track power state only from EventLoop thread
('m_trackPowerOn' and 'm_emergencyStop' must be accessed
only from EventLoop thread, except on kernel start.)

This fixes infinite async loop power on/off at startup connecting Z21
2023-11-03 23:11:44 +01:00
Filippo Gentile
5a291f0c91 server: Z21 ClientKernel fix crash on disconnect
See #53
When disabling communications, kernel object is deleted
but EventLoop callback will run after and access deleted
object through captured 'this'
Temporary fix for this problem is to copy log ID value instead.
2023-11-03 23:11:43 +01:00
Reinder Feenstra
93d0dc62bf blockpath: added check to prevent paths crossing/endless loops 2023-11-02 23:10:15 +01:00
Reinder Feenstra
207c9ffd88 cmake: added target traintastic-lang for generating language files 2023-11-02 00:06:28 +01:00
Reinder Feenstra
022a9f97a5 fix: added missing include (for Release builds) 2023-11-01 23:17:25 +01:00
Reinder Feenstra
8ec71e496d adding path reservation #WIP
see #14
2023-11-01 22:19:04 +01:00
Reinder Feenstra
f58d09bc7e fix: added missing include 2023-11-01 20:45:51 +01:00
Reinder Feenstra
13552ae7ae windows: don't call zlibVersion(), it causes a crash #FIXME 2023-11-01 20:30:21 +01:00
Reinder Feenstra
d931591fab fix: added missing include 2023-11-01 17:02:14 +01:00
Reinder Feenstra
f9641404ae fix: single/double slip turnout links weren't correct 2023-10-31 23:45:40 +01:00
Reinder Feenstra
577c55e449 board: NX button and path selection #WIP
see #14
2023-10-25 22:26:28 +02:00
Reinder Feenstra
289812b248 temporary fix to get rid of unused errors (clang-tidy) 2023-10-22 09:03:22 +02:00
Reinder Feenstra
6af3090ea7 board: added basic path finding between blocks 2023-10-21 23:15:02 +02:00
Reinder Feenstra
8ff6a98dc8 loconet: updated OPC_MULTI_SENSE_LONG
based on documentation from the developer of the message format.
2023-10-21 13:34:19 +02:00
Reinder Feenstra
cec1aa1304 refactor: removed message ErrorCode, now using LogMessage everywhere. 2023-10-14 22:53:56 +02:00
Reinder Feenstra
280123d15e fix: added license block 2023-10-11 23:32:55 +02:00
Reinder Feenstra
e6428e7182 test: added delete active train/rail vehicle tests 2023-10-11 23:32:10 +02:00
Reinder Feenstra
2c67d4bf57 trainlist: deleting active trains is no longer allowed 2023-10-11 23:31:35 +02:00
Reinder Feenstra
7516d39e39 fix: train can be null 2023-10-11 22:24:44 +02:00
Reinder Feenstra
0d1806cee8 fix: TrainBlockStatus load failed 2023-10-08 22:27:59 +02:00
Reinder Feenstra
1286362253 clang-tidy fixes/improvements 2023-10-08 19:40:32 +02:00
Reinder Feenstra
b5b3da9107 board: added basic identification/RailCom support for blocks 2023-10-08 17:48:16 +02:00
Reinder Feenstra
01e168b57b event: added boost::signal support 2023-10-08 17:35:16 +02:00
Reinder Feenstra
2d914949cf loconet: corrected multi_sense address, +1 was missing 2023-10-08 17:34:37 +02:00
Reinder Feenstra
395cf14425 loconet: corrected LNCVReadResponse mask
didn't detect response sent by https://github.com/mrrwa/LocoNet library
2023-10-01 23:58:27 +02:00
Reinder Feenstra
b536175a4a bugfix: findDecoder(const Decoder&) didn't work when mfx uid was zero 2023-09-28 00:00:15 +02:00
Reinder Feenstra
5eaa45b3e0 lua: class: added INTERFACE for consistency 2023-09-25 22:52:40 +02:00
Reinder Feenstra
324435ed49 lua: added missing class id's for identification (list) 2023-09-25 22:48:45 +02:00
Reinder Feenstra
201a5c2275 fix: missing includes for release build 2023-09-25 08:27:15 +02:00
Reinder Feenstra
41c59d80e8 fix: missing includes for release build 2023-09-24 23:23:08 +02:00
Reinder Feenstra
5b5485869c test: added empty train activation test 2023-09-24 23:01:42 +02:00
Reinder Feenstra
a03bcc835e fix: a train without vehicles can't be activated 2023-09-24 23:01:17 +02:00
Reinder Feenstra
29887fc748 test: added create/destroy tests for train and rail vehicle 2023-09-24 22:45:22 +02:00
Reinder Feenstra
cfb1fba8a5 fix: don't allow delete of rail vehicle when in active train 2023-09-24 20:22:31 +02:00
Reinder Feenstra
838714f2fb removed TrainProperty, ObjectProperty<Train> can be used. 2023-09-24 17:26:01 +02:00
Reinder Feenstra
eb63012511 Object events more consistent now
Last param is now always the object emitting the event (except for singleton's like World and Clock)
Lua handler no longer adds the emitting object param (is in the event now)
2023-09-24 11:05:35 +02:00
Reinder Feenstra
a9aef63e4e fix: world failed to load if a script was present 2023-09-23 22:49:08 +02:00
Reinder Feenstra
ec2f42ba27 refactor: moved common kernel stuff to KernelBase #WIP 2023-09-22 23:07:57 +02:00
Reinder Feenstra
11ac7d6909 refactor: renamed Client to Connection 2023-09-22 20:20:21 +02:00
Reinder Feenstra
6670c774de refactor: moved common kernel stuff to KernelBase #WIP 2023-09-22 00:39:21 +02:00