add class diagram

Co-authored-by: Nicolas SANS <nicolas.sans@epitech.eu>
Co-authored-by: Mathis_Rgt <Mathis-Ragot@users.noreply.github.com>
This commit is contained in:
Clement 2023-11-10 15:58:35 +01:00
parent 89107c7fab
commit 01dc365b0c
2 changed files with 79 additions and 2 deletions

View File

@ -0,0 +1,77 @@
@startuml class
hide empty members
class Dolibarr {
+ String getDestination(String tagID)
+ String createStockMovement(String tagID, String warehouseId)
}
package "Managers" {
abstract AManager {
# ILCDScreen lcd
# IServoMotor servo
# IGRBL grbl
# INFCReader nfc
}
class WarehouseManager
WarehouseManager .|> AManager
}
package "Components" {
package "NFCReader" {
interface INFCReader {
{abstract} char* read()
{abstract} bool hasTag()
}
class RC522
RC522 .|> INFCReader
}
package "LCDScreen" {
interface ILCDScreen {
{abstract} void clearScreen()
{abstract} void draw(int x, int y, int h, int w)
{abstract} void drawRect(int x, int y, int h, int w)
}
class M5LCD
M5LCD .|> ILCDScreen
}
package "GRBL" {
interface IGRBL {
{abstract} drive(int x, int y, int z, int step)
{abstract} step(int s)
}
class M5GRBL
M5GRBL .|> IGRBL
}
package "ServoMotor" {
interface IServoMotor {
{abstract} goLeft()
{abstract} goRight()
{abstract} goMiddle()
}
class ServoMotor
ServoMotor .|> IServoMotor
}
}
class Program {
+ Program()
+ void loop
}
AManager <-- IServoMotor
AManager <-- IGRBL
AManager <-- ILCDScreen
AManager <-- INFCReader
Program <-- WarehouseManager
Program <-- Dolibarr
@enduml

View File

@ -9,12 +9,12 @@ package "Convoyeur"{
[Lecteur NFC] as nfc [Lecteur NFC] as nfc
[Servo Moteur] as servo [Servo Moteur] as servo
[GRBL] [GRBL]
[Stepper] [Stepper Moteur] as Stepper
} }
[Dolibarr] <-- [M5 Core] : API [Dolibarr] <-- [M5 Core] : API
[M5 Core] --> servo [M5 Core] --> servo : IO
[M5 Core] <-- nfc : IC2 [M5 Core] <-- nfc : IC2
[M5 Core] --> [GRBL] : SPI [M5 Core] --> [GRBL] : SPI
[GRBL] --> Stepper [GRBL] --> Stepper