def set_default_turning_angle(angle, index=1): #设置默认的转向角度(不开放) if (not isinstance(angle, (int, float))) or (not isinstance( index, (int, float))) or (index <= 0): return angle = num_range_scale(angle, -180, 180) neurons_request("m_smart_camera", "set_default_turning_angle", (angle), index)
def send(message, index=1): if not isinstance(index, (int, float)): return if not isinstance(message, (str, )): return neurons_request("m_ir_sensor", "send_str", str(message, "utf8"), index)
def back_to_zero(speed, index=1): if (not isinstance(speed, (int, ))) or (not isinstance(index, (int))) or (index <= 0): return speed = num_range_scale(speed, 1, 50) neurons_request("m_smartservo", "back_to_zero", [0x00, speed], index)
def set_camera_sensitometry(level, index=1): #设置摄像头曝光度 if (not isinstance(level, (int, float))) or (not isinstance( index, (int, float))) or (index <= 0): return level = num_range_scale(level, 0, 255) neurons_request("m_smart_camera", "set_camera_sensitometry", (level), index)
def run(left_speed, right_speed, index=1): if not isinstance(index, (int, float)): return if not isinstance(left_speed, (int, float)): return neurons_request("m_mbot", "run", (left_speed, right_speed), index)
def set_button_count_report_mode(mode, timestamp, index=1): timestamp = num_range_scale(timestamp, 10, None) if mode == 0x00 or mode == 0x01 or mode == 0x02: neurons_request("m_fingertip_piano", "set_button_count_report_mode", (mode, timestamp), index) else: pass
def __set_r_g_b(col_id, value, index): global __led_value value = num_range_scale(value, 0, 255) __led_value[index][col_id] = value neurons_request("m_rgb", r_g_b_list[col_id], value, index)
def set_report_mode(mode, timestamp, index=1): timestamp = num_range_scale(timestamp, 10, None) if mode == 0x00 or mode == 0x01 or mode == 0x02: neurons_request("m_dual_rgb_sensor", "set_all_data_report_mode", (mode, timestamp), index) else: pass
def set_report_mode(mode, timestamp, index=1): timestamp = num_range_scale(timestamp, 10, None) if mode == 0x00 or mode == 0x01 or mode == 0x02: neurons_request("m_mult_touch", "set_report_mode", (mode, timestamp), index) else: pass
def set_power(power, index = 1): if not isinstance(index, (int, float)): return if not isinstance(power, (int, float)): return power = num_range_scale(power, -100, 100) neurons_request("m_dc_motor", "set_power", power, index)
def set_angle(angle, index=1): if not isinstance(index, (int, float)): return if not isinstance(angle, (int, float)): return angle = num_range_scale(angle, 0, 180) neurons_request("m_servo", "set_angle", angle, index)
def reset_button_count(button_idx, index=1): if button_idx == 'button1': idx = 0 elif button_idx == 'button2': idx = 1 elif button_idx == 'all': idx = 2 neurons_request("m_fingertip_piano", "reset_button_count", (idx), index)
def set_power(pwm, index=1): if (not isinstance(pwm, (int, ))) or (not isinstance(index, (int))) or (index <= 0): return pwm = num_range_scale(pwm, -255, 255) #print(pwm) neurons_request("m_smartservo", "set_pwm", -pwm, index)
def send_remote_code(addr, data, index=1): if index != 0x01: return if not isinstance(addr, (int)) or not isinstance(data, (int)): return addr = num_range_scale(addr, 0, 255) data = num_range_scale(data, -128, 127) neurons_request("m_halobot", "ir_send_remote_code", (addr, data), index)
def send(data, index=1): if index != 0x01: return data = str(data) + '\n' length = len(data) if length == 0 or length > 127: return #list_data = list(map(ord, list(data))) neurons_request("m_halobot", "ir_send", data, index)
def change_volume(val, index=1): if not isinstance(index, (int, float)): return if not isinstance(val, (int, float)): return val = num_range_scale(val, -100, 100) neurons_request("m_speaker", "change_volume", val, index) time.sleep(0.05)
def set_report_mode(mode, timestamp, index=1): if not isinstance(timestamp, (int, float)): return timestamp = num_range_scale(timestamp, 10, None) if mode == __INQUIRE_REPORT_MODE or mode == __CHANGE_REPORT_MODE or mode == __PERIOD_REPORT_MODE: neurons_request("m_servo", "set_report_mode", (mode, timestamp), index) else: return
def release_angle(index="all"): if index == "all": id_list = neurons_get_block_index("m_smartservo") for index in range(len(id_list)): neurons_request("m_smartservo", "lock_unlock", 0x01, index + 1) else: if (not isinstance(index, (int, ))) or (index <= 0): return neurons_request("m_smartservo", "lock_unlock", 0x01, index)
def stop(index="all"): if index == "all": id_list = neurons_get_block_index("m_smartservo") for index in range(len(id_list)): neurons_request("m_smartservo", "set_pwm", 0, index + 1) else: if (not isinstance(index, (int))) or (index <= 0): return neurons_request("m_smartservo", "set_pwm", 0, index)
def set_line_report_mode(mode, timestamp, index=1): #设置线所有信息的上报模式 if (not isinstance(timestamp, (int, float))) or (not isinstance( index, (int, float))) or (index <= 0): return timestamp = num_range_scale(timestamp, 10, None) if mode == 0x00 or mode == 0x01 or mode == 0x02: neurons_request("m_smart_camera", "set_line_report_mode", (mode, timestamp), index) else: return
def move_with_torque(position, speed, strength, index=1): if (not isinstance(position, (int))) or (not isinstance( speed, (int, ))) or (not isinstance(strength, (int, ))) or (not isinstance( index, (int))) or (index <= 0): return speed = num_range_scale(speed, 1, 50) strength = num_range_scale(strength, 1, 255) neurons_request("m_smartservo", "move_with_torque", [position, speed, strength], index)
def set_angle(channel=None, angle=0, index=1): if index != 0x01: return if channel != "ALL" and channel != "S1" and channel != "S2": return if not isinstance(angle, (int)): return angle = num_range_scale(angle, 0, 180) neurons_request("m_halobot", "servo_set_angle", (channel_dict[channel], angle), index)
def set_led_rgb(r, g, b, index=1): #设置RGB灯 if (not isinstance(r, (int, float))) or (not isinstance( g, (int, float))) or (not isinstance(b, (int, float))) or (not isinstance( index, (int, float))) or (index <= 0): return r = num_range_scale(r, 0, 255) g = num_range_scale(g, 0, 255) b = num_range_scale(b, 0, 255) neurons_request("m_smart_camera", "set_led_rgb", (r, g, b), index)
def run(power, index=1): if (not isinstance(power, (int, ))) or (not isinstance(index, (int))) or (index <= 0): return power = num_range_scale(power, -100, 100) # scale for user is -100 ~ 100, real is -255 ~ 255 power = round(power * 2.55) # 255 / 100 neurons_request("m_smartservo", "set_pwm", -power, index)
def off(index=1): global __led_value if not isinstance(index, (int, float)): return if index > __RGB_NUM_MAX: return neurons_request("m_rgb", "show", (0, 0, 0), index) __led_value[int(index)] = [0, 0, 0]
def set_light_color(color, index=1): if not isinstance(index, (int, float)): return if not isinstance(color, (str, )): return color_id = _get_color_id(color) if color_id == None: return neurons_request("m_dual_rgb_sensor", "set_rgb_color", color_id, index)
def set_sensitivity(sen, index=1): if not isinstance(sen, (int, float)): return if not isinstance(index, (int, float)): return sen = num_range_scale(sen, 1, 4) neurons_request("m_mult_touch", "reset", (), index) neurons_request("m_mult_touch", "set_sensitivity", sen, index)
def send_learned_result(record_id=1, index=1): if not isinstance(record_id, (int, float)): return if not isinstance(index, (int, float)): return record_id = round(record_id) if record_id != 1 and record_id != 2: return neurons_request("m_ir_sensor", "send_record", record_id - 1, index)
def toggle_pixel(pos_x, pos_y, index=1): if not isinstance(index, (int, float)): return if (not isinstance(pos_x, (int, float))) or (not isinstance(pos_y, (int, float))): return pos_x = int(pos_x) pos_y = int(pos_y) if pos_x < 0 or pos_x > 15 or pos_y < 0 or pos_y > 7: return neurons_request("m_led_panel", "toggle_pixel2", (pos_x, pos_y, 0), index)
def turn(angle, speed, index=1): # angle: drgree speed:unit :degree per second if (not isinstance(angle, (int))) or (not isinstance( speed, (int, ))) or (not isinstance(index, (int))) or (index <= 0): return # speed unit for users is degree per second # but real speed unit is rpm(revolutions per minute) speed = round(speed * SPEED_DPS_TO_RPM) speed = num_range_scale(speed, 1, 50) neurons_request("m_smartservo", "move", [-angle, speed], index)