68 lines
1.6 KiB
C++
68 lines
1.6 KiB
C++
#include "Command.h"
|
|
#include "Application.h"
|
|
#include "LedController.h"
|
|
#include "MqttClient.h"
|
|
#include "esp_console.h"
|
|
#include <argtable3/argtable3.h>
|
|
#include <esp_log.h>
|
|
#include <iostream>
|
|
|
|
static int custom_command(int argc, char **argv) {
|
|
printf("i am amass.\n");
|
|
return 0;
|
|
}
|
|
|
|
static int led_command(int argc, char **argv) {
|
|
for (int i = 0; i < argc; i++) {
|
|
std::cout << i << " " << argv[i] << std::endl;
|
|
}
|
|
LedController::instance()->setDuty(static_cast<LedController::Channel>(atoi(argv[1])), atoi(argv[2]));
|
|
return 0;
|
|
}
|
|
|
|
static int mqtt_command(int argc, char **argv) {
|
|
MqttClient::instance()->initialize(argv[1], argv[2]);
|
|
Application::instance()->setField("mqtt_username", std::string(argv[1]));
|
|
Application::instance()->setField("mqtt_password", std::string(argv[2]));
|
|
return 0;
|
|
}
|
|
|
|
void register_custom() {
|
|
const esp_console_cmd_t heap_cmd = {
|
|
.command = "amass",
|
|
.help = "test command.",
|
|
.hint = NULL,
|
|
.func = &custom_command,
|
|
.argtable = nullptr,
|
|
};
|
|
ESP_ERROR_CHECK(esp_console_cmd_register(&heap_cmd));
|
|
|
|
const esp_console_cmd_t led_cmd = {
|
|
.command = "led",
|
|
.help = "led pwm duty.",
|
|
.hint = NULL,
|
|
.func = &led_command,
|
|
.argtable = nullptr,
|
|
};
|
|
ESP_ERROR_CHECK(esp_console_cmd_register(&led_cmd));
|
|
|
|
const esp_console_cmd_t mqtt_cmd = {
|
|
.command = "mqtt",
|
|
.help = "mqtt client.",
|
|
.hint = NULL,
|
|
.func = &mqtt_command,
|
|
.argtable = nullptr,
|
|
};
|
|
ESP_ERROR_CHECK(esp_console_cmd_register(&mqtt_cmd));
|
|
}
|
|
|
|
Command::Command()
|
|
{
|
|
|
|
}
|
|
|
|
Command::~Command()
|
|
{
|
|
|
|
}
|