1304 Commits

Autor SHA1 Nachricht Datum
Filippo Gentile
7590a82d39 server: SignalRailTile stop trains when retry is exceded
- When locked and retry count is reached, stop trains in path
- Evaluate only if a path is reserved
2024-07-29 20:26:33 +02:00
Filippo Gentile
a2687177a4 server: TurnoutRailTile implement retry count
- If position is externally changed while a path is reserve
  Turnout will try to reset it's position to reserved one
  If it fails and reaches maximum retry count it will stop trains in
path.
2024-07-29 20:26:33 +02:00
Filippo Gentile
7bcffe3319 server: SignalRailTile implement basic retry count 2024-07-29 20:26:33 +02:00
Filippo Gentile
96124b4419 server: BlockRailTile release path when train leaves 2024-07-29 20:26:33 +02:00
Filippo Gentile
7f8d16de0c server: BlockPath prevent release while train is inside it 2024-07-29 20:26:33 +02:00
Filippo Gentile
06a2d46ccc server: BlockPath remove block reservation on release
TODO: this is HACKY and bypasses some logic
2024-07-29 20:26:33 +02:00
Filippo Gentile
bda6f4b495 server: NXManager allow releasing a reserved path 2024-07-29 20:26:33 +02:00
Filippo Gentile
40722ef433 server: BlockRailTile always updateTrainMethodEnabled when adding train 2024-07-29 20:26:33 +02:00
Filippo Gentile
aa35bacfac server: DirectionControlRailTile prevent double reservation
- Allow setting to "Both" while reserved
2024-07-29 20:26:33 +02:00
Filippo Gentile
17a0a05fd8 server: DirectionControlRailTile lock while in reserved path 2024-07-29 20:26:33 +02:00
Filippo Gentile
c1480f15cb server: CrossRailTile clear state on path release 2024-07-29 20:26:33 +02:00
Filippo Gentile
dd55749777 server: TurnoutRailTile lock position if reserved
Also react to external output changes and revert to reserved position if sneeded.
2024-07-29 20:26:33 +02:00
Filippo Gentile
b63d071ddf server: SignalRailTile fix external aspect change evaluation 2024-07-29 20:26:30 +02:00
Reinder Feenstra
f79f016a89 test: added: Direction path reservation using NX and change direction state 2024-07-29 20:22:54 +02:00
Reinder Feenstra
4f338f8e10 fix: use _stricmp on Windows, strcasecmp is POSIX 2024-07-16 08:34:10 +02:00
Reinder Feenstra
8e655f7c2e worldlist now sorted case insensetive 2024-07-15 23:53:04 +02:00
Reinder Feenstra
fdda0888d3 Upgrade to Lua 5.4 2024-07-12 00:23:12 +02:00
Reinder Feenstra
e545408c1e fix: objects kept each other alive 2024-07-10 00:33:17 +02:00
Reinder Feenstra
80b08cb02a outputmap: added parent property for client, so it can access the object the outputmap belongs to. 2024-07-08 23:11:09 +02:00
Reinder Feenstra
4d76dc8891 Converted Tile::tileId() to a property, so it can be used by the client. 2024-07-08 23:09:15 +02:00
Reinder Feenstra
e6cc388aa9 fix: SIG SEGV when ECoS failed to connect
see #150
2024-07-08 22:58:19 +02:00
Reinder Feenstra
e6a215825b output map: moved use to signal output map
(other output maps always use all values)
2024-07-07 00:15:10 +02:00
Reinder Feenstra
4e11e789aa fix: dual_motor translation 2024-07-07 00:12:39 +02:00
Filippo Gentile
3b6f7c8fd0 server: Z21 fix reply to broadcast flags
- Protocol specs says reply has LAN_GET_BROADCASTFLAGS header too
2024-07-06 15:37:42 +02:00
Filippo Gentile
eba845cab5 server: Z21 ClientKernel remove speed trend logic
- Reply queue superseeds it
- It never worked and it's over complicated
- Keep LocoCache, maybe can be further simplified
2024-07-06 15:12:45 +02:00
Filippo Gentile
fc2ff35856 server: Z21 reply queue, use encoded speed and steps
- To save space we use the same encoding as done
  in Z21 protocol.
- This way we also can directly compare without decoding
- Now also direction and emergency stop are checked
2024-07-06 14:27:50 +02:00
Reinder Feenstra
aa8228dd6b Added "dual motor/coil" option to single/double slip turnout, this controls the available turnout positions.
see #112
2024-07-05 23:51:01 +02:00
Filippo Gentile
8a8772ede0 server: Z21 add pending request tracking
This makes it possible to detect replies from
Z21 originated by our own requests and process
them differently than externally generated
messages.

This also enables resending requests which did
not receive the expected reply in timeout
2024-07-04 13:55:03 +02:00
Reinder Feenstra
f4c9e722c9 No more git lfs, git lfs is metered 2024-07-03 23:01:45 +02:00
Reinder Feenstra
9a9614edc0 fix error: captured structured bindings are a C++20 extension 2024-07-03 21:21:32 +02:00
Reinder Feenstra
93c7204d9c Renumbered error codes, E3003 and E3004 conflict with PR #115 2024-07-03 19:50:34 +02:00
Reinder Feenstra
343cc1c978
fix error: declaration shadows a structured binding [clang-diagnostic-shadow] 2024-07-03 08:13:01 +02:00
Reinder Feenstra
10c7d732d1 Added train param to block.removeTrain and error reporting.
Client will now show an error in case the train can't be removed.
Added support for removing a specific train if multiple trains are in the block.
see #70
2024-07-02 23:42:22 +02:00
Reinder Feenstra
1dd2f375c3 xpressnet: use async tcp connect the prevent "hanging", see #150 2024-06-27 23:53:51 +02:00
Reinder Feenstra
7e8d82673a fix: added missing destructor in header 2024-06-27 23:51:46 +02:00
Reinder Feenstra
0bc31a7129 traintasticdiy: use async tcp connect the prevent "hanging", see #150 2024-06-27 22:24:03 +02:00
Reinder Feenstra
a9ae2497bf block: deactivate train if it is removed from the last block 2024-06-27 21:41:35 +02:00
Reinder Feenstra
0adf0584dd marklincan: use async tcp connect the prevent "hanging", see #150 2024-06-25 22:46:54 +02:00
Reinder Feenstra
ea027d8d3f fix: endless started loop, see #150 2024-06-25 22:31:01 +02:00
Reinder Feenstra
f47499d5c5 ecos: use async tcp connect the prevent "hanging", see #150 2024-06-24 22:51:55 +02:00
Reinder Feenstra
4eb0e97513 dcc-ex: use async tcp connect the prevent "hanging", see #150 2024-06-24 22:49:30 +02:00
Reinder Feenstra
bd09107180 loconet: use async tcp connect the prevent "hanging", see #150 2024-06-23 23:07:37 +02:00
Reinder Feenstra
161a0e9521 fix: implemented deleteLater for protocol kernels, to make sure all EventLoop work posted by the kernel thread is processed before the kernel is deleted. 2024-06-22 09:05:20 +02:00
Ryan Freeman
b73cf4782a
Fixed new line character skipping \n\r handles in both directions as well \r\n as well as just \n or \r 2024-06-21 16:11:21 +01:00
Reinder Feenstra
3b54dc17bf Merge remote-tracking branch 'origin/master' into ci-macos-14 2024-06-19 21:17:13 +02:00
Reinder Feenstra
6db8c82d81 fix: loconet lbserver write "failed succesfully", see #141 2024-06-18 22:44:19 +02:00
Reinder Feenstra
1fd6e616e9
Merge pull request #131 from gfgit/work/gfgit/fix_z21_power_state
Fix z21 power state
2024-06-17 22:39:04 +02:00
Reinder Feenstra
191a3631e1
fix: LibArchive_INCLUDE_DIR -> LibArchive_INCLUDE_DIRS 2024-06-16 23:58:56 +02:00
Reinder Feenstra
a4d735a44c use find_path/find_library for lua5.3 on macOS 2024-06-16 23:45:06 +02:00
Reinder Feenstra
a78ecf3937 use find_path/find_library for libarchive on macOS 2024-06-16 23:25:13 +02:00