CN112052010B - 一种icd字节序自动转换方法 - Google Patents
一种icd字节序自动转换方法 Download PDFInfo
- Publication number
- CN112052010B CN112052010B CN202011021359.9A CN202011021359A CN112052010B CN 112052010 B CN112052010 B CN 112052010B CN 202011021359 A CN202011021359 A CN 202011021359A CN 112052010 B CN112052010 B CN 112052010B
- Authority
- CN
- China
- Prior art keywords
- byte
- definition
- icd
- data
- variable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000006870 function Effects 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000011161 development Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 4
- 239000000470 constituent Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012938 design process Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
本发明属于计算机软件技术领域,公开了一种ICD字节序自动转换方法,包括:S1,在接口控制文档ICD中读取结构体定义头文件;S2,在所述结构体定义头文件中获取信号结构体变量定义字段;S3,逐行解析信号结构体变量定义字段,获取变量类型、变量名和变量注释;S4,根据解析后的信号结构体变量定义字段,获取新的结构体定义头文件和ICD字节定义信息;S5,根据所述新的结构体定义头文件和ICD字节定义信息,对内存中的变量数据进行字节序转换,自动实现机载软件ICD数据字节序的转换。
Description
技术领域
本发明属于计算机软件技术领域,尤其涉及一种ICD字节序自动转换方法。
背景技术
接口控制文档(ICD,Interface Control Document)是航电系统设计的顶层文件,是接口仿真软件初始化的基础。ICD定义了航电系统和子系统要处理和管理的各种电气电子接口、信号、消息和数据流,由总体设计单位在系统的详细设计过程中编写,是航电软件详细设计、代码编写、程序测试、功能联试等研发工作的重要依据,贯穿于航电软件研发过程中。头文件是软件程序的组成文件之一,数据接口是软件头文件的重要组成,需要按照程序编码要求编写,软件头文件的数据接口必须按照接口控制文件的要求组织定义。
计算机科学中,字节顺序(Endianess)是内存中字节(有时候是位)排列方式,用以表示不同种类的数据。计算机硬件有两种存储数据的方式:大端字节序(big endian)和小端字节序(little endian),举例来说,数值0x5566使用两个字节存储:高位字节是0x55,低位字节是0x66。大端字节序:高位字节在前,低位字节在后,以0x5566形式存储;小端字节序:低位字节在前,高位字节在后,即以0x6655形式存储。同理,0x1234567的大端和小端字节序的内存数据如下表:
表1大端和小端字节序
机载航电系统研制过程中,不同厂家往往基于不同硬件平台进行系统设计和软件开发,由于不同的硬件平台基于不同类型的CPU,不同CPU对字节顺序保存方式并不统一,所有不同子系统之间进行数据交互需要考虑字节序的转换问题。例如,采用X86平台CPU和Power PC平台的CPU之间进行数据交互就需要其中一方转换字节序。
传统航电子系统软件开发过程中往往比较关注功能和逻辑的实现,字节序转换大多采用手动编写代码转换的方式进行,开发人员重复劳动较多。以RS422协议为例,当系统ICD设计采用位域定义的方式进行,且数据字节数大于1时,只调整ICD字段的先后顺序无法从根本上解决字节序颠倒的问题,还需要对数据的字节顺序进行调整。软件开发人员采用手动方式转换ICD字节序,容易出错,且效率较低。
发明内容
针对上述问题,本发明利用头文件数据接口生成ICD自动转换函数及转换所需要的参数,自动实现机载软件ICD数据字节序的转换。
为达到上述目的,本发明采用如下技术方案予以实现。
一种ICD字节序自动转换方法,所述方法包括:
S1,在接口控制文档ICD中读取结构体定义头文件;
S2,在所述结构体定义头文件中获取信号结构体变量定义字段;
S3,逐行解析信号结构体变量定义字段,获取变量类型、变量名和变量注释;
S4,根据解析后的信号结构体变量定义字段,获取新的结构体定义头文件和ICD字节定义信息;
S5,根据所述新的结构体定义头文件和ICD字节定义信息,对内存中的变量数据进行字节序转换。
本发明技术方案的特点和进一步的改进为:
(1)S1中,所述结构体定义头文件包含如下内容:
接口控制文档ICD定义了每一个数据块名称、用途、数据块大小、总线类型、传输类型、周期、所包含的信号在数据块中的位置关系;
信号的定义包括信号名称、比例因子、构成信号的字段、字段的位置关系、字段的大小、字段的含义。
(2)某些信号只有一个字段独立占一个数据字,某些信号有多个字段复合构成一个数据字;在机载软件编码过程中,将每个数据块定义为一个结构体,多个字段复合构成的信号定义为一个结构体,且先定义构成数据块的信号的结构体,再定义数据块的结构体。
(3)S3,逐行解析信号结构体变量定义字段的过程中,以RS422一个长度为7个字节信号ICD为例,定义了a、b、c、d、e和f共6个变量;
大端信号结构体定义如下:
小端信号结构体定义如下:
从而确定大端结构体和小端结构体的转换规则。
(4)所述大端结构体和小端结构体的转换规则:如果相邻变量所占用的位域比特数相加为8的整数倍且与对应的变量比特数大小相同,则将这些相邻变量的顺序全部颠倒即可。
(5)S4,具体为:
解析struct tagA_BigEndian结构体,由第一行“unsigned char a:3;”和第二行“unsigned char b:5:”可凑成一个字节,将两者在结构体定义中的顺序交换,并提取字节定义信息“1”,用于字节转换函数的输入参数;
由第三行“unsigned short c:3;”和第四行“unsigned short d:13;”可凑成两个字节,将两者在结构体定义中的顺序交换,并提取字节定义信息“2”,用于字节转换函数的输入参数;
由第五行“unsigned int e:8;”和第六行“unsigned int f:24;”可凑成四个字节,将两者在结构体定义中的顺序交换,并提取字节定义信息“4”,用于字节转换函数的输入参数;
新的结构体定义头文件和ICD字节定义信息{1,2,4}。
(6)所述ICD字节定义信息{1,2,4}中,1表示a和b占用一个unsigned char,共一个字节;2表示c和d占用一个unsigned short,占用两个字节;4表示e和f占用一个unsignedint,共四个字节。
(7)S5,具体为:
小端设备接收到大端设备发送过来的总线数据,调用内存数据转换函数,输入的参数为接收到的RS 422总线数据缓存地址和从ICD头文件中抽取的ICD字节定义信息{1,2,4};
内存操作指针指向总线数据的第0个字节,遍历输入的ICD字节定义信息{1,2,4}:
第一个参数为1,跳过RS 422总线数据缓存地址当前字节,并将内存操作指针加1;
第二个参数为2,交换内存操作指针当前指向的地址和下一个地址的数据,并将内存操作指针加2;
第三个参数为4,先交换内存操作指针当前指向的地址和往后数第3个地址的数据,再交换当前指向的地址往后数第1个和第2个数据,并将内存操作指针加4;
完成内存中的变量数据字节序转换。
本发明针对各类航电软件开发过程中ICD字节序转换的问题提出了一个自动化的实现方法,通过该方法能够自动地从头文件中抽取接头体定义信息,通过抽取的信息实现ICD头文件的自动转换和字节定义信息的自动提取。利用自动转换得到的头文件和字节定义信息,可以在总线数据发送前或者接收数据后编写内存数据交换函数,从而实现ICD字节序的自动转换。
附图说明
图1为本发明实施例提供的头文件字节序转换输出及字节信息提取流程图;
图2为本发明实施例提供的信号内存数据字节序转换流程图。
具体实施方式
ICD定义了每一个数据块名称、用途、数据块大小、总线类型、传输类型、周期、所包含的信号在数据块中的位置关系等信息,信号的定义包括信号名称、比例因子、构成信号的字段、字段的位置关系、字段的大小、字段的含义等信息,一些信号只有一个字段独立占一个数据字,还有一些信号有多个字段复合构成一个数据字。实际机载软件编码过程中,会将每个数据块定义为一个结构体,多个字段复合构成的信号定义为一个结构体,按编码要求需要先定义构成数据块的信号的结构体,再定义数据块的结构体。结构体由结构体的注释、结构体类型、成员列表构成。
信号由字段构成,一个字段占用一个或多个数据位。由多个字段构成的信号需要用结构体类型表示。信号的结构体类型由多个字段的成员变量构成,每个字段的成员变量占用一个或多个基本类型(字符类型、整形等)的数据位,所占的数据位位数用:n表示,如下所示:
/*信号的注释*/
struct信号的结构体类型
{
基本类型字段的变量名:n;/*字段的注释*/
…
};
数据块由信号构成。由一个字段构成的信号直接用基本类型变量表示,由多个字段构成的信号用该信号结构体类型变量表示。数据块的结构体由基本类型成员变量和结构体类型成员变量构成,基本类型成员变量对应只有一个字段的信号,结构体类型成员变量对应有多个字段构成的信号,如下所示:
/*数据块的注释*/
typedef struct
{
基本类型一个字段构成的信号的变量名;/*信号的注释*/
struct结构体类型多个字段构成的信号的变量名;/*信号的注释*/
…
}数据块的结构体类型名称;
由于大端字节序和小端字节序的差异,编码过程中信号结构体存在差异,以RS422一个长度为7个字节信号ICD为例,定义了a、b、c、d、e和f等6个变量:
大端信号结构体定义如下:
小端信号结构体定义如下:
从上面的结构体可以看出大端结构体和小端结构体的转换规则,如果相邻变量所占用的位域比特数相加为8的整数倍且与对应的变量比特数大小相同,则将这些相邻变量的顺序全部颠倒即可。
本发明实施例提供的头文件字节序自动转换及字节信息提取方法,如图1所示,头文件转换可通过开发对应的代码工具实现自动转换,自动转换方法如下:
解析struct tagA_BigEndian结构体,由第一行“unsigned char a:3;”和第二行“unsigned char b:5:”可凑成一个字节,此时,将两者在结构体定义中的顺序交换,并提取字节定义信息“1”,用于字节转换函数的输入参数;
由第三行“unsigned short c:3;”和第四行“unsigned short d:13;”可凑成两个字节,此时,将两者在结构体定义中的顺序交换,并提取字节定义信息“2”,用于字节转换函数的输入参数;
由第五行“unsigned int e:8;”和第六行“unsigned int f:24;”可凑成四个字节,此时,将两者在结构体定义中的顺序交换,并提取字节定义信息“4”,用于字节转换函数的输入参数;
输出新的结构体定义和ICD字节定义信息{1,2,4}。
本发明实施例还提供了信号字节序转换方法,如图2所示,以上面定义的RS422ICD数据为例,如果从采用大端字节序的设备发送给采用小端字节序的设备,发送端和接收端的a、b、c、d、e和f等6个变量需要一致的话,除了结构体采用上一节中的定义方法,还需要对内存中的数据进行字节序调整,大端发送的内存数据到小端系统后对应如下表所示。
表2 ICD大端和小端字节序内存数据
根据ICD头文件定义的形式,抽取ICD的定义的字节信息数据,根据如上定义的结构体,抽取到的字节信息数据为{1,2,4}。1表示a和b占用一个unsigned char,共一个字节;2表示c和d占用一个unsigned short,占用两个字节;4表示e和f占用一个unsigned int,共四个字节。
小端系统接收到大端系统发送过来的总线数据,调用内存数据转换函数,输入的参数为接收到的RS 422总线数据缓存地址和从ICD头文件中抽取的字节信息数据{1,2,4}。内存操作指针指向总线数据的第0个字节,遍历字节信息数据{1,2,4},做如下操作:
遍历输入的字节信息参数{1,2,4},其第一个参数为1,跳过RS 422总线数据缓存地址当前字节,并将内存操作指针加1;
第二个参数为2,此时交换内存操作指针当前指向的地址和下一个地址的数据(即表2中0x101和0x102的数据),并将内存操作指针加2;
第三个参数为4,此时先交换内存操作指针当前指向的地址和往后数第3个地址的数据(即表2中0x103和0x106),再交换当前指向的地址往后数第1个和第2个数据(即表2中0x104和0x105),并将内存操作指针加4。
结束转换。
本发明针对各类航电软件开发过程中ICD字节序转换的问题提出了一个自动化的实现方法,通过该方法能够自动地从头文件中抽取接头体定义信息,通过抽取的信息实现ICD头文件的自动转换和字节定义信息的自动提取。利用自动转换得到的头文件和字节定义信息,可以在总线数据发送前或者接收数据后编写内存数据交换函数,从而实现ICD字节序的自动转换。
机载航电系统数量繁多,各系统之间的数据交互量也特别大,为此定义了大量的信号量及对应的接口控制文件。采用传统人工开发仿真软件的模式需要手动实现头文件的字节序转换和内存数据转换,采用本发明提出的方法,可以实现ICD字节序的自动转换,能够解决人工编写字节序转换代码容易出错,开发效率低下的问题,极大减少开发者代码编写工作量,实现机载航电软件的快速开发。
Claims (3)
1.一种ICD字节序自动转换方法,其特征在于,所述方法包括:
S1,在接口控制文档ICD中读取结构体定义头文件;
S2,在所述结构体定义头文件中获取信号结构体变量定义字段;
S3,逐行解析信号结构体变量定义字段,获取变量类型、变量名和变量注释;逐行解析信号结构体变量定义字段的过程中,以RS422一个长度为7个字节信号ICD为例,定义了a、b、c、d、e和f共6个变量;
大端信号结构体定义如下:
struct tagA_BigEndian
{
unsigned char a:3;
unsigned char b:5:
unsigned short c:3;
unsigned short d:13:
unsigned int e:8;
unsigned int f:24:
};
小端信号结构体定义如下:
struct tagA_littleEndian
{
unsigned char b:5:
unsigned char a:3;
unsigned short d:13;
unsigned short c:3:
unsigned int f:24:
unsigned int e:8;
};
从而确定大端结构体和小端结构体的转换规则:如果相邻变量所占用的位域比特数相加为8的整数倍且与对应的变量比特数大小相同,则将这些相邻变量的顺序全部颠倒即可;
S4,根据解析后的信号结构体变量定义字段,获取新的结构体定义头文件和ICD字节定义信息;具体为:
解析struct tagA_BigEndian结构体,由第一行“unsigned char a:3;”和第二行“unsigned char b:5:”可凑成一个字节,将两者在结构体定义中的顺序交换,并提取字节定义信息“1”,用于字节转换函数的输入参数;
由第三行“unsigned short c:3;”和第四行“unsigned short d:13;”可凑成两个字节,将两者在结构体定义中的顺序交换,并提取字节定义信息“2”,用于字节转换函数的输入参数;
由第五行“unsigned int e:8;”和第六行“unsigned int f:24;”可凑成四个字节,将两者在结构体定义中的顺序交换,并提取字节定义信息“4”,用于字节转换函数的输入参数;
新的结构体定义头文件和ICD字节定义信息{1,2,4};
所述ICD字节定义信息{1,2,4}中,1表示a和b占用一个unsigned char,共一个字节;2表示c和d占用一个unsigned short,占用两个字节;4表示e和f占用一个unsigned int,共四个字节;
S5,根据所述新的结构体定义头文件和ICD字节定义信息,对内存中的变量数据进行字节序转换,具体为:
小端设备接收到大端设备发送过来的总线数据,调用内存数据转换函数,输入的参数为接收到的RS 422总线数据缓存地址和从ICD头文件中抽取的ICD字节定义信息{1,2,4};
内存操作指针指向总线数据的第0个字节,遍历输入的ICD字节定义信息{1,2,4}:
第一个参数为1,跳过RS 422总线数据缓存地址当前字节,并将内存操作指针加1;
第二个参数为2,交换内存操作指针当前指向的地址和下一个地址的数据,并将内存操作指针加2;
第三个参数为4,先交换内存操作指针当前指向的地址和往后数第3个地址的数据,再交换当前指向的地址往后数第1个和第2个数据,并将内存操作指针加4;
完成内存中的变量数据字节序转换。
2.根据权利要求1所述的一种ICD字节序自动转换方法,其特征在于,
S1中,所述结构体定义头文件包含如下内容:
接口控制文档ICD定义了每一个数据块名称、用途、数据块大小、总线类型、传输类型、周期、所包含的信号在数据块中的位置关系;
信号的定义包括信号名称、比例因子、构成信号的字段、字段的位置关系、字段的大小、字段的含义。
3.根据权利要求2所述的一种ICD字节序自动转换方法,其特征在于,
某些信号只有一个字段独立占一个数据字,某些信号有多个字段复合构成一个数据字;在机载软件编码过程中,将每个数据块定义为一个结构体,多个字段复合构成的信号定义为一个结构体,且先定义构成数据块的信号的结构体,再定义数据块的结构体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011021359.9A CN112052010B (zh) | 2020-09-25 | 2020-09-25 | 一种icd字节序自动转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011021359.9A CN112052010B (zh) | 2020-09-25 | 2020-09-25 | 一种icd字节序自动转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112052010A CN112052010A (zh) | 2020-12-08 |
CN112052010B true CN112052010B (zh) | 2023-12-29 |
Family
ID=73604634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011021359.9A Active CN112052010B (zh) | 2020-09-25 | 2020-09-25 | 一种icd字节序自动转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112052010B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515527B (zh) * | 2021-09-13 | 2021-12-07 | 成都数默科技有限公司 | 一种聚合型ip索引的建立和应用方法 |
CN114157732B (zh) * | 2021-11-12 | 2024-03-19 | 西安羚控电子科技有限公司 | 一种大中型固定翼无人机遥测数据解析方法及系统 |
CN114928655B (zh) * | 2022-04-22 | 2024-07-12 | 芜湖雄狮汽车科技有限公司 | 车辆的数据通信方法、装置、车辆及存储介质 |
CN117492702B (zh) * | 2023-12-29 | 2024-04-02 | 成都凯迪飞研科技有限责任公司 | 一种大小端数据流的转换方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3208711A1 (en) * | 2016-02-19 | 2017-08-23 | The Boeing Company | Modeling connections between software signal paths and hardware signal paths using routes |
CN109460219A (zh) * | 2018-09-28 | 2019-03-12 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 快速序列化接口控制文件的方法 |
-
2020
- 2020-09-25 CN CN202011021359.9A patent/CN112052010B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3208711A1 (en) * | 2016-02-19 | 2017-08-23 | The Boeing Company | Modeling connections between software signal paths and hardware signal paths using routes |
CN109460219A (zh) * | 2018-09-28 | 2019-03-12 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 快速序列化接口控制文件的方法 |
Non-Patent Citations (2)
Title |
---|
一种通用机载总线接口控制文档设计方法;曹国震;彭寒;吴晓葵;李川;张少应;;电子设计工程(第24期);全文 * |
基于航电系统ICD分析的ICD管理系统平台设计;韩冰;孙世伟;徐晓波;;制造业自动化(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112052010A (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112052010B (zh) | 一种icd字节序自动转换方法 | |
CN110597500B (zh) | 消息结构的序列化和反序列化方法及装置 | |
CN112104664B (zh) | 物联网数据的协议转换方法、装置及设备 | |
CN103346800B (zh) | 一种数据压缩方法及装置 | |
CN112181522B (zh) | 数据处理的方法、装置以及电子设备 | |
CN111144402A (zh) | Ocr识别准确率的计算方法、装置、设备以及存储介质 | |
US20080313291A1 (en) | Method and apparatus for encoding data | |
CN111899087A (zh) | 数据的提供方法、装置、电子设备及计算机可读存储介质 | |
CN110569230A (zh) | 数据库设计模型与设计文档互相转换方法、系统及设备 | |
CN114510357A (zh) | 一种卫星发射场试验鉴定业务消息交互方法及系统 | |
CN105005496B (zh) | 一种跨语言转换网络数据包定义文件的处理系统及方法 | |
CN116339703B (zh) | 总线接口代码生成方法、装置、电子设备及介质 | |
Yuan et al. | Kv cache compression, but what must we give in return? a comprehensive benchmark of long context capable approaches | |
CN117539807A (zh) | 一种数据传输方法、相关设备及存储介质 | |
CN115348320B (zh) | 一种通信数据的转换方法、装置、及电子设备 | |
CN109992293B (zh) | Android系统组件版本信息的组装方法及装置 | |
CN115967604A (zh) | 报文传输方法、装置、电子设备及计算机可读存储介质 | |
CN105793842B (zh) | 序列化消息之间的转换方法和装置 | |
CN1115628C (zh) | 一种软件模拟测试方法 | |
CN115878351A (zh) | 消息的传输方法及装置、存储介质及电子装置 | |
CN111680051B (zh) | 一种数据序列化和反序列化方法、设备及存储介质 | |
CN114116074A (zh) | 一种高性能的数据序列化及反序列化系统 | |
CN112312396A (zh) | 一种NoC追踪数据的生成方法及相关装置 | |
CN116016296B (zh) | 一种基于json的二进制数据处理方法、系统及设备 | |
CN109474707B (zh) | 基于串口协议的二层协议设计及数据传输方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |