Closed Matheus-de-Sousa closed 1 month ago
O arquivo que será alterado é o DataManager.cpp (branch ble/gatt) ou DataManager.cpp (branch develop), o método que será alterado é o std::string DataManager::listRegistredParamData(). A alteração deve ser feita a partir da develop, mas dependendo da situação a estrutura atual da develop pode mudar (sofrer um merge da BLE_GATT) e ela se tornará como a branch BLE_GATT, então eu coloquei o caminho para o arquivo das duas branches.
Exemplo de criação do json com C++ que pode ser utilizado nessa issue:
#include "cJSON.h"
cJSON *root;
root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "cmdExecd", line);
cJSON_AddStringToObject(root,"data", ret.c_str());
char *my_json_string = cJSON_Print(root);
cJSON_Delete(root);
cJSON_free(my_json_string);
Segue a documentação da biblioteca utilizada no exemplo. Por hora a estrutura do json pode ser algo como chave : valor, entretanto no futuro o ideal é o json armazenar um objeto para cada classe de dados, por exemplo:
{
"speed":{"max": "125", "min":"30", "base":"70"},
"PID":{"kp":"0.90", "ki":"0.12","kd":"0.35"},
"slatmarks":{"markstostop":"5","wheelDiameter":"32","thresholdtocurve":"20"}
}
A estrutura seguiria esse padrão em que as classes seriam separadas em objetos e dentro desses objetos se encontrarão os parâmetros relacionados. Porém, antes apenas criar um json com nome:valor dos parâmetros já servirá para início de testes.
Ao utilizar o comando param_list que retorna a lista de parâmetros, utilizar o formato Json ao invés de string, pois o processamento e interpretação do dado ficará mais simples e padronizada para a utilização no dashboard.