Added homing functionality

pull/93/head
Drachenkatze 2019-08-12 15:46:32 +02:00
parent 8acfa5b7fd
commit e55eeb0cdb
4 changed files with 57 additions and 6 deletions

View File

@ -53,20 +53,22 @@ void PreheatMenu::processKey(char c)
Menu::processKey(c); Menu::processKey(c);
} }
void PreheatMenu::TriggerPreheat(TemperatureMenuItem *item) { void PreheatMenu::TriggerPreheat(TemperatureMenuItem *item)
if (item->preheatBed) { {
if (item->preheatBed)
{
client->preheatBed(item->preset->bed); client->preheatBed(item->preset->bed);
} }
if (item->preheatChamber) { if (item->preheatChamber)
{
client->preheatChamber(item->preset->chamber); client->preheatChamber(item->preset->chamber);
} }
if (item->preheatExtruder) { if (item->preheatExtruder)
{
client->preheatTool(0, item->preset->extruder); client->preheatTool(0, item->preset->extruder);
} }
} }
void PreheatMenu::CreateTemperatureMenu(TemperatureMenuItem *item) void PreheatMenu::CreateTemperatureMenu(TemperatureMenuItem *item)

View File

@ -229,6 +229,45 @@ void OctoPrintClient::preheatBed(int temperature)
WiFiClient printClient = getPostRequest(apiPostData, stringBuffer); WiFiClient printClient = getPostRequest(apiPostData, stringBuffer);
} }
void OctoPrintClient::homeAxis(boolean x, boolean y, boolean z)
{
if (!validate())
{
return;
}
String apiPostData = "POST /api/printer/printhead HTTP/1.1";
const size_t capacity = JSON_ARRAY_SIZE(3) + JSON_OBJECT_SIZE(2);
DynamicJsonBuffer jsonBuffer(capacity);
JsonObject &root = jsonBuffer.createObject();
JsonArray &axes = root.createNestedArray("axes");
if (x)
{
axes.add("x");
}
if (y)
{
axes.add("y");
}
if (z)
{
axes.add("z");
}
root["command"] = "home";
String json;
root.printTo(json);
Serial.println(json);
WiFiClient printClient = getPostRequest(apiPostData, json);
}
void OctoPrintClient::preheatChamber(int temperature) void OctoPrintClient::preheatChamber(int temperature)
{ {
if (!validate()) if (!validate())

View File

@ -79,6 +79,7 @@ public:
void getPrinterPsuState(); void getPrinterPsuState();
void preheatTool(int toolIndex, int temperature); void preheatTool(int toolIndex, int temperature);
void preheatBed(int temperature); void preheatBed(int temperature);
void homeAxis(boolean x, boolean y, boolean z);
void preheatChamber (int temperature); void preheatChamber (int temperature);
void updatePrintClient(String ApiKey, String server, int port, String user, String pass, boolean psu); void updatePrintClient(String ApiKey, String server, int port, String user, String pass, boolean psu);
void updateTemperaturePresets(); void updateTemperaturePresets();

View File

@ -444,6 +444,15 @@ void loop()
case 'B': case 'B':
displayMenu(cooldownMenu); displayMenu(cooldownMenu);
break; break;
case '1':
printerClient.homeAxis(true, false, false);
break;
case '2':
printerClient.homeAxis(false, true, false);
break;
case '3':
printerClient.homeAxis(false, false, true);
break;
} }
} }
} }