sharp_user — 用户使用模块

###################按键端口宏##############################
KEY_ONOFF = 1
KEY_DOWM = 2
KEY_UP = 3
KEY_ENTER = 4
KEY_SUB = 5
KEY_ADD = 6
KEY_SPARE = 7

VerMan_MaxSlave = 1
VerMan_MaxMaster = 4

###################外部IO口模式##############################
INPUT_DIR = 1
OUTPUT_DIR = 0
OD_DIR = 2
###################外部IO口宏##############################
LCD_ID1__IO_1 = 0x01
LCD_ID2__IO_2 = 0x02
LCD_RST__IO_3 = 0x04
LCD__IO_4 = 0x08
LCD__IO_5 = 0x10
LCD__IO_6 = 0x20
LCD__IO_7 = 0x40
LCD__IO_8 = 0x80
LCD_TP_MISO = 0x0100
LCD_TP_MOSI = 0x0200
LCD_TP_SCK = 0x0400
LCD_TP_CS = 0x0800
LCD_TP_SDA = 0x1000
LCD_TP_SCL = 0x2000
LCD_TP_RST = 0x4000
LCD_TP_INT = 0x8000
#内部IO口  做特殊功能使能
LCD_TXS_OE = 0x010000  # 转换IC使能 默认低 高有效
LCD_FD_GND__IO_11 = 0x020000
LCD_CHECK__IO_12  = 0x040000 #防呆接口
LCD___IO_13       = 0x080000 #
LCD___IO_14       = 0x100000 #
###################复用IO口宏##############################
# 复用IO名                                             IO口名                    四线              三线                      QSPI            DSPI

# USER_TP_MISO_AF                   LCD_TP_MISO               SPI_MISO                    QSPI_IO1    DSPI_IO1
# USER_TP_MOSI_AF                   LCD_TP_MOSI               SPI_MOSI   3WIRE_SPI_IO0    QSPI_IO0    DSPI_IO0
# USER_TP_SCK_AF                LCD_TP_SCK                    SPI_SCK    3WIRE_SPI_SCK    QSPI_SCK    DSPI_SCK
# USER_TP_NSS_AF                    LCD_TP_CS                 SPI_CS     3WIRE_SPI_CS     QSPI_CS     DSPI_CS
# USER_QSPI_IO0_AF                  TP_I2C1_SDA               SPI_MOSI   3WIRE_SPI_IO0    QSPI_IO0    DSPI_IO0      
# USER_QSPI_IO1_AF                  TP_I2C1_SCK               SPI_MISO                    QSPI_IO1    DSPI_IO1
# USER_QSPI_IO2_AF                  LCD_TP_RST                                                    QSPI_IO2  
# USER_QSPI_IO3_AF                  LCD_TP_INT                                                    QSPI_IO3 
# USER_PWM1_AF                          LCD_ID1__IO_1
# USER_PWM1_AF                              LCD__IO_4

USER_TP_MISO_AF     =     0x01              
USER_TP_MOSI_AF     =     0x02
USER_TP_SCK_AF      =     0x04
USER_TP_NSS_AF      =     0x08
USER_QSPI_IO0_AF    =     0x10
USER_QSPI_IO1_AF    =     0x20
USER_QSPI_IO2_AF    =     0x40
USER_QSPI_IO3_AF    =     0x80 
USER_PWM1_AF        =   0x0100
USER_PWM2_AF        =   0x0200

###################中断触发模式##############################
EDGE_DOWN           = 2    #下降沿触发
EDGE_UP             = 3    #上升沿触发


###################IO口模式##############################
USER_IO_COMMON              = 0                     #普通IO口模式
USER_IO_AF                  = 1                     #复用IO口模式
###################机子个数##############################
Master_k2000 = 8
Slave_MIPI = 4
Slave_LVDS = 8

###################FPGA 名称集##############################
master_dict = {0: "UnKnow", 8: "k2000"}
Slave_dict = {0: "UnKnow", 240: "No connect", 1: 'K3_EDP', 2: 'K4_EDP', 3: "SSD2832_MIPI", 4: "SDDR32_MIPI",
              5: "SSD2828_MIPI", 6: "2_PORT_LVDS", 7: "1_PORT_RGB", 8: "4_PORT_LVDS", 9: "8_PORT_VBO",
              10: "4_PORT_LVDS_VB0"}
Signal_dict = {0: "UnKnow", 240: "No connect", 1: 'K3_EDP', 2: 'K4_EDP', 3: "SDR CPHY MIPI", 4: "DDR CPHY MIPI",
               5: "DPHY MIPI", 6: "2_PORT_LVDS", 7: "1_PORT_RGB", 8: "4_PORT_LVDS", 9: "8_PORT_VBO",
               10: "4_PORT_LVDS_VB0"}
Slave_FPGA_dict = {0: "UnKnow", 1: "A7_35", 2: "A7_50", 3: "A7_75", 4: "A7_100", 5: "A7_200"}

###################Bus RS232 波特率宏定义##############################
BUSRS232_BAUDRATE_9600 = 0X02
BUSRS232_BAUDRATE_14400 = 0X03
BUSRS232_BAUDRATE_19200 = 0X04
BUSRS232_BAUDRATE_38400 = 0X05
BUSRS232_BAUDRATE_56000 = 0X06
BUSRS232_BAUDRATE_57600 = 0X07
BUSRS232_BAUDRATE_115200 = 0X08

###################数据位宏定义##############################
BUSRS232_DATABITS_7BIT = 0X00
BUSRS232_DATABITS_8BIT = 0X01

###################校验方式宏定义义##############################
BUSRS232_PARITY_NONE = 0x00
BUSRS232_PARIYT_EVEN = 0x04
BUSRS232_PARIYT_ODD = 0x06

###################停止位宏定义##############################
BUSRS232_STOPBITS_0_5 = 0x01
BUSRS232_STOPBITS_1 = 0x00
BUSRS232_STOPBITS_1_5 = 0x03
BUSRS232_STOPBITS_2 = 0x02


#/* 常用颜色 */
ARMCMD_BLACK = 0x000000#黑色
ARMCMD_WHITE = 0xFFFFFF#白色
ARMCMD_YELLOW = 0xFFFF00#黄色
ARMCMD_GRAY = 0xC0C0C0#灰色
ARMCMD_CYAN = 0x00FFFF#青色
ARMCMD_ORANGE = 0xFF6100#橙色
ARMCMD_GREEN = 0x00FF00#绿色
ARMCMD_BROWN = 0x802A2A#棕色
ARMCMD_RED = 0xFF0000#红色
ARMCMD_BLUE = 0x0000FF#蓝色
ARMCMD_PINK = 0xFFC0CB#粉红色
ARMCMD_POWDER_BLUE = 0xB0E0E6#浅灰蓝色
ARMCMD_ABAISER = 0x292421#象牙黑
ARMCMD_BANANA = 0xE3CF57#香蕉色
ARMCMD_ROYAL_BLUE = 0x4169E1#品蓝色
ARMCMD_COLD_GRAY = 0x808A87#冷灰色
ARMCMD_SKY_BLUE = 0x87CEEB#天蓝色
ARMCMD_GOLDEN_YELLOW = 0xFFD700#金黄色
ARMCMD_SAFFRON = 0xFF8000#桔黄色
ARMCMD_BEIGE = 0xA39480#米色
ARMCMD_IVORY = 0xFAFFF0#象牙白
ARMCMD_TAWNY = 0xF0E68C#黄褐色
ARMCMD_ROSE = 0xBC8F8F#玫瑰红
ARMCMD_SNOW = 0xFFFAFA#雪白色
ARMCMD_PURPLE = 0xA020F0#紫色
ARMCMD_LAVENDER = 0xDA70D6#淡紫色
ARMCMD_SEPIA = 0xD2B48C#棕褐色
class sharp_user.Key_Device

基类:object

√ 按键盒模块类

  • 参数 :

  • 返回
  • 注意

    不用实例化

  • raise : 无

Get_keyVersion()

获取按键盒的软硬件版本号

  • 参数 : 无

  • 返回
    • =0 成功

    • <0 失败

KEY_ADD = 6
KEY_DOWM = 2
KEY_ENTER = 4
KEY_ONOFF = 1
KEY_SPARE = 7
KEY_SUB = 5
KEY_UP = 3
Key_GetRP_Val()

读取电位器 * 参数

  • 返回
    • ret 读取成功标志位

    • val 读到的电位器值

Key_SetEncoder_rate(speed)

设置数字编码器速率

  • 参数 speed: : 速率,旋转时会乘上这个倍数,为0(默认值)不启用

  • 返回 : =0 成功,<0 失败

Key_SetRP_subdivision(MaxVal)

设置电位器细分量,旋钮最大值 * 参数

  • 返回
    • ret 读取成功标志位

key_SetLed(KEYx: int, OnOff: int)

设置按键的LED

  • 参数 KEYx : key_onoff,key_down,key_up,key_enter,key_sub,key_add,key_spare

  • 参数 OnOff : 0-关闭 1-开启

  • 返回 : =0 成功,<0 失败

read_bus_encoder(before_time: int)

读取按键盒旋转编码器的动作 * 参数

  • before_time : 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

  • 返回
    • key_str 存放获取到的内容 字符串长度为256

  • PSkey_str会接收到的内容:

    1.NO_EC_ACTION (无动作) 2.EC_CW_x (顺时针转动) 3.EC_CCW_x (逆时针转动) 4.EC_PRESS_CW_x (按下顺时针转动) 5.EC_PRESS_CCW_x (按下逆时针转动) 6.EC_PRESS (短按) 7.EC_LOING_PRESS (长按) 后面的 _x 为旋转次数

  • 例子 : read_key_press(500);

read_key_Long_press(before_time: int)

读取按键盒按键长按

  • 参数
    • before_time : 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

  • 返回
    • key_str 存放获取到的内容 字符串长度为256

  • PSkey_str会接收到的内容:

    1.no_key_action (无动作) 2.key_onoff_long_press (ON/OFF按键长按) 3.key_down_long_press (下翻按键长按) 4.key_up_long_press (上翻按键长按) 5.key_enter_long_press (确认按键长按) 6.key_sub_long_press (减 按键长按) 7.key_add_long_press (加 按键长按) 8.key_spare_long_press (备用按键长按) 有多个按键动作会返回多个按键动作,以逗号(,)分隔

  • 例子 : read_key_press(500);

read_key_continuous_long_press(before_time: int)

读取按键盒按键连续长按,按键未抬起会一直返回长按

  • 参数
    • before_time : 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

  • 返回
    • key_str 存放获取到的内容 字符串长度为256

  • PSkey_str会接收到的内容:

    1.no_key_action (无动作) 2.key_onoff_long_press (ON/OFF按键长按) 3.key_down_long_press (下翻按键长按) 4.key_up_long_press (上翻按键长按) 5.key_enter_long_press (确认按键长按) 6.key_sub_long_press (减 按键长按) 7.key_add_long_press (加 按键长按) 8.key_spare_long_press (备用按键长按) 有多个按键动作会返回多个按键动作,以逗号(,)分隔

  • 例子 : read_key_press(500);

read_key_lift(before_time: int)

读取按键盒按键抬起

  • 参数
    • before_time : 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

  • 返回
    • key_str 存放获取到的内容 字符串长度为256

  • PSkey_str会接收到的内容:

    1.no_key_action (无动作) 2.key_onoff_lift (OFF按键抬起/释放) 3.key_down_lift (下翻按键抬起/释放) 4.key_up_lift (上翻按键抬起/释放) 5.key_enter_lift (确认按键抬起/释放) 6.key_sub_lift (减 按键抬起/释放) 7.key_add_lift (加 按键抬起/释放) 8.key_spare_lift (备用按键抬起/释放) 有多个按键动作会返回多个按键动作,以逗号(,)分隔

  • 例子 : read_key_lift(500);

read_key_press(before_time: int)

读取按键盒按键按下

  • 参数
    • before_time : 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

  • 返回
    • key_str 存放获取到的内容

    • key_str_len key_str长度(不能超过256)

  • PSkey_str会接收到的内容:

    1.NO_KEY_ACTION (无动作) 2.KEY1_PRESS (按键1按下) 3.KEY2_PRESS (按键2按下) 4.KEY3_PRESS (按键3按下) 5.KEY4_PRESS (按键4按下) 6.KEY5_PRESS (按键5按下) 7.KEY6_PRESS (按键6按下) 8.KEY7_PRESS (按键7按下) 有多个按键动作会返回多个按键动作,以逗号(,)分隔

  • 例子 : read_key_press(500);

class sharp_user.Pin_Device

基类:object

√ pin模块类

  • 参数 :

  • 返回
  • 注意

    需要实例化

  • raise : 无

ALL_En_Flag = 1

:

Board_En = 0
EDGE_DOWN = 2
EDGE_UP = 3
IN = 1
IO_AF_Set(AF_MODE=None)

配置IO复用

  • 参数
    • IO_PIN : 需要复用的IO口(使用复用IO口宏)

    • AF_MODE : 复用的模式(使用IO口模式宏)

*返回 : 无

*注意 : 无

IO_BitReset()

拉低IO口

  • 参数
    • IO_PIN: PIN引脚号

  • 返回 : 无

  • 注意 : 无

IO_BitSet()

拉高IO口

  • 参数
    • IO_PIN: PIN引脚号

  • 返回 : 无

  • 注意 : 无

IO_DirBit(val=None)

配置IO口为OD模式

  • 参数
    • IO_PIN : PIN引脚号

    • val : 输入输出状态

  • 返回 : 无

  • 注意 : 无

IO_GetBit()

读取IO口状态

  • 参数
    • IO_PIN: PIN引脚号

  • 返回 : 无

  • 注意 : 无

IO_irq(trigger, fun, ITCycle=80)

配置IO口中断

  • 参数
    • trigger :中断触发方式

    • fun : 中断回调函数

*返回 : 无

*注意 : 无

LCD_CHECK__IO_12 = 262144
LCD_FD_GND__IO_11 = 131072
LCD_ID1__IO_1 = 1
LCD_ID2__IO_2 = 2
LCD_RST__IO_3 = 4
LCD_TP_CS = 2048
LCD_TP_INT = 32768
LCD_TP_MISO = 256
LCD_TP_MOSI = 512
LCD_TP_RST = 16384
LCD_TP_SCK = 1024
LCD_TP_SCL = 8192
LCD_TP_SDA = 4096
LCD_TXS_OE = 65536
LCD__IO_4 = 8
LCD__IO_5 = 16
LCD__IO_6 = 32
LCD__IO_7 = 64
LCD__IO_8 = 128
LCD___IO_13 = 524288
OD = 2
OUT = 0
PWM1_AF = 256
PWM2_AF = 512
QSPI_IO0_AF = 16
QSPI_IO1_AF = 32
QSPI_IO2_AF = 64
QSPI_IO3_AF = 128
TP_MISO_AF = 1
TP_MOSI_AF = 2
TP_NSS_AF = 8
TP_SCK_AF = 4
set_pin = 0
sharp_user.SHARP_DEBUG(fmt)

打印输出语句

  • 参数
    • fmt : 与printf相同,格式: DEBUG(“test: %d, %d” %(a, b))

  • 返回 : 无

  • raise : 无

sharp_user.SHARP_Delay_ms(ms)

延时毫秒函数

  • 参数
    • ms: 毫秒

  • 返回 : 无

  • raise : 无

sharp_user.SHARP_Delay_us(us)

延时微秒函数

  • 参数
    • us: 微秒

  • 返回 : 无

sharp_user.SHARP_GetLockCode()

获取唯一ID

*参数 : 无

*返回
  • 唯一ID的二进制流

*注意 : 无

*示例 :

sharp_user.SHARP_GetMeasureTime_ms(ts)

获取调用 MeasureTimeStart_ms() 函数时到现在时间长度

  • 参数
    • ts : 是初始时间,就是调用 MeasureTimeStart_ms() 函数时的返回值,本函数要根据这个根据这个初始时间来计算时间差

  • 返回
    • 调用 MeasureTimeStart_ms() 函数时到现在时间长度,单位ms

sharp_user.SHARP_Get_IP()

获取网口IP

  • 参数 : 无

  • 返回
    • ret 成功或失败标志位

    • IP 获取到的IP(字符串格式)

  • 示例ret,ip = Get_IP()
    if ret>=0:

    print(ip)

sharp_user.SHARP_Get_PN()

获取PN

  • 参数 : 无

  • 返回
    • ret : 成功或失败标志位

    • PN : 获取到的PN(字符串格式)

  • 示例ret,PN = Get_PN()
    if ret>=0:

    print(PN)

sharp_user.SHARP_Get_keyVersion()

获取按键盒的软硬件版本号

  • 参数 : 无

  • 返回
    • =0 成功

    • <0 失败

sharp_user.SHARP_Key_GetRP_Val()

读取电位器 * 参数

  • 返回
    • ret 读取成功标志位

    • val 读到的电位器值

sharp_user.SHARP_Key_SetEncoder_rate(speed)

设置数字编码器速率

  • 参数 speed: : 速率,旋转时会乘上这个倍数,为0(默认值)不启用

  • 返回 : =0 成功,<0 失败

sharp_user.SHARP_Key_SetRP_subdivision(MaxVal)

设置电位器细分量,旋钮最大值 * 参数

  • 返回
    • ret 读取成功标志位

sharp_user.SHARP_MAIN_GetVersion()

获取主控板版本

  • 参数 : 无

  • 返回
    • 主控板版本 以字符串形式输出

  • raise : 无

sharp_user.SHARP_MeasureTimeStart_ms()

获取初始时间,开始测量时间

  • 参数 : 无

  • 返回
    • 当前时间计算值,单位ms

sharp_user.SHARP_Multi_BusRS232_init(**kwargs)

初始化Bus转RS232模块

  • 参数
    • kwargs 可变参数

  • 返回
    • Tsky_comDriver 设备类

  • 说 明: id(id号 必须要传 1号设备-1 2号设备-2)

    baudrate(波特率 可以不传要传就传上面的宏) bits(数据位 可以不传要传就传上面的宏) parity(校验位 可以不传要传就传上面的宏) stop(停止位 可以不传要传就传上面的宏)

  • 示例:

sharp_user.SHARP_Reset_Run(Reset_Run_Flag)

中断复位函数

  • 参数
    • Reset_Run_Flag: 中断复位使能

  • 返回 : 无

  • 说 明: 在热拔插中断里调用

  • 示例:

sharp_user.SHARP_SDCard_BIN(file_name)

加载SD卡 二进制(BIN)图像

  • 参数
    • file_name : 图像文件名(可包含文件夹目录名),支持长英文名

  • 返回 : 无

sharp_user.SHARP_SDCard_BMP(file_name)

加载SD卡 BMP格式图片, 必须是24位真彩色图片

  • 参数
    • file_name : 图像文件名(可包含文件夹目录名),支持长英文名

  • 返回 : 无

sharp_user.SHARP_SDCard_CurrBMP(file_name)

读取当前SD的图片,不记入总缓存

  • 参数
    • file_name - 图像文件名(可包含文件夹目录名),支持长英文名

  • 返回 : 无

sharp_user.SHARP_SDCard_Init()

SD卡初始化

*参数 : 无

*返回
  • <0 失败

  • >=0 成功

sharp_user.SHARP_SDCard_Printf(file_name, fmt)

向文件中写入字符串,若无文件则新建

  • 参数
    • path : 文件路径 fmt与printf相同

  • 返回
    • 负数为错误代码 其他为写入文件的数据长度

sharp_user.SHARP_SDCard_PrintfHead(file_name, fmt)

新建一个文件并向文件中写入头部信息,若文件已存在则退出

  • 参数
    • path 文件路径 fmt与printf相同

  • 返回
    • 负数为错误代码 -1代表文件已存在 其他为写入文件的数据长度

sharp_user.SHARP_Set_IP(IP)

设置网口IP

  • 参数
    • IP : 字符串传入

  • 返回
    • >=0 : OK

    • -1 : NG

  • 注意 : 无

  • 示例 :Set_IP(“192.111.1.1”)

sharp_user.SHARP_Set_PN(PN)

设置PN

*参数 : PN

*返回
  • >=0 : OK

  • -1 : NG

*注意 : 无

*示例 :Set_PN(1)

sharp_user.SHARP_Test_Reast()
  • 函数名: Test_Reast

  • 描述 : 软件复位

  • 参数 : 无

  • 返回 : 无

  • 说 明: 调试使用

  • 示例:

sharp_user.SHARP_UserIO_AF_Set(IO_PIN, AF_MODE)

配置IO复用

  • 参数
    • IO_PIN : 需要复用的IO口(使用复用IO口宏)

    • AF_MODE : 复用的模式(使用IO口模式宏)

*返回 : 无

*注意 : 无

sharp_user.SHARP_UserIO_BitReset(IO_PIN)

拉低IO口

  • 参数
    • IO_PIN: PIN引脚号

  • 返回 : 无

  • 注意 : 无

sharp_user.SHARP_UserIO_BitSet(IO_PIN)

拉高IO口

  • 参数
    • IO_PIN: PIN引脚号

  • 返回 : 无

  • 注意 : 无

sharp_user.SHARP_UserIO_Conf(User_conf)

配置外接IO参数

  • 参数
    • User_conf : str_user_io参数可以看对应结构体

  • 返回 : 无

  • 注意 : 无

sharp_user.SHARP_UserIO_DirBit(IO_PIN, val)

配置IO口为OD模式

  • 参数
    • IO_PIN : PIN引脚号

    • val : 输入输出状态

  • 返回 : 无

  • 注意 : 无

sharp_user.SHARP_UserIO_GetBit(IO_PIN)

读取IO口状态

  • 参数
    • IO_PIN: PIN引脚号

  • 返回 : 无

  • 注意 : 无

sharp_user.SHARP_UserIO_ITConf(User_conf)

配置中断IO参数

  • 参数
    • User_conf : str_user_io参数可以看对应结构体

  • 返回 : 无

  • 示例 :
    def isr_test(index,pin): #index 主机号 pin中断IO

    print(‘isr_test’) if pin == LCD_TP_SCL:

    print(‘pin LCD_TP_SCL’)

    if pin == LCD_TP_INT:

    print(‘pin LCD_TP_INT’)

    if pin == LCD__IO_6:

    print(‘pin LCD__IO_6’)

    if pin == LCD__IO_5:

    print(‘pin LCD__IO_5’)

    if pin == LCD_TP_MISO:

    print(‘pin LCD_TP_MISO’)

    if pin == LCD_TP_SDA:

    print(‘pin LCD_TP_SDA’)

    print(index) print(pin)

    def isr_test1(index,pin): #index 主机号 pin中断IO

    print(‘isr_test1’) if pin == LCD_TP_MISO:

    print(‘pin LCD_TP_MISO’)

    if pin == LCD_TP_SDA:

    print(‘pin LCD_TP_SDA’)

    print(index) print(pin)

    IT_io = user_IT_io() IT_io1 = user_IT_io() user_io.IO_PIN=LCD_TP_MISO|LCD_TP_SDA|LCD_TP_SCL|LCD_TP_INT|LCD__IO_5|LCD__IO_6 user_io.IO_Mode=INPUT_DIR UserIO_Conf(user_io)

    IT_io.IO_PIN=LCD_TP_SCL|LCD_TP_INT|LCD__IO_5 IT_io.IO_Enable=1 IT_io.IO_ITMode=EDGE_UP #上升沿触发 IT_io.IO_ITCycle = 80 IT_io.handler = isr_test #中断回调 UserIO_ITConf(IT_io)

    IT_io1.IO_PIN=LCD__IO_6|LCD_TP_MISO|LCD_TP_SDA IT_io1.IO_Enable=1 IT_io1.IO_ITMode=EDGE_UP #上升沿触发 IT_io1.handler = isr_test1 #中断回调 UserIO_ITConf(IT_io1)

sharp_user.SHARP_UserIO_Init()

IO基本初始化

  • 参数 : 无

  • 返回 : 0:表示硬件ok

  • 注意 : 用户不需要调用

sharp_user.SHARP_User_IOAF_ALLOFF()

关闭所有IO口复用

  • 参数 :无

  • 返回 : 无

  • 注意 : 无

sharp_user.SHARP_User_IT_Init()

中断使能初始化

  • 参数 : 无

  • 返回 : 无

  • 注意 : 无

sharp_user.SHARP_VerMan_GetMasterBoardTotal()

获取板子总数

  • 参数 : 无

  • 返回 : 无

  • raise : 无

sharp_user.SHARP_VerMan_MasterAllEnable()

使能的所有Master(Master一般是指带GPU的板子)

  • 参数 : 无

  • 返回 : 无

  • raise : 无

sharp_user.SHARP_VerMan_MasterIndexEnable(index)

使能单个Master(Master一般是指带GPU的板子)信号盒。

  • 参数
    • index : 信号盒ID 0-信号盒0,1-信号盒1,2-信号盒2,3-信号盒3

  • 返回 : 无

  • raise : 无

sharp_user.SHARP_VerMan_MasterSlaveAllEnable()

使能所有Master(Master一般是指带GPU的板子) 使能所有Slave(Slave是指Master(GPU)下的器件(比如2832))

  • 参数 : 无

  • 返回 : 无

  • raise : 无

sharp_user.SHARP_key_SetLed(KEYx, OnOff)

设置按键的LED

  • 参数 KEYx : key_onoff,key_down,key_up,key_enter,key_sub,key_add,key_spare

  • 参数 OnOff : 0-关闭 1-开启

  • 返回 : =0 成功,<0 失败

sharp_user.SHARP_read_bus_encoder(before_time)

读取按键盒旋转编码器的动作 * 参数

  • before_time : 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

  • 返回
    • key_str 存放获取到的内容 字符串长度为256

  • PSkey_str会接收到的内容:

    1.NO_EC_ACTION (无动作) 2.EC_CW_x (顺时针转动) 3.EC_CCW_x (逆时针转动) 4.EC_PRESS_CW_x (按下顺时针转动) 5.EC_PRESS_CCW_x (按下逆时针转动) 6.EC_PRESS (短按) 7.EC_LOING_PRESS (长按) 后面的 _x 为旋转次数

  • 例子 : read_key_press(500);

sharp_user.SHARP_read_key_Long_press(before_time)

读取按键盒按键长按

  • 参数
    • before_time : 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

  • 返回
    • key_str 存放获取到的内容 字符串长度为256

  • PSkey_str会接收到的内容:

    1.no_key_action (无动作) 2.key_onoff_long_press (ON/OFF按键长按) 3.key_down_long_press (下翻按键长按) 4.key_up_long_press (上翻按键长按) 5.key_enter_long_press (确认按键长按) 6.key_sub_long_press (减 按键长按) 7.key_add_long_press (加 按键长按) 8.key_spare_long_press (备用按键长按) 有多个按键动作会返回多个按键动作,以逗号(,)分隔

  • 例子 : read_key_press(500);

sharp_user.SHARP_read_key_continuous_long_press(before_time)

读取按键盒按键连续长按,按键未抬起会一直返回长按

  • 参数
    • before_time : 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

  • 返回
    • key_str 存放获取到的内容 字符串长度为256

  • PSkey_str会接收到的内容:

    1.no_key_action (无动作) 2.key_onoff_long_press (ON/OFF按键长按) 3.key_down_long_press (下翻按键长按) 4.key_up_long_press (上翻按键长按) 5.key_enter_long_press (确认按键长按) 6.key_sub_long_press (减 按键长按) 7.key_add_long_press (加 按键长按) 8.key_spare_long_press (备用按键长按) 有多个按键动作会返回多个按键动作,以逗号(,)分隔

  • 例子 : read_key_press(500);

sharp_user.SHARP_read_key_lift(before_time)

读取按键盒按键抬起

  • 参数
    • before_time : 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

  • 返回
    • key_str 存放获取到的内容 字符串长度为256

  • PSkey_str会接收到的内容:

    1.no_key_action (无动作) 2.key_onoff_lift (OFF按键抬起/释放) 3.key_down_lift (下翻按键抬起/释放) 4.key_up_lift (上翻按键抬起/释放) 5.key_enter_lift (确认按键抬起/释放) 6.key_sub_lift (减 按键抬起/释放) 7.key_add_lift (加 按键抬起/释放) 8.key_spare_lift (备用按键抬起/释放) 有多个按键动作会返回多个按键动作,以逗号(,)分隔

  • 例子 : read_key_lift(500);

sharp_user.SHARP_read_key_press(before_time)

读取按键盒按键按下

  • 参数
    • before_time : 往前时间(ms) 从发起请求到往前before_time时间内是否有动作

  • 返回
    • key_str 存放获取到的内容

    • key_str_len key_str长度(不能超过256)

  • PSkey_str会接收到的内容:

    1.NO_KEY_ACTION (无动作) 2.KEY1_PRESS (按键1按下) 3.KEY2_PRESS (按键2按下) 4.KEY3_PRESS (按键3按下) 5.KEY4_PRESS (按键4按下) 6.KEY5_PRESS (按键5按下) 7.KEY6_PRESS (按键6按下) 8.KEY7_PRESS (按键7按下) 有多个按键动作会返回多个按键动作,以逗号(,)分隔

  • 例子 : read_key_press(500);

sharp_user.SHARP_traceback_exception(e)
  • 函数名: SHARP_traceback_exception

  • 描述 : 生成异常信息

  • 参数
    • e–异常类型

  • 返回
    • 异常字符串

  • 说 明:

  • 示例:

class sharp_user.master_struct

基类:object

主控板GPU的类对象

FPGA_Type()

主控板GPU的信号类型

Version()

主控板GPU的版本号

slave()

核心板信息

type()

主控板GPU类型

class sharp_user.signal_struct

基类:object

核心板上的信号板的类对象,此对象嵌套slave_struct上 不用单独调用

signal_Version()

核心板上的信号板版本号

signal_type()

核心板上的信号类型

class sharp_user.slave_struct

基类:object

核心板的类对象,此对象嵌套master_struct上 不用单独调用

signal()

核心板上的GPU板对应的信号板。

slave_Version()

核心板上的GPU板版本号()

slave_type()

核心板上的GPU板类型()

class sharp_user.str_user_io

基类:object

IO口 参数配置的类对象

IO_Mode()

IO口 pin模式

IO_PIN()

IO口 pin引脚号

class sharp_user.user_IT_io

基类:object

中断IO口 参数配置的类对象

IO_Enable()

IO口 使能

IO_ITCycle()

IO口 采样周期

IO_ITMode()

IO口 中断触发模式。(上升沿触发和下降沿触发)

IO_PIN()

IO口 pin引脚号

pin_isr_handler(v)

IO口 中断回调

class sharp_user.user_mode

基类:object

√ 混合模块类

  • 参数 :

  • 返回
  • 注意

    不需要实例化

  • raise : 无

DEBUG(fmt)

打印输出语句

  • 参数
    • fmt : 与printf相同,格式: DEBUG(“test: %d, %d” %(a, b))

  • 返回 : 无

  • raise : 无

Delay_ms(ms: int)

延时毫秒函数

  • 参数
    • ms: 毫秒

  • 返回 : 无

  • raise : 无

Delay_us(us: int)

延时微秒函数

  • 参数
    • us: 微秒

  • 返回 : 无

GetMeasureTime_ms(ts: int)

获取初始时间,开始测量时间

  • 参数 : 无

  • 返回
    • 当前时间计算值,单位ms

Get_LockCode()

获取唯一ID

*参数 : 无

*返回
  • 唯一ID的二进制流

*注意 : 无

*示例 :

Get_MAIN_GetVersion()

获取主控板版本

  • 参数 : 无

  • 返回
    • 主控板版本 以字符串形式输出

  • raise : 无

Get_NetWork_IP()

获取网口IP

  • 参数 : 无

  • 返回
    • ret 成功或失败标志位

    • IP 获取到的IP(字符串格式)

  • 示例ret,ip = Get_IP()
    if ret>=0:

    print(ip)

Get_PN()

获取PN

  • 参数 : 无

  • 返回
    • ret : 成功或失败标志位

    • PN : 获取到的PN(字符串格式)

  • 示例ret,PN = Get_PN()
    if ret>=0:

    print(PN)

MeasureTimeStart_ms()

获取初始时间,开始测量时间

  • 参数 : 无

  • 返回
    • 当前时间计算值,单位ms

SDCard_Detection()

检测SD卡是否在线

*参数 : 无

*返回
  • <0 失败

  • >=0 成功

SDCard_Printf(file_name, fmt)

向文件中写入字符串,若无文件则新建

  • 参数
    • path : 文件路径 fmt与printf相同

  • 返回
    • 负数为错误代码 其他为写入文件的数据长度

SDCard_PrintfHead(file_name, fmt)

新建一个文件并向文件中写入头部信息,若文件已存在则退出

  • 参数
    • path 文件路径 fmt与printf相同

  • 返回
    • 负数为错误代码 -1代表文件已存在 其他为写入文件的数据长度

Set_NetWork_IP(IP)

设置网口IP

  • 参数
    • IP : 字符串传入

  • 返回
    • >=0 : OK

    • -1 : NG

  • 注意 : 无

  • 示例 :Set_IP(“192.111.1.1”)

Set_PN(PN)

设置PN

*参数 : PN

*返回
  • >=0 : OK

  • -1 : NG

*注意 : 无

*示例 :Set_PN(1)

traceback_clear_exce()
  • 函数名: traceback_clear_exce

  • 描述 : 清除底层报错信息

  • 参数 :

  • 返回
    • 异常字符串

  • 说 明:

  • 示例:

traceback_exce_driver()
  • 函数名: SHARP_traceback_exce_driver

  • 描述 : 追溯底层报错信息

  • 参数 :

  • 返回
    • 异常字符串

  • 说 明:

  • 示例:

traceback_exception(e)
  • 函数名: SHARP_traceback_exception

  • 描述 : 生成异常信息

  • 参数
    • e–异常类型

  • 返回
    • 异常字符串

  • 说 明:

  • 示例: