100 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			100 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | { | ||
|  |  "metadata": { | ||
|  |   "name": "", | ||
|  |   "signature": "sha256:25f974945afc9b1b27aaa5b6052b2450ccd9a439db8fbffa8906951404958c87" | ||
|  |  }, | ||
|  |  "nbformat": 3, | ||
|  |  "nbformat_minor": 0, | ||
|  |  "worksheets": [ | ||
|  |   { | ||
|  |    "cells": [ | ||
|  |     { | ||
|  |      "cell_type": "code", | ||
|  |      "collapsed": false, | ||
|  |      "input": [ | ||
|  |       "from pypot.dynamixel import autodetect_robot\n", | ||
|  |       "\n", | ||
|  |       "robot = autodetect_robot()\n", | ||
|  |       "robot.start_sync()" | ||
|  |      ], | ||
|  |      "language": "python", | ||
|  |      "metadata": {}, | ||
|  |      "outputs": [], | ||
|  |      "prompt_number": 1 | ||
|  |     }, | ||
|  |     { | ||
|  |      "cell_type": "code", | ||
|  |      "collapsed": false, | ||
|  |      "input": [ | ||
|  |       "from pypot.primitive.utils import Sinus\n", | ||
|  |       "\n", | ||
|  |       "my_sinus = Sinus(robot, 50, robot.motors, amp=10)\n", | ||
|  |       "robot.attach_primitive(my_sinus, 'my_sinus')" | ||
|  |      ], | ||
|  |      "language": "python", | ||
|  |      "metadata": {}, | ||
|  |      "outputs": [], | ||
|  |      "prompt_number": 2 | ||
|  |     }, | ||
|  |     { | ||
|  |      "cell_type": "code", | ||
|  |      "collapsed": false, | ||
|  |      "input": [ | ||
|  |       "from pypot.server.rest import RESTRobot\n", | ||
|  |       "\n", | ||
|  |       "robot_server = RESTRobot(robot)" | ||
|  |      ], | ||
|  |      "language": "python", | ||
|  |      "metadata": {}, | ||
|  |      "outputs": [], | ||
|  |      "prompt_number": 3 | ||
|  |     }, | ||
|  |     { | ||
|  |      "cell_type": "code", | ||
|  |      "collapsed": false, | ||
|  |      "input": [ | ||
|  |       "import zerorpc\n", | ||
|  |       "\n", | ||
|  |       "s = zerorpc.Server(robot_server)\n", | ||
|  |       "s.bind(\"tcp://0.0.0.0:4242\")\n", | ||
|  |       "s.run()" | ||
|  |      ], | ||
|  |      "language": "python", | ||
|  |      "metadata": {}, | ||
|  |      "outputs": [ | ||
|  |       { | ||
|  |        "output_type": "stream", | ||
|  |        "stream": "stderr", | ||
|  |        "text": [ | ||
|  |         "KeyboardInterrupt\n" | ||
|  |        ] | ||
|  |       }, | ||
|  |       { | ||
|  |        "ename": "KeyboardInterrupt", | ||
|  |        "evalue": "", | ||
|  |        "output_type": "pyerr", | ||
|  |        "traceback": [ | ||
|  |         "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)", | ||
|  |         "\u001b[0;32m<ipython-input-4-4909183bd992>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0ms\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mzerorpc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mServer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrobot_server\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbind\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"tcp://0.0.0.0:4242\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0ms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", | ||
|  |         "\u001b[0;32m/usr/local/lib/python2.7/site-packages/zerorpc/core.pyc\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    169\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_acceptor_task\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgevent\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mspawn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_acceptor\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    170\u001b[0m         \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 171\u001b[0;31m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_acceptor_task\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    172\u001b[0m         \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    173\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", | ||
|  |         "\u001b[0;32m/usr/local/lib/python2.7/site-packages/gevent/greenlet.pyc\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, block, timeout)\u001b[0m\n\u001b[1;32m    256\u001b[0m                 \u001b[0mt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mTimeout\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstart_new\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    257\u001b[0m                 \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 258\u001b[0;31m                     \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mparent\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mswitch\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    259\u001b[0m                     \u001b[0;32massert\u001b[0m \u001b[0mresult\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'Invalid switch into Greenlet.get(): %r'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    260\u001b[0m                 \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", | ||
|  |         "\u001b[0;32m/usr/local/lib/python2.7/site-packages/gevent/hub.pyc\u001b[0m in \u001b[0;36mswitch\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    329\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mswitch_out\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    330\u001b[0m             \u001b[0mswitch_out\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 331\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mgreenlet\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mswitch\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    332\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    333\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mswitch_out\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", | ||
|  |         "\u001b[0;31mKeyboardInterrupt\u001b[0m: " | ||
|  |        ] | ||
|  |       } | ||
|  |      ], | ||
|  |      "prompt_number": 4 | ||
|  |     }, | ||
|  |     { | ||
|  |      "cell_type": "code", | ||
|  |      "collapsed": false, | ||
|  |      "input": [], | ||
|  |      "language": "python", | ||
|  |      "metadata": {}, | ||
|  |      "outputs": [] | ||
|  |     } | ||
|  |    ], | ||
|  |    "metadata": {} | ||
|  |   } | ||
|  |  ] | ||
|  | } |