方式一接口库

概述

文档中API接口适用于公司自研硬件平台。动态库以设备/usr/lib/libcswapi.so为准,其中个别函数只能在特定平台或者特定客户定制的产品中使用。

API函数

打开设备

                                                       
函数原型int csw_open(void **pdev)
函数参数pdev[in]指针
返回值0成功
非 0标准 errno

关闭设备

                           
函数原型void csw_close(void **pdev)
函数参数pdev[in]csw_open执行成功返回的参数

获取API版本

                                                                     
函数原型int csw_version(void *pdev, char *version)
函数参数pdev[in]csw_open执行成功返回的参数
version[out]返回API的版本信息
返回值0成功
非 0标准 errno

使能看门狗

                                                                   
函数原型int csw_watchdog_enable(void *pdev, int timeouts)
函数参数pdev[in]csw_open执行成功返回的参数
timeouts[out]看门狗超时时间,设置0为缺省60秒(部分平台最大仅15)
返回值0成功
非 0标准 errno

关闭看门狗

                                                     
函数原型int csw_watchdog_disable(void *pdev)
函数参数pdev[in]csw_open执行成功返回的参数
返回值0成功
非 0标准 errno

喂狗

                                                     
函数原型int csw_watchdog_feed(void *pdev)
函数参数pdev[in]csw_open执行成功返回的参数
返回值0成功
非 0标准 errno

蜂鸣器函数

                                                                   
函数原型int csw_beep(void *pdev, bool on)
函数参数pdev[in]csw_open执行成功返回的参数
on[in]true:蜂鸣器响,false:蜂鸣器不响
返回值0成功
非 0标准 errno

控制灯状态

                                                                               
函数原型int csw_ledpanel_write(void *pdev, int channel, int op)
函数参数pdev[in]csw_open执行成功返回的参数
channel[in]需要设置的灯序号,0:全控,1对应第一个LED依次类推
op[in]0:灭,1:亮
返回值0成功
非 0标准 errno

获取灯状态

                                                                   
函数原型int csw_ledpanel_read(void *pdev, int *val)
函数参数pdev[in]csw_open执行成功返回的参数
val[out]按位显示灯状态:1亮,0灭
返回值0成功
非 0标准 errno

软复位外设

                                                                               
函数原型int csw_reset(void *pdev, int channel, int op)
函数参数pdev[in]csw_open执行成功返回的参数
channel[in]需要设置的外设序号,0:全控
op[in]0:置为复位,1:置为使用
返回值0成功
非 0标准 errno

获取DI状态

                                                                   
函数原型int csw_di_read(void *pdev, int *val)
函数参数pdev[in]csw_open执行成功返回的参数
val[out]返回DI全部状态,按位获取DI状态
返回值0成功
非 0标准 errno

设置DI消抖时间

                                                                   
函数原型int csw_di_debounce(void *pdev, int val)
函数参数pdev[in]csw_open执行成功返回的参数
val[in]设置全局DI消抖时间,单位ms
返回值0成功
非 0标准 errno

获取DI消抖时间

                                                                   
函数原型int csw_di_debounce_read(void *pdev, int *val)
函数参数pdev[in]csw_open执行成功返回的参数
val[out]获取全局DI消抖时间,单位ms
返回值0成功
非 0标准 errno

控制DO状态

                                                                               
函数原型int csw_do_write(void *pdev, int channel, int op)
函数参数pdev[in]csw_open执行成功返回的参数
channel[in]需要设置的DO,0:全控,1对应第一个DO依次类推
op[in]0:DO不闭合,1:DO闭合
返回值0成功
非 0标准 errno

获取DO状态

                                                                   
函数原型int csw_do_read(void *pdev, int *val)
函数参数pdev[in]csw_open执行成功返回的参数
val[out]返回DO全部状态,按位获取DO状态
返回值0成功
非 0标准 errno

控制电源状态

                                                                               
函数原型int csw_power_write(void *pdev, int channel, int op)
函数参数pdev[in]csw_open执行成功返回的参数
channel[in]需要设置的外设电源,0:全控,1对应第一个外设依次类推
op[in]0:外设断电,1:外设通电
返回值0成功
非 0标准 errno

获取电源状态

                                                                   
函数原型int csw_power_read(void *pdev, int *val)
函数参数pdev[in]csw_open执行成功返回的参数
val[out]返回外设电源全部状态,按位获取通电状态,0:断电,1:通电
返回值0成功
非 0标准 errno

获取设备序列号

                                                       
函数原型int csw_read_serialnum(char *serialnum)
函数参数serialnum[out]设备序列号唯一编码,字符串ascii码
返回值0成功
非 0标准 errno

获取温度

                                                                               
函数原型int csw_temperature_read(void *pdev, int position, int *temp)
函数参数pdev[in]csw_open执行成功返回的参数
position[in]0:CPU温度,1:主板温度
temp[out]温度,单位℃
返回值0成功
非 0标准 errno

设置客户序列号

                                                                   
函数原型int csw_write_usrsn(void *usrsn, int size)
函数参数usrsn[in]客户自定义序列号,64字节以内,推荐字符串ascii码
size[in]usrsn有效字节数,≤64
返回值0成功
非 0标准 errno

获取客户序列号

                                                                   
函数原型int csw_read_usrsn(void *usrsn, int size)
函数参数usrsn[out]客户自定义序列号,64字节以内,推荐字符串ascii码
size[in]usrsn有效字节数,≤64,推荐使用最大值64读取全部
返回值0成功
非 0标准 errno

获取外部电源状态

                                                                   
函数原型int csw_power_stat_read(void *pdev, int *val)
函数参数pdev[in]csw_open执行成功返回的参数
val[out]按位显示外部电源状态:1有电,0失电
返回值0成功
非 0标准 errno

使能事件功能

                                                     
函数原型int csw_event_enable(int *fd)
函数参数fd[out]int型变量,int fd指针
返回值0成功
非 0标准 errno

禁用事件功能

                                                     
函数原型int csw_event_disable(int fd)
函数参数fd[in]csw_event_enable执行成功返回的参数
返回值0成功
非 0标准 errno

获取事件描述

                                                                               
函数原型int csw_event_read(int fd, char *event, int *size)
函数参数fd[in]csw_event_enable执行成功返回的参数
event[out]事件缓冲区,字符串
size[in/out]入参:表示event空间大小
出参:表示event的有效字节数
返回值0成功
非 0标准 errno