From e4f009b63e07337114d4857bc29807daa872ba18 Mon Sep 17 00:00:00 2001 From: Clement Date: Fri, 10 Nov 2023 16:42:00 +0100 Subject: [PATCH] docs: shematics (#12) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Clement Reviewed-on: https://git.lab-ouest.org/Epitech/T-IOT-901_convoyor/pulls/12 --- docs/Schématics/Class.puml | 77 +++++++++++++++++++++++++++++++++++ docs/Schématics/Hardware.puml | 22 ++++++++++ 2 files changed, 99 insertions(+) create mode 100644 docs/Schématics/Class.puml create mode 100644 docs/Schématics/Hardware.puml diff --git a/docs/Schématics/Class.puml b/docs/Schématics/Class.puml new file mode 100644 index 0000000..2d66a83 --- /dev/null +++ b/docs/Schématics/Class.puml @@ -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 diff --git a/docs/Schématics/Hardware.puml b/docs/Schématics/Hardware.puml new file mode 100644 index 0000000..4c9a86e --- /dev/null +++ b/docs/Schématics/Hardware.puml @@ -0,0 +1,22 @@ +@startuml hard wiring + +cloud { + [Dolibarr] +} + +package "Convoyeur"{ + [M5 Core] + [Lecteur NFC] as nfc + [Servo Moteur] as servo + [GRBL] + [Stepper Moteur] as Stepper +} + + +[Dolibarr] <-- [M5 Core] : API +[M5 Core] --> servo : IO +[M5 Core] <-- nfc : IC2 +[M5 Core] --> [GRBL] : SPI +[GRBL] --> Stepper + +@enduml