Эх сурвалжийг харах

2021-08-13 / ct_chen

Actions:
1. add "Meter IC Calibration Status" for "AX" series in "charging" tab

Files:
1. EVSE/Modularization/WebService.c
   EVSE/rootfs/var/www/set_charging.php
ct_chen 3 жил өмнө
parent
commit
99660ce6f5

+ 66 - 0
EVSE/Modularization/WebService.c

@@ -1514,6 +1514,21 @@ int main(int argc, char *argv[]) {
 		struct json_object *SystemStatus[3];
 		struct json_object *EvBatterytargetCurrent[3];
 		struct json_object *PowerConsumption[3];
+		struct json_object *isCalibratedVaGain[3];
+		struct json_object *isCalibratedVbGain[3];
+		struct json_object *isCalibratedVcGain[3];
+		struct json_object *isCalibratedVaOffset[3];
+		struct json_object *isCalibratedVbOffset[3];
+		struct json_object *isCalibratedVcOffset[3];
+		struct json_object *isCalibratedCaGain[3];
+		struct json_object *isCalibratedCbGain[3];
+		struct json_object *isCalibratedCcGain[3];
+		struct json_object *isCalibratedCaOffset[3];
+		struct json_object *isCalibratedCbOffset[3];
+		struct json_object *isCalibratedCcOffset[3];
+		struct json_object *isCalibratedPa[3];
+		struct json_object *isCalibratedPb[3];
+		struct json_object *isCalibratedPc[3];
 		/* for DO & DD*/
 		struct json_object *DDChargingInfo1;
 		struct json_object *DDChargingInfo2;
@@ -1881,6 +1896,23 @@ int main(int argc, char *argv[]) {
 				ConnectorTemp[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].ConnectorTemp);
 				ChillerTemp[0] = json_object_new_int(255);
 				PowerConsumption[0] = json_object_new_double(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].PowerConsumption);
+				if(strcmp(IsDO, "AX") == 0){
+					isCalibratedVaGain[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVaGain);
+					isCalibratedVbGain[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVbGain);
+					isCalibratedVcGain[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVcGain);
+					isCalibratedVaOffset[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVaOffset);
+					isCalibratedVbOffset[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVbOffset);
+					isCalibratedVcOffset[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVcOffset);
+					isCalibratedCaGain[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCaGain);
+					isCalibratedCbGain[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCbGain);
+					isCalibratedCcGain[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCcGain);
+					isCalibratedCaOffset[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCaOffset);
+					isCalibratedCbOffset[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCbOffset);
+					isCalibratedCcOffset[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCcOffset);
+					isCalibratedPa[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedPa);
+					isCalibratedPb[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedPb);
+					isCalibratedPc[0] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedPc);
+				}
 				AcGunQty++;
 			}
 		}
@@ -1997,6 +2029,23 @@ int main(int argc, char *argv[]) {
 				ConnectorTemp[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].ConnectorTemp);
 				ChillerTemp[1] = json_object_new_int(255);
 				PowerConsumption[1] = json_object_new_double(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].PowerConsumption);
+				if(strcmp(IsDO, "AX") == 0){
+					isCalibratedVaGain[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVaGain);
+					isCalibratedVbGain[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVbGain);
+					isCalibratedVcGain[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVcGain);
+					isCalibratedVaOffset[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVaOffset);
+					isCalibratedVbOffset[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVbOffset);
+					isCalibratedVcOffset[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVcOffset);
+					isCalibratedCaGain[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCaGain);
+					isCalibratedCbGain[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCbGain);
+					isCalibratedCcGain[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCcGain);
+					isCalibratedCaOffset[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCaOffset);
+					isCalibratedCbOffset[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCbOffset);
+					isCalibratedCcOffset[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCcOffset);
+					isCalibratedPa[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedPa);
+					isCalibratedPb[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedPb);
+					isCalibratedPc[1] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedPc);
+				}
 				AcGunQty++;
 			}
 		}
@@ -2113,6 +2162,23 @@ int main(int argc, char *argv[]) {
 				ConnectorTemp[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].ConnectorTemp);
 				ChillerTemp[2] = json_object_new_int(255);
 				PowerConsumption[2] = json_object_new_double(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].PowerConsumption);
+				if(strcmp(IsDO, "AX") == 0){
+					isCalibratedVaGain[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVaGain);
+					isCalibratedVbGain[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVbGain);
+					isCalibratedVcGain[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVcGain);
+					isCalibratedVaOffset[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVaOffset);
+					isCalibratedVbOffset[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVbOffset);
+					isCalibratedVcOffset[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedVcOffset);
+					isCalibratedCaGain[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCaGain);
+					isCalibratedCbGain[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCbGain);
+					isCalibratedCcGain[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCcGain);
+					isCalibratedCaOffset[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCaOffset);
+					isCalibratedCbOffset[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCbOffset);
+					isCalibratedCcOffset[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedCcOffset);
+					isCalibratedPa[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedPa);
+					isCalibratedPb[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedPb);
+					isCalibratedPc[2] = json_object_new_int(ShmSysConfigAndInfo->SysInfo.AcChargingData[AcGunQty].meterIcCalInfo.isCalibratedPc);
+				}
 				AcGunQty++;
 			}
 		}

+ 676 - 0
EVSE/rootfs/var/www/set_charging.php

@@ -517,6 +517,142 @@ img {
   margin-left: auto;
   margin-right: auto;
 }
+<?php if(substr($ModelName,0,2)=="AX"){?>
+/* Colors: Default (blue) */
+.toggle-switchy {color:#fff;}
+.toggle-switchy > input + .toggle:before {content:'Calibrated';}
+.toggle-switchy > input + .toggle:after {content:'Default';}
+.toggle-switchy > input + .toggle > .switch {background:#fff;}
+.toggle-switchy > input + .toggle + .label {color:#000;}
+.toggle-switchy > input:checked + .toggle {background:#3498db;}
+.toggle-switchy > input:not(:checked) + .toggle {background:#ccc;}
+.toggle-switchy > input:checked + .toggle > .switch {border:3px solid #3498db;}
+.toggle-switchy > input:not(:checked) + .toggle > .switch {border:3px solid #ccc;}
+.toggle-switchy > input:focus + .toggle,
+.toggle-switchy > input:active + .toggle {box-shadow:0 0 5px 3px rgba(0, 119, 200, 0.50);}
+
+/* Rounded switch corners */
+.toggle-switchy > input + .toggle {border-radius:4px;}
+.toggle-switchy > input + .toggle .switch {border-radius:6px;}
+
+/* //////////////////////////
+CORE STYLES BELOW - NO TOUCHY
+////////////////////////// */
+.toggle-switchy {display:inline-flex; align-items:center; user-select:none; position:relative;}
+.toggle-switchy:hover {cursor:pointer;}
+.toggle-switchy > input {position:absolute; opacity:0;}
+.toggle-switchy > input + .toggle {align-items:center; position:relative;}
+.toggle-switchy > input + .toggle {overflow:hidden; position:relative; flex-shrink:0;}
+.toggle-switchy > input[disabled] + .toggle {opacity:0.5;}
+.toggle-switchy > input[disabled] + .toggle:hover {cursor:not-allowed;}
+.toggle-switchy > input + .toggle {width:100%; height:100%; margin:0; cursor:pointer;}
+.toggle-switchy > input + .toggle > .switch {display:block; height:100%; position:absolute; right:0; z-index:3;}
+
+/* Labels */
+.toggle-switchy > input + .toggle:before,
+.toggle-switchy > input + .toggle:after {display:flex; align-items:center; position:absolute; z-index:2; height:100%;}
+.toggle-switchy > input + .toggle:before {right:55%;}
+.toggle-switchy > input + .toggle:after {left:50%;}
+.toggle-switchy > input + .toggle + .label {margin-left:10px;}
+.toggle-switchy[data-label='left'] > input + .toggle {order:2;}
+.toggle-switchy[data-label='left'] > input + .toggle + .label {order:1; margin-left:0; margin-right:10px;}
+
+/* Show / Hide */
+.toggle-switchy > input + .toggle:before {opacity:0;}
+.toggle-switchy > input:checked + .toggle:before {opacity:1;}
+.toggle-switchy > input:checked + .toggle:after {opacity:0;}
+
+/* Transitions */
+.toggle-switchy > input + .toggle {transition:background 200ms linear, box-shadow 200ms linear;}
+.toggle-switchy > input + .toggle:before,
+.toggle-switchy > input + .toggle:after {transition:all 200ms linear;}
+.toggle-switchy > input + .toggle > .switch {transition:right 200ms linear, border-color 200ms linear;}
+/* //////////////////////////
+CORE STYLES ABOVE - NO TOUCHY
+////////////////////////// */
+
+/* Size: Extra Large */
+.toggle-switchy[data-size='xl'] > input + .toggle							{width:85px; height:40px;}
+.toggle-switchy[data-size='xl'] > input + .toggle > .switch					{width:40px;}
+.toggle-switchy[data-size='xl'] > input + .toggle:before,
+.toggle-switchy[data-size='xl'] > input + .toggle:after						{font-size:1.2rem;}
+.toggle-switchy[data-size='xl'] > input:not(:checked) + .toggle > .switch	{right:calc(100% - 40px);}
+
+/* Size: Large */
+.toggle-switchy[data-size='lg'] > input + .toggle							{width:75px; height:35px;}
+.toggle-switchy[data-size='lg'] > input + .toggle > .switch					{width:35px;}
+.toggle-switchy[data-size='lg'] > input + .toggle:before,
+.toggle-switchy[data-size='lg'] > input + .toggle:after						{font-size:1rem;}
+.toggle-switchy[data-size='lg'] > input:not(:checked) + .toggle > .switch	{right:calc(100% - 35px);}
+
+/* Size: Default (Medium) */
+.toggle-switchy > input + .toggle											{width:100px; height:30px;}
+.toggle-switchy > input + .toggle	> .switch								{width:30px;}
+.toggle-switchy > input + .toggle:before,
+.toggle-switchy > input + .toggle:after										{font-size:0.8rem;}
+.toggle-switchy > input:not(:checked) + .toggle > .switch					{right:calc(100% - 30px);}
+
+/* Size: Small */
+.toggle-switchy[data-size='sm'] > input + .toggle							{width:55px; height:25px;}
+.toggle-switchy[data-size='sm'] > input + .toggle > .switch					{width:25px;}
+.toggle-switchy[data-size='sm'] > input + .toggle:before,
+.toggle-switchy[data-size='sm'] > input + .toggle:after						{font-size:0.7rem;}
+.toggle-switchy[data-size='sm'] > input:not(:checked) + .toggle > .switch	{right:calc(100% - 25px);}
+
+/* Size: Extra Small */
+.toggle-switchy[data-size='xs'] > input + .toggle							{width:45px; height:20px;}
+.toggle-switchy[data-size='xs'] > input + .toggle > .switch					{width:20px;}
+.toggle-switchy[data-size='xs'] > input + .toggle:before,
+.toggle-switchy[data-size='xs'] > input + .toggle:after						{font-size:0.5rem;}
+.toggle-switchy[data-size='xs'] > input:not(:checked) + .toggle > .switch	{right:calc(100% - 20px);}
+
+/* Style: Rounded */
+.toggle-switchy[data-style='rounded'] > input + .toggle,
+.toggle-switchy[data-style='rounded'] > input + .toggle > .switch			{border-radius:50px;}
+.toggle-switchy[data-style='rounded'] > input + .toggle:before				{right:30%;}
+.toggle-switchy[data-style='rounded'] > input + .toggle:after				{left:40%;}
+
+/* Style: Square */
+.toggle-switchy[data-style='square'] > input + .toggle						{border-radius:0;}
+.toggle-switchy[data-style='square'] > input + .toggle .switch				{border-radius:0;}
+
+/* Text: Off */
+.toggle-switchy[data-text='false'] > input + .toggle:before,
+.toggle-switchy[data-text='false'] > input + .toggle:after					{content:'';}
+.toggle-switchy[data-text='false'][data-size='xl'] > input + .toggle		{width:80px;}
+.toggle-switchy[data-text='false'][data-size='lg'] > input + .toggle		{width:70px;}
+.toggle-switchy[data-text='false'] > input + .toggle						{width:60px;}
+.toggle-switchy[data-text='false'][data-size='sm'] > input + .toggle		{width:50px;}
+.toggle-switchy[data-text='false'][data-size='xs'] > input + .toggle		{width:40px;}
+
+/* Color: Red */
+.toggle-switchy[data-color='red'] > input:checked + .toggle					{background:#e74c3c;}
+.toggle-switchy[data-color='red'] > input:checked + .toggle > .switch		{border-color:#e74c3c;}
+
+/* Color: Orange */
+.toggle-switchy[data-color='orange'] > input:checked + .toggle				{background:#e67e22;}
+.toggle-switchy[data-color='orange'] > input:checked + .toggle > .switch	{border-color:#e67e22;}
+ 
+ /* Color: Yellow */
+.toggle-switchy[data-color='yellow'] > input:checked + .toggle				{background:#f1c40f;}
+.toggle-switchy[data-color='yellow'] > input:checked + .toggle > .switch	{border-color:#f1c40f;}
+
+/* Color: Green */
+.toggle-switchy[data-color='green'] > input:checked + .toggle				{background:#2ecc71;}
+.toggle-switchy[data-color='green'] > input:checked + .toggle > .switch		{border-color:#2ecc71;}
+
+/* Color: Blue */
+.toggle-switchy[data-color='blue'] > input:checked + .toggle				{background:#3498db;}
+.toggle-switchy[data-color='blue'] > input:checked + .toggle > .switch		{border-color:#3498db;}
+
+/* Color: Purple */
+.toggle-switchy[data-color='purple'] > input:checked + .toggle				{background:#9b59b6;}
+.toggle-switchy[data-color='purple'] > input:checked + .toggle > .switch	{border-color:#9b59b6;}
+
+/* Color: Gray */
+.toggle-switchy[data-color='gray'] > input:checked + .toggle				{background:#555;}
+.toggle-switchy[data-color='gray'] > input:checked + .toggle > .switch		{border-color:#555;}
+<?php } ?>
 </style>
 	<div class="envor-content">
 		<!--
@@ -1200,6 +1336,186 @@ img {
 											<label>Totalize Power Consumption</label>
 											<input type="text" readonly class="form-control" placeholder="<?php echo number_format(round($obj['ChargingInfo1']['PowerConsumption'],4), 4, ".", " ");?> kWh">
 										</div>
+<?php if(substr($ModelName,0,2)=="AX"){?>
+										<div class="form-group" style="display:block">
+											<label>Meter IC Calibration Status</label>
+											<span style="display:block">
+												<span class="col-lg-2 ">
+													<label>VaGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VaGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VaGain" <?php echo $obj['ChargingInfo1']['isCalibratedVaGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>VbGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VbGain" data-size="" data-style="rounded">
+														<input  disabled type="checkbox" id="VbGain" <?php echo $obj['ChargingInfo1']['isCalibratedVbGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>VcGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VcGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VcGain" <?php echo $obj['ChargingInfo1']['isCalibratedVcGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+											<span class="" style="display:block">
+												<span class="col-lg-2 ">
+													<label>VaOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VaOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VaOffset" <?php echo $obj['ChargingInfo1']['isCalibratedVaOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>VbOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VbOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VbOffset" <?php echo $obj['ChargingInfo1']['isCalibratedVbOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>VcOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VcOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VcOffset" <?php echo $obj['ChargingInfo1']['isCalibratedVcOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+											<span class="" style="display:block">
+												<span class="col-lg-2 ">
+													<label>CaGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CaGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CaGain" <?php echo $obj['ChargingInfo1']['isCalibratedCaGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>CbGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CbGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CbGain" <?php echo $obj['ChargingInfo1']['isCalibratedCbGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2">
+													<label>CcGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CcGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CcGain" <?php echo $obj['ChargingInfo1']['isCalibratedCcGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+											<span class="" style="display:block">
+												<span class="col-lg-2 pull-left">
+													<label>CaOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CaOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CaOffset" <?php echo $obj['ChargingInfo1']['isCalibratedCaOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label>CbOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CbOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CbOffset" <?php echo $obj['ChargingInfo1']['isCalibratedCbOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label>CcOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CcOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CcOffset" <?php echo $obj['ChargingInfo1']['isCalibratedCcOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+											<span class="" style="display:block">
+												<span class="col-lg-2 pull-left">
+													<label>Pa</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="Pa" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="Pa" <?php echo $obj['ChargingInfo1']['isCalibratedPa']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label>Pb</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="Pb" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="Pb" <?php echo $obj['ChargingInfo1']['isCalibratedPb']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label>Pc</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="Pc" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="Pc" <?php echo $obj['ChargingInfo1']['isCalibratedPc']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+										</div>
+<?php } ?>
 									</section>
 								</article>
 <?php }?>
@@ -1291,6 +1607,186 @@ img {
 											<label>Totalize Power Consumption</label>
 											<input type="text" readonly class="form-control" placeholder="<?php echo number_format(round($obj['ChargingInfo2']['PowerConsumption'],4), 4, ".", " ");?> kWh">
 										</div>
+<?php if(substr($ModelName,0,2)=="AX"){?>
+										<div class="form-group" style="display:block">
+											<label>Meter IC Calibration Status</label>
+											<span style="display:block">
+												<span class="col-lg-2 ">
+													<label>VaGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VaGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VaGain" <?php echo $obj['ChargingInfo2']['isCalibratedVaGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>VbGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VbGain" data-size="" data-style="rounded">
+														<input  disabled type="checkbox" id="VbGain" <?php echo $obj['ChargingInfo2']['isCalibratedVbGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>VcGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VcGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VcGain" <?php echo $obj['ChargingInfo2']['isCalibratedVcGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+											<span class="" style="display:block">
+												<span class="col-lg-2 ">
+													<label>VaOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VaOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VaOffset" <?php echo $obj['ChargingInfo2']['isCalibratedVaOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>VbOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VbOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VbOffset" <?php echo $obj['ChargingInfo2']['isCalibratedVbOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>VcOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VcOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VcOffset" <?php echo $obj['ChargingInfo2']['isCalibratedVcOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+											<span class="" style="display:block">
+												<span class="col-lg-2 ">
+													<label>CaGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CaGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CaGain" <?php echo $obj['ChargingInfo2']['isCalibratedCaGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>CbGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CbGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CbGain" <?php echo $obj['ChargingInfo2']['isCalibratedCbGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2">
+													<label>CcGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CcGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CcGain" <?php echo $obj['ChargingInfo2']['isCalibratedCcGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+											<span class="" style="display:block">
+												<span class="col-lg-2 pull-left">
+													<label>CaOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CaOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CaOffset" <?php echo $obj['ChargingInfo2']['isCalibratedCaOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label>CbOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CbOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CbOffset" <?php echo $obj['ChargingInfo2']['isCalibratedCbOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label>CcOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CcOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CcOffset" <?php echo $obj['ChargingInfo2']['isCalibratedCcOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+											<span class="" style="display:block">
+												<span class="col-lg-2 pull-left">
+													<label>Pa</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="Pa" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="Pa" <?php echo $obj['ChargingInfo2']['isCalibratedPa']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label>Pb</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="Pb" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="Pb" <?php echo $obj['ChargingInfo2']['isCalibratedPb']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label>Pc</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="Pc" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="Pc" <?php echo $obj['ChargingInfo2']['isCalibratedPc']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+										</div>
+<?php } ?>
 									</section>
 								</article>
 <?php }?>
@@ -1382,6 +1878,186 @@ img {
 											<label>Totalize Power Consumption</label>
 											<input type="text" readonly class="form-control" placeholder="<?php echo number_format(round($obj['ChargingInfo3']['PowerConsumption'],4), 4, ".", " ");?> kWh">
 										</div>
+<?php if(substr($ModelName,0,2)=="AX"){?>
+										<div class="form-group" style="display:block">
+											<label>Meter IC Calibration Status</label>
+											<span style="display:block">
+												<span class="col-lg-2 ">
+													<label>VaGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VaGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VaGain" <?php echo $obj['ChargingInfo3']['isCalibratedVaGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>VbGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VbGain" data-size="" data-style="rounded">
+														<input  disabled type="checkbox" id="VbGain" <?php echo $obj['ChargingInfo3']['isCalibratedVbGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>VcGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VcGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VcGain" <?php echo $obj['ChargingInfo3']['isCalibratedVcGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+											<span class="" style="display:block">
+												<span class="col-lg-2 ">
+													<label>VaOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VaOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VaOffset" <?php echo $obj['ChargingInfo3']['isCalibratedVaOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>VbOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VbOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VbOffset" <?php echo $obj['ChargingInfo3']['isCalibratedVbOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>VcOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="VcOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="VcOffset" <?php echo $obj['ChargingInfo3']['isCalibratedVcOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+											<span class="" style="display:block">
+												<span class="col-lg-2 ">
+													<label>CaGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CaGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CaGain" <?php echo $obj['ChargingInfo3']['isCalibratedCaGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 ">
+													<label>CbGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CbGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CbGain" <?php echo $obj['ChargingInfo3']['isCalibratedCbGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2">
+													<label>CcGain</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CcGain" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CcGain" <?php echo $obj['ChargingInfo3']['isCalibratedCcGain']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+											<span class="" style="display:block">
+												<span class="col-lg-2 pull-left">
+													<label>CaOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CaOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CaOffset" <?php echo $obj['ChargingInfo3']['isCalibratedCaOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label>CbOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CbOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CbOffset" <?php echo $obj['ChargingInfo3']['isCalibratedCbOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label>CcOffset</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="CcOffset" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="CcOffset" <?php echo $obj['ChargingInfo3']['isCalibratedCcOffset']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+											<span class="" style="display:block">
+												<span class="col-lg-2 pull-left">
+													<label>Pa</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="Pa" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="Pa" <?php echo $obj['ChargingInfo3']['isCalibratedPa']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label>Pb</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="Pb" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="Pb" <?php echo $obj['ChargingInfo3']['isCalibratedPb']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label>Pc</label>
+												</span>
+												<span class="col-lg-2 pull-left">
+													<label class="toggle-switchy" for="Pc" data-size="" data-style="rounded">
+														<input disabled type="checkbox" id="Pc" <?php echo $obj['ChargingInfo3']['isCalibratedPc']==1?"checked":"";?>>
+														<span class="toggle">
+														  <span class="switch"></span>
+														</span>
+													</label>
+												</span>
+											</span>
+										</div>
+<?php } ?>
 									</section>
 								</article>
 <?php }?>