mirror of
https://github.com/BotChain-Robots/firmware.git
synced 2026-07-08 09:37:21 +02:00
52 lines
2.0 KiB
C++
52 lines
2.0 KiB
C++
|
|
#include "RemoteConfig.h"
|
|
#include "ConfigManager.h"
|
|
|
|
void RemoteConfig::register_calls(MessagingInterface &messaging_interface, ConfigManager& config_manager) {
|
|
messaging_interface.register_function(8, [&config_manager](const uint8_t *parameters, size_t parameter_size, Writer& writer) {
|
|
uint16_t value;
|
|
if (parameter_size < sizeof(value)) {
|
|
std::vector<uint8_t> out{0};
|
|
writer.write(out);
|
|
return;
|
|
}
|
|
std::memcpy(&value, parameters, sizeof(value));
|
|
config_manager.set_module_id(value);
|
|
std::vector<uint8_t> out{0};
|
|
writer.write(out);
|
|
esp_restart();
|
|
});
|
|
messaging_interface.register_function(9, [&config_manager](const uint8_t *parameters, size_t parameter_size, Writer& writer) {
|
|
if (parameter_size < 1) {
|
|
std::vector<uint8_t> out{0};
|
|
writer.write(out);
|
|
return;
|
|
}
|
|
config_manager.set_module_type((ModuleType)parameters[0]);
|
|
std::vector<uint8_t> out{1};
|
|
writer.write(out);
|
|
esp_restart();
|
|
});
|
|
messaging_interface.register_function(10, [&config_manager](const uint8_t *parameters, size_t parameter_size, Writer& writer) {
|
|
config_manager.set_wifi_ssid((char*)parameters);
|
|
std::vector<uint8_t> out{1};
|
|
writer.write(out);
|
|
});
|
|
messaging_interface.register_function(11, [&config_manager](const uint8_t *parameters, size_t parameter_size, Writer& writer) {
|
|
config_manager.set_wifi_password((char*)parameters);
|
|
std::vector<uint8_t> out{1};
|
|
writer.write(out);
|
|
});
|
|
messaging_interface.register_function(12, [&config_manager](const uint8_t *parameters, size_t parameter_size, Writer& writer) {
|
|
if (parameter_size < 1) {
|
|
std::vector<uint8_t> out{0};
|
|
writer.write(out);
|
|
return;
|
|
}
|
|
config_manager.set_communication_method((CommunicationMethod)parameters[0]);
|
|
std::vector<uint8_t> out{1};
|
|
writer.write(out);
|
|
esp_restart();
|
|
});
|
|
}
|