二次开发
二次开发
提供SDK,可通过二次开发,来支持其他协议。
SDK环境搭建
SDK分为两部分,一部分是算盘CSDK,提供一些底层的依赖库,另一部分是算盘Link二次开发库。
拿到开发所需文件之后,实现下述接口(以virtual plc为例),即可进行二次开发。
driver_impl_t virtual_plc = {
.name = "virtual_plc",
.name_zhcn = "虚拟PLC",
.version = "V0.1",
//driver
.driver_open = vdriver_drive_open,
.driver_get_model = vdriver_get_model,
.driver_close = vdriver_driver_close,
//channel
.channel_open = vchannel_open,
.channel_close = vchannel_close,
.channel_dump_config = vchannel_dump_config,
.channel_connected = vchannel_connected,
.channel_loop = vchannel_loop,
//device
.device_open = vdevice_open,
.device_close = vdevice_close,
.device_connect = vdevice_connect,
.device_connected = vdevice_connected,
.device_disconnect = vdevice_disconnect,
.device_loop = vdevice_loop,
.device_read_data = vdevice_read_data,
.device_write_data = vdevice_write_data,
.device_control = vdevice_control,
.device_dump_config = vdevice_dump_config,
};
具体开发方式可以查看Virtual驱动的代码实现,先调试Virtual驱动,然后以它为模板调试自定义的驱动。
目前支持的方式是C语言,如果要支持其他语言,可以用C语言做一个转发,桥接到其他语言上。