diff --git a/config.ini b/config.ini index 6503517..1b6b873 100644 --- a/config.ini +++ b/config.ini @@ -22,7 +22,7 @@ build_flags = -D STEPER_ACC=200 ;-D STEPER_PAS=755.906 ; = 65mm -D STEPER_PAS=58 ; = 5mm - -D STEPER_SPEED=2700 ;1000 ; 2500 + -D STEPER_SPEED=2000 ;1000 ; 2500 -D GRBL_UPDATE=165 ;update time in ms ;;;;;;;;;;;;;;;;;;;;;; ;;; App config ;;; @@ -40,4 +40,4 @@ build_flags = - -D CONVOYER_LEN=80 ;mm + -D CONVOYER_LEN=70 ; 80 ;mm diff --git a/docs/Schématics/Algo.puml b/docs/Schématics/Algo.puml new file mode 100644 index 0000000..beac7fe --- /dev/null +++ b/docs/Schématics/Algo.puml @@ -0,0 +1,23 @@ +@startuml algo + +!pragma useVerticalIf on + +start + +:teste périphérique; + +:gestion bourrage colis; + +if (NFC détecter) then (oui) + :j'affiche le tag lu; + :je récupère le produit sur Dolibarr; + :gestion erreur; + :je crée un mouvement de stock Dolibarr; + :gestion erreur; + :je bouge l'aiguillage de destination; + :j'avance de la longueur du tapis; +else (non) + :avance tapis; +endif +stop +@enduml diff --git a/docs/Schématics/Class.puml b/docs/Schématics/Class.puml index 2d66a83..4f71d52 100644 --- a/docs/Schématics/Class.puml +++ b/docs/Schématics/Class.puml @@ -8,18 +8,6 @@ class Dolibarr { + 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" { @@ -66,12 +54,11 @@ class Program { + void loop } -AManager <-- IServoMotor -AManager <-- IGRBL -AManager <-- ILCDScreen -AManager <-- INFCReader +Program <-- IServoMotor +Program <-- IGRBL +Program <-- ILCDScreen +Program <-- INFCReader -Program <-- WarehouseManager -Program <-- Dolibarr +Dolibarr --> Program @enduml diff --git a/lib/M5LCD/src/M5LCD.cpp b/lib/M5LCD/src/M5LCD.cpp index 685dee1..e95bdcf 100644 --- a/lib/M5LCD/src/M5LCD.cpp +++ b/lib/M5LCD/src/M5LCD.cpp @@ -173,6 +173,7 @@ void M5LCD::set_dolibarr_status(AvailableComponentsStatus status) { void M5LCD::update_dashboard() const { if (this->_current_page == DASHBOARD_SCREEN) { + M5.Lcd.clear(); this->show_dashboard(); } } diff --git a/src/Program.cpp b/src/Program.cpp index f9e61b0..92e7f69 100644 --- a/src/Program.cpp +++ b/src/Program.cpp @@ -77,7 +77,7 @@ Program::Program() { lcdScreen = new M5LCD(); lcdScreen->add_log("Initialize M5LCD component...."); this->nfcReader = new NfcReader(NFC_ADDR); - this->servo = new ServoMotorComponent(2, 1, 1); + this->servo = new ServoMotorComponent(2, 1, 1.5); this->servo->setDesiredPosition(Position::MIDDLE); this->grbl = new GRBL(STEPMOTOR_I2C_ADDR); this->outputReader = new BigNfcReader(); @@ -164,8 +164,8 @@ void Program::loop() { } this->grbl->mouveForward(CONVOYER_LEN); } else { - if((this->grbl->isIddle() || (maintenant - this->grblUpdateTime >= GRBL_UPDATE)) && lcdScreen->get_components().grbl == COMPONENT_OK){ - this->grblUpdateTime = maintenant; + if((this->grbl->isIddle()) && lcdScreen->get_components().grbl == COMPONENT_OK){ + //this->grblUpdateTime = maintenant; this->grbl->mouveForward(5); } }