143 lines
3.2 KiB
XML
143 lines
3.2 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<diagram program="umlet" version="14.3.0">
|
||
<zoom_level>10</zoom_level>
|
||
<element>
|
||
<id>UMLClass</id>
|
||
<coordinates>
|
||
<x>460</x>
|
||
<y>60</y>
|
||
<w>220</w>
|
||
<h>510</h>
|
||
</coordinates>
|
||
<panel_attributes><<hardware>>
|
||
MotorControl
|
||
--
|
||
- name: String
|
||
- debug: DebugMqtt*
|
||
- target_power: int8_t = 0
|
||
- power: int8_t = 0
|
||
- direction: uint8_t = 0
|
||
- last_millis: uint64_t = 0;
|
||
- pwm_pin: uint8_t
|
||
- pwm_channel: uint8_t
|
||
- direction_pin_1: uint8_t
|
||
- direction_pin_2: uint8_t
|
||
--
|
||
+ MotorControl()
|
||
+ init(pwm_pin: uint8_t,
|
||
pwm_channel: uint8_t,
|
||
direction_1: uint8_t,
|
||
direction_2: uint8_t,
|
||
name: String)
|
||
+ runMotorControl()
|
||
+ setTargetPower(power: int8_t)
|
||
+ stop()
|
||
+ emergencyStop()
|
||
+ toString()
|
||
+ getPower(): int8_t
|
||
+ getTargetPower(): int8_t
|
||
+ isTargetPowerReached(): bool
|
||
+ isAccelerationPositive(): bool
|
||
+ isAccelerationNegative(): bool
|
||
- setRealPower(power: int8_t)
|
||
- increasePower(power: int8_t)</panel_attributes>
|
||
<additional_attributes/>
|
||
</element>
|
||
<element>
|
||
<id>UMLClass</id>
|
||
<coordinates>
|
||
<x>80</x>
|
||
<y>480</y>
|
||
<w>220</w>
|
||
<h>330</h>
|
||
</coordinates>
|
||
<panel_attributes><<hardware>>
|
||
Speedometer
|
||
--
|
||
- encoder: ESP32Encoder
|
||
- debug: DebugMqtt*
|
||
- name: String
|
||
- speed: double = 0
|
||
- last_millis: uint64_t = 0;
|
||
- bufPos: uint8_t
|
||
- buf: int16_t[BUF_SIZE]
|
||
--
|
||
+ Speedometer()
|
||
+ init(pinA: uint8_t,
|
||
pinB: uint8_t,
|
||
name: String)
|
||
+ runSpeedometer()
|
||
+ setTargetPower(power: int8_t)
|
||
+ getSpeed(): double
|
||
+ getDirection(): uint8_t
|
||
- addValToBuf(val: int16_t)
|
||
- getAverage(): int16_t</panel_attributes>
|
||
<additional_attributes/>
|
||
</element>
|
||
<element>
|
||
<id>UMLClass</id>
|
||
<coordinates>
|
||
<x>70</x>
|
||
<y>60</y>
|
||
<w>270</w>
|
||
<h>370</h>
|
||
</coordinates>
|
||
<panel_attributes>MoveControl
|
||
--
|
||
- debug: DebugMqtt*
|
||
- left_motor: MotorControl*
|
||
- right_motor: MotorControl*
|
||
- left_speedometer: Speedometer*
|
||
- right_speedometer: Speedometer*
|
||
- driving_status: DrivingStatus = stop
|
||
- x_speed: double = 0
|
||
- rotation_speed: double = 0
|
||
- wheelspeed_left_target: double = 0
|
||
- wheelspeed_right_target: double = 0
|
||
--
|
||
+ MoveControl()
|
||
+ init(left_motor: MotorControl*,
|
||
right_motor: MotorControl*,
|
||
left_speedometer: Speedometer*,
|
||
right_speedometer: Speedometer*)
|
||
+ runMoveControl()
|
||
+ setDrivingStatus(status: DrivingStatus)
|
||
+ setSpeed(speed: double)
|
||
+ setRotationspeed(speed: double)
|
||
- calcWheelSpeed()
|
||
- regulateMotors()</panel_attributes>
|
||
<additional_attributes/>
|
||
</element>
|
||
<element>
|
||
<id>UMLClass</id>
|
||
<coordinates>
|
||
<x>700</x>
|
||
<y>60</y>
|
||
<w>220</w>
|
||
<h>330</h>
|
||
</coordinates>
|
||
<panel_attributes><<driveModi>>
|
||
ManualControl
|
||
--
|
||
- encoder: ESP32Encoder
|
||
- debug: DebugMqtt*
|
||
- name: String
|
||
- speed: double = 0
|
||
- last_millis: uint64_t = 0;
|
||
- bufPos: uint8_t
|
||
- buf: int16_t[BUF_SIZE]
|
||
--
|
||
+ Speedometer()
|
||
+ init(pinA: uint8_t,
|
||
pinB: uint8_t,
|
||
name: String)
|
||
+ runSpeedometer()
|
||
+ setTargetPower(power: int8_t)
|
||
+ getSpeed(): double
|
||
+ getDirection(): uint8_t
|
||
- addValToBuf(val: int16_t)
|
||
- getAverage(): int16_t</panel_attributes>
|
||
<additional_attributes/>
|
||
</element>
|
||
</diagram>
|