+/* $Id$
+
+This file is part of the MSP Märklin suite
+Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa
+Distributed under the GPL
+*/
+
#include <msp/time/timer.h>
#include <msp/time/units.h>
#include "command.h"
namespace Marklin {
-Locomotive::Locomotive(Control &c, unsigned a):
+Locomotive::Locomotive(const LocoType &t, Control &c, unsigned a):
+ type(t),
control(c),
addr(a),
speed(0),
funcs&=~(1<<func);
send_command(true);
+
+ signal_function_changed.emit(func, state);
}
void Locomotive::refresh_status()
funcs=(reply[1]&0xF)<<1;
if(reply[1]&0x10)
funcs|=1;
+
+ for(unsigned i=0; i<5; ++i)
+ signal_function_changed.emit(i, (funcs>>i)&1);
}
}