Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
EffectsMachine committed Jan 10, 2025
2 parents 5a34516 + 511a6d7 commit 47f76d6
Show file tree
Hide file tree
Showing 2 changed files with 182 additions and 1 deletion.
181 changes: 181 additions & 0 deletions RoArm-M2_example/RoArm-M2-S_example.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
#include <ArduinoJson.h>
StaticJsonDocument<256> jsonCmdReceive;
StaticJsonDocument<256> jsonInfoSend;
StaticJsonDocument<256> jsonInfoHttp;

#include <SCServo.h>
#include <Preferences.h>
#include <nvs_flash.h>
#include <esp_system.h>
#include <LittleFS.h>
#include <WiFi.h>
#include <esp_wifi.h>
#include <WebServer.h>
#include <esp_now.h>
#include <nvs_flash.h>

// functions for oled.
#include "oled_ctrl.h"

// functions for RoArm-M2 ctrl.
#include "RoArm-M2_module.h"

// functions for pneumatic modules and lights ctrl.
#include "switch_module.h"

// define json cmd.
#include "json_cmd.h"

// functions for editing the files in flash.
#include "files_ctrl.h"

// advance functions for RoArm-M2 ctrl.
#include "RoArm-M2_advance.h"

// functions for wifi ctrl.
#include "wifi_ctrl.h"

// functions for esp-now.
#include "esp_now_ctrl.h"

// functions for uart json ctrl.
#include "uart_ctrl.h"

// functions for http & web server.
#include "http_server.h"


void setup() {
Serial.begin(115200);
Wire.begin(S_SDA, S_SCL);
while(!Serial) {}

delay(1200);

initOLED();
screenLine_0 = "RoArm-M2";
screenLine_1 = "version: 0.84";
screenLine_2 = "starting...";
screenLine_3 = "";
oled_update();

// init the littleFS funcs in files_ctrl.h
screenLine_2 = screenLine_3;
screenLine_3 = "Initialize LittleFS";
oled_update();
if(InfoPrint == 1){Serial.println("Initialize LittleFS for Flash files ctrl.");}
initFS();

// init the funcs in switch_module.h
screenLine_2 = screenLine_3;
screenLine_3 = "Initialize 12V-switch ctrl";
oled_update();
if(InfoPrint == 1){Serial.println("Initialize the pins used for 12V-switch ctrl.");}
switchPinInit();

// servos power up
screenLine_2 = screenLine_3;
screenLine_3 = "Power up the servos";
oled_update();
if(InfoPrint == 1){Serial.println("Power up the servos.");}
delay(500);

// init servo ctrl functions.
screenLine_2 = screenLine_3;
screenLine_3 = "ServoCtrl init UART2TTL...";
oled_update();
if(InfoPrint == 1){Serial.println("ServoCtrl init UART2TTL...");}
RoArmM2_servoInit();

// check the status of the servos.
screenLine_2 = screenLine_3;
screenLine_3 = "Bus servos status check...";
oled_update();
if(InfoPrint == 1){Serial.println("Bus servos status check...");}
RoArmM2_initCheck(false);

if(InfoPrint == 1 && RoArmM2_initCheckSucceed){
Serial.println("All bus servos status checked.");
}
if(RoArmM2_initCheckSucceed) {
screenLine_2 = "Bus servos: succeed";
} else {
screenLine_2 = "Bus servos: " +
servoFeedback[BASE_SERVO_ID - 11].status +
servoFeedback[SHOULDER_DRIVING_SERVO_ID - 11].status +
servoFeedback[SHOULDER_DRIVEN_SERVO_ID - 11].status +
servoFeedback[ELBOW_SERVO_ID - 11].status +
servoFeedback[GRIPPER_SERVO_ID - 11].status;
}
screenLine_3 = ">>> Moving to init pos...";
oled_update();
RoArmM2_resetPID();
RoArmM2_moveInit();

screenLine_3 = "Reset joint torque to ST_TORQUE_MAX";
oled_update();
if(InfoPrint == 1){Serial.println("Reset joint torque to ST_TORQUE_MAX.");}
RoArmM2_dynamicAdaptation(0, ST_TORQUE_MAX, ST_TORQUE_MAX, ST_TORQUE_MAX, ST_TORQUE_MAX);

screenLine_3 = "WiFi init";
oled_update();
if(InfoPrint == 1){Serial.println("WiFi init.");}
initWifi();

screenLine_3 = "http & web init";
oled_update();
if(InfoPrint == 1){Serial.println("http & web init.");}
initHttpWebServer();

screenLine_3 = "ESP-NOW init";
oled_update();
if(InfoPrint == 1){Serial.println("ESP-NOW init.");}
initEspNow();

screenLine_3 = "RoArm-M2 started";
oled_update();
if(InfoPrint == 1){Serial.println("RoArm-M2 started.");}

getThisDevMacAddress();

updateOledWifiInfo();

screenLine_2 = String("MAC:") + macToString(thisDevMac);
oled_update();

if(InfoPrint == 1){Serial.println("Application initialization settings.");}
createMission("boot", "these cmds run automatically at boot.");
missionPlay("boot", 1);

RoArmM2_handTorqueCtrl(300);
}


void loop() {
serialCtrl();
server.handleClient();

unsigned long curr_time = millis();
if (curr_time - prev_time >= 10){
constantHandle();
prev_time = curr_time;
}

RoArmM2_getPosByServoFeedback();

// esp-now flow ctrl as a flow-leader.
switch(espNowMode) {
case 1: espNowGroupDevsFlowCtrl();break;
case 2: espNowSingleDevFlowCtrl();break;
}

if (InfoPrint == 2) {
RoArmM2_infoFeedback();
}

if(runNewJsonCmd) {
jsonCmdReceiveHandler();
jsonCmdReceive.clear();
runNewJsonCmd = false;
}
}
2 changes: 1 addition & 1 deletion RoArm-M2_example/RoArm-M2_example.ino
Original file line number Diff line number Diff line change
Expand Up @@ -178,4 +178,4 @@ void loop() {
jsonCmdReceive.clear();
runNewJsonCmd = false;
}
}
}

0 comments on commit 47f76d6

Please sign in to comment.