00001 00010 #ifndef _clotheswasher_H 00011 #define _clotheswasher_H 00012 00013 #include "residential.h" 00014 #include "residential_enduse.h" 00015 00016 class clotheswasher : public residential_enduse 00017 { 00018 public: 00019 double circuit_split; 00020 double motor_power; 00021 double enduse_demand; 00022 double enduse_queue; 00023 double cycle_duration; 00024 double cycle_time; 00025 double state_time; 00026 double stall_voltage; 00027 double start_voltage; 00028 complex stall_impedance; 00029 double trip_delay; 00030 double reset_delay; 00031 double heat_fraction; 00032 TIMESTAMP time_state; 00033 enum { STOPPED=0, 00034 RUNNING=1, 00035 STALLED=2, 00036 TRIPPED=3, 00037 } state; 00038 00039 public: 00040 static CLASS *oclass, *pclass; 00041 static clotheswasher *defaults; 00042 00043 clotheswasher(MODULE *module); 00044 ~clotheswasher(); 00045 int create(); 00046 int init(OBJECT *parent); 00047 int isa(char *classname); 00048 TIMESTAMP presync(TIMESTAMP t0, TIMESTAMP t1); 00049 TIMESTAMP sync(TIMESTAMP t0, TIMESTAMP t1); 00050 double update_state(double dt); 00051 00052 }; 00053 00054 #endif // _clotheswasher_H 00055