Example #1
0
    if link.write(buf):
        return True
    return False


# 将一个16位的int型数拆成两个8位的
def split_hl(item):
    item &= 0xffff
    result = [(item & 0xff00) >> 8, item & 0xff]
    return result


# 求校验和
def solve_sum(buf):
    sum_m = 0
    for it in buf:
        sum_m += it
    sum_m &= 0xff
    return sum_m


if __name__ == '__main__':

    link = Communtcation(serial_name, 2000000, 8)  # 串口链接
    if link.open():
        run()
    else:
        rospy.loginfo("Open serialport %s fail" % (serial_name))
        exit(0)
    link.close()
#!/usr/bin/env python
# coding=utf-8
# Filename : hc_servo_control.py
# Author : Chen Zhizhong
# Created Date : 2014/10/9 21:14
# Description : Servo controls including arms, hands & body lifter

import rospy
from bitathome_hardware_control.srv import *
from hc_serialport_communication import Communtcation
from hc_motor_cmd import solve_sum

node_name = "hc_servo_control"  # 节点名称
serial_name = "/dev/ttyUSB1"  # 串口名称
link = Communtcation(serial_name, 19200, 8)  # 串口链接


# 限制数值范围
def constrain(val, v_min, v_max):
    """
    :param val: 数值
    :param v_min: 下限
    :param v_max: 上限
    """
    if val < v_min:
        return v_min
    elif val > v_max:
        return v_max
    else:
        return val
Example #3
0
    if link.write(buf):
        return True
    return False


# 将一个16位的int型数拆成两个8位的
def split_hl(item):
    item &= 0xffff
    result = [(item & 0xff00) >> 8, item & 0xff]
    return result


# 求校验和
def solve_sum(buf):
    sum_m = 0
    for it in buf:
        sum_m += it
    sum_m &= 0xff
    return sum_m


if __name__ == '__main__':

    link = Communtcation(serial_name, 2000000, 8)  # 串口链接
    if link.open():
        run()
    else:
        rospy.loginfo("Open serialport %s fail" % (serial_name))
        exit(0)
    link.close()