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": {}
 | |
|   }
 | |
|  ]
 | |
| } |