#include "get_json.h"
#include "cJSON.h"
#include "bsp_uart.h"
#include "string.h"

uint8_t uart_rx_buffer[1024];
json_data_struct json_data;

int get_Json_data(void)
{
		int result = -1;
		uint16_t uart_get_num =  usart_rx_get_rx_data_count(USART_3_TR);
		uint16_t arry_size = 0;
		
		if(uart_get_num > 0)
		{
				usart_rx_recv(USART_3_TR, uart_rx_buffer, uart_get_num);
				cJSON *cjson = NULL,*params = NULL,*params_math = NULL;
				cjson = cJSON_Parse((const char*)uart_rx_buffer);
				
				memset(uart_rx_buffer,0x00,sizeof(uart_rx_buffer));
				if(cjson != NULL)
				{
					params = cJSON_GetObjectItem(cjson,"params");
					params_math = cJSON_GetObjectItem(params,"math");
					arry_size = cJSON_GetArraySize(params_math);
					if(arry_size >= 2)
					{
							json_data.min_trigger_res_value = cJSON_GetArrayItem(params_math, 0)->valueint;
							json_data.max_trigger_res_value = cJSON_GetArrayItem(params_math, 1)->valueint;
							result = 1;
					}
				}
				cJSON_Delete(cjson);
				
		}
		else
		{
			
		}
		
		return result;
}

uint16_t get_json_min_trigger_res_value(void)
{
	return json_data.min_trigger_res_value;
}

uint16_t get_json_max_trigger_res_value(void)
{
	return json_data.max_trigger_res_value;
}

