提交09年af1cd4 通过 developer4

初始版本0.0-pre-alpha

父母
这个困难是崩溃的。单击展开。
language.settings.xml
* . o
/ win32_debug /
/ win32_release / src /
/ win64_debug /
/ win64_release / src /
(子模块“自由”)
路径= lib
Url = https://git.d-logic.net/nfc-rfid-reader-sdk/ufr-lib.git
<?xml version="1.0" encoding="UTF-8"?>
< projectDescription >
<名称>ufr-examples-ePassport_mrtd< /名称>
<评论> < /评论>
<项目>
> < /项目
< buildSpec >
< buildCommand >
<名称>org.eclipse.cdt.managedbuilder.core.genmakebuilder< /名称>
<触发>干净、完整、增量,> < /触发器
<参数>
> < /参数
< / buildCommand >
< buildCommand >
<名称>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder< /名称>
<触发>完整、增量> < /触发器
<参数>
> < /参数
< / buildCommand >
< / buildSpec >
<自然>
<自然>org.eclipse.cdt.core.cnature> < /性质
<自然>org.eclipse.cdt.managedbuilder.core.managedBuildNature> < /性质
<自然>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature> < /性质
> < /性质
< / projectDescription >
eclipse.preferences.version = 1
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.debug.592954317.1129704336 / MINGW_HOME /分隔符=;
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.debug.592954317.1129704336 MINGW_HOME /操作=取代
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.debug.592954317.1129704336 / MINGW_HOME /值= C: \ \ \ mingw32。
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.debug.592954317.1129704336 /附加= true
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.debug.592954317.1129704336 / appendContributed = true
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 / MINGW_HOME /分隔符=;
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 MINGW_HOME /操作=取代
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 / MINGW_HOME /值= C: \ \ \ mingw64
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 /附加= true
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 / appendContributed = true
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.release.1927850329.1706879649 / MINGW_HOME /分隔符=;
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.release.1927850329.1706879649 MINGW_HOME /操作=取代
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.release.1927850329.1706879649 / MINGW_HOME /值= C: \ \ \ mingw32。
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.release.1927850329.1706879649 /附加= true
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.release.1927850329.1706879649 / appendContributed = true
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 / MINGW_HOME /分隔符=;
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 MINGW_HOME /操作=取代
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 / MINGW_HOME /值= C: \ \ \ mingw64
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 /附加= true
环境/项目/ cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 / appendContributed = true
eclipse.preferences.version = 1
环境/ buildEnvironmentInclude / cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 / CPATH /分隔符=;
环境/ buildEnvironmentInclude / cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 / CPATH / =删除操作
环境/ buildEnvironmentInclude / cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 / C_INCLUDE_PATH /分隔符=;
环境/ buildEnvironmentInclude / cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 / C_INCLUDE_PATH / =删除操作
环境/ buildEnvironmentInclude cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 /附加= true
环境/ buildEnvironmentInclude / cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 / appendContributed = true
环境/ buildEnvironmentInclude / cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 / CPATH /分隔符=;
环境/ buildEnvironmentInclude / cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 / CPATH / =删除操作
环境/ buildEnvironmentInclude / cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 / C_INCLUDE_PATH /分隔符=;
环境/ buildEnvironmentInclude / cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 / C_INCLUDE_PATH / =删除操作
环境/ buildEnvironmentInclude cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 /附加= true
环境/ buildEnvironmentInclude / cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 / appendContributed = true
环境/ buildEnvironmentLibrary / cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 / LIBRARY_PATH /分隔符=;
环境/ buildEnvironmentLibrary / cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 / LIBRARY_PATH / =删除操作
环境/ buildEnvironmentLibrary cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 /附加= true
环境/ buildEnvironmentLibrary / cdt.managedbuild.config.gnu.mingw.exe.debug.592954317 / appendContributed = true
环境/ buildEnvironmentLibrary / cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 / LIBRARY_PATH /分隔符=;
环境/ buildEnvironmentLibrary / cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 / LIBRARY_PATH / =删除操作
环境/ buildEnvironmentLibrary cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 /附加= true
环境/ buildEnvironmentLibrary / cdt.managedbuild.config.gnu.mingw.exe.release.1927850329 / appendContributed = true
自由9 f2464bb
子项目提交9f2464bb97d4b665a60544b934858984fae4430c
/ *
* conio_gnu.c
*
*创建时间:2016年5月31日。
*作者:d-logic (http://www.d-logic.net/nfc-rfid-reader-sdk/)
* /
#if linux || __linux__ || __APPLE__
# include < termios.h >
# include < stdio . h >
# include < unistd.h >
# include < sys / types.h >
# include < sys / time.h >
# include < sys / ioctl.h >
静态结构体termios
//初始化新的终端i/o设置:
无效_initTermiosint回声
{
tcgetattr0);//获取旧的终端I / O设置
=//使新设置与旧设置相同
c_lflag& =ICANON//禁用缓存I / O
c_lflag& =回声回声回声//设置echo模式
tcsetattr0TCSANOW);//现在使用这些新的终端I / O设置
}
//恢复旧的终端i/o设置:
无效_resetTermios无效
{
tcsetattr0TCSANOW);
}
//读取1个字符:
字符_getch无效
{
返回获取字符();
}
int_kbhit无效
{
intbyteswaiting
ioctl0FIONREADbyteswaiting);
返回byteswaiting>0
}
#endif // linux || __linux__ || __APPLE__
/ *
* conio_gnu.h
*
*创建时间:2016年5月31日。
*作者:d-logic (http://www.d-logic.net/nfc-rfid-reader-sdk/)
* /
的ifndef CONIO_GNU_H_
#定义CONIO_GNU_H_
#if linux || __linux__ || __APPLE__
无效_initTermiosint回声);
无效_resetTermios无效);
字符_getch无效);
int_kbhit无效);
#endif // linux || __linux__ || __APPLE__
# endif/* conio_gnu_h_ */
/ *
* f_utils.c
* /
# include < stdio . h >
# include < stdlib.h >
# include < stdint.h >
# include < stdbool.h >
# include“ini.h”
# include“f_utils.h”
无效mrtd_fileread_write_image_to_file常量uint8_t*file_content常量intfile_size常量字符*文件名{
文件*
字符文件类型
字符filenamebuf(256];
intbaselength=0
无符号字符start_sequence_jpeg(10]={0 xff0 xd80 xff0 xe00 x000 x100 x4a0 x460 x490 x46};
无符号字符start_sequence_jpeg2000(10]={0 x000 x000 x000 x0c0 x6a0×500 x200 x200 x0d0 x0a};
无符号字符*start_sequence
intcomparelen=0
如果file_size>84{
文件类型=file_content(71];// Bilo je [73] // 0x00: JPG, 0x01: JPEG2000
如果strlen文件名>3.& &文件名(strlen文件名-4]==“。”
baselength=strlen文件名-4
其他的
baselength=strlen文件名);
memcpyfilenamebuf文件名baselength);
如果文件类型==0 x00{
memcpyfilenamebuf+baselength“jpg”4);
start_sequence=start_sequence_jpeg
comparelen=2
}其他的{
memcpyfilenamebuf+baselength“.jp2”4);
start_sequence=start_sequence_jpeg2000
comparelen=10
}
filenamebuf(baselength+4]=0
intj
int抵消=0
字符平等的=0
=0<120++{
j=0
如果file_content(]==start_sequence(j]){
平等的=1
j=1j<comparelenj++{
如果file_content(+j]! =start_sequence(j]){
平等的=0
打破
}
}
}
如果平等的{
抵消=
打破
}
}
如果平等的{
printf“找不到图像的开头\ n);
返回
}
=打开外部文件filenamebuf“白平衡”);
printf"将图像保存到%s…"filenamebuf);
写入文件file_content+抵消1file_size-抵消);
文件关闭);
printf“完成\ n);
如果文件类型==0 x01
printf
\ n(注:.jp2文件为JPEG2000图像,可以打开\ n有许多不同的图像观看者。如果你不能\ n打开它,它可以转换为JPEG与GraphicsMagick:\ nGm convert image.jp2 image.jpg\ n \ n);
}
}
无效mrtd_fileread_get_datagroup_name常量uint8_tdg字符*名字{
开关dg{
情况下0 x60):
sprintf名字“EF_COM”);
打破
情况下0 x61):
sprintf名字“EF_DG1”);
打破
情况下0 x75):
sprintf名字“EF_DG2”);
打破
情况下0 x63):
sprintf名字“EF_DG3”);
打破
情况下0 x76):
sprintf名字“EF_DG4”);
打破
情况下0 x65):
sprintf名字“EF_DG5”);
打破
情况下0 x66):
sprintf名字“EF_DG6”);
打破
情况下0 x67):
sprintf名字“EF_DG7”);
打破
情况下0 x68):
sprintf名字“EF_DG8”);
打破
情况下0 x69):
sprintf名字“EF_DG9”);
打破
情况下0 x6a):
sprintf名字“EF_DG10”);
打破
情况下0 x6b):
sprintf名字“EF_DG11”);
打破
情况下0 x6c):
sprintf名字“EF_DG12”);
打破
情况下0 x6d):
sprintf名字“EF_DG13”);
打破
情况下0 x6e):
sprintf名字“EF_DG14”);
打破
情况下0 x6f):
sprintf名字“EF_DG15”);
打破
情况下0 x70):
sprintf名字“EF_DG16”);
打破
情况下0 x77):
sprintf名字“EF_SOD”);
打破
默认值:
sprintf名字“没有定义”);
打破
}
返回
}
无效mrtd_fileread_decode_ef_com常量uint8_t*file_content常量intfile_sizeuint8_t*datagroupsint*numdatagroups{
int
intcurrentlength
intinterncounter
inttotallength
字符=0
字符currentkeys=0
currentlength=0
*numdatagroups=0
=0<file_size++{
如果==1{
totallength=file_content(];
interncounter=0
}其他的如果==1{
=2
}其他的如果==2{
=0
currentlength=file_content(];
interncounter=0
}其他的如果interncounter==currentlength& &file_content(]==0 x5f{
currentkeys=0
=1
}其他的如果interncounter==currentlength{
=2
如果file_content(]==0 x5c
currentkeys=1
其他的
currentkeys=0
}其他的{
如果currentkeys{
datagroups(interncounter]=file_content(];
字符缓冲(30.];
mrtd_fileread_get_datagroup_namedatagroups(interncounter],缓冲);
printf“发现:% s\ n缓冲);
*numdatagroups++
}
interncounter++
}
}
printf\ n);
}
/ *
* f_utils.h
* /
的ifndef F_UTILS_H_
#定义F_UTILS_H_
无效mrtd_fileread_write_image_to_file常量uint8_t*file_content常量intfile_size常量字符*文件名);
无效mrtd_fileread_get_datagroup_name常量uint8_tdg字符*名字);
无效mrtd_fileread_decode_ef_com常量uint8_t*file_content常量intfile_sizeuint8_t*datagroupsint*numdatagroups);
# endif/* f_utils_h_ */
/ *
* hw_utils.c
* /
# include < stdio . h >
# include < stdlib.h >
# include < inttypes.h >
# include < stdbool.h >
# include < uFCoder.h >
# include“hw_utils.h”
# include“ini.h”
/ *包括:
* stdio.h & stdlib.h默认包含(用于printf和LARGE_INTEGER)。QuadPart (long long)使用%lld或%016llx。
* inttypes.h, stdbool.h & string.h包括各种类型支持和实用程序。
* windows.h需要用于各种计时器函数(GetTickCount(), queryperformancfrequency (), QueryPerformanceCounter())
* /
#if __WIN32 || __WIN64 . #
# include
#elif linux || __linux__ || __APPLE__
# include
其他#
# error "Unknown build platform."
# endif
//------------------------------------------------------------------------------
保龄球CheckDependencies无效{
#if defined(EXIT_ON_WRONG_FW_DEPENDENCY) || defined(EXIT_ON_WRONG_LIB_DEPENDENCY)
uint8_tversion_majorversion_minor构建
保龄球wrong_version=
# endif
UFR_STATUS状态
# ifdef EXIT_ON_WRONG_LIB_DEPENDENCY
uint32_tdwDllVersion=0
dwDllVersion=GetDllVersion();
//“爆炸”uFCoder库版本:
version_major=uint8_tdwDllVersion
version_minor=uint8_t)(dwDllVersion>>8);
//获取uFCoder库的构建号。
构建=uint8_t)(dwDllVersion>>16);
如果version_major<MIN_DEPEND_LIB_VER_MAJOR{
wrong_version=真正的
}其他的如果version_major==MIN_DEPEND_LIB_VER_MAJOR& &version_minor<MIN_DEPEND_LIB_VER_MINOR{
wrong_version=真正的
}其他的如果version_major==MIN_DEPEND_LIB_VER_MAJOR& &version_minor==MIN_DEPEND_LIB_VER_MINOR& &构建<MIN_DEPEND_LIB_VER_BUILD{
wrong_version=真正的
}
如果wrong_version{
printf错误的uFCoder库版本(%d %d %d)。\ n
“请将uFCoder库更新到%d %d。”% d版。\ n
version_majorversion_minor构建
MIN_DEPEND_LIB_VER_MAJORMIN_DEPEND_LIB_VER_MINORMIN_DEPEND_LIB_VER_BUILD);
返回
}
# endif
# ifdef EXIT_ON_WRONG_FW_DEPENDENCY
wrong_version=
状态=GetReaderFirmwareVersionversion_majorversion_minor);
如果状态! =UFR_OK{
printf"检查固件版本时出错,状态为:0x%08X。\ n状态);
}
状态=GetBuildNumber构建);
如果状态! =UFR_OK{
printf"固件版本错误,状态为:0x%08X。\ n状态);
}
如果version_major<MIN_DEPEND_FW_VER_MAJOR{
wrong_version=真正的
}其他的如果version_major==MIN_DEPEND_FW_VER_MAJOR& &version_minor<MIN_DEPEND_FW_VER_MINOR{
wrong_version=真正的
}其他的如果version_major==MIN_DEPEND_FW_VER_MAJOR& &version_minor==MIN_DEPEND_FW_VER_MINOR& &构建<MIN_DEPEND_FW_VER_BUILD{
wrong_version=真正的
}
如果wrong_version{
printf错误的uFR NFC读取器固件版本(%d %d %d)。\ n
请将uFR固件更新到%d %d。% d版。\ n
version_majorversion_minor构建
MIN_DEPEND_FW_VER_MAJORMIN_DEPEND_FW_VER_MINORMIN_DEPEND_FW_VER_BUILD);
返回
}
# endif
返回真正的
}
//------------------------------------------------------------------------------
#if __WIN32 || __WIN64 . #
time_difference_sLARGE_INTEGER开始LARGE_INTEGER结束{
静态LARGE_INTEGER频率
res
如果频率QuadPart==0{
QueryPerformanceFrequency频率);
}
res=结束QuadPart-开始QuadPart/频率QuadPart
返回res
}
time_difference_msLARGE_INTEGER开始LARGE_INTEGER结束{
res=time_difference_s开始结束*10000
返回res
}
#elif linux || __linux__ || __APPLE__
timespectime_differencetimespec开始timespec结束
{
timespecres
如果((结束tv_nsec-开始tv_nsec<0{
restv_sec=结束tv_sec-开始tv_sec-1
restv_nsec=1000000000 l+结束tv_nsec-开始tv_nsec
}其他的{
restv_sec=结束tv_sec-开始tv_sec
restv_nsec=结束tv_nsec-开始tv_nsec
}
返回res
}
time_difference_stimespec开始timespec结束
{
timespecdiff=time_difference();
res=difftv_sec+0000000001*difftv_nsec);
返回res
}
time_difference_mstimespec开始timespec结束
{
timespecdiff=time_difference();
res=difftv_sec+0000001*difftv_nsec);
返回res
}
# endif
/ *
* hw_utils.h
* /
的ifndef HW_UTILS_H_
#定义HW_UTILS_H_
# include“ini.h”
#if __WIN32 || __WIN64 . #
# include
#elif linux || __linux__ || __APPLE__
# include
其他#
# error "Unknown build platform."
# endif
//------------------------------------------------------------------------------
类型定义常量字符*sz_ptr
//------------------------------------------------------------------------------
保龄球CheckDependencies无效);
#if __WIN32 || __WIN64 . #
time_difference_sLARGE_INTEGER开始LARGE_INTEGER结束);
time_difference_msLARGE_INTEGER开始LARGE_INTEGER结束);
#elif linux || __linux__ || __APPLE__
timespectime_differencetimespec开始timespec结束);
time_difference_stimespec开始timespec结束);
time_difference_mstimespec开始timespec结束);
# endif
//------------------------------------------------------------------------------
# endif/* hw_utils_h_ */
/ *
* ini.h
* /
的ifndef INI_H_
#定义INI_H_
#define APP_VERSION "0.0"
#定义EXIT_ON_WRONG_FW_DEPENDENCY
#定义MIN_DEPEND_FW_VER_MAJOR
#定义MIN_DEPEND_FW_VER_MINOR
#定义MIN_DEPEND_FW_VER_BUILD
#定义EXIT_ON_WRONG_LIB_DEPENDENCY
#define MIN_DEPEND_LIB_VER_MAJOR
#define MIN_DEPEND_LIB_VER_MINOR
#define MIN_DEPEND_LIB_VER_BUILD
# endif/* ini_h_ */
这个困难是崩溃的。单击展开。
/ *
* utils.c
* /
# include < stdio . h >
# include < stdlib.h >
# include < inttypes.h >
# include“ini.h”
# include“p_utils.h”
//------------------------------------------------------------------------------
无效print_ln_len字符象征uint8_t{
int=0<++
printf“% c”象征);
printf\ n);
}
//------------------------------------------------------------------------------
内联无效print_ln字符象征{
print_ln_len象征DEFAULT_LINE_LEN);
}
//------------------------------------------------------------------------------
无效print_hex常量uint8_t*数据uint32_tlen常量字符*分隔符{
int=0<len++{
printf“x % 02”数据(]);
如果((分隔符! =& &<len-1)))
printf“% c”*分隔符);
}
}
//------------------------------------------------------------------------------
无效print_hex_ln常量uint8_t*数据uint32_tlen常量字符*分隔符{
print_hex数据len分隔符);
printf\ n);
}
//==============================================================================
/ *
* p_utils.h
* /
的ifndef P_UTILS_H_
#定义P_UTILS_H_
#define DEFAULT_LINE_LEN
无效print_ln_len字符象征uint8_t);
无效print_ln字符象征);
无效print_hex常量uint8_t*数据uint32_tlen常量字符*分隔符);
无效print_hex_ln常量uint8_t*数据uint32_tlen常量字符*分隔符);
# endif/* p_utils_h_ */
@echo掉
设置路径= . . \ lib \ windows \ x86; % %
ePassport_mrtd.exe
@echo掉
设置路径= . . \ lib \ windows \ x86_64; % %
ePassport_mrtd.exe
    减价支持
    0%
    你要添加0讨论。小心行事。
    先完成编辑此消息!
    注册发表评论
    Baidu
    map