Mikko Rasa [Sat, 25 Sep 2010 08:46:20 +0000 (08:46 +0000)]
Add some utility functions for interfacing with hardware
Improve makefile to support uploading to Arduino Mini
Expand s88w protocol to support multiple transmitters
Add lcd output to s88w-r for debugging
Mikko Rasa [Mon, 26 Apr 2010 09:09:21 +0000 (09:09 +0000)]
Don't clear timetable before all rows are successfully parsed
Do a more complete reset of timetable state when clearing
Also reset timetable state when toggling enabled state
Mikko Rasa [Sat, 24 Apr 2010 18:04:08 +0000 (18:04 +0000)]
Fix a compile error
Handle a null train properly in TrainProperties constructor
Print emergencies to stdout
Report sensor number in unreserved sensor triggers
Never update real_speed[0]
Return a nonzero value if no speeds are recorded yet
Mikko Rasa [Wed, 21 Apr 2010 19:20:46 +0000 (19:20 +0000)]
Halt all trains in various unexpected situations
Turnouts no longer get stuck if a switching attempt fails
Save the vehicles of trains in state file
It's better to put trains too far back rather than forward
Mikko Rasa [Wed, 14 Apr 2010 21:06:34 +0000 (21:06 +0000)]
Fix pathfinder to not block itself in some situations
Better handling of routes at the beginning of Train::reserve_more
Delay clearing route until stopping
Mikko Rasa [Sat, 3 Apr 2010 09:49:02 +0000 (09:49 +0000)]
Add a program for serial port control and associated Arduino firmware
Make network client handle error packets
Add function to get all trains from the client
Mikko Rasa [Sat, 20 Mar 2010 11:42:43 +0000 (11:42 +0000)]
Add a pathfinder function to Route
Implement train go-to functionality
Stop train when arriving at the end of its route
Fix a bug with multi-address turnouts
Add a Z offset to Path3D
Rewrite track picking in Engineer
Mikko Rasa [Fri, 12 Mar 2010 09:29:16 +0000 (09:29 +0000)]
Turn TrackPart into a proper class
Link TrackParts to each other for better efficiency in get_point
Move most of get_point to TrackType
Return direction and grade from get_point in addition to position
Mikko Rasa [Mon, 8 Mar 2010 21:53:29 +0000 (21:53 +0000)]
Major architecture rework
Create a Driver abstraction to hide the code that talks to the physical equipment
Remove TrafficManager and put Blocks and Trains in Layout
Dynamically update Blocks as the layout changes
Remove Locomotive, Turnout and Sensor classes
Tracks now have an active_path property
Trains now allows setting functions
Move option parsing in Engineer to a separate class
Many minor changes
Mikko Rasa [Wed, 3 Mar 2010 21:56:51 +0000 (21:56 +0000)]
Emit various signals from Train when it's loaded
Add Train3D class
Add Object3D class as base for Track3D and Train3D
Make Overlay3D use Object3Ds
Overhaul Engineer code
Mikko Rasa [Mon, 1 Mar 2010 20:35:46 +0000 (20:35 +0000)]
Add accessors adding things to a Catalogue from the outside
Emit signals from Catalogue as things are added
Make Catalogue3D listen to the signals and create appropriate things
Remove the track color and quality interfaces
Mikko Rasa [Sun, 28 Feb 2010 12:56:24 +0000 (12:56 +0000)]
Rename Input to InputDialog to avoid the conflict with the Msp::Input namespace
Derive InputDialog from GLtk::Dialog
Get events from the Root widget rather than the Window
No need for the input pointer or state in Designer anymore
Add tooltips to the Toolbar
Implement a few more of the Toolbar buttons
Mikko Rasa [Fri, 19 Feb 2010 15:44:09 +0000 (15:44 +0000)]
Split mesh generation from Track3D to TrackType3D
Add a Catalogue3D to hold the TrackType3D objects
Better parametrization of track profile
Make track profile loadable from the catalogue file
Track colors and path rendering is non-funtional at the moment
Mikko Rasa [Wed, 16 Dec 2009 23:49:24 +0000 (23:49 +0000)]
Only signal turnout path change when the command is successfully completed
Call update_speed directly from reserve_more if blocks were reserved
Do not reserve turnouts with wrong path
Mikko Rasa [Sun, 13 Dec 2009 18:14:52 +0000 (18:14 +0000)]
Export routes over network
Implement the reverse field in TrainSpeedPacket
Derive the TrainPanel in remote from Expander for a more compact train list
Set default size for the remote controller window
Catch exceptions caused by packets sent by a client
Mikko Rasa [Sun, 13 Dec 2009 13:55:03 +0000 (13:55 +0000)]
Add Dialog class to handle common elements of dialogs
Implement TrainProperties in terms of Dialog
Delete dialogs automatically
Implement the edit button in TrainPanel
Mikko Rasa [Thu, 10 Dec 2009 10:26:21 +0000 (10:26 +0000)]
Correctly handle slope when snapping tracks
Render sloped tracks with rotation, not by shearing the mesh
Render a pillar under the higher endpoint of a sloped track
Hide zero slope from tooltip
Mikko Rasa [Thu, 21 May 2009 16:57:02 +0000 (16:57 +0000)]
Attempt to estimate the exact positions of trains from measured speed data
Improve track vertex array creation
Use Point instead of separate coordinate members for Endpoint and TrackPart
Mikko Rasa [Tue, 19 May 2009 18:46:03 +0000 (18:46 +0000)]
Allow setting sensor ID for multiple tracks at once
Support for controlling turnouts with more than 2 routes
Snap flex-tracks last when loading a layout to get them correctly snapped
Slow down trains when there's only one free sensor block ahead
Put each turnout into its own block to avoid blocking adjacent tracks
Mikko Rasa [Tue, 17 Mar 2009 05:03:36 +0000 (05:03 +0000)]
Convert designer to use mspgbase instead of sdl
Add a missing file in libmarklin
Compatibility with VertexArrayBuilder change
Rename engineer.res to marklin.res for future use in designer too