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);
}
void PreheatMenu::TriggerPreheat(TemperatureMenuItem *item) {
if (item->preheatBed) {
void PreheatMenu::TriggerPreheat(TemperatureMenuItem *item)
{
if (item->preheatBed)
{
client->preheatBed(item->preset->bed);
}
if (item->preheatChamber) {
if (item->preheatChamber)
{
client->preheatChamber(item->preset->chamber);
}
if (item->preheatExtruder) {
if (item->preheatExtruder)
{
client->preheatTool(0, item->preset->extruder);
}
}
void PreheatMenu::CreateTemperatureMenu(TemperatureMenuItem *item)

View File

@ -229,6 +229,45 @@ void OctoPrintClient::preheatBed(int temperature)
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)
{
if (!validate())

View File

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

View File

@ -444,6 +444,15 @@ void loop()
case 'B':
displayMenu(cooldownMenu);
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;
}
}
}