-
Notifications
You must be signed in to change notification settings - Fork 0
/
todo.txt
86 lines (68 loc) · 3.25 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
DCCLite
-------
- Better emulator:
- Make sharpConsole able to start emulator as is
- Make sharpconsole start emulator using a existing device name (auto generate eprom?)
- Show it on SharpConsole and remote connect to it.
- Allow pin states to be set:
- Set voltage level: LOW or HIGH
- Do a Pin "click", so voltage invert for a short time (put a time config, like 10ms)
- On device on sharp console, put a button "emulate":
- Will run emulator with the correctly EEPROM
- Generate blank EEPROM if does not exists?
- On device on sharp console, put a button "block", so Broke drops connection to device and ignore its ip...
- put a emulator hints field on device config? So initial voltage for pins can be set, like a grounded pin or a pin connected to 5v
- pin on emulator must have a "externalVoltage" field, a tri state field and when reading, check if the externalVoltage is set, if yes, consider it, otherwise, the internal voltage
- digitalWrite will never affetct externalVoltage
- SharpTerminal will be able to set this externalVoltage value
- Change DccDevice decoder structure: expose a DecoderProxy, that is never destroyed.
- This will make all code around simple, no need for handling create / destroy events
- The proxy keeps a reference to the real decoder
- use a std::variant inside the proxy?
- decoders may have no device
- keep decoders type inside the device, do not leak specific decoders code to outside
- Lua script failing to reload, seems to be a problem with sections
- Why lua scripts are not notified when devices gets online and state changes during sync? Check routes
- Implement coroutine support on lua scripts?
- update route section to know next section and avoid re-ocupying the block
LitePanelSDL
------------
- Handle mouse click and create object on map
- Add scrollbars
- Load / Save
- Replace tile map on toolbar with imgui buttons
- include scroll bars on tile map view
- Create a generic editor, that can be used by SDL and wxWidgets?
- supports the tiles edits (receive mouse clicks with toolbar info)
- handles scrolling and rendering
- toolbar buttons can be generic too
- add imgui open file windows (remove windows dependencies)
- Main application, split between Editor and Runner
- When loading:
- document infra structure?
- Settings from last run infrastructure?
- if no file provided or no previous working project:
- prompt with new project dialog
- if previous project on working mode, load editor
- if previous project on runner mode, load runner
- Requirements:
- every save, put a copy of previous file on temp with a timestamp
- allow recovery of previous version from the temp (if exists)
LitePanelWx
-----------
- fix rendering errors
To Explore
----------
- mDNS: https://learn.microsoft.com/en-us/uwp/api/windows.networking.servicediscovery.dnssd?view=winrt-22621&redirectedfrom=MSDN
- mDNS: https://fabiensanglard.net/mdns/
- EngineDriver layer
- connects directly to DCCex
- avoids JMRI for running trains
- reads DEcoderPro custom names for commands and provides it to EngineDriver
- supports DccLite own routes
- emulate fuel consumption:
- config per locomotive
- handle throttle settings and simulates cosumption
- refueliing system
- JMRI JSON server
- can be use to monitor wiThrottle commands