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