#ifndef RTW_HEADER_Subsystem_h_
#define RTW_HEADER_Subsystem_h_

typedef struct {
  int uDLookupTable_tableData[6];
  int uDLookupTable_bp01Data[6];
} ConstP;

// <<< Use Configuration Wizard in Context Menu >>>
// <o0> Output : LookupTable_Data[1] (unit : Iq_Cmd, SPd_Cmd)
// <o1> Output : LookupTable_Data[2] (unit : Iq_Cmd, SPd_Cmd)
// <o2> Output : LookupTable_Data[3] (unit : Iq_Cmd, SPd_Cmd)
// <o3> Output : LookupTable_Data[4] (unit : Iq_Cmd, SPd_Cmd)
// <o4> Output : LookupTable_Data[5] (unit : Iq_Cmd, SPd_Cmd)
// <o5> Output : LookupTable_Data[6] (unit : Iq_Cmd, SPd_Cmd)
// <o6> Input  : Vsp_Data[1] (unit : Vsp_Val)
// <o7> Input  : Vsp_Data[2] (unit : Vsp_Val)
// <o8> Input  : Vsp_Data[3] (unit : Vsp_Val)
// <o9> Input  : Vsp_Data[4] (unit : Vsp_Val)
// <o10> Input  : Vsp_Data[5] (unit : Vsp_Val)
// <o11> Input  : Vsp_Data[6] (unit : Vsp_Val)
#define LOOKUPTABLE_DEFAULTS { \
  { 600, 700, 800, 900, 1050, 1100 }, \
  { 204, 350, 400, 606, 812, 1023 } \
}
/*
  { 0.1*6553, 0.15*6553, 0.2*6553, 0.3*6553, 0.4*6553, 0.5*6553 }, \
  { 600*8, 700*8, 800*8, 900*8, 1100*8, 1200*8 }, \
*/
  
// <o0> Output : LookupTable_Data[1] (unit : Watt_Cmd)
// <o1> Output : LookupTable_Data[2] (unit : Watt_Cmd)
// <o2> Output : LookupTable_Data[3] (unit : Watt_Cmd)
// <o3> Input  : Vbus_Data[1] (unit : Vbus_Val)
// <o4> Input  : Vbus_Data[2] (unit : Vbus_Val)
// <o5> Input  : Vbus_Data[3] (unit : Vbus_Val)
#define LOOKUPTABLE_DEFAULTS_P { \
  { 1880, 2050, 2380 }, \
  { 405, 443, 520 } \
}
// <<< end of configuration section >>>

//typedef struct {
//  int In1;
//} ExtU;

//typedef struct {
//  int Out1; 
//} ExtY;

//extern xdata ExtU rtU;
//extern xdata ExtY rtY;
//extern const ConstP rtConstP;

//extern void Subsystem_step(void);
extern int look1_binlx(int u0, const int bp0[], const int table[], unsigned char maxIndex);

#endif                                 /* RTW_HEADER_Subsystem_h_ */
