You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

575 lines
20 KiB
C#

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace YD10
{
public partial class Form4 : Form
{
// 在窗口4中
public delegate void Form4ClosedHandler();
public event Form4ClosedHandler Form4Closed;
public Form4()
{
InitializeComponent();
}
int form2_index = 0;
private void Form4_Load(object sender, EventArgs e)
{
my_set();
read();
form2_index = this.dataGridView1.Rows.Add();
dataGridView1.Rows[form2_index].Cells[0].Value = "打印名称设置";
dataGridView1.Rows[form2_index].Cells[1].Value = product;
dataGridView1.Rows[form2_index].Cells[2].Value = true;
for (int i = 0; i < readConfig.Length; i++)
{
form2_index = this.dataGridView1.Rows.Add();
dataGridView1.Rows[form2_index].Cells[0].Value = readConfig[i].name;
dataGridView1.Rows[form2_index].Cells[1].Value = readConfig[i].Svalue;
dataGridView1.Rows[form2_index].Cells[2].Value = readConfig[i].status;
}
for (int i = 0; i < writeConfig.Length; i++)
{
form2_index = this.dataGridView1.Rows.Add();
dataGridView1.Rows[form2_index].Cells[0].Value = writeConfig[i].name;
dataGridView1.Rows[form2_index].Cells[1].Value = writeConfig[i].Svalue;
dataGridView1.Rows[form2_index].Cells[2].Value = writeConfig[i].status;
}
for (int i = 0; i < alm_readConfig.Length; i++)
{
form2_index = this.dataGridView1.Rows.Add();
dataGridView1.Rows[form2_index].Cells[0].Value = alm_readConfig[i].name;
dataGridView1.Rows[form2_index].Cells[1].Value = alm_readConfig[i].Svalue;
dataGridView1.Rows[form2_index].Cells[2].Value = alm_readConfig[i].status;
}
for (int i = 0; i < alm_writeConfig.Length; i++)
{
form2_index = this.dataGridView1.Rows.Add();
dataGridView1.Rows[form2_index].Cells[0].Value = alm_writeConfig[i].name;
dataGridView1.Rows[form2_index].Cells[1].Value = alm_writeConfig[i].Svalue;
dataGridView1.Rows[form2_index].Cells[2].Value = alm_writeConfig[i].status;
}
}
private void button1_Click(object sender, EventArgs e)
{
save();
this.Close(); // 关闭当前窗体
}
private void save()
{
JObject setData_jsonObject = new Newtonsoft.Json.Linq.JObject();
setData_jsonObject.Add("打印名称设置", (string)dataGridView1.Rows[0].Cells[1].Value);
for (int i = 0; i < readConfig.Length; i++)
{
setData_jsonObject.Add(readConfig[i].name, (string)dataGridView1.Rows[i + 1].Cells[1].Value);
}
for (int i = 0; i < writeConfig.Length; i++)
{
setData_jsonObject.Add(writeConfig[i].name, (string)dataGridView1.Rows[i + 32].Cells[1].Value);
}
for (int i = 0; i < alm_readConfig.Length; i++)
{
setData_jsonObject.Add(alm_readConfig[i].name, (string)dataGridView1.Rows[i + 47].Cells[1].Value);
}
for (int i = 0; i < alm_writeConfig.Length; i++)
{
setData_jsonObject.Add(alm_writeConfig[i].name, (string)dataGridView1.Rows[i + 70].Cells[1].Value);
}
for (int i = 0; i < readConfig.Length; i++)
{
setData_jsonObject.Add(readConfig[i].name + "status", readConfig[i].status);
}
for (int i = 0; i < writeConfig.Length; i++)
{
;
setData_jsonObject.Add(writeConfig[i].name + "status", writeConfig[i].status);
}
for (int i = 0; i <alm_readConfig.Length; i++)
{
setData_jsonObject.Add(alm_readConfig[i].name + "status", alm_readConfig[i].status);
}
for (int i = 0; i < alm_writeConfig.Length; i++)
{
;
setData_jsonObject.Add(alm_writeConfig[i].name + "status", alm_writeConfig[i].status);
}
string config_file_str = setData_jsonObject.ToString();
string savePath = Application.StartupPath + @"\\YD07k参考信息.json";
System.IO.File.WriteAllText(savePath, config_file_str, Encoding.UTF8);
}
string product;
private void read()
{
string strLoadConfigFilePath = Application.StartupPath + @"\YD07k参考信息.json";//路径
try
{
using (StreamReader configFile = new StreamReader(strLoadConfigFilePath))
{
string str_data_json = configFile.ReadToEnd(); //这一步至关重要 差一点写错了
JObject object_data_prase_json = (JObject)JsonConvert.DeserializeObject(str_data_json);
if (object_data_prase_json != null)
{
product = (string)object_data_prase_json["打印名称设置"];
for (int i = 0; i < readConfig.Length; i++)
{
readConfig[i].Svalue = (string)object_data_prase_json[readConfig[i].name];
}
for (int i = 0; i < writeConfig.Length; i++)
{
writeConfig[i].Svalue = (string)object_data_prase_json[writeConfig[i].name];
}
for (int i = 0; i < alm_readConfig.Length; i++)
{
alm_readConfig[i].Svalue = (string)object_data_prase_json[alm_readConfig[i].name];
}
for (int i = 0; i < alm_writeConfig.Length; i++)
{
alm_writeConfig[i].Svalue = (string)object_data_prase_json[alm_writeConfig[i].name];
}
for (int i = 0; i < readConfig.Length; i++)
{
readConfig[i].status = (bool)object_data_prase_json[readConfig[i].name + "status"];
}
for (int i = 0; i < writeConfig.Length; i++)
{
writeConfig[i].status = (bool)object_data_prase_json[writeConfig[i].name + "status"];
}
for (int i = 0; i < alm_readConfig.Length; i++)
{
alm_readConfig[i].status = (bool)object_data_prase_json[alm_readConfig[i].name + "status"];
}
for (int i = 0; i < alm_writeConfig.Length; i++)
{
alm_writeConfig[i].status = (bool)object_data_prase_json[alm_writeConfig[i].name + "status"];
}
}
}
}
catch (Exception)
{
}
}
struct myUnitClass2
{
public string DID; //DID
public string name; //名称
public string threshold;
public bool status;
public Int64 Ivalue;
public bool Bvalue;
public string Svalue;
public byte[] Fvalue;
public string sw; //是pass 还是fail , 用于pass排在上上方
};
myUnitClass2[] readConfig = new myUnitClass2[31];
myUnitClass2[] writeConfig = new myUnitClass2[15];
myUnitClass2[] alm_readConfig = new myUnitClass2[23];
myUnitClass2[] alm_writeConfig = new myUnitClass2[5];
private void my_set()
{
//------只读1次-----
readConfig[0].DID = "CF00";
readConfig[0].name = "串口诊断协议版本号";
readConfig[0].status = true;
readConfig[1].DID = "CF01";
readConfig[1].name = "软件版本号";
readConfig[1].status = true;
readConfig[2].DID = "CF02";
readConfig[2].name = "设备IMEI";
readConfig[2].status = true;
readConfig[3].DID = "CF03";
readConfig[3].name = "设备ICCID";
readConfig[3].status = true;
readConfig[4].DID = "CF04";
readConfig[4].name = "GNSS产品型号";
readConfig[4].status = true;
readConfig[5].DID = "CF05";
readConfig[5].name = "GNSS软件版本号";
readConfig[5].status = true;
readConfig[6].DID = "CF06";
readConfig[6].name = "GNSS硬件版本号";
readConfig[6].status = true;
readConfig[7].DID = "CF07";
readConfig[7].name = "SPI FLASH ID";
readConfig[7].status = true;
readConfig[8].DID = "CF08";
readConfig[8].name = "BOOT底层软件版本";
readConfig[8].status = true;
readConfig[9].DID = "CF09";
readConfig[9].name = "BOOT升级协议版本";
readConfig[9].status = true;
readConfig[10].DID = "CF0A";
readConfig[10].name = "通信协议版本号";
readConfig[10].status = true;
readConfig[11].DID = "CF0B";
readConfig[11].name = "备份区软件版本号";
readConfig[11].status = true;
readConfig[12].DID = "CF0C";
readConfig[12].name = "OTA零部件编码";
readConfig[12].status = true;
//------只读N次-----
readConfig[13].DID = "CF80";
readConfig[13].name = "OTA域名";
readConfig[13].status = true;
readConfig[14].DID = "CF81";
readConfig[14].name = "拨号状态";
readConfig[14].status = true;
readConfig[15].DID = "CF82";
readConfig[15].name = "驻网状态";
readConfig[15].status = true;
readConfig[16].DID = "CF83";
readConfig[16].name = "服务器连接状态";
readConfig[16].status = true;
readConfig[17].DID = "CF84";
readConfig[17].name = "GNSS定位状态";
readConfig[17].status = true;
readConfig[18].DID = "CF85";
readConfig[18].name = "GNSS SNR值";
readConfig[18].status = true;
readConfig[19].DID = "CF86";
readConfig[19].name = "RSSI值";
readConfig[19].status = true;
readConfig[20].DID = "CF87";
readConfig[20].name = "RSRP值";
readConfig[20].status = true;
readConfig[21].DID = "CF88";
readConfig[21].name = "RSRQ值";
readConfig[21].status = true;
readConfig[22].DID = "CF89";
readConfig[22].name = "SINR值";
readConfig[22].status = true;
readConfig[23].DID = "CF8A";
readConfig[23].name = "ACC管脚电平状态";
readConfig[23].status = true;
readConfig[24].DID = "CF8B";
readConfig[24].name = "外电电压值";
readConfig[24].status = true;
readConfig[25].DID = "CF8C";
readConfig[25].name = "K线通讯状态";
readConfig[25].status = true;
////新增YD07K
///
readConfig[26].DID = "CF0D";
readConfig[26].name = "GSENSOR地址";
readConfig[26].status = true;
readConfig[27].DID = "CF8D";
readConfig[27].name = "六轴数据校准值";
readConfig[27].status = true;
readConfig[28].DID = "CF8E";
readConfig[28].name = "六轴传感器状态";
readConfig[28].status = true;
readConfig[29].DID = "CF8F";
readConfig[29].name = "音频文件状态";
readConfig[29].status = true;
readConfig[30].DID = "CF90";
readConfig[30].name = "外电电平";
readConfig[30].status = true;
//---alm读节点----
alm_readConfig[0].DID = "CF01";
alm_readConfig[0].name = "alm软件版本号";
alm_readConfig[0].status = true;
alm_readConfig[1].DID = "CFA0";
alm_readConfig[1].name = "ACC1输出";
alm_readConfig[1].status = true;
alm_readConfig[2].DID = "CFA1";
alm_readConfig[2].name = "ACC1预充";
alm_readConfig[2].status = true;
alm_readConfig[3].DID = "CFA2";
alm_readConfig[3].name = "ACC2输出";
alm_readConfig[3].status = true;
alm_readConfig[4].DID = "CFA3";
alm_readConfig[4].name = "ACC2预充";
alm_readConfig[4].status = true;
alm_readConfig[5].DID = "CFA4";
alm_readConfig[5].name = "ACC1输入";
alm_readConfig[5].status = true;
alm_readConfig[6].DID = "CFA5";
alm_readConfig[6].name = "机械钥匙";
alm_readConfig[6].status = true;
alm_readConfig[7].DID = "CFA6";
alm_readConfig[7].name = "ACC2输入";
alm_readConfig[7].status = true;
alm_readConfig[8].DID = "CFA7";
alm_readConfig[8].name = "右转向灯输入";
alm_readConfig[8].status = true;
alm_readConfig[9].DID = "CFA8";
alm_readConfig[9].name = "蓝牙指示灯输出";
alm_readConfig[9].status = true;
alm_readConfig[10].DID = "CFA9";
alm_readConfig[10].name = "双闪输出";
alm_readConfig[10].status = true;
alm_readConfig[11].DID = "CFAA";
alm_readConfig[11].name = "轮动输入";
alm_readConfig[11].status = true;
alm_readConfig[12].DID = "CFAB";
alm_readConfig[12].name = "左转向灯输入";
alm_readConfig[12].status = true;
alm_readConfig[13].DID = "CFAC";
alm_readConfig[13].name = "MOTO_A输出";
alm_readConfig[13].status = true;
alm_readConfig[14].DID = "CFAD";
alm_readConfig[14].name = "MOTO_B输出";
alm_readConfig[14].status = true;
alm_readConfig[15].DID = "CFAE";
alm_readConfig[15].name = "锁电机输出";
alm_readConfig[15].status = true;
alm_readConfig[16].DID = "CFAF";
alm_readConfig[16].name = "电磁阀输出";
alm_readConfig[16].status = true;
alm_readConfig[17].DID = "CFB0";
alm_readConfig[17].name = "一键启动输入";
alm_readConfig[17].status = true;
alm_readConfig[18].DID = "CFB1";
alm_readConfig[18].name = "坐垫感应输入";
alm_readConfig[18].status = true;
alm_readConfig[19].DID = "CFB2";
alm_readConfig[19].name = "alm_外电电压值";
alm_readConfig[19].status = true;
alm_readConfig[20].DID = "CFB3";
alm_readConfig[20].name = "alm_K线通讯";
alm_readConfig[20].status = true;
alm_readConfig[21].DID = "CFB4";
alm_readConfig[21].name = "蓝牙连接";
alm_readConfig[21].status = true;
alm_readConfig[22].DID = "CFB5";
alm_readConfig[22].name = "弹簧振子";
alm_readConfig[22].status = true;
//---alm写节点----
alm_writeConfig[0].DID = "CF4D";
alm_writeConfig[0].name = "alm_外电电压AD比例值";
alm_writeConfig[0].status = true;
alm_writeConfig[1].DID = "CF61";
alm_writeConfig[1].name = "alm_音量等级";
alm_writeConfig[1].status = true;
alm_writeConfig[2].DID = "CF62";
alm_writeConfig[2].name = "alm_声音主题";
alm_writeConfig[2].status = true;
alm_writeConfig[3].DID = "CF63";
alm_writeConfig[3].name = "alm_ACC电压AD分压比例值";
alm_writeConfig[3].status = true;
alm_writeConfig[4].DID = "CF64";
alm_writeConfig[4].name = "alm_蓝牙MCA地址";
alm_writeConfig[4].status = true;
//-----读写----
writeConfig[0].DID = "CF40";
writeConfig[0].name = "硬件版本号";
writeConfig[0].status = true;
writeConfig[1].DID = "CF41";
writeConfig[1].name = "产品型号";
writeConfig[1].status = true;
writeConfig[2].DID = "CF42";
writeConfig[2].name = "产品识别码";
writeConfig[2].status = true;
writeConfig[3].DID = "CF43";
writeConfig[3].name = "产商识别码";
writeConfig[3].status = true;
writeConfig[4].DID = "CF44";
writeConfig[4].name = "客户识别码";
writeConfig[4].status = true;
// writeConfig[6].DID = "CF45";
// writeConfig[6].name = "生产日十位";
writeConfig[5].DID = "CF46";
writeConfig[5].name = "生产日";
writeConfig[5].status = true;
writeConfig[6].DID = "CF47";
writeConfig[6].name = "生产月份";
writeConfig[6].status = true;
// writeConfig[7].DID = "CF48";
//writeConfig[7].name = "生产年份十位";
writeConfig[7].DID = "CF49";
writeConfig[7].name = "生产年份";
writeConfig[7].status = true;
writeConfig[8].DID = "CF4A";
writeConfig[8].name = "流水号";
writeConfig[8].status = true;
writeConfig[9].DID = "CF4B";
writeConfig[9].name = "服务器域名";
writeConfig[9].status = true;
writeConfig[10].DID = "CF4C";
writeConfig[10].name = "服务器端口号";
writeConfig[10].status = true;
writeConfig[11].DID = "CF4D";
writeConfig[11].name = "外电电压AD比列值";
writeConfig[11].status = true;
writeConfig[12].DID = "CF4E";
writeConfig[12].name = "物料编码";
writeConfig[12].status = true;
writeConfig[13].DID = "CF4F";
writeConfig[13].name = "供应商编码";
writeConfig[13].status = true;
writeConfig[14].DID = "CF50";
writeConfig[14].name = "批次号";
writeConfig[14].status = true;
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
for (int i = 0; i < readConfig.Length; i++)
{
if ((bool)dataGridView1.Rows[i + 1].Cells[2].EditedFormattedValue == true)
{
readConfig[i].status = true;
}
else
{
readConfig[i].status = false;
}
}
for (int i = 0; i < writeConfig.Length; i++)
{
if ((bool)dataGridView1.Rows[i + 32].Cells[2].EditedFormattedValue == true)
{
writeConfig[i].status = true;
}
else
{
writeConfig[i].status = false;
}
}
for (int i = 0; i < alm_readConfig.Length; i++)
{
if ((bool)dataGridView1.Rows[i + 47].Cells[2].EditedFormattedValue == true)
{
alm_readConfig[i].status = true;
}
else
{
alm_readConfig[i].status = false;
}
}
for (int i = 0; i < alm_writeConfig.Length; i++)
{
if ((bool)dataGridView1.Rows[i + 70].Cells[2].EditedFormattedValue == true)
{
alm_writeConfig[i].status = true;
}
else
{
alm_writeConfig[i].status = false;
}
}
}
private void Form4_FormClosing(object sender, FormClosingEventArgs e)
{
Form4Closed?.Invoke();
}
}
}