Opalkelly Frontpanel SDK到Pionway SDK的代码迁移

Pionway SDK由三部分组成:Pionway API、Pionway固件和Pionway HDL。其中固件部分是通用的的,并不需要配置及修改。Pionway SDK的代码迁移主要包括API部分和HDL部分。

 

Pionway SDK 结构框图

从Opalkelly FrontPanel SDK迁移到Pionway SDK的建议方法是在Pionway SDK的程序模板中将Frontpanel的程序一段段拷贝过来并修改。

Pionway API支持C和C++语言,支持的操作系统是X86和X64的Windows7和Windows10。

 

表 1 C++下的类迁移

序号

Opalkelly FrontPanel API

Pionway API

1

okCFrontPanel

CPionway

...

其他类

非必要功能,部分融合或暂不支持

 

表 2 C/C++语言下的函数名称及使用用法迁移

序号

Opalkelly FrontPanel API

Pionway API

使用变化

1

okFrontPanel_Construct

Pionway_Construct

无变化

2

okFrontPanel_Destruct

Pionway_Destruct

无变化

3

okFrontPanel_FlashEraseSector

Pionway_FlashEraseSector

无变化

4

okFrontPanel_FlashWrite

Pionway_FlashWrite

无变化

5

okFrontPanel_FlashRead

Pionway_FlashRead

无变化

6

okFrontPanel_GetBoardModel

Pionway_GetBoardModel

无变化

7

okFrontPanel_GetDeviceCount

Pionway_GetDeviceCount

返回值在输出参数中

8

okFrontPanel_GetDeviceListModel

Pionway_GetDeviceListModel

无变化

9

okFrontPanel_GetDeviceListSerial

Pionway_GetDeviceListSerial

无变化

10

okFrontPanel_OpenBySerial

Pionway_OpenBySerial

无变化

11

okFrontPanel_IsOpen

Pionway_IsOpen

无变化

12

okFrontPanel_Close

Pionway_Close

无变化

13

okFrontPanel_GetSerialNumber

Pionway_GetDeviceInfo

返回值转到了输出参数中

14

okFrontPanel_GetDeviceID

Pionway_GetDeviceInfo

返回值转到了输出参数中

15

okFrontPanel_IsHighSpeed

Pionway_GetDeviceInfo

返回值转到了输出参数中

16

okFrontPanel_SetDeviceID

Pionway_SetDeviceID

无变化

17

okFrontPanel_ConfigureFPGA

Pionway_ConfigureFPGA

无变化

18

okFrontPanel_IsFrontPanelEnabled

Pionway_IsPionwayEnabled

无变化

19

okFrontPanel_UpdateWireIns

Pionway_UpdateWireIns

无变化

20

okFrontPanel_GetWireInValue

Pionway_GetWireInValue

无变化

21

okFrontPanel_SetWireInValue

Pionway_SetWireInValue

无变化

22

okFrontPanel_UpdateWireOuts

Pionway_UpdateWireOuts

无变化

23

okFrontPanel_GetWireOutValue

Pionway_GetWireOutValue

无变化

24

okFrontPanel_ActivateTriggerIn

Pionway_ActivateTriggerIn

无变化

25

okFrontPanel_UpdateTriggerOuts

Pionway_UpdateTriggerOuts

无变化

26

okFrontPanel_IsTriggered

Pionway_IsTriggered

返回值转到了输出参数中

27

okFrontPanel_WriteToPipeIn

Pionway_WriteToPipeIn

增加了写入数据量的参数

28

okFrontPanel_ReadFromPipeOut

Pionway_ReadFromPipeOut

增加了读取数据量的参数

29

okFrontPanel_WriteToBlockPipeIn

Pionway_WriteToBlockPipeIn

增加了写入数据量的参数

30

okFrontPanel_ReadFromBlockPipeOut

Pionway_ReadFromBlockPipeOut

增加了读取数据量的参数

Pionway HDL架构图

表 2 HDL部分的代码迁移

序号

Opalkelly

FrontPanel HDL

Pionway HDL

接口结构差异

1

okCoreHarness

pwCore

增加了一个3bit的输出端口pwHM,连接到pwMux

2

okWireIn

pwWireIn

增加了一个68bit的输出端pwEM,连接到pwMux

3

okWireOut

pwWireOut

4

okTriggerIn

pwTriggerIn

增加了一个68bit的输出端pwEM,连接到pwMux

5

okTriggerOut

pwTriggerOut

6

okPipeIn

pwPipeIn

7

okPipeOut

pwPipeOut

8

okBTPipeIn

pwBlockPipeIn

9

okBTPipeOut

pwBlockPipeOut

10

okWireOR

pwMux

为每个Endpoint模块增加了输入端pwEM的接入

11

okRegisterBridge

暂无

非必要功能

 

猜你喜欢

转载自blog.csdn.net/pionway/article/details/107702600
SDK