unsigned target_speed;
Msp::Time::TimeStamp try_reserve;
std::string status;
+
Msp::Time::TimeStamp last_entry_time;
float travel_dist;
- unsigned real_speed;
+ unsigned travel_speed;
+ bool pure_speed;
+ float speed_scale;
+ float speed_scale_weight;
+
+ Track *cur_track;
+ unsigned cur_track_ep;
+ float offset;
+ Point pos;
public:
sigc::signal<void, const std::string &> signal_name_changed;
const std::string &get_name() const { return name; }
Locomotive &get_locomotive() const { return loco; }
const std::string &get_status() const { return status; }
+ const Point &get_position() const { return pos; }
void place(Block *, unsigned);
bool free_block(Block *);
- void tick(const Msp::Time::TimeStamp &);
+ void tick(const Msp::Time::TimeStamp &, const Msp::Time::TimeDelta &);
private:
void sensor_event(bool, Sensor *);
unsigned reserve_more();
+ void update_speed();
void set_status(const std::string &);
+ void set_position(const Block::Endpoint &);
};
} // namespace Marklin