hi there, i'am currently playing with the electrical system. i'am not sure if i,ve found a bug or if i'am using it the wrong way.
if configured the following setup: (supplier (alternator) 115V) | (connector (with switch A)) | (bus A) | (connector) | (output A) i've noticed that the properties bound to bus A and output A are not updated (to 0V) if i switch of switch A. after reading the source code a little bit, i've noticed, that properties are not always updated (they are only updated if FGElectricalSystem::propagate() goes down the "electric tree", which only happens if the current volts are greater than the volts in the current FGElectricalComponent; this is not the case if, in my case, switch A is false, because current volts is set to 0 if a switch is false/off). i've written a small patch (attached to this mail) which updates all the connected properties of the buses and outputs, after updating the FGElectricalSystem-objects. but maybe there is a bug in my thinking and usage of the elements... cu markus -- Markus Barenhoff - Hamburg - Germany - Earth url: http://www.alios.org/ - mail: [EMAIL PROTECTED] pgpkey: 0xAE7C7759 fp: 79 64 AA D9 B7 16 F5 06 6A 88 5F A9 4D 49 45 BB
Index: electrical.cxx =================================================================== RCS file: /var/cvs/FlightGear-0.9/source/src/Systems/electrical.cxx,v retrieving revision 1.34 diff -r1.34 electrical.cxx 515a516,533 > // > // update the properties of buses and outputs > // > for ( i = 0; i < buses.size(); ++i ) { > FGElectricalBus *node = (FGElectricalBus *)buses[i]; > for( j = 0; j < node->get_num_props(); ++j ) { > fgSetFloat( node->get_prop(j).c_str(), node->get_volts() ); > } > } > > for ( i = 0; i < outputs.size(); ++i ) { > FGElectricalOutput *node = (FGElectricalOutput *)outputs[i]; > for( j = 0; j < node->get_num_props(); ++j ) { > fgSetFloat( node->get_prop(j).c_str(), node->get_volts() ); > } > } > >