only free up robot if he is working

main
alex 2023-11-02 17:12:23 +01:00
parent b2fa88297a
commit a4eb08d4b9
3 changed files with 12 additions and 33 deletions

View File

@ -174,7 +174,7 @@
{
"description": "Enable or disable permit join. 0 = disable, 1 = enable.",
"name": "enabled",
"in": "path",
"in": "params",
"required": true,
"schema": {
"type": "integer",
@ -371,7 +371,10 @@
"description": "Job freed up"
},
"400": {
"description": "Invalid robot id"
"description": "Invalid request body"
},
"422": {
"description": "Invalid robot id or robot is not running or waiting"
}
}
}
@ -471,31 +474,7 @@
"RobotName": {
"type": "string"
},
"Task": {
"$ref": "#/definitions/ControlTask"
}
},
"x-go-package": "jannex/robot-control-manager/modules/structs"
},
"ControlTask": {
"type": "object",
"properties": {
"ConnectedModule": {
"type": "integer",
"format": "int64"
},
"X": {
"type": "integer",
"format": "int64"
},
"Y": {
"type": "integer",
"format": "int64"
},
"Z": {
"type": "integer",
"format": "int64"
}
"Task": {}
},
"x-go-package": "jannex/robot-control-manager/modules/structs"
},

View File

@ -378,7 +378,7 @@ func FreeUpJob(c *fiber.Ctx) error {
// "400":
// description: Invalid request body
// "422":
// description: Invalid robot id
// description: Invalid robot id or robot is not running or waiting
var params structs.RobotIdParams
@ -393,6 +393,11 @@ func FreeUpJob(c *fiber.Ctx) error {
return c.SendStatus(fiber.StatusUnprocessableEntity)
}
if foundRobot.Status != utils.RobotStatusRunning && foundRobot.Status != utils.RobotStatusWaiting {
logger.AddSystemLog(rslogger.LogTypeWarning, "Robot %v is not running or waiting. Cannot free up job.", params.RobotId)
return c.SendStatus(fiber.StatusUnprocessableEntity)
}
robot.FreeUpJob(foundRobot, utils.RobotStatusIdle)
logger.AddRobotLog(rslogger.LogTypeWarning, foundRobot.Type, foundRobot.Id, "Job freed up")

View File

@ -23,9 +23,6 @@ class RexRobot:
print("permit join disabled")
exit(1) # esp should here restart
def setCurrentJobId(self, jobId):
self.currentJobId = jobId
# generate random id
def randomId():
return random.randint(0, 100)
@ -45,8 +42,6 @@ for i in range(1):
RexRobot("764")
RexRobot("770")'''
#rex = RexRobot("k5")
app = Flask(__name__)