53 lines
1016 B
C
53 lines
1016 B
C
/*
|
|
* SPDX-FileCopyrightText: 2024 kerms <kerms@niazo.org>
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
#include "wt_system_api.h"
|
|
#include "wt_system.h"
|
|
#include "api_json_module.h"
|
|
#include "wt_system_json_utils.h"
|
|
|
|
|
|
static int sys_api_json_get_fm_info(api_json_req_t *req)
|
|
{
|
|
wt_fm_info_t info;
|
|
wt_system_get_fm_info(&info);
|
|
req->out = wt_sys_json_ser_fm_info(&info);
|
|
return API_JSON_OK;
|
|
}
|
|
|
|
static int on_json_req(uint16_t cmd, api_json_req_t *req, api_json_module_async_t *async)
|
|
{
|
|
wt_system_cmd_t ota_cmd = cmd;
|
|
switch (ota_cmd) {
|
|
default:
|
|
break;
|
|
case WT_SYS_GET_FM_INFO:
|
|
return sys_api_json_get_fm_info(req);
|
|
case WT_SYS_REBOOT:
|
|
wt_system_reboot();
|
|
return API_JSON_OK;
|
|
case WT_SYS_DO_CRASH: {
|
|
int *ptr = NULL;
|
|
*ptr = 66;
|
|
break;
|
|
}
|
|
}
|
|
return API_JSON_UNSUPPORTED_CMD;
|
|
}
|
|
|
|
|
|
/* ****
|
|
* register module
|
|
* */
|
|
|
|
static int wt_sys_json_init(api_json_module_cfg_t *cfg)
|
|
{
|
|
cfg->on_req = on_json_req;
|
|
cfg->module_id = SYSTEM_MODULE_ID;
|
|
return 0;
|
|
}
|
|
|
|
API_JSON_MODULE_REGISTER(wt_sys_json_init)
|