#include "kit_table.h"

#include "table_comm.h"

#define SOP_SOC_LEN 	13
#define SOP_TEMP_LEN	16

const int8_t x_sop_soc_tab[SOP_SOC_LEN] = { 0, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 95, 99 };
const int8_t y_sop_temp_tab[SOP_TEMP_LEN] = { -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 45, 50, 55, 60, 65 };

const int16_t z_sop_current_tab[SOP_SOC_LEN * SOP_TEMP_LEN] =
{	
	 0,    0,    0,    0,    0,    0,     0,    0,    0,    0,   0,   0,   0,
	 23,   23,   21,   18,   16,   12,    5,    5,    5,    5,   2,   2,   2,
	 28,   28,   25,   23,   21,   16,   14,    9,    9,    7,   5,   2,   2,
	 48,   48,   48,   44,   39,   37,   32,   32,   23,   18,  12,   7,   7,
	 58,   58,   58,   53,   48,   44,   41,   32,   28,   23,  18,   9,   9,
	 71,   71,   69,   69,   67,   64,   62,   53,   41,   32,  23,  12,   9,
	 92,   92,   87,   87,   85,   81,   78,   71,   58,   44,  28,  18,  14,
	115,  115,  113,  110,  108,  104,   99,   90,   71,   53,  37,  18,  18,
	150,  150,  147,  145,  143,  133,  129,   99,   90,   74,  51,  25,  25,
	193,  193,  191,  189,  173,  173,  138,  104,  104,   92,  69,  46,  46,
	253,  253,  253,  253,  207,  207,  138,  115,  115,   92,  76,  76,  76,
	253,  253,  253,  253,  207,  207,  138,  115,  115,   92,  76,  76,  76,
	 92,   92,   92,   92,   92,   92,   76,   76,   58,   58,  46,  46,  46,
	 58,   58,   58,   58,   58,   46,   46,   46,   46,   30,  30,  12,  12,
	 58,   58,   58,   58,   58,   46,   46,   46,   46,   30,  30,  12,  12,
	  0,    0,    0,    0,    0,    0,    0,    0,    0,   0,    0,   0,   0,	
};

ThreeDTabItem sop_cnte_table = 
{
    .x.len = SOP_SOC_LEN,
	.x.type = kTabDataType_8Bit,
	.x.tab = (uint8_t*)x_sop_soc_tab,

	.y.len = SOP_TEMP_LEN,
	.y.type = kTabDataType_8Bit,
	.y.tab = (uint8_t*)y_sop_temp_tab,

	.z.len = SOP_SOC_LEN * SOP_TEMP_LEN,
	.z.type = kTabDataType_16Bit,
	.z.tab = (uint8_t*)z_sop_current_tab,
};

const ThreeDTabItem *sop_table_list[kSopTab_End] = {&sop_cnte_table};