1007 Commits

Autor SHA1 Nachricht Datum
Reinder Feenstra
12e23c90a9 fix: show proper error if language file loading fails
closes #89
2023-11-23 23:09:46 +01:00
Reinder Feenstra
1e9ef650c2 fix: determine connection id in network thread, see #33 2023-11-15 18:21:38 +01:00
Reinder Feenstra
cdac489b11 fix: hanging client connect, see #33
The asio socket was moved in the eventloop thread, no in the server io context thread.
Asio doc don't explicitly say moving is thread safe, so it moste likely isn't.
2023-11-14 22:38:29 +01:00
Reinder Feenstra
f5f85ee438 fix: added missing include (for Release build) 2023-11-14 22:33:15 +01:00
Reinder Feenstra
15393d4183 fix: added missing virtual 2023-11-14 22:32:55 +01:00
Reinder Feenstra
8f636f2be4 board: made signals aware of path reservation #WIP 2023-11-13 23:25:16 +01:00
Filippo Gentile
3bd9a876a0 ClientKernel: do not abbreviate variable names 2023-11-06 01:29:23 +01:00
Filippo Gentile
7a2eea573c ClientKernel: make getLocoCache() return reference
It cannot be null
2023-11-06 01:28:47 +01:00
Filippo Gentile
ff428c4b85 LanXLocoInfo: rework max function index support 2023-11-06 01:26:16 +01:00
Filippo Gentile
39eef0f273 ClientKernel: prefix members with m_
Now m_isUpdatingFromKernel

P.S. I'm tired of rebasing!
2023-11-06 01:26:10 +01:00
Filippo Gentile
45cbc58c2a ClientKernel: use Doxygen \note in comment 2023-11-06 01:26:01 +01:00
Filippo Gentile
5b48969fbb server: Z21 ClientKernel prevent speed trend override 2023-11-05 22:43:56 +01:00
Filippo Gentile
379c22c0fc Z21: ClientKernel store last received step in 126 scale 2023-11-05 22:43:55 +01:00
Filippo Gentile
4d36f515ac Z21 ClientKernel: always react to stop and direction
React to Emenrgency Stop and direction change regardless of timeout
status
2023-11-05 22:43:53 +01:00
Filippo Gentile
1e6d350d0b Z21 ClientKernel: do not propagate external changes
Decoder changes caused by Z21 should not be sent back to Z21
2023-11-05 22:32:09 +01:00
Filippo Gentile
5bdbeeb72e WIP: add LocoCache to Z21 ClientKernel 2023-11-05 22:28:54 +01:00
Filippo Gentile
373c277cc7 server: Z21 LanXLocoInfo support F29 to F31
Z21 Firmware 1.42 adds F29 to F31 to LAN_X_LOCO_INFO
2023-11-05 22:28:53 +01:00
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