#0017: 调试 etalon 实验时,对每个点新增延时,但延时数量不对应,待修复; 变焦功能,增加日志打印

This commit is contained in:
zhengxuan.zhang
2025-02-17 13:17:23 +08:00
parent 36cff662a5
commit 5b41557900
9 changed files with 98 additions and 76 deletions
+83 -61
View File
@@ -1,4 +1,4 @@
// HSI_Motion.cpp : 定义 DLL 的初始化例程。
// HSI_Motion.cpp : 定义 DLL 的初始化例程。
#include "stdafx.h"
#include "HSI.h"
#include "HSI_Sevenocean_EF3.h"
@@ -3486,7 +3486,7 @@ HSI_STATUS HSI_Motion::SetPositionXyz(UINT AxisTypes, double PositionX, double P
auto rStatus = HSI_STATUS_NORMAL;
if (g_pHSI_Motion)
{
g_pLogger->SendAndFlushWithTime(L"[SetPositionXyz] In\n");
g_pLogger->SendAndFlushWithTime(L"[SetPositionXyz] In *********************************************** \n");
g_pLogger->SendAndFlushWithTime(L"[SetPositionXyz] AxisTypes = %d, PositionX = %.4f,PositionY = %.4f,PositionZ = %.4f\n", AxisTypes, PositionX, PositionY, PositionZ);
axis_start = 0;
@@ -3502,7 +3502,7 @@ HSI_STATUS HSI_Motion::SetPositionXyz(UINT AxisTypes, double PositionX, double P
LimitOver(HSI_MOTION_AXIS_Z, PositionZ);
LimitOver(HSI_MOTION_AXIS_R, m_PositionA);
g_pLogger->SendAndFlushWithTime(
L"[SetPositionXyz] LimitOver, PositionX = %.4f, PositionY = %.4f, PositionZ = %.4f, m_PositionA = %.4f\n",
L"[SetPositionXyz] LimitOverCheck, PositionX = %.4f, PositionY = %.4f, PositionZ = %.4f, m_PositionA = %.4f\n",
PositionX, PositionY, PositionZ, m_PositionA);
//SetpositionXyz的目标位置
@@ -3601,7 +3601,7 @@ HSI_STATUS HSI_Motion::SetPositionXyz(UINT AxisTypes, double PositionX, double P
g_pLogger->SendAndFlushWithTime(L"[SetPositionXyz] Out\n");
rStatus = HSI_STATUS_MOTION_MOVING;
}
g_pLogger->SendAndFlushWithTime(L"[SetPositionXyz] Out\n");
g_pLogger->SendAndFlushWithTime(L"[SetPositionXyz] Out *********************************************** \n");
targetpos_l[1] = PositionX;
targetpos_l[2] = PositionY;
targetpos_l[3] = PositionZ;
@@ -4112,10 +4112,10 @@ HSI_STATUS HSI_Motion::Load_EF3_Motion_Inifile(CString GoogolIniFile)
temp.GetBufferSetLength(50), 10, csAppPath);
float speed = (atof(T2A(temp)));
//printf("spedd:%.2F %S\n",speed, L"JOG_DRIVESPEED_" + strGear[i] + axisNum[j]); //调试打印
/*m_JogDriveSpeed[j][i] = GetPrivateProfileInt(L"JOG_SPEED", L"JOG_DRIVESPEED_" , 10, csAppPath);*/
//m_JogDriveSpeed[j][i] = GetPrivateProfileInt(L"JOG_SPEED", L"JOG_DRIVESPEED_" , 10, csAppPath);
//m_JogDriveSpeed[j][i] = speed / (m_Resolution[j] * 50);//速度转换为脉冲
m_JogDriveSpeed[j][i] = speed; //直接读取速度
g_pLogger->SendAndFlushWithTime(L"[Load_EF3_Motion_Inifile] m_JogDriveSpeed[%d][%d]: %ld %ld\n", j, i,
g_pLogger->SendAndFlushWithTime(L"[Load_EF3_Motion_Inifile] m_JogDriveSpeed[%d][%d]: %f %ld\n", j, i,
speed, m_JogDriveSpeed[j][i]); //打印配置文件 档位速度
GetPrivateProfileString(L"JOG_SPEED", L"JOG_STARTSPEED_" + strGear[i] + axisNum[j], L"10",
@@ -4130,8 +4130,8 @@ HSI_STATUS HSI_Motion::Load_EF3_Motion_Inifile(CString GoogolIniFile)
csAppPath);
}
}
m_Jog_Auto_Focus = m_JogDriveSpeed[3][4];
g_pLogger->SendAndFlushWithTime(L"[Load_EF3_Motion_Inifile] m_Jog_Auto_Focus: %f\n", m_Jog_Auto_Focus); //记录自动对焦速度
m_Jog_Auto_Focus = m_JogDriveSpeed[3][4]; //3轴4档位速度
g_pLogger->SendAndFlushWithTime(L"[Load_EF3_Motion_Inifile] m_Jog_Auto_Focus: %d\n", m_Jog_Auto_Focus); //记录自动对焦速度
m_Home_Machine_Axis[1] = GetPrivateProfileInt(L"HOME", L"HOME_MACHINE_AXIS_1", 1, csAppPath);
m_Home_Machine_Axis[2] = GetPrivateProfileInt(L"HOME", L"HOME_MACHINE_AXIS_2", 1, csAppPath);
m_Home_Machine_Axis[3] = GetPrivateProfileInt(L"HOME", L"HOME_MACHINE_AXIS_3", 1, csAppPath);
@@ -7644,7 +7644,7 @@ int HSI_Motion::SpeedPercent(int AxisNum, double& Speed, int& DirveSpeed, int& S
AccCurve = m_JogAccLine[AxisNum][0] * 10;
DecCurve = m_JogDecLine[AxisNum][0] * 10;
g_pLogger->SendAndFlushWithTime(
L"[SpeedPercent] 0.81 DriveSpeed: [%d], StartSpeed: [%d], AccLine: [%d], DecLine: [%d], AccCurve: [%d], DecCurve: [%d]\n",
L"[SpeedPercent] 四挡 DriveSpeed: [%d], StartSpeed: [%d], AccLine: [%d], DecLine: [%d], AccCurve: [%d], DecCurve: [%d]\n",
DirveSpeed, StartSpeed, AccLine, DecLine, AccCurve, DecCurve);
}
else if (fabs(Speed) > 0.61)
@@ -7656,7 +7656,7 @@ int HSI_Motion::SpeedPercent(int AxisNum, double& Speed, int& DirveSpeed, int& S
AccCurve = m_JogAccLine[AxisNum][1] * 10;
DecCurve = m_JogDecLine[AxisNum][1] * 10;
g_pLogger->SendAndFlushWithTime(
L"[SpeedPercent] 0.61 DriveSpeed: [%d], StartSpeed: [%d], AccLine: [%d], DecLine: [%d], AccCurve: [%d], DecCurve: [%d]\n",
L"[SpeedPercent] 三档 DriveSpeed: [%d], StartSpeed: [%d], AccLine: [%d], DecLine: [%d], AccCurve: [%d], DecCurve: [%d]\n",
DirveSpeed, StartSpeed, AccLine, DecLine, AccCurve, DecCurve);
}
else if (fabs(Speed) > 0.41)
@@ -7668,7 +7668,7 @@ int HSI_Motion::SpeedPercent(int AxisNum, double& Speed, int& DirveSpeed, int& S
AccCurve = m_JogAccLine[AxisNum][2] * 10;
DecCurve = m_JogDecLine[AxisNum][2] * 10;
g_pLogger->SendAndFlushWithTime(
L"[SpeedPercent] 0.41 DriveSpeed: [%d], StartSpeed: [%d], AccLine: [%d], DecLine: [%d], AccCurve: [%d], DecCurve: [%d]\n",
L"[SpeedPercent] 二档 DriveSpeed: [%d], StartSpeed: [%d], AccLine: [%d], DecLine: [%d], AccCurve: [%d], DecCurve: [%d]\n",
DirveSpeed, StartSpeed, AccLine, DecLine, AccCurve, DecCurve);
}
else if (fabs(Speed) > 0.21)
@@ -7680,7 +7680,7 @@ int HSI_Motion::SpeedPercent(int AxisNum, double& Speed, int& DirveSpeed, int& S
AccCurve = m_JogAccLine[AxisNum][3] * 10;
DecCurve = m_JogDecLine[AxisNum][3] * 10;
g_pLogger->SendAndFlushWithTime(
L"[SpeedPercent] 0.21 DriveSpeed: [%d], StartSpeed: [%d], AccLine: [%d], DecLine: [%d], AccCurve: [%d], DecCurve: [%d]\n",
L"[SpeedPercent] 一档 DriveSpeed: [%d], StartSpeed: [%d], AccLine: [%d], DecLine: [%d], AccCurve: [%d], DecCurve: [%d]\n",
DirveSpeed, StartSpeed, AccLine, DecLine, AccCurve, DecCurve);
}
else if (fabs(Speed) > 0.01)
@@ -7692,7 +7692,7 @@ int HSI_Motion::SpeedPercent(int AxisNum, double& Speed, int& DirveSpeed, int& S
AccCurve = m_JogAccLine[AxisNum][4] * 10;
DecCurve = m_JogDecLine[AxisNum][4] * 10;
g_pLogger->SendAndFlushWithTime(
L"[SpeedPercent] 0.01 DriveSpeed: [%d], StartSpeed: [%d], AccLine: [%d], DecLine: [%d], AccCurve: [%d], DecCurve: [%d]\n",
L"[SpeedPercent] 零档 DriveSpeed: [%d], StartSpeed: [%d], AccLine: [%d], DecLine: [%d], AccCurve: [%d], DecCurve: [%d]\n",
DirveSpeed, StartSpeed, AccLine, DecLine, AccCurve, DecCurve);
}
else
@@ -7796,14 +7796,34 @@ HSI_STATUS HSI_Motion::GetSpeedXyzOld(int AxisNum, double& Speed)
HSI_STATUS HSI_Motion::GetSpeedXyz(int AxisNum, double& Speed)
{
//g_pLogger->SendAndFlushWithTime(L"[GetSpeedXyz] In\n");
g_pLogger->SendAndFlushWithTime(L"[GetSpeedXyz] In ================================ \n");
auto rStatus = HSI_STATUS_NORMAL;
short AxisNumber = AxisConvertIndex(AxisNum); //将轴号转换为 平台轴号
//打印轴号换算后的值
g_pLogger->SendAndFlushWithTime(L"[GetSpeedXyz] AxisNum = %d, AxisNumber = %d\n", AxisNum, AxisNumber);
// 方式1
for (int j = 0;j < 9;j++)
{
//写日志
g_pLogger->SendAndFlushWithTime(L"m_SetPotion_DriveSpeed[%d] = %d\n", j, m_SetPotion_DriveSpeed[j]);
}
Speed = m_SetPotion_DriveSpeed[AxisNumber]; //从m_SetPotion_DriveSpeed[AxisNumber]中获取速度
g_pLogger->SendAndFlushWithTime(L"[GetSpeedXyz] AxisNum = %d, Speed=%d\n", AxisNumber, Speed);
//g_pLogger->SendAndFlushWithTime(L"[GetSpeedXyz] Out\n");
//方式2,从底层查询
double getMotionParam[5] = { 0 };
GetSingleAxisParam(AxisNumber, getMotionParam); //获取单轴运动参数
g_pLogger->SendAndFlushWithTime(
L"[GetSingleAxisParam] Axis= %d, Velocity = %.2f, Acceleration= %.2f, Deceleration= %.2f, KillDeceleration= %.2f, Jerk= %.2f\n",
AxisNumber, getMotionParam[0], getMotionParam[1], getMotionParam[2], getMotionParam[3], getMotionParam[4]);
Speed = getMotionParam[0]; //从getMotionParam[0]中获取速度
g_pLogger->SendAndFlushWithTime(L"[GetSpeedXyz] AxisNum = %d, Speed=%.2f\n", AxisNumber, Speed);
g_pLogger->SendAndFlushWithTime(L"[GetSpeedXyz] Out ================================ \n");
return rStatus;
}
@@ -7811,7 +7831,7 @@ HSI_STATUS HSI_Motion::GetSpeedXyz(int AxisNum, double& Speed)
HSI_STATUS HSI_Motion::SetSpeedXyz(double Speed)
{
auto rStatus = HSI_STATUS_NORMAL;
g_pLogger->SendAndFlushWithTime(L"[SetSpeedXyz] In\n");
g_pLogger->SendAndFlushWithTime(L"[SetSpeedXyz] In ================================ \n");
if (Speed >= -1 && Speed <= 0)
{
g_pLogger->SendAndFlushWithTime(L"[SetSpeedXyz] Speed = %f, m_Jog_Auto_Focus = %f\n", Speed, m_Jog_Auto_Focus);
@@ -7833,7 +7853,7 @@ HSI_STATUS HSI_Motion::SetSpeedXyz(double Speed)
//}
m_SetPotion_DriveSpeed[1] = static_cast<int>(Speed);
//打印 m_setotion_drivespeed[1]的值
g_pLogger->SendAndFlushWithTime(L"[SetSpeedXyz] m_iSpeedType=1, m_SetPotion_DriveSpeed[1] = %d\n", m_SetPotion_DriveSpeed[1]);
g_pLogger->SendAndFlushWithTime(L"[SetSpeedXyz] m_iSpeedType=1, m_SetPotion_DriveSpeed[1] = %.2f\n", m_SetPotion_DriveSpeed[1]);
}
else
{
@@ -7847,29 +7867,29 @@ HSI_STATUS HSI_Motion::SetSpeedXyz(double Speed)
// m_SetPotion_DriveSpeed[1] = 0;
//}
//打印 m_setotion_drivespeed[1]的值
g_pLogger->SendAndFlushWithTime(L"[SetSpeedXyz] m_SetPotion_DriveSpeed[1] = %d\n", m_SetPotion_DriveSpeed[1]);
g_pLogger->SendAndFlushWithTime(L"[SetSpeedXyz] m_SetPotion_DriveSpeed[1] = %.2f\n", m_SetPotion_DriveSpeed[1]);
}
}
g_pLogger->SendAndFlushWithTime(L"[SetSpeedXyz] Out\n");
g_pLogger->SendAndFlushWithTime(L"[SetSpeedXyz] Out ================================ \n");
return rStatus;
}
//===========================================================================
HSI_STATUS HSI_Motion::GetFocusSpeedOld(double& Speed)
{
g_pLogger->SendAndFlushWithTime(L"[GetFocusSpeed] In\n");
auto rStatus = HSI_STATUS_NORMAL;
if (1 == m_iSpeedType)
{
Speed = m_JogDriveSpeed[3][4] * (m_Resolution[3] * 50);
}
else
{
Speed = m_JogDriveSpeed[3][4];
}
g_pLogger->SendAndFlushWithTime(L"[GetFocusSpeed] Out\n");
return rStatus;
}
//HSI_STATUS HSI_Motion::GetFocusSpeedOld(double& Speed)
//{
// g_pLogger->SendAndFlushWithTime(L"[GetFocusSpeed] In\n");
// auto rStatus = HSI_STATUS_NORMAL;
// if (1 == m_iSpeedType)
// {
// Speed = m_JogDriveSpeed[3][4] * (m_Resolution[3] * 50);
// }
// else
// {
// Speed = m_JogDriveSpeed[3][4];
// }
// g_pLogger->SendAndFlushWithTime(L"[GetFocusSpeed] Out\n");
// return rStatus;
//}
HSI_STATUS HSI_Motion::GetFocusSpeed(double& Speed)
{
@@ -7877,59 +7897,63 @@ HSI_STATUS HSI_Motion::GetFocusSpeed(double& Speed)
auto rStatus = HSI_STATUS_NORMAL;
if (1 == m_iSpeedType)
{
Speed = m_JogDriveSpeed[3][4] * (m_Resolution[3] * 50);
//Speed = m_JogDriveSpeed[3][4] * (m_Resolution[3] * 50);
Speed = m_JogDriveSpeed[3][4];
}
else
{
Speed = m_JogDriveSpeed[3][4];
}
g_pLogger->SendAndFlushWithTime(L"[GetFocusSpeed] Speed = %d, m_Jog_Auto_Focus = %d\n", Speed, m_Jog_Auto_Focus);
g_pLogger->SendAndFlushWithTime(L"[GetFocusSpeed] Out\n");
return rStatus;
}
//===========================================================================
HSI_STATUS HSI_Motion::SetFocusSpeedOld(double Speed)
{
auto rStatus = HSI_STATUS_NORMAL;
g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] In\n");
g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] Speed = %f, m_Jog_Auto_Focus = %f\n", Speed, m_Jog_Auto_Focus);
if (1 == m_iSpeedType)
{
m_JogDriveSpeed[3][4] = Speed / (m_Resolution[3] * 50);
}
else
{
m_JogDriveSpeed[3][4] = Speed;
}
g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] m_Jog_SpeedZ[3][4] = %f\n", m_JogDriveSpeed[4][3]);
return rStatus;
}
//HSI_STATUS HSI_Motion::SetFocusSpeedOld(double Speed)
//{
// auto rStatus = HSI_STATUS_NORMAL;
// g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] In\n");
//
// g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] Speed = %f, m_Jog_Auto_Focus = %f\n", Speed, m_Jog_Auto_Focus);
// if (1 == m_iSpeedType)
// {
// m_JogDriveSpeed[3][4] = Speed / (m_Resolution[3] * 50);
// }
// else
// {
// m_JogDriveSpeed[3][4] = Speed;
// }
// g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] m_Jog_SpeedZ[3][4] = %f\n", m_JogDriveSpeed[4][3]);
// return rStatus;
//}
HSI_STATUS HSI_Motion::SetFocusSpeed(double Speed)
{
auto rStatus = HSI_STATUS_NORMAL;
g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] In\n");
g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] Speed = %f\n", Speed);
if (Speed >= -1 && Speed <= 0)
{
g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] Speed = %f, m_Jog_Auto_Focus = %f\n", Speed, m_Jog_Auto_Focus);
m_JogDriveSpeed[3][4] = static_cast<int>(fabs(Speed * m_Jog_Auto_Focus));
g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] m_Jog_SpeedZ[3][4] = %f\n", m_JogDriveSpeed[3][4]);
g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] m_Jog_SpeedZ[3][4] = %d\n", m_JogDriveSpeed[3][4]);
}
else
{
if (1 == m_iSpeedType)
{
m_JogDriveSpeed[3][4] = Speed / (m_Resolution[3] * 50);
//m_JogDriveSpeed[3][4] = Speed / (m_Resolution[3] * 50);
m_JogDriveSpeed[3][4] = Speed;
g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] m_iSpeedType=1, m_Jog_SpeedZ[3][4] = %f\n", m_JogDriveSpeed[4][3]);
g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] m_iSpeedType=1, m_Jog_SpeedZ[3][4] = %d\n", m_JogDriveSpeed[3][4]);
}
else
{
m_JogDriveSpeed[3][4] = Speed;
g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] m_SetPotion_DriveSpeed[1] = %d\n", m_JogDriveSpeed[4][3]);
g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] m_JogDriveSpeed[3][4] = %d\n", m_JogDriveSpeed[3][4]);
}
}
g_pLogger->SendAndFlushWithTime(L"[SetFocusSpeed] Out\n");
@@ -8055,8 +8079,6 @@ void HSI_Motion::SetSingleAxisMotionParams(UINT AxisTypes, double SetMotionParam
g_pLogger->SendAndFlushWithTime(L"[SetSingleAxisMotionParams] In >>>>>>>>>>>>>>>>>>>>>> \n");
double getMotionParam[5] = { 0 };
//打印 AxisTypes
g_pLogger->SendAndFlushWithTime(L"[SetSingleAxisMotionParams] AxisTypes = %d\n", AxisTypes);
GetSingleAxisParam(AxisTypes, getMotionParam); //获取单轴运动参数
g_pLogger->SendAndFlushWithTime(
+8 -10
View File
@@ -5,7 +5,11 @@
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
#include <iostream>
#include <io.h>
#include <direct.h>
using namespace std;
void CLogger::SendAtTime(const TCHAR* buffer)
{
@@ -111,10 +115,10 @@ void CLogger::SendAndFlushWithTime(LPCTSTR format, ...)
va_end(list);
}
/*放弃当前线程对锁定部分的所有权。一旦锁定部分的所有权被放弃,那么请求访问临界区的下一个线程,将可以对锁定部分进行操作。每一个调用EnterCriticalSection的线程,都应该调用一次LeaveCriticalSection。
//放弃当前线程对锁定部分的所有权。一旦锁定部分的所有权被放弃,那么请求访问临界区的下一个线程,将可以对锁定部分进行操作。每一个调用EnterCriticalSection的线程,都应该调用一次LeaveCriticalSection。
使一个线程可以使用一个临界段对象来进行互斥同步。这个过程需要优先创建一个临界区结构体变量(分配使用内存)。在使用临界区之前, 待操作临界区的进程必须调用InitializeCriticalSection 或者 InitializeCriticalSectionAndSpinCount函数来初始化临界区。
一个线程使用EnterCriticalSection 或TryEnterCriticalSection函数来获得关键部分对象的所有权时,该线程必须在离开临界区时调用LeaveCriticalSection。*/
//使一个线程可以使用一个临界段对象来进行互斥同步。这个过程需要优先创建一个临界区结构体变量(分配使用内存)。在使用临界区之前, 待操作临界区的进程必须调用InitializeCriticalSection 或者 InitializeCriticalSectionAndSpinCount函数来初始化临界区。
// 一个线程使用EnterCriticalSection 或TryEnterCriticalSection函数来获得关键部分对象的所有权时,该线程必须在离开临界区时调用LeaveCriticalSection。
LeaveCriticalSection(&m_lockLogger);
}
@@ -152,12 +156,6 @@ string ConvertCharToString(char* a, int size)
}
//删除指定目录以及目录下的所有文件
#include <iostream>
#include <io.h>
#include <direct.h>
using namespace std;
void DelFiles(string path)
{
//在目录后面加上"\\*.*"进行第一次搜索
@@ -170,7 +168,7 @@ void DelFiles(string path)
if (handle == -1)
{
cout << "无文件" << endl;
//cout << "无文件" << endl;
system("pause");
return;
}
+2 -2
View File
@@ -12,5 +12,5 @@
#define HSI_VERSION_REVNUM
#define HSI_VERSION_BUILD_DATE _T(__DATE__ )
#define HSI_VERSION_BUILD_TIME _T(__TIME__ )
#define HSI_FILE_DESCRIPTION "2024.12.23 / 13:41 "
#define HSI_FILE_CSDESCRIPTION _T("2024.12.23 / 13:41 ")
#define HSI_FILE_DESCRIPTION "2025.02.13 / 17:57 "
#define HSI_FILE_CSDESCRIPTION _T("2025.02.13 / 17:57 ")
+3 -1
View File
@@ -766,8 +766,10 @@ namespace HexcalMC
{
//增加2秒延时
Thread.Sleep((int)dwellTime);
//int currentDwellTime = dwellTimes[currentIndex] * 1000; // 将秒转换为毫秒
//Thread.Sleep(currentDwellTime);
Point nextPoint = filteredPoints[currentIndex];
Point nextPoint = filteredPoints[currentIndex];
//打印 nextPoint
DebugDfn.AddLogText(
"下发指令:"
+1 -1
View File
@@ -21,7 +21,7 @@
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>z2mLqy08XuUV8hlnpHyZ0pykJWrtzR1mUJK4Iyn9kS4=</dsig:DigestValue>
<dsig:DigestValue>o9GBKbn6bHl5Tbw9WSRdf0fjMgTcBKZwOi2zbjSGZL8=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
Binary file not shown.
+1 -1
View File
@@ -62,7 +62,7 @@
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>4DR1ksKlokf+OktGK8d+8M0auawSIh8axvkUM7xdmUc=</dsig:DigestValue>
<dsig:DigestValue>f9lPz4efLHPXDVjq6WbZBlYqubnq7d52jUr55F7l9wk=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
Binary file not shown.
Binary file not shown.