2014 Commits

Autor SHA1 Nachricht Datum
Filippo Gentile
4c6f80afa7 server: World add new settings for external output change
- Refactored code in TurnoutRailTile and SignalRailTile
- Use early return pattern
- Added Enlish and Italian translations
- New Category::trains
2024-07-29 20:26:33 +02:00
Filippo Gentile
343a14ceb1 server: Add better log messages to Signal and Turnouts
- New messages when position/aspect is externally changed
- New messages when position/aspect is corrected
- New messages when train is stopped
- Separate messages for Signals and Turnouts
- Avoid stopping twice the same Train
- Italian and English translations
2024-07-29 20:26:33 +02:00
Filippo Gentile
76c5451275 server: Add log warning when output is externally changed while locked 2024-07-29 20:26:33 +02:00
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
e28bf9f2f2 BoardWidget: replace QTimer with QTimerEvent
- This avoids heap allocation
- Added asserts for timerId to be null before being created again
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
7315ed9fb3 client: BoardWidget rework NXButton timer
- Now release timer is stopped when pressing a third button
  which becomes first button of new pair.

- Timer is also stopped when editing mode is enabled

- Hold timer is stopped if same button is clicked again
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
b551146a0a linux: added .desktop file for system menu
see #158
2024-07-27 00:12:15 +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
db50f112b8 Merge branch '157-upgrade-to-lua-54' 2024-07-13 23:04:40 +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
18b1bebce9 Allow multi select when adding vehicles to a train, closes #154 2024-07-08 23:45:14 +02:00
Reinder Feenstra
1a9edd0492 outputmap: dialog now has icons for each row :) 2024-07-08 23:22:01 +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
89c1bc9ffb Added missing term, closes #155 2024-07-08 22:43:15 +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
0376ca986f luadoc: improved turnout tile documentation 2024-07-06 09:27:23 +02:00
Reinder Feenstra
c3b4fb49a6 luadoc: added support for markdown links 2024-07-06 09:26:46 +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
3c64ea70df missing in f4c9e72 2024-07-03 23:07:52 +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
e66dfe49e3 CI: removed ubuntu 20.04, added ubuntu 24.04 2024-07-02 23:53:17 +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
8456e49021 luadoc: improved documentation 2024-06-30 00:27:51 +02:00
Reinder Feenstra
eb23de2a3d luadoc: improved documentation 2024-06-28 23:29:02 +02:00
Reinder Feenstra
1dd2f375c3 xpressnet: use async tcp connect the prevent "hanging", see #150 2024-06-27 23:53:51 +02:00