esp_nano_hosted/src/nh_ctrl_api.c

40 lines
1.0 KiB
C

#include "nh_ctrl_api.h"
#include "pb_encode.h"
#include "pb_decode.h"
#include "esp_hosted_config.pb.h"
#define NH_XFER_BUF_SIZE 1600
#define NH_SEMAPHORE_EVENT_TIMEOUT 1000
#define NH_SEMAPHORE_REQ_TIMEOUT 5000
static nh_ret_t nh_ctrl_api_general_request(nh_ctrl_api_t *api, CtrlMsg *msg);
nh_ret_t nh_ctrl_api_init(nh_ctrl_api_t *api) {
nh_ret_t ret = NH_RET_SUCCESS;
return ret;
}
nh_ret_t nh_ctrl_api_get_mac(nh_ctrl_api_t *api, uint8_t *mac) {
nh_ret_t ret;
/* TODO: Encode the request */
CtrlMsg req_msg = CtrlMsg_init_zero;
req_msg.msg_type = CtrlMsgType_Req;
req_msg.msg_id = CtrlMsgId_Req_GetMACAddress;
req_msg.payload.req_get_mac_address.mode = Ctrl_WifiMode_STA;
ret = nh_ctrl_api_general_request(api, &req_msg);
return ret;
}
static nh_ret_t nh_ctrl_api_general_request(nh_ctrl_api_t *api, CtrlMsg *msg) {
nh_ret_t ret;
pb_ostream_t ostream = pb_ostream_from_buffer(api->p_buf_tx, NH_XFER_BUF_SIZE);
pb_encode(&ostream, CtrlMsg_fields, msg);
}