Added homing functionality
parent
8acfa5b7fd
commit
e55eeb0cdb
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue