Merge branch 'main' of https://git.passer.life/RoboidControl/RoboidControl-python
This commit is contained in:
commit
fe09a5695d
@ -1,105 +1,181 @@
|
||||
warning: source 'images' is not a readable file or directory... skipping.
|
||||
d:/Python/RoboidControl/Things/DifferentialDrive.py:62: warning: @copybrief or @copydoc target 'Thing::Update' not found
|
||||
d:/Python/RoboidControl/Things/DifferentialDrive.py:46: warning: Found unknown command '@params'
|
||||
d:/Python/RoboidControl/Things/DifferentialDrive.py:22: warning: Member SetDriveDimensions(self, wheel_diameter, wheel_separation) (function) of class DifferentialDrive.DifferentialDrive is not documented.
|
||||
d:/Python/RoboidControl/Things/DifferentialDrive.py:33: warning: Member SetMotors(self, wheel_left, wheel_right) (function) of class DifferentialDrive.DifferentialDrive is not documented.
|
||||
d:/Python/RoboidControl/Things/DifferentialDrive.py:46: warning: Found unknown command '@params'
|
||||
d:/Python/RoboidControl/Things/DifferentialDrive.py:62: warning: @copybrief or @copydoc target 'Thing::Update' not found
|
||||
d:/Python/RoboidControl/Things/DifferentialDrive.py:31: warning: Member wheel_left (variable) of class DifferentialDrive.DifferentialDrive is not documented.
|
||||
d:/Python/RoboidControl/Things/DifferentialDrive.py:31: warning: Member wheel_right (variable) of class DifferentialDrive.DifferentialDrive is not documented.
|
||||
d:/Python/RoboidControl/Things/DifferentialDrive.py:46: warning: Found unknown command '@params'
|
||||
d:/Python/RoboidControl/Things/DifferentialDrive.py:47: warning: Found unknown command '@params'
|
||||
d:/Python/RoboidControl/Things/DifferentialDrive.py:62: warning: @copybrief or @copydoc target 'Thing::Update' not found
|
||||
d:/Python/RoboidControl/Things/DifferentialDrive.py:63: warning: @copydetails or @copydoc target 'Thing::Update' not found
|
||||
d:/Python/RoboidControl/LocalParticipant.py:76: warning: Member GetParticipant(self, ip_address, port) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:86: warning: Member AddParticipant(self, ip_address, port) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:119: warning: Member SendThingInfo(self, owner, thing, bool recursively=False) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:129: warning: Member Send(self, owner, msg) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:138: warning: Member Publish(self, msg) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:151: warning: Member Receiver(self) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:163: warning: Member ReceiveData(self, data, sender) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:183: warning: Member ProcessClientMsg(self, sender, ParticipantMsg msg) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:186: warning: Member ProcessNetworkIdMsg(self, sender, NetworkIdMsg msg) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:196: warning: Member ProcessInvestigateMsg(self, bytearray data) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:199: warning: Member ProcessThingMsg(self, ThingMsg msg) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:211: warning: Member ProcessNameMsg(self, NameMsg msg) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:214: warning: Member ProcessModelUrlMsg(self, ModelUrlMsg msg) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:217: warning: Member ProcessBinary(self, BinaryMsg msg) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:223: warning: Member Register(self, constructor, thing_type) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:226: warning: Member OnNewThing(self, event_handler) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:229: warning: Member OnNewThingType(self, thing_type, event_handler) (function) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:42: warning: Member local_port (variable) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:58: warning: Member thing_msg_processors (variable) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:59: warning: Member new_thing_handlers (variable) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:60: warning: Member publishInterval (variable) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:64: warning: Member udp_socket (variable) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:105: warning: Member nextPublishMe (variable) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:144: warning: Member port (variable) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:29: warning: Member buffer (variable) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:32: warning: Member nextPublishMe (variable) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:33: warning: Member others (variable) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:34: warning: Member thread (variable) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/LocalParticipant.py:35: warning: Member name (variable) of class RoboidControl.LocalParticipant.LocalParticipant is not documented.
|
||||
d:/Python/RoboidControl/Messages/Messages.py:115: warning: Member __init__(self, network_id, thing) (function) of class RoboidControl.Messages.Messages.PoseMsg is not documented.
|
||||
d:/Python/RoboidControl/Messages/Messages.py:119: warning: Member Serialize(self, buffer_ref) (function) of class RoboidControl.Messages.Messages.PoseMsg is not documented.
|
||||
d:/Python/RoboidControl/Messages/Messages.py:116: warning: Member network_id (variable) of class RoboidControl.Messages.Messages.PoseMsg is not documented.
|
||||
d:/Python/RoboidControl/Messages/Messages.py:117: warning: Member thing (variable) of class RoboidControl.Messages.Messages.PoseMsg is not documented.
|
||||
d:/Python/RoboidControl/Messages/NetworkIdMsg.py:7: warning: Member id (variable) of class RoboidControl.Messages.NetworkIdMsg.NetworkIdMsg is not documented.
|
||||
d:/Python/RoboidControl/Messages/NetworkIdMsg.py:8: warning: Member length (variable) of class RoboidControl.Messages.NetworkIdMsg.NetworkIdMsg is not documented.
|
||||
d:/Python/RoboidControl/Messages/NetworkIdMsg.py:10: warning: Member network_id (variable) of class RoboidControl.Messages.NetworkIdMsg.NetworkIdMsg is not documented.
|
||||
d:/Python/RoboidControl/Messages/ParticipantMsg.py:53: warning: Member SendTo(participant, network_id) (function) of class RoboidControl.Messages.ParticipantMsg.ParticipantMsg is not documented.
|
||||
d:/Python/RoboidControl/Messages/ParticipantMsg.py:64: warning: Member Publish(participant, network_id) (function) of class RoboidControl.Messages.ParticipantMsg.ParticipantMsg is not documented.
|
||||
d:/Python/RoboidControl/Messages/ParticipantMsg.py:41: warning: Member Serialized(buffer_ref, network_id) (function) of class RoboidControl.Messages.ParticipantMsg.ParticipantMsg is not documented.
|
||||
d:/Python/RoboidControl/Messages/ParticipantMsg.py:21: warning: Member network_id (variable) of class RoboidControl.Messages.ParticipantMsg.ParticipantMsg is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:42: warning: Member AddParticipant(self, ip_address, port) (function) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:49: warning: Member ProcessClientMsg(self, sender, msg) (function) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:56: warning: Member ProcessNetworkId(self, msg) (function) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:60: warning: Member Register(self, ThingClass, thing_type) (function) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:63: warning: Member Process(self, msg) (function) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:69: warning: Member ProcessThingMsg(self, msg) (function) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:20: warning: Member ip_address (variable) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:21: warning: Member port (variable) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:22: warning: Member publishInterval (variable) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:23: warning: Member others (variable) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:24: warning: Member network_id (variable) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:25: warning: Member buffer (variable) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:26: warning: Member thing_msg_constructors (variable) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:29: warning: Member udp_socket (variable) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:34: warning: Member thread (variable) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:14: warning: Member name (variable) of class RoboidControl.SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl/SiteServer.py:18: warning: The following parameters of RoboidControl.SiteServer.SiteServer.__init__(self, port=7681, remote=False, udp_socket=None) are not documented:
|
||||
parameter 'remote'
|
||||
parameter 'udp_socket'
|
||||
d:/Python/RoboidControl/Thing.py:92: warning: Member Update(self, currentTime) (function) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:95: warning: Member ProcessBinary(self, data) (function) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:99: warning: Member SetParent(self, parent) (function) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:108: warning: Member AddChild(self, child) (function) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:115: warning: Member RemoveChild(self, child) (function) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:31: warning: Member children (variable) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:61: warning: Member pose_updated (variable) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:68: warning: Member position (variable) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:69: warning: Member position_updated (variable) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:75: warning: Member orientation (variable) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:76: warning: Member orientation_updated (variable) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:82: warning: Member linear_velocity (variable) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:83: warning: Member linear_velocity_updated (variable) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:89: warning: Member angular_velocity (variable) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:90: warning: Member angular_velocity_updated (variable) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:18: warning: Member Position (variable) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:19: warning: Member Orientation (variable) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:20: warning: Member LinearVelocity (variable) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:21: warning: Member AngularVelocity (variable) of class RoboidControl.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:80: warning: argument 'linearVelocity' of command @param is not found in the argument list of Thing::SetLinearVelocity(self, linear_velocity)
|
||||
d:/Python/RoboidControl/Thing.py:80: warning: The following parameter of RoboidControl.Thing.Thing.SetLinearVelocity(self, linear_velocity) is not documented:
|
||||
d:/Python/RoboidControl-python/Things/DifferentialDrive.py:62: warning: @copybrief or @copydoc target 'Thing::Update' not found
|
||||
d:/Python/RoboidControl-python/Things/DifferentialDrive.py:46: warning: Found unknown command '@params'
|
||||
d:/Python/RoboidControl-python/Things/DifferentialDrive.py:22: warning: Member SetDriveDimensions(self, wheel_diameter, wheel_separation) (function) of class DifferentialDrive.DifferentialDrive is not documented.
|
||||
d:/Python/RoboidControl-python/Things/DifferentialDrive.py:33: warning: Member SetMotors(self, wheel_left, wheel_right) (function) of class DifferentialDrive.DifferentialDrive is not documented.
|
||||
d:/Python/RoboidControl-python/Things/DifferentialDrive.py:46: warning: Found unknown command '@params'
|
||||
d:/Python/RoboidControl-python/Things/DifferentialDrive.py:62: warning: @copybrief or @copydoc target 'Thing::Update' not found
|
||||
d:/Python/RoboidControl-python/Things/DifferentialDrive.py:31: warning: Member wheel_left (variable) of class DifferentialDrive.DifferentialDrive is not documented.
|
||||
d:/Python/RoboidControl-python/Things/DifferentialDrive.py:31: warning: Member wheel_right (variable) of class DifferentialDrive.DifferentialDrive is not documented.
|
||||
d:/Python/RoboidControl-python/Things/DifferentialDrive.py:64: warning: Member angular_velocity_updated (variable) of class DifferentialDrive.DifferentialDrive is not documented.
|
||||
d:/Python/RoboidControl-python/Things/DifferentialDrive.py:46: warning: Found unknown command '@params'
|
||||
d:/Python/RoboidControl-python/Things/DifferentialDrive.py:47: warning: Found unknown command '@params'
|
||||
d:/Python/RoboidControl-python/Things/DifferentialDrive.py:62: warning: @copybrief or @copydoc target 'Thing::Update' not found
|
||||
d:/Python/RoboidControl-python/Things/DifferentialDrive.py:63: warning: @copydetails or @copydoc target 'Thing::Update' not found
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Direction.py:47: warning: Member FromVector3(Vector3 v) (function) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Direction.py:77: warning: Member isclose(self, other, rel_tol=1e-9, abs_tol=1e-8) (function) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Direction.py:105: warning: Member __repr__(self) (function) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Direction.py:47: warning: Member FromVector3(Vector3 v) (function) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Direction.py:77: warning: Member isclose(self, other, rel_tol=1e-9, abs_tol=1e-8) (function) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Direction.py:105: warning: Member __repr__(self) (function) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Direction.py:75: warning: Member horizontal (variable) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Direction.py:76: warning: Member vertical (variable) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Direction.py:108: warning: Member zero (variable) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Direction.py:109: warning: Member forward (variable) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Direction.py:110: warning: Member backward (variable) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Direction.py:111: warning: Member up (variable) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Direction.py:112: warning: Member down (variable) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Direction.py:113: warning: Member left (variable) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Direction.py:114: warning: Member right (variable) of class LinearAlgebra.Direction.Direction is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:87: warning: Member isclose(self, other, rel_tol=1e-9, abs_tol=1e-8) (function) of class LinearAlgebra.Spherical.Polar is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:94: warning: Member Magnitude(self) (function) of class LinearAlgebra.Spherical.Polar is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:97: warning: Member Normalized(self) (function) of class LinearAlgebra.Spherical.Polar is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:87: warning: Member isclose(self, other, rel_tol=1e-9, abs_tol=1e-8) (function) of class LinearAlgebra.Spherical.Polar is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:94: warning: Member Magnitude(self) (function) of class LinearAlgebra.Spherical.Polar is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:97: warning: Member Normalized(self) (function) of class LinearAlgebra.Spherical.Polar is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:23: warning: Member direction (variable) of class LinearAlgebra.Spherical.Polar is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:233: warning: Member zero (variable) of class LinearAlgebra.Spherical.Polar is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:28: warning: argument 'horizontal' of command @param is not found in the argument list of Polar::Degrees(float distance, float degrees)
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:28: warning: The following parameter of LinearAlgebra.Spherical.Polar.Degrees(float distance, float degrees) is not documented:
|
||||
parameter 'degrees'
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:39: warning: argument 'horizontal' of command @param is not found in the argument list of Polar::Radians(float distance, float radians)
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:39: warning: argument 'vertical' of command @param is not found in the argument list of Polar::Radians(float distance, float radians)
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:39: warning: The following parameter of LinearAlgebra.Spherical.Polar.Radians(float distance, float radians) is not documented:
|
||||
parameter 'radians'
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:78: warning: argument 'v' of command @param is not found in the argument list of Polar::__eq__(self, other)
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:78: warning: The following parameter of LinearAlgebra.Spherical.Polar.__eq__(self, other) is not documented:
|
||||
parameter 'other'
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:28: warning: argument 'horizontal' of command @param is not found in the argument list of Polar::Degrees(float distance, float degrees)
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:28: warning: The following parameter of LinearAlgebra.Spherical.Polar.Degrees(float distance, float degrees) is not documented:
|
||||
parameter 'degrees'
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:39: warning: argument 'horizontal' of command @param is not found in the argument list of Polar::Radians(float distance, float radians)
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:39: warning: argument 'vertical' of command @param is not found in the argument list of Polar::Radians(float distance, float radians)
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:39: warning: The following parameter of LinearAlgebra.Spherical.Polar.Radians(float distance, float radians) is not documented:
|
||||
parameter 'radians'
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:78: warning: argument 'v' of command @param is not found in the argument list of Polar::__eq__(self, other)
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:78: warning: The following parameter of LinearAlgebra.Spherical.Polar.__eq__(self, other) is not documented:
|
||||
parameter 'other'
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:322: warning: Member isclose(self, other, rel_tol=1e-9, abs_tol=1e-8) (function) of class LinearAlgebra.Spherical.Spherical is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:328: warning: Member Normalized(self) (function) of class LinearAlgebra.Spherical.Spherical is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:440: warning: Member __repr__(self) (function) of class LinearAlgebra.Spherical.Spherical is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:322: warning: Member isclose(self, other, rel_tol=1e-9, abs_tol=1e-8) (function) of class LinearAlgebra.Spherical.Spherical is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:328: warning: Member Normalized(self) (function) of class LinearAlgebra.Spherical.Spherical is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:440: warning: Member __repr__(self) (function) of class LinearAlgebra.Spherical.Spherical is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:252: warning: Member direction (variable) of class LinearAlgebra.Spherical.Spherical is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:443: warning: Member zero (variable) of class LinearAlgebra.Spherical.Spherical is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:313: warning: argument 'v' of command @param is not found in the argument list of Spherical::__eq__(self, other)
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:313: warning: The following parameter of LinearAlgebra.Spherical.Spherical.__eq__(self, other) is not documented:
|
||||
parameter 'other'
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:388: warning: argument 's1' of command @param is not found in the argument list of Spherical::Distance(v1, v2)
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:388: warning: argument 's2' of command @param is not found in the argument list of Spherical::Distance(v1, v2)
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/Spherical.py:388: warning: The following parameters of LinearAlgebra.Spherical.Spherical.Distance(v1, v2) are not documented:
|
||||
parameter 'v1'
|
||||
parameter 'v2'
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:313: warning: argument 'v' of command @param is not found in the argument list of Spherical::__eq__(self, other)
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:313: warning: The following parameter of LinearAlgebra.Spherical.Spherical.__eq__(self, other) is not documented:
|
||||
parameter 'other'
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:388: warning: argument 's1' of command @param is not found in the argument list of Spherical::Distance(v1, v2)
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:388: warning: argument 's2' of command @param is not found in the argument list of Spherical::Distance(v1, v2)
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/Spherical.py:388: warning: The following parameters of LinearAlgebra.Spherical.Spherical.Distance(v1, v2) are not documented:
|
||||
parameter 'v1'
|
||||
parameter 'v2'
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/SwingTwist.py:6: warning: Member __init__(self, Direction swing, Angle twist) (function) of class LinearAlgebra.SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/SwingTwist.py:65: warning: Member FromAngleAxis(Angle angle, Direction axis) (function) of class LinearAlgebra.SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/SwingTwist.py:82: warning: Member isclose(self, other, rel_tol=1e-9, abs_tol=1e-8) (function) of class LinearAlgebra.SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/SwingTwist.py:6: warning: Member __init__(self, Direction swing, Angle twist) (function) of class LinearAlgebra.SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/SwingTwist.py:65: warning: Member FromAngleAxis(Angle angle, Direction axis) (function) of class LinearAlgebra.SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/SwingTwist.py:82: warning: Member isclose(self, other, rel_tol=1e-9, abs_tol=1e-8) (function) of class LinearAlgebra.SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/SwingTwist.py:13: warning: Member Degrees(float horizontal, float vertical, float twist) (function) of class LinearAlgebra.SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/SwingTwist.py:29: warning: Member Radians(float horizontal, float vertical, float twist) (function) of class LinearAlgebra.SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/SwingTwist.py:54: warning: Member FromQuaternion(Quaternion q) (function) of class LinearAlgebra.SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/build/lib/LinearAlgebra/SwingTwist.py:90: warning: Member Angle(r1, r2) (function) of class LinearAlgebra.SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/SwingTwist.py:13: warning: Member Degrees(float horizontal, float vertical, float twist) (function) of class LinearAlgebra.SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/SwingTwist.py:29: warning: Member Radians(float horizontal, float vertical, float twist) (function) of class LinearAlgebra.SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/SwingTwist.py:54: warning: Member FromQuaternion(Quaternion q) (function) of class LinearAlgebra.SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/LinearAlgebra/LinearAlgebra/SwingTwist.py:90: warning: Member Angle(r1, r2) (function) of class LinearAlgebra.SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/Messages/Messages.py:115: warning: Member __init__(self, network_id, thing) (function) of class RoboidControl-python.Messages.Messages.PoseMsg is not documented.
|
||||
d:/Python/RoboidControl-python/Messages/Messages.py:119: warning: Member Serialize(self, buffer_ref) (function) of class RoboidControl-python.Messages.Messages.PoseMsg is not documented.
|
||||
d:/Python/RoboidControl-python/Messages/Messages.py:116: warning: Member network_id (variable) of class RoboidControl-python.Messages.Messages.PoseMsg is not documented.
|
||||
d:/Python/RoboidControl-python/Messages/Messages.py:117: warning: Member thing (variable) of class RoboidControl-python.Messages.Messages.PoseMsg is not documented.
|
||||
d:/Python/RoboidControl-python/Messages/NetworkIdMsg.py:7: warning: Member id (variable) of class RoboidControl-python.Messages.NetworkIdMsg.NetworkIdMsg is not documented.
|
||||
d:/Python/RoboidControl-python/Messages/NetworkIdMsg.py:8: warning: Member length (variable) of class RoboidControl-python.Messages.NetworkIdMsg.NetworkIdMsg is not documented.
|
||||
d:/Python/RoboidControl-python/Messages/NetworkIdMsg.py:10: warning: Member network_id (variable) of class RoboidControl-python.Messages.NetworkIdMsg.NetworkIdMsg is not documented.
|
||||
d:/Python/RoboidControl-python/Messages/ParticipantMsg.py:53: warning: Member SendTo(participant, network_id) (function) of class RoboidControl-python.Messages.ParticipantMsg.ParticipantMsg is not documented.
|
||||
d:/Python/RoboidControl-python/Messages/ParticipantMsg.py:64: warning: Member Publish(participant, network_id) (function) of class RoboidControl-python.Messages.ParticipantMsg.ParticipantMsg is not documented.
|
||||
d:/Python/RoboidControl-python/Messages/ParticipantMsg.py:41: warning: Member Serialized(buffer_ref, network_id) (function) of class RoboidControl-python.Messages.ParticipantMsg.ParticipantMsg is not documented.
|
||||
d:/Python/RoboidControl-python/Messages/ParticipantMsg.py:21: warning: Member network_id (variable) of class RoboidControl-python.Messages.ParticipantMsg.ParticipantMsg is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:71: warning: Member Isolated() (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:78: warning: Member GetParticipant(self, ip_address, port) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:88: warning: Member AddParticipant(self, ip_address, port) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:123: warning: Member SendThingInfo(self, owner, thing, bool recursively=False) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:135: warning: Member Send(self, owner, msg) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:144: warning: Member Publish(self, msg) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:157: warning: Member Receiver(self) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:169: warning: Member ReceiveData(self, data, sender) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:188: warning: Member ProcessParticipantMsg(self, sender, ParticipantMsg msg) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:191: warning: Member ProcessNetworkIdMsg(self, sender, NetworkIdMsg msg) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:201: warning: Member ProcessInvestigateMsg(self, bytearray data) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:204: warning: Member ProcessThingMsg(self, ThingMsg msg) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:216: warning: Member ProcessNameMsg(self, NameMsg msg) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:219: warning: Member ProcessModelUrlMsg(self, ModelUrlMsg msg) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:222: warning: Member ProcessBinaryMsg(self, BinaryMsg msg) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:228: warning: Member Register(self, constructor, thing_type) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:231: warning: Member OnNewThing(self, event_handler) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:234: warning: Member OnNewThingType(self, thing_type, event_handler) (function) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:43: warning: Member local_port (variable) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:61: warning: Member publishInterval (variable) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:63: warning: Member udp_socket (variable) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:109: warning: Member nextPublishMe (variable) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:150: warning: Member port (variable) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:29: warning: Member buffer (variable) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:32: warning: Member nextPublishMe (variable) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:34: warning: Member thread (variable) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:35: warning: Member name (variable) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/ParticipantUDP.py:36: warning: Member isolated_participant (variable) of class RoboidControl-python.ParticipantUDP.ParticipantUDP is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:106: warning: Member Update(self, currentTime) (function) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:111: warning: Member ProcessBinary(self, data) (function) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:115: warning: Member SetParent(self, parent) (function) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:124: warning: Member AddChild(self, child) (function) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:131: warning: Member RemoveChild(self, child) (function) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:134: warning: Member GenerateBinary(self, buffer, ix_ref) (function) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:45: warning: Member children (variable) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:75: warning: Member pose_updated (variable) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:82: warning: Member position (variable) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:83: warning: Member position_updated (variable) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:89: warning: Member orientation (variable) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:90: warning: Member orientation_updated (variable) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:96: warning: Member linear_velocity (variable) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:97: warning: Member linear_velocity_updated (variable) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:103: warning: Member angular_velocity (variable) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:104: warning: Member angular_velocity_updated (variable) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:28: warning: Member Position (variable) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:29: warning: Member Orientation (variable) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:30: warning: Member LinearVelocity (variable) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:31: warning: Member AngularVelocity (variable) of class RoboidControl-python.Thing.Thing is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:94: warning: argument 'linearVelocity' of command @param is not found in the argument list of Thing::SetLinearVelocity(self, linear_velocity)
|
||||
d:/Python/RoboidControl-python/Thing.py:94: warning: The following parameter of RoboidControl-python.Thing.Thing.SetLinearVelocity(self, linear_velocity) is not documented:
|
||||
parameter 'linear_velocity'
|
||||
d:/Python/RoboidControl/Thing.py:87: warning: argument 'angularVelocity' of command @param is not found in the argument list of Thing::SetAngularVelocity(self, angular_velocity)
|
||||
d:/Python/RoboidControl/Thing.py:87: warning: The following parameter of RoboidControl.Thing.Thing.SetAngularVelocity(self, angular_velocity) is not documented:
|
||||
d:/Python/RoboidControl-python/Thing.py:101: warning: argument 'angularVelocity' of command @param is not found in the argument list of Thing::SetAngularVelocity(self, angular_velocity)
|
||||
d:/Python/RoboidControl-python/Thing.py:101: warning: The following parameter of RoboidControl-python.Thing.Thing.SetAngularVelocity(self, angular_velocity) is not documented:
|
||||
parameter 'angular_velocity'
|
||||
d:/Python/RoboidControl/Thing.py:10: warning: Member Undetermined (variable) of class RoboidControl.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:12: warning: Member Switch (variable) of class RoboidControl.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:13: warning: Member DistanceSensor (variable) of class RoboidControl.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:14: warning: Member DirectionalSensor (variable) of class RoboidControl.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:15: warning: Member TemperatureSensor (variable) of class RoboidControl.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl/Thing.py:16: warning: Member Animator (variable) of class RoboidControl.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl/LinearAlgebra/SwingTwist.py:6: warning: Member __init__(self, Direction swing, float twist) (function) of class SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl/LinearAlgebra/SwingTwist.py:18: warning: Member Degrees(float horizontal, float vertical, float twist) (function) of class SwingTwist.SwingTwist is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:11: warning: Member Undetermined (variable) of class RoboidControl-python.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:13: warning: Member Switch (variable) of class RoboidControl-python.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:14: warning: Member DistanceSensor (variable) of class RoboidControl-python.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:15: warning: Member DirectionalSensor (variable) of class RoboidControl-python.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:16: warning: Member TemperatureSensor (variable) of class RoboidControl-python.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:17: warning: Member TouchSensor (variable) of class RoboidControl-python.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:19: warning: Member ControlledMotor (variable) of class RoboidControl-python.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:20: warning: Member UncontrolledMotor (variable) of class RoboidControl-python.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:21: warning: Member Servo (variable) of class RoboidControl-python.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:23: warning: Member Roboid (variable) of class RoboidControl-python.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:24: warning: Member Humanoid (variable) of class RoboidControl-python.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:25: warning: Member ExternalSensor (variable) of class RoboidControl-python.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl-python/Thing.py:26: warning: Member Animator (variable) of class RoboidControl-python.Thing.Thing.Type is not documented.
|
||||
d:/Python/RoboidControl-python/Participants/SiteServer.py:44: warning: Member ProcessParticipantMsg(self, sender, msg) (function) of class SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl-python/Participants/SiteServer.py:51: warning: Member ProcessNetworkId(self, msg) (function) of class SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl-python/Participants/SiteServer.py:24: warning: Member isolated (variable) of class SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl-python/Participants/SiteServer.py:25: warning: Member remote_site (variable) of class SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl-python/Participants/SiteServer.py:32: warning: Member publishInterval (variable) of class SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl-python/Participants/SiteServer.py:14: warning: Member name (variable) of class SiteServer.SiteServer is not documented.
|
||||
d:/Python/RoboidControl-python/README.md:12: warning: unable to resolve reference to 'RoboidControl::Thing::Thing' for \ref command
|
||||
d:/Python/RoboidControl-python/README.md:13: warning: unable to resolve reference to 'RoboidControl::ParticipantUDP::ParticipantUDP' for \ref command
|
||||
|
@ -3,14 +3,14 @@ from os import path
|
||||
sys.path.append(path.abspath(path.join(path.dirname(__file__), '..')))
|
||||
import time
|
||||
|
||||
from LocalParticipant import LocalParticipant
|
||||
from ParticipantUDP import ParticipantUDP
|
||||
from Thing import *
|
||||
from Things.DifferentialDrive import DifferentialDrive
|
||||
from Things.TouchSensor import TouchSensor
|
||||
|
||||
# Create a local participant for handling communcation
|
||||
# using default settings (UDP communciation over port 7681)
|
||||
participant = LocalParticipant(port=7681, local_port=7682, ip_address="127.0.0.1")
|
||||
participant = ParticipantUDP(port=7681, local_port=7682, ip_address="127.0.0.1")
|
||||
# The robot's propulsion is a differential drive
|
||||
bb2b = DifferentialDrive(participant)
|
||||
bb2b.name = "BB2B"
|
||||
|
@ -6,17 +6,14 @@ class BinaryMsg():
|
||||
|
||||
def __init__(self, data, thing = None):
|
||||
if isinstance(data, bytes):
|
||||
self.network_id = data[1]
|
||||
self.thing_id = data[2]
|
||||
#self.thing: Thing = Thing.Get(self.network_id, self.thing_id)
|
||||
self.data = data[3:]
|
||||
else:
|
||||
self.network_id = data
|
||||
self.thing_id = thing.id
|
||||
self.thing = thing
|
||||
|
||||
def Serialize(self, buffer_ref):
|
||||
if self.network_id is None or self.thing_id is None:
|
||||
if self.thing_id is None:
|
||||
return 0
|
||||
|
||||
buffer: bytearray = buffer_ref[0]
|
||||
@ -26,23 +23,6 @@ class BinaryMsg():
|
||||
return 0
|
||||
|
||||
buffer[0] = self.id
|
||||
buffer[1] = self.network_id
|
||||
buffer[1] = 0 # network_id
|
||||
buffer[2] = self.thing_id
|
||||
return ix
|
||||
|
||||
|
||||
# def SendTo(participant, thing, data: bytearray):
|
||||
# length = 3
|
||||
|
||||
# if thing.network_id is None or thing is None or data is None:
|
||||
# return False
|
||||
|
||||
# participant.buffer[0:length] = [
|
||||
# BinaryMsg.id,
|
||||
# participant.network_id,
|
||||
# thing.id
|
||||
# ]
|
||||
# full_length = length + len(data)
|
||||
# participant.buffer[length:full_length] = data
|
||||
# participant.SendBuffer(full_length)
|
||||
# return True
|
@ -4,5 +4,4 @@ class InvestigateMsg():
|
||||
length = 3
|
||||
|
||||
def __init__(self, buffer):
|
||||
self.network_id = buffer[1]
|
||||
self.thing_id = buffer[2]
|
||||
|
@ -4,10 +4,10 @@ from LinearAlgebra.Angle import Angle
|
||||
|
||||
def SendAngle8(buffer, ix_ref, angle):
|
||||
"""! Send an 8-bit angle value """
|
||||
angle = Angle.Normalize(angle)
|
||||
# angle = Angle.Normalize(angle)
|
||||
|
||||
ix = ix_ref[0]
|
||||
buffer[ix] = int((angle / 360) * 256).to_bytes(1, 'big', signed=True)[0]
|
||||
buffer[ix] = int((angle.InDegrees() / 360) * 256).to_bytes(1, 'big', signed=True)[0]
|
||||
ix_ref[0] += 1
|
||||
|
||||
def SendFloat16(buffer, ix_ref, value):
|
||||
|
@ -22,143 +22,69 @@ class IMessage:
|
||||
return False
|
||||
return participant.PublishBuffer(bufferSize)
|
||||
|
||||
# class ParticipantMsg(IMessage):
|
||||
# """! A participant messages notifies other participants of its presence.
|
||||
# class InvestigateMsg():
|
||||
# id = 0x81
|
||||
# length = 3
|
||||
|
||||
# When received by another participant, it can be followed by a NetworkIdMsg
|
||||
# to announce that participant to this client such that it can join privately
|
||||
# def __init__(self, buffer):
|
||||
# self.thing_id = buffer[2]
|
||||
|
||||
# class PoseMsg(IMessage):
|
||||
# """! Message to communicate the pose of the thing
|
||||
|
||||
# The pose is in local space relative to the parent.
|
||||
# If there is not parent (the thing is a root thing), the pose will be in world space.
|
||||
# """
|
||||
# ## The message ID
|
||||
# id: int = 0xA0
|
||||
# id = 0x10
|
||||
# ## The length of the message
|
||||
# length: int = 2
|
||||
# ## The network ID known by the participant.
|
||||
# network_id: int = None
|
||||
# length = 4
|
||||
|
||||
# def __init__(self, network_id: int):
|
||||
# """! Create a new message for sending
|
||||
# @param network_id The network ID known by the participant. Use 0 if it is unknown
|
||||
# """
|
||||
# if isinstance(network_id, int):
|
||||
# self.network_id = network_id
|
||||
# elif isinstance(network_id, bytes):
|
||||
# self.network_id = network_id[1]
|
||||
# def __init__(self, thing):
|
||||
# self.thing = thing
|
||||
|
||||
# def Serialize(self, buffer_ref):
|
||||
# """! Serialize the message into a byte array.
|
||||
# @param buffer_ref The buffer to serialize into
|
||||
# @return The length of the message in the buffer
|
||||
# """
|
||||
# if buffer_ref is None or self.network_id is None:
|
||||
# if self.thing is None:
|
||||
# return 0
|
||||
|
||||
# buffer: bytearray = buffer_ref[0]
|
||||
# buffer[0:ParticipantMsg.length] = [
|
||||
# ParticipantMsg.id,
|
||||
# self.network_id
|
||||
# buffer[0:PoseMsg.length] = [
|
||||
# PoseMsg.id,
|
||||
# 0, # Network id
|
||||
# self.thing.id,
|
||||
# self.thing.pose_updated
|
||||
# ]
|
||||
# return ParticipantMsg.length
|
||||
# ix = [4]
|
||||
# if self.thing.pose_updated & Thing.Position:
|
||||
# LowLevelMessages.SendSpherical(buffer, ix, self.thing.position)
|
||||
# if self.thing.pose_updated & Thing.Orientation:
|
||||
# LowLevelMessages.SendQuat32(buffer, ix, self.thing.orientation)
|
||||
# if self.thing.pose_updated & Thing.LinearVelocity:
|
||||
# LowLevelMessages.SendSpherical(buffer, ix, self.thing.linearVelocity)
|
||||
# if self.thing.pose_updated & Thing.AngularVelocity:
|
||||
# LowLevelMessages.SendSpherical(buffer, ix, self.thing.angularVelocity)
|
||||
# return ix[0]
|
||||
|
||||
# ## A network id message invites another participant to a site
|
||||
# #
|
||||
# ## This can be sent in response to a ClientMsg
|
||||
# class NetworkIdMsg(IMessage):
|
||||
# id = 0xA1
|
||||
# length = 2
|
||||
# class BinaryMsg():
|
||||
# id = 0xB1
|
||||
|
||||
# network_id = None
|
||||
|
||||
# ## Create a network id message
|
||||
# #
|
||||
# # @param network_id The network id assigned to the remote participant.
|
||||
# def __init__(self, network_id):
|
||||
# self.network_id = None
|
||||
# if isinstance(network_id, int):
|
||||
# self.network_id = network_id
|
||||
# elif isinstance(network_id, bytes):
|
||||
# self.network_id = network_id[1]
|
||||
# def __init__(self, buffer):
|
||||
# self.thing_id = buffer[2]
|
||||
# self.thing = Thing.Get(self.thing_id)
|
||||
# self.data = buffer[3:]
|
||||
|
||||
# ## Serialize the message into the given buffer
|
||||
# #
|
||||
# ## @param buffer_ref A reference to the buffer to use. This should be a list with the buffer as its first and only element
|
||||
# ## @returns the length of the message
|
||||
# def Serialize(self, buffer_ref):
|
||||
# if self.network_id is None:
|
||||
# return 0
|
||||
# def SendTo(participant, thing, data: bytearray):
|
||||
# length = 3
|
||||
|
||||
# if thing is None or data is None:
|
||||
# return False
|
||||
|
||||
# buffer: bytearray = buffer_ref[0]
|
||||
# buffer[0:NetworkIdMsg.length] = [
|
||||
# NetworkIdMsg.id,
|
||||
# self.network_id
|
||||
# participant.buffer[0:length] = [
|
||||
# BinaryMsg.id,
|
||||
# 0, # network_id,
|
||||
# thing.id
|
||||
# ]
|
||||
# return NetworkIdMsg.length
|
||||
|
||||
class InvestigateMsg():
|
||||
id = 0x81
|
||||
length = 3
|
||||
|
||||
def __init__(self, buffer):
|
||||
self.network_id = buffer[1]
|
||||
self.thing_id = buffer[2]
|
||||
|
||||
class PoseMsg(IMessage):
|
||||
"""! Message to communicate the pose of the thing
|
||||
|
||||
The pose is in local space relative to the parent.
|
||||
If there is not parent (the thing is a root thing), the pose will be in world space.
|
||||
"""
|
||||
## The message ID
|
||||
id = 0x10
|
||||
## The length of the message
|
||||
length = 4
|
||||
|
||||
def __init__(self, network_id, thing):
|
||||
self.network_id = network_id
|
||||
self.thing = thing
|
||||
|
||||
def Serialize(self, buffer_ref):
|
||||
if (self.network_id is None) or (self.thing is None):
|
||||
return 0
|
||||
|
||||
buffer: bytearray = buffer_ref[0]
|
||||
buffer[0:PoseMsg.length] = [
|
||||
PoseMsg.id,
|
||||
self.network_id,
|
||||
self.thing.id,
|
||||
self.thing.pose_updated
|
||||
]
|
||||
ix = [4]
|
||||
if self.thing.pose_updated & Thing.Position:
|
||||
LowLevelMessages.SendSpherical(buffer, ix, self.thing.position)
|
||||
if self.thing.pose_updated & Thing.Orientation:
|
||||
LowLevelMessages.SendQuat32(buffer, ix, self.thing.orientation)
|
||||
if self.thing.pose_updated & Thing.LinearVelocity:
|
||||
LowLevelMessages.SendSpherical(buffer, ix, self.thing.linearVelocity)
|
||||
if self.thing.pose_updated & Thing.AngularVelocity:
|
||||
LowLevelMessages.SendSpherical(buffer, ix, self.thing.angularVelocity)
|
||||
return ix[0]
|
||||
|
||||
class BinaryMsg():
|
||||
id = 0xB1
|
||||
|
||||
def __init__(self, buffer):
|
||||
self.network_id = buffer[1]
|
||||
self.thing_id = buffer[2]
|
||||
self.thing = Thing.Get(self.network_id, self.thing_id)
|
||||
self.data = buffer[3:]
|
||||
|
||||
def SendTo(participant, thing, data: bytearray):
|
||||
length = 3
|
||||
|
||||
if thing.network_id is None or thing is None or data is None:
|
||||
return False
|
||||
|
||||
participant.buffer[0:length] = [
|
||||
BinaryMsg.id,
|
||||
participant.network_id,
|
||||
thing.id
|
||||
]
|
||||
full_length = length + len(data)
|
||||
participant.buffer[length:full_length] = data
|
||||
participant.SendBuffer(full_length)
|
||||
return True
|
||||
# full_length = length + len(data)
|
||||
# participant.buffer[length:full_length] = data
|
||||
# participant.SendBuffer(full_length)
|
||||
# return True
|
@ -4,24 +4,21 @@ class ModelUrlMsg(IMessage):
|
||||
id = 0x90
|
||||
length = 4
|
||||
|
||||
network_id = None
|
||||
thing_id = None
|
||||
url = None
|
||||
|
||||
def __init__(self, data, thing = None):
|
||||
if isinstance(data, bytes):
|
||||
self.network_id = data[1]
|
||||
self.thing_id = data[2]
|
||||
# model url length is not needed here
|
||||
self.url = data[ModelUrlMsg.length:].decode("utf-8")
|
||||
else:
|
||||
self.network_id = data
|
||||
if thing is not None:
|
||||
self.thing_id = thing.id
|
||||
self.url = thing.model_url
|
||||
|
||||
def Serialize(self, buffer_ref):
|
||||
if self.network_id is None or self.thing_id is None or self.url is None:
|
||||
if self.thing_id is None or self.url is None:
|
||||
return 0
|
||||
|
||||
buffer: bytearray = buffer_ref[0]
|
||||
@ -34,7 +31,7 @@ class ModelUrlMsg(IMessage):
|
||||
|
||||
buffer[0:ModelUrlMsg.length] = [
|
||||
ModelUrlMsg.id,
|
||||
self.network_id,
|
||||
0, # network_id,
|
||||
self.thing_id,
|
||||
url_length
|
||||
]
|
||||
|
@ -9,18 +9,16 @@ class NameMsg(IMessage):
|
||||
|
||||
def __init__(self, data, thing = None):
|
||||
if isinstance(data, bytes):
|
||||
self.network_id = data[1]
|
||||
self.thing_id = data[2]
|
||||
# name_length is not needed here
|
||||
self.name = data[NameMsg.length:].decode("utf-8")
|
||||
else:
|
||||
self.network_id = data
|
||||
if thing is not None:
|
||||
self.thing_id = thing.id
|
||||
self.name = thing.name
|
||||
|
||||
def Serialize(self, buffer_ref):
|
||||
if self.network_id is None or self.thing_id is None or self.name is None:
|
||||
if self.thing_id is None or self.name is None:
|
||||
return 0
|
||||
|
||||
buffer: bytearray = buffer_ref[0]
|
||||
@ -33,7 +31,7 @@ class NameMsg(IMessage):
|
||||
|
||||
buffer[0:NameMsg.length] = [
|
||||
NameMsg.id,
|
||||
self.network_id,
|
||||
0, #self.network_id,
|
||||
self.thing_id,
|
||||
name_length
|
||||
]
|
||||
|
@ -7,30 +7,20 @@ class NetworkIdMsg(IMessage):
|
||||
id = 0xA1
|
||||
length = 2
|
||||
|
||||
network_id = None
|
||||
|
||||
## Create a network id message
|
||||
#
|
||||
# @param network_id The network id assigned to the remote participant.
|
||||
def __init__(self, network_id):
|
||||
self.network_id = None
|
||||
if isinstance(network_id, int):
|
||||
self.network_id = network_id
|
||||
elif isinstance(network_id, bytes):
|
||||
self.network_id = network_id[1]
|
||||
def __init__(self, data = None):
|
||||
pass
|
||||
|
||||
## Serialize the message into the given buffer
|
||||
#
|
||||
## @param buffer_ref A reference to the buffer to use. This should be a list with the buffer as its first and only element
|
||||
## @returns the length of the message
|
||||
def Serialize(self, buffer_ref):
|
||||
if self.network_id is None:
|
||||
return 0
|
||||
|
||||
def Serialize(self, buffer_ref):
|
||||
buffer: bytearray = buffer_ref[0]
|
||||
buffer[0:NetworkIdMsg.length] = [
|
||||
NetworkIdMsg.id,
|
||||
self.network_id
|
||||
0
|
||||
]
|
||||
return NetworkIdMsg.length
|
||||
|
||||
|
@ -10,63 +10,23 @@ class ParticipantMsg(IMessage):
|
||||
id: int = 0xA0
|
||||
## The length of the message
|
||||
length: int = 2
|
||||
## The network ID known by the participant.
|
||||
network_id: int = None
|
||||
|
||||
def __init__(self, network_id: int):
|
||||
def __init__(self, data = None):
|
||||
"""! Create a new message for sending
|
||||
@param network_id The network ID known by the participant. Use 0 if it is unknown
|
||||
"""
|
||||
if isinstance(network_id, int):
|
||||
self.network_id = network_id
|
||||
elif isinstance(network_id, bytes):
|
||||
self.network_id = network_id[1]
|
||||
pass
|
||||
|
||||
def Serialize(self, buffer_ref):
|
||||
"""! Serialize the message into a byte array.
|
||||
@param buffer_ref The buffer to serialize into
|
||||
@return The length of the message in the buffer
|
||||
"""
|
||||
if buffer_ref is None or self.network_id is None:
|
||||
if buffer_ref is None:
|
||||
return 0
|
||||
|
||||
buffer: bytearray = buffer_ref[0]
|
||||
buffer[0:ParticipantMsg.length] = [
|
||||
ParticipantMsg.id,
|
||||
self.network_id
|
||||
0, # network_id
|
||||
]
|
||||
return ParticipantMsg.length
|
||||
|
||||
@staticmethod
|
||||
def Serialized(buffer_ref, network_id):
|
||||
if buffer_ref is None or network_id is None:
|
||||
return 0
|
||||
|
||||
buffer: bytearray = buffer_ref[0]
|
||||
buffer[0:ParticipantMsg.length] = [
|
||||
ParticipantMsg.id,
|
||||
network_id
|
||||
]
|
||||
return ParticipantMsg.length
|
||||
|
||||
# Send the network_id to the participant
|
||||
def SendTo(participant, network_id):
|
||||
if participant is None or network_id is None:
|
||||
return False
|
||||
|
||||
participant.buffer[0:2] = [
|
||||
ParticipantMsg.id,
|
||||
network_id
|
||||
]
|
||||
participant.SendBuffer(ParticipantMsg.length)
|
||||
|
||||
# Publish the network_id
|
||||
def Publish(participant, network_id):
|
||||
if participant is None or network_id is None:
|
||||
return False
|
||||
|
||||
participant.buffer[0:2] = [
|
||||
ParticipantMsg.id,
|
||||
network_id
|
||||
]
|
||||
participant.PublishBuffer(ParticipantMsg.length)
|
@ -10,8 +10,7 @@ class PoseMsg():
|
||||
LinearVelocity = 0x04
|
||||
AngularVelocity = 0x08
|
||||
|
||||
def __init__(self, network_id, thing, force: bool = False):
|
||||
self.network_id = network_id
|
||||
def __init__(self, thing, force: bool = False):
|
||||
self.thing = thing
|
||||
self.pose_type = 0
|
||||
if thing.position_updated or force:
|
||||
@ -28,13 +27,13 @@ class PoseMsg():
|
||||
thing.angular_velocity_updated = False
|
||||
|
||||
def Serialize(self, buffer_ref):
|
||||
if (self.network_id is None) or (self.thing is None) or (self.pose_type == 0):
|
||||
if self.thing is None or self.pose_type == 0:
|
||||
return 0
|
||||
|
||||
buffer: bytearray = buffer_ref[0]
|
||||
buffer[0:PoseMsg.length] = [
|
||||
PoseMsg.id,
|
||||
self.network_id,
|
||||
0, # network_id,
|
||||
self.thing.id,
|
||||
self.pose_type
|
||||
]
|
||||
|
@ -4,19 +4,16 @@ class ThingMsg(IMessage):
|
||||
id = 0x80
|
||||
length = 5
|
||||
|
||||
network_id = None
|
||||
thing_id = None
|
||||
thing_type = None
|
||||
parent_id = None
|
||||
|
||||
def __init__(self, data, thing=None):
|
||||
if isinstance(data, bytes):
|
||||
self.network_id = data[1]
|
||||
self.thing_id = data[2]
|
||||
self.thing_type = data[3]
|
||||
self.parent_id = data[4]
|
||||
else:
|
||||
self.network_id = data
|
||||
if thing is not None:
|
||||
self.thing_id = thing.id
|
||||
self.thing_type = thing.type
|
||||
@ -26,13 +23,13 @@ class ThingMsg(IMessage):
|
||||
self.parent_id = 0
|
||||
|
||||
def Serialize(self, buffer_ref):
|
||||
if self.network_id is None or self.thing_id is None:
|
||||
if self.thing_id is None:
|
||||
return 0
|
||||
|
||||
buffer: bytearray = buffer_ref[0]
|
||||
buffer[0:ThingMsg.length] = [
|
||||
ThingMsg.id,
|
||||
self.network_id,
|
||||
0, # network_id,
|
||||
self.thing_id,
|
||||
self.thing_type,
|
||||
self.parent_id
|
||||
|
@ -14,9 +14,6 @@ class Participant:
|
||||
self.ip_address = ip_address
|
||||
## The port number for UDP communication with the participant. This is 0 for isolated participants.
|
||||
self.port = port
|
||||
## The network Id to identify the participant.
|
||||
## @note This field is likely to disappear in future versions
|
||||
self.networkId = 0
|
||||
|
||||
## The things managed by this participant
|
||||
self.things = set()
|
||||
@ -30,23 +27,19 @@ class Participant:
|
||||
thing.id = len(self.things) + 1
|
||||
self.things.add(thing)
|
||||
else:
|
||||
found_thing = self.Get(thing.network_id, thing.id)
|
||||
found_thing = self.Get(thing.id)
|
||||
if found_thing == None:
|
||||
self.things.add(thing)
|
||||
|
||||
def Get(self, network_id, thing_id):
|
||||
def Get(self, thing_id):
|
||||
"""! Find a thing managed by this participant
|
||||
|
||||
@param network_id The network ID for the thing
|
||||
@param thing_id The ID of the thing
|
||||
@return The thing if found or nullptr when no thing has been found
|
||||
@note The use of the network ID is likely to disappear in future versions.
|
||||
"""
|
||||
for thing in self.things:
|
||||
if thing is not None:
|
||||
#if thing.network_id == network_id and thing.id == thing_id:
|
||||
if thing.id == thing_id:
|
||||
return thing
|
||||
if thing is not None and thing.id == thing_id:
|
||||
return thing
|
||||
return None
|
||||
|
||||
def Remove(self, thing):
|
||||
|
@ -17,7 +17,7 @@ micropython = 'micropython' in sys.modules
|
||||
if micropython:
|
||||
from MicroPython.uPythonParticipant import Bla
|
||||
|
||||
class LocalParticipant(Participant):
|
||||
class ParticipantUDP(Participant):
|
||||
"""! A local participant is the local device which can communicate with other participants.
|
||||
|
||||
It manages all local things and communcation with other participants. Each application has a local participant which is usually explicit in the code.
|
||||
@ -27,8 +27,6 @@ class LocalParticipant(Participant):
|
||||
"""
|
||||
|
||||
buffer = None
|
||||
## The network ID of the participant
|
||||
network_id = None
|
||||
nextPublishMe = 0
|
||||
others = None
|
||||
thread = None
|
||||
@ -46,19 +44,17 @@ class LocalParticipant(Participant):
|
||||
# Isolated participants do not communicate with other participants
|
||||
self.isolated = True
|
||||
|
||||
## The remote site when this participant is connected to a site
|
||||
self.remote_site = None
|
||||
## The other participants communicating with this participant
|
||||
self.others = []
|
||||
|
||||
if self.port != 0:
|
||||
self.isolated = False
|
||||
if ip_address is not None:
|
||||
self.remote_site = Participant(ip_address, port)
|
||||
self.others.append(Participant(ip_address, port))
|
||||
|
||||
self.others = []
|
||||
self.network_id = 0
|
||||
self.buffer = bytearray(256)
|
||||
self.thing_msg_processors = {}
|
||||
self.new_thing_handlers = []
|
||||
# self.thing_msg_processors = {}
|
||||
# self.new_thing_handlers = []
|
||||
self.publishInterval = 3000 # 3 seconds
|
||||
|
||||
self.udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
@ -70,9 +66,9 @@ class LocalParticipant(Participant):
|
||||
self.thread.start()
|
||||
|
||||
def Isolated():
|
||||
if LocalParticipant.isolated_participant == None:
|
||||
LocalParticipant.isolated_participant = LocalParticipant(0)
|
||||
return LocalParticipant.isolated_participant
|
||||
if ParticipantUDP.isolated_participant == None:
|
||||
ParticipantUDP.isolated_participant = ParticipantUDP(0)
|
||||
return ParticipantUDP.isolated_participant
|
||||
|
||||
#region Update
|
||||
|
||||
@ -89,7 +85,6 @@ class LocalParticipant(Participant):
|
||||
def AddParticipant(self, ip_address, port):
|
||||
print(f'{self.name} Add participant {ip_address} {port}')
|
||||
remote_participant = Participant(ip_address = ip_address, port = port)
|
||||
remote_participant.network_id = len(self.others)
|
||||
self.others.append(remote_participant)
|
||||
return remote_participant
|
||||
|
||||
@ -99,20 +94,18 @@ class LocalParticipant(Participant):
|
||||
|
||||
if self.isolated == False:
|
||||
if self.publishInterval > 0 and currentTimeMs > self.nextPublishMe:
|
||||
msg = ParticipantMsg(self.network_id)
|
||||
if self.remote_site is None:
|
||||
msg = ParticipantMsg()
|
||||
if self.others.count == 0:
|
||||
self.Publish(msg)
|
||||
else:
|
||||
self.Send(self.remote_site, msg)
|
||||
for other_participant in self.others:
|
||||
self.Send(other_participant, msg)
|
||||
|
||||
print(f'Publish ParticipantMsg {self.network_id}')
|
||||
print(f'Publish ParticipantMsg')
|
||||
self.nextPublishMe = currentTimeMs + self.publishInterval
|
||||
|
||||
for thing in self.things:
|
||||
thing.Update(currentTimeMs)
|
||||
# pose_msg = PoseMsg(self.network_id, thing)
|
||||
# for other in self.others:
|
||||
# self.Send(other, pose_msg)
|
||||
|
||||
super().Update(currentTimeMs)
|
||||
|
||||
@ -121,11 +114,11 @@ class LocalParticipant(Participant):
|
||||
#region Send
|
||||
|
||||
def SendThingInfo(self, owner, thing, recursively: bool = False):
|
||||
self.Send(owner, ThingMsg(self.network_id, thing))
|
||||
self.Send(owner, NameMsg(self.network_id, thing))
|
||||
self.Send(owner, ModelUrlMsg(self.network_id, thing))
|
||||
self.Send(owner, PoseMsg(self.network_id, thing, True))
|
||||
self.Send(owner, BinaryMsg(self.network_id, thing))
|
||||
self.Send(owner, ThingMsg(thing))
|
||||
self.Send(owner, NameMsg(thing))
|
||||
self.Send(owner, ModelUrlMsg(thing))
|
||||
self.Send(owner, PoseMsg(thing, True))
|
||||
self.Send(owner, BinaryMsg(thing))
|
||||
|
||||
if recursively:
|
||||
for child in thing.children:
|
||||
@ -189,29 +182,17 @@ class LocalParticipant(Participant):
|
||||
pass
|
||||
|
||||
def ProcessNetworkIdMsg(self, sender, msg: NetworkIdMsg):
|
||||
print(f'{self.name} receive network id {self.network_id} -> {msg.network_id}')
|
||||
if self.network_id != msg.network_id:
|
||||
self.network_id = msg.network_id
|
||||
print(f'sending all things {len(self.things)}')
|
||||
for thing in self.things:
|
||||
if thing.parent is None:
|
||||
self.SendThingInfo(sender, thing, recursively=True)
|
||||
# self.Send(NameMsg(self.network_id, thing))
|
||||
print(f'{self.name} receive network id')
|
||||
print(f'sending all things {len(self.things)}')
|
||||
for thing in self.things:
|
||||
if thing.parent is None:
|
||||
self.SendThingInfo(sender, thing, recursively=True)
|
||||
|
||||
def ProcessInvestigateMsg(self, data: bytearray):
|
||||
pass
|
||||
|
||||
def ProcessThingMsg(self, msg: ThingMsg):
|
||||
print(f'received thing {msg.network_id} {msg.thing_id}')
|
||||
if msg.thing_type in self.thing_msg_processors:
|
||||
constructor = self.thing_msg_processors[msg.thing_type]
|
||||
constructor(msg.network_id, msg.thing_id)
|
||||
|
||||
# not really 'new' thing, but it is a start
|
||||
thing = Thing.Get(msg.network_id, msg.thing_id)
|
||||
if thing is not None:
|
||||
for handler in self.new_thing_handlers:
|
||||
handler(thing)
|
||||
print(f'received thing {msg.thing_id}')
|
||||
|
||||
def ProcessNameMsg(self, msg: NameMsg):
|
||||
print(f'received name {msg.name}')
|
||||
@ -221,20 +202,8 @@ class LocalParticipant(Participant):
|
||||
|
||||
def ProcessBinaryMsg(self, msg: BinaryMsg):
|
||||
# print('received binary data')
|
||||
thing: Thing = self.Get(msg.network_id, msg.thing_id)
|
||||
thing: Thing = self.Get(msg.thing_id)
|
||||
if thing != None:
|
||||
thing.ProcessBinary(msg.data)
|
||||
|
||||
def Register(self, constructor, thing_type):
|
||||
self.thing_msg_processors[thing_type] = constructor
|
||||
|
||||
def OnNewThing(self, event_handler):
|
||||
self.new_thing_handlers.append(event_handler)
|
||||
|
||||
def OnNewThingType(self, thing_type, event_handler):
|
||||
def ConditionalHandler(thing):
|
||||
if thing.type == thing_type:
|
||||
event_handler(thing)
|
||||
self.new_thing_handlers.append(ConditionalHandler)
|
||||
|
||||
#endregion
|
29
Participants/SiteServer.py
Normal file
29
Participants/SiteServer.py
Normal file
@ -0,0 +1,29 @@
|
||||
from ParticipantUDP import ParticipantUDP
|
||||
from Messages.ParticipantMsg import ParticipantMsg
|
||||
from Messages.NetworkIdMsg import NetworkIdMsg
|
||||
from Things.TemperatureSensor import TemperatureSensor
|
||||
from Thing import Thing
|
||||
|
||||
import socket
|
||||
import threading
|
||||
|
||||
class SiteServer(ParticipantUDP):
|
||||
"""! A site server is a participant which provides a shared simulated environment
|
||||
"""
|
||||
|
||||
name = "Site Server"
|
||||
|
||||
def __init__(self, port=7681):
|
||||
"""! Create a new site server
|
||||
@param port The UDP port on which communication is received
|
||||
"""
|
||||
super().__init__(ip_address = "127.0.0.1", port = port)
|
||||
self.isolated = False # site servers are never isolated
|
||||
self.publishInterval = 0
|
||||
|
||||
def ProcessParticipantMsg(self, sender, msg):
|
||||
print(f'{self.name} received Participant ')
|
||||
self.Send(sender, NetworkIdMsg())
|
||||
|
||||
def ProcessNetworkId(self, msg):
|
||||
pass
|
@ -9,7 +9,5 @@ Supporting:
|
||||
|
||||
# Basic components
|
||||
|
||||
|
||||
- \ref RoboidControl::Thing::Thing "Thing"
|
||||
- \ref RoboidControl::LocalParticipant::LocalParticipant "LocalParticipant"
|
||||
- \ref RoboidControl::SiteServer::SiteServer "SiteServer"
|
||||
- \ref RoboidControl::ParticipantUDP::ParticipantUDP "ParticipantUDP"
|
||||
|
@ -1,52 +0,0 @@
|
||||
from LocalParticipant import LocalParticipant
|
||||
from Messages.ParticipantMsg import ParticipantMsg
|
||||
from Messages.NetworkIdMsg import NetworkIdMsg
|
||||
from Things.TemperatureSensor import TemperatureSensor
|
||||
from Thing import Thing
|
||||
|
||||
import socket
|
||||
import threading
|
||||
|
||||
class SiteServer(LocalParticipant):
|
||||
"""! A site server is a participant which provides a shared simulated environment
|
||||
"""
|
||||
|
||||
name = "Site Server"
|
||||
|
||||
def __init__(self, port=7681):
|
||||
"""! Create a new site server
|
||||
@param port The UDP port on which communication is received
|
||||
"""
|
||||
super().__init__(ip_address = "127.0.0.1", port = port)
|
||||
# self.ip_address = "0.0.0.0"
|
||||
# self.port = port
|
||||
# self.local_port = port
|
||||
self.isolated = False # site servers are never isolated
|
||||
self.remote_site = None # site servers never have remote sites
|
||||
|
||||
# self.others = []
|
||||
# self.network_id = 0
|
||||
# self.buffer = bytearray(256)
|
||||
# self.thing_msg_processors = {}
|
||||
# self.new_thing_handlers = []
|
||||
self.publishInterval = 0
|
||||
|
||||
# self.udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
# self.udp_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
|
||||
# self.udp_socket.bind(("0.0.0.0", self.local_port))
|
||||
|
||||
# self.thread = threading.Thread(target = self.Receiver)
|
||||
# self.thread.daemon = True
|
||||
# self.thread.start()
|
||||
|
||||
self.Register(TemperatureSensor, Thing.Type.TemperatureSensor)
|
||||
|
||||
def ProcessParticipantMsg(self, sender, msg):
|
||||
if msg.network_id == 0:
|
||||
print(f'{self.name} received New Client -> {sender.network_id}')
|
||||
self.Send(sender, NetworkIdMsg(sender.network_id))
|
||||
# else:
|
||||
# print(f'{self.name} Client')
|
||||
|
||||
def ProcessNetworkId(self, msg):
|
||||
pass
|
21
Thing.py
21
Thing.py
@ -30,7 +30,7 @@ class Thing:
|
||||
LinearVelocity = 0x04
|
||||
AngularVelocity = 0x08
|
||||
|
||||
def __init__(self, owner = None, network_id = 0, thing_id = 0, type = Type.Undetermined, parent = None, name = None):
|
||||
def __init__(self, owner = None, thing_id = 0, type = Type.Undetermined, parent = None, name = None):
|
||||
"""! Create a new thing """
|
||||
|
||||
## The parent thing
|
||||
@ -39,16 +39,13 @@ class Thing:
|
||||
owner = parent.owner
|
||||
self.SetParent(parent)
|
||||
elif owner == None:
|
||||
from LocalParticipant import LocalParticipant
|
||||
owner = LocalParticipant.Isolated()
|
||||
from ParticipantUDP import ParticipantUDP
|
||||
owner = ParticipantUDP.Isolated()
|
||||
|
||||
self.children = []
|
||||
|
||||
## The participant owning this thing
|
||||
self.owner = owner
|
||||
## The network ID of this thing
|
||||
## @note This field will likely disappear in future versions
|
||||
self.network_id = network_id
|
||||
## The ID of the thing
|
||||
self.id = thing_id
|
||||
## The type of the thing
|
||||
@ -104,14 +101,10 @@ class Thing:
|
||||
self.angular_velocity_updated = True
|
||||
|
||||
def Update(self, currentTime):
|
||||
pose_msg = PoseMsg(self.network_id, self)
|
||||
pose_msg = PoseMsg(self)
|
||||
for other in self.owner.others:
|
||||
self.owner.Send(other, pose_msg)
|
||||
|
||||
def ProcessBinary(self, data):
|
||||
print('default binary processor')
|
||||
pass
|
||||
|
||||
def SetParent(self, parent):
|
||||
if parent is None:
|
||||
parentThing = self.parent
|
||||
@ -132,4 +125,8 @@ class Thing:
|
||||
self.children.remove(child)
|
||||
|
||||
def GenerateBinary(self, buffer, ix_ref):
|
||||
pass
|
||||
pass
|
||||
|
||||
def ProcessBinary(self, data):
|
||||
print('default binary processor')
|
||||
pass
|
||||
|
@ -65,13 +65,14 @@ class DifferentialDrive(Thing):
|
||||
# This assumes no sideward velocity because diff drive does not support it
|
||||
linear_speed = self.linear_velocity.distance
|
||||
# When the direction is backwards...
|
||||
if self.linear_velocity.direction.horizontal < -90 or self.linear_velocity.direction.horizontal > 90:
|
||||
horizontalAngle = self.linear_velocity.direction.horizontal.InDegrees()
|
||||
if horizontalAngle < -90 or horizontalAngle > 90:
|
||||
linear_speed = -linear_speed
|
||||
|
||||
angular_velocity: Spherical = self.angular_velocity
|
||||
angular_speed: float = angular_velocity.distance * Angle.Deg2Rad # in radians/sec
|
||||
# Determine the rotation direction
|
||||
if angular_velocity.direction.horizontal < 0:
|
||||
if angular_velocity.direction.horizontal.InDegrees() < 0:
|
||||
angular_speed = -angular_speed
|
||||
|
||||
if self.wheel_left is not None and self.wheel_right is not None:
|
||||
|
@ -2,8 +2,8 @@ from Thing import Thing
|
||||
from Messages import LowLevelMessages
|
||||
|
||||
class TemperatureSensor(Thing):
|
||||
def __init__(self, network_id, thing_id):
|
||||
super().__init__(network_id, thing_id, type = Thing.Type.TemperatureSensor)
|
||||
def __init__(self, thing_id):
|
||||
super().__init__(thing_id, type = Thing.Type.TemperatureSensor)
|
||||
self.temp = 0
|
||||
self._watchers = []
|
||||
|
||||
|
@ -1,10 +1,5 @@
|
||||
__all__ = ['Thing',
|
||||
'LocalParticipant',
|
||||
'SiteServer']
|
||||
'ParticipantUDP']
|
||||
|
||||
from .LinearAlgebra.Direction import Direction
|
||||
from .LocalParticipant import LocalParticipant
|
||||
from .ParticipantUDP import ParticipantUDP
|
||||
from .Thing import Thing
|
||||
from .LinearAlgebra.Spherical import Spherical
|
||||
from .LinearAlgebra.SwingTwist import SwingTwist
|
||||
from .SiteServer import SiteServer
|
@ -4,8 +4,8 @@ from pathlib import Path
|
||||
sys.path.append(str(Path(__file__).resolve().parent.parent))
|
||||
import time
|
||||
|
||||
from SiteServer import SiteServer
|
||||
from LocalParticipant import LocalParticipant
|
||||
from Participants.SiteServer import SiteServer
|
||||
from ParticipantUDP import ParticipantUDP
|
||||
from Thing import *
|
||||
from Things.DifferentialDrive import DifferentialDrive
|
||||
from Things.TouchSensor import TouchSensor
|
||||
@ -15,7 +15,7 @@ site = SiteServer(port=7691)
|
||||
|
||||
# Create a local participant for handling communcation
|
||||
# using default settings (UDP communciation over port 7681)
|
||||
participant = LocalParticipant(port=7691, local_port=7683, ip_address="127.0.0.1")
|
||||
participant = ParticipantUDP(port=7691, local_port=7683, ip_address="127.0.0.1")
|
||||
# The robot's propulsion is a differential drive
|
||||
bb2b = DifferentialDrive(participant)
|
||||
bb2b.name = "BB2B"
|
||||
|
@ -8,13 +8,13 @@ sys.path.append(str(Path(__file__).resolve().parent.parent))
|
||||
import unittest
|
||||
|
||||
from Thing import Thing
|
||||
from LocalParticipant import LocalParticipant
|
||||
from SiteServer import SiteServer
|
||||
from ParticipantUDP import ParticipantUDP
|
||||
from Participants.SiteServer import SiteServer
|
||||
|
||||
class ThingTest(unittest.TestCase):
|
||||
|
||||
def test_participant(self):
|
||||
participant: LocalParticipant = LocalParticipant()
|
||||
participant: ParticipantUDP = ParticipantUDP()
|
||||
|
||||
milliseconds = time.time() * 1000
|
||||
start_time = milliseconds
|
||||
@ -33,7 +33,7 @@ class ThingTest(unittest.TestCase):
|
||||
|
||||
def test_site_participant(self):
|
||||
site = SiteServer(port=7681)
|
||||
participant = LocalParticipant(port=7681, ip_address="127.0.0.1", local_port=7682)
|
||||
participant = ParticipantUDP(port=7681, ip_address="127.0.0.1", local_port=7682)
|
||||
|
||||
milliseconds = time.time() * 1000
|
||||
start_time = milliseconds
|
||||
@ -46,7 +46,7 @@ class ThingTest(unittest.TestCase):
|
||||
def test_thing_msg(self):
|
||||
site = SiteServer()
|
||||
|
||||
participant = LocalParticipant(ip_address="127.0.0.1", port=7683)
|
||||
participant = ParticipantUDP(ip_address="127.0.0.1", port=7683)
|
||||
thing = Thing()
|
||||
thing.name = "First thing"
|
||||
thing.model_url = "https://passer.life/extras/ant.jpg"
|
||||
|
Loading…
x
Reference in New Issue
Block a user