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.", "description": "Enable or disable permit join. 0 = disable, 1 = enable.",
"name": "enabled", "name": "enabled",
"in": "path", "in": "params",
"required": true, "required": true,
"schema": { "schema": {
"type": "integer", "type": "integer",
@ -371,7 +371,10 @@
"description": "Job freed up" "description": "Job freed up"
}, },
"400": { "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": { "RobotName": {
"type": "string" "type": "string"
}, },
"Task": { "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"
}
}, },
"x-go-package": "jannex/robot-control-manager/modules/structs" "x-go-package": "jannex/robot-control-manager/modules/structs"
}, },

View File

@ -378,7 +378,7 @@ func FreeUpJob(c *fiber.Ctx) error {
// "400": // "400":
// description: Invalid request body // description: Invalid request body
// "422": // "422":
// description: Invalid robot id // description: Invalid robot id or robot is not running or waiting
var params structs.RobotIdParams var params structs.RobotIdParams
@ -393,6 +393,11 @@ func FreeUpJob(c *fiber.Ctx) error {
return c.SendStatus(fiber.StatusUnprocessableEntity) 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) robot.FreeUpJob(foundRobot, utils.RobotStatusIdle)
logger.AddRobotLog(rslogger.LogTypeWarning, foundRobot.Type, foundRobot.Id, "Job freed up") logger.AddRobotLog(rslogger.LogTypeWarning, foundRobot.Type, foundRobot.Id, "Job freed up")

View File

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