diff --git a/siriuspy/siriuspy/pwrsupply/tests/fbp-example.ipynb b/siriuspy/siriuspy/pwrsupply/tests/fbp-example.ipynb index fcb25d7d0..d3b524958 100644 --- a/siriuspy/siriuspy/pwrsupply/tests/fbp-example.ipynb +++ b/siriuspy/siriuspy/pwrsupply/tests/fbp-example.ipynb @@ -2,66 +2,69 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ - "from siriuspy.pwrsupply.psbsmp import FBP\n", - "from siriuspy.pwrsupply.pru import PRU\n", + "from siriuspy.pwrsupply.bsmp.commands import FBP\n", + "from siriuspy.pwrsupply.pructrl.pru import PRU\n", + "from PRUserial485 import EthBridgeClient as _EthBridgeClient\n", "\n", "\n", "def create_fbp(bbbname, device_id):\n", " \"\"\".\"\"\"\n", - " pru = PRU(bbbname=bbbname)\n", + " pru = PRU(ethbridgeclnt_class=_EthBridgeClient, bbbname=bbbname)\n", " ps = FBP(slave_address=device_id, pru=pru)\n", " return ps" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "PRUserial485 lib version_client: 2.3.3\n", - "PRUserial485 lib version_server: None\n", - "\n" + "BEAGLEBONE: LA-RaCtrl:CO-PSCtrl-TB2\n", + "IP_ADDRESS: 10.128.121.104\n" ] }, { - "ename": "SerialErrEmpty", - "evalue": "Serial read returned empty!", + "ename": "timeout", + "evalue": "timed out", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mSerialErrEmpty\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mack\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mps\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mremove_all_groups_of_variables\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m100\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 6\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'cmd : '\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'remove_all'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'ack : '\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mack\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/home/sirius/repos/dev-packages/siriuspy/siriuspy/bsmp/commands.py\u001b[0m in \u001b[0;36mremove_all_groups_of_variables\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 218\u001b[0m \u001b[0;31m# send request package\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 219\u001b[0m \u001b[0mmsg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_Message\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmessage\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcmd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpayload\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mpayload\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 220\u001b[0;31m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mchannel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrequest\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmsg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtimeout\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 221\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 222\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcmd\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mack\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpayload\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/home/sirius/repos/dev-packages/siriuspy/siriuspy/bsmp/serial.py\u001b[0m in \u001b[0;36mrequest\u001b[0;34m(self, message, timeout, read_flag)\u001b[0m\n\u001b[1;32m 224\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwrite\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmessage\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 225\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mread_flag\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 226\u001b[0;31m \u001b[0mresponse\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\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 227\u001b[0m \u001b[0;31m# print(response.cmd)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 228\u001b[0m \u001b[0;31m# print(response.payload)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/home/sirius/repos/dev-packages/siriuspy/siriuspy/bsmp/serial.py\u001b[0m in \u001b[0;36mread\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 192\u001b[0m \u001b[0;31m# len(resp)), [hex(ord(c)) for c in resp])\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 193\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mresp\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 194\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0m_SerialErrEmpty\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Serial read returned empty!\"\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 195\u001b[0m \u001b[0mpackage\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mPackage\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 196\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_size_counter\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpackage\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstream\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mSerialErrEmpty\u001b[0m: Serial read returned empty!" + "\u001b[0;31mtimeout\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[4], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# ps = create_fbp(bbbname='IA-11RaCtrl:CO-PSCtrl-SI4', device_id=1) # SI-11C1:PS-CH\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;66;03m# ps = create_fbp(bbbname='PA-RaPSB06:CO-PSCtrl-SI1', device_id=3) # SI-Fam:PS-SDA1\u001b[39;00m\n\u001b[0;32m----> 3\u001b[0m ps \u001b[38;5;241m=\u001b[39m \u001b[43mcreate_fbp\u001b[49m\u001b[43m(\u001b[49m\u001b[43mbbbname\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mLA-RaCtrl:CO-PSCtrl-TB2\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdevice_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# TB-01:PS-CH-1\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;66;03m# ack, data = ps.remove_all_groups_of_variables(timeout=100)\u001b[39;00m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;66;03m# print('cmd : ', 'remove_all')\u001b[39;00m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;66;03m# print('ack : ', ack)\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;66;03m# print('data: ', psnames)\u001b[39;00m\n\u001b[1;32m 58\u001b[0m \u001b[38;5;66;03m# print()\u001b[39;00m\n", + "Cell \u001b[0;32mIn[2], line 8\u001b[0m, in \u001b[0;36mcreate_fbp\u001b[0;34m(bbbname, device_id)\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcreate_fbp\u001b[39m(bbbname, device_id):\n\u001b[1;32m 7\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\".\"\"\"\u001b[39;00m\n\u001b[0;32m----> 8\u001b[0m pru \u001b[38;5;241m=\u001b[39m \u001b[43mPRU\u001b[49m\u001b[43m(\u001b[49m\u001b[43methbridgeclnt_class\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_EthBridgeClient\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbbbname\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mbbbname\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 9\u001b[0m ps \u001b[38;5;241m=\u001b[39m FBP(slave_address\u001b[38;5;241m=\u001b[39mdevice_id, pru\u001b[38;5;241m=\u001b[39mpru)\n\u001b[1;32m 10\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m ps\n", + "File \u001b[0;32m~/repos/dev-packages/siriuspy/siriuspy/pwrsupply/pructrl/pru.py:88\u001b[0m, in \u001b[0;36mPRU.__init__\u001b[0;34m(self, ethbridgeclnt_class, bbbname, ip_address)\u001b[0m\n\u001b[1;32m 85\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_ip_address \u001b[38;5;241m=\u001b[39m ip_address\n\u001b[1;32m 87\u001b[0m \u001b[38;5;66;03m# start communication threads\u001b[39;00m\n\u001b[0;32m---> 88\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_ethbridge \u001b[38;5;241m=\u001b[39m \u001b[43methbridgeclnt_class\u001b[49m\u001b[43m(\u001b[49m\u001b[43mip_address\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mip_address\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 90\u001b[0m \u001b[38;5;66;03m# init PRUserial485 interface\u001b[39;00m\n\u001b[1;32m 91\u001b[0m PRUInterface\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m)\n", + "File \u001b[0;32m~/repos/eth-bridge-pru-serial485/client/PRUserial485/PRUserial485.py:458\u001b[0m, in \u001b[0;36mEthBridgeClient.__init__\u001b[0;34m(self, ip_address)\u001b[0m\n\u001b[1;32m 454\u001b[0m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__init__\u001b[39m(ip_address)\n\u001b[1;32m 456\u001b[0m \u001b[38;5;66;03m# NOTE: Should I connect here with option #1, #2 or should I leave\u001b[39;00m\n\u001b[1;32m 457\u001b[0m \u001b[38;5;66;03m# it for the first interaction with the server?\u001b[39;00m\n\u001b[0;32m--> 458\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconnect_socket\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/repos/eth-bridge-pru-serial485/client/PRUserial485/PRUserial485.py:473\u001b[0m, in \u001b[0;36mEthBridgeClient.connect_socket\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 471\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mconnect_socket\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[1;32m 472\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Open a socket connection.\"\"\"\u001b[39;00m\n\u001b[0;32m--> 473\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_socket_connect\u001b[49m\u001b[43m(\u001b[49m\u001b[43mSERVER_PORT_RW\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/repos/eth-bridge-pru-serial485/client/PRUserial485/PRUserial485.py:197\u001b[0m, in \u001b[0;36m_EthBridgeClientCommonInterface._socket_connect\u001b[0;34m(self, conn_port)\u001b[0m\n\u001b[1;32m 194\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msocket \u001b[38;5;241m=\u001b[39m socket\u001b[38;5;241m.\u001b[39msocket(socket\u001b[38;5;241m.\u001b[39mAF_INET, socket\u001b[38;5;241m.\u001b[39mSOCK_STREAM)\n\u001b[1;32m 195\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msocket\u001b[38;5;241m.\u001b[39msettimeout(DEFAULT_TIMEOUT)\n\u001b[0;32m--> 197\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msocket\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconnect\u001b[49m\u001b[43m(\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_bbb_ip\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconn_port\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 198\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msocket\u001b[38;5;241m.\u001b[39msetsockopt(socket\u001b[38;5;241m.\u001b[39mSOL_TCP, socket\u001b[38;5;241m.\u001b[39mTCP_NODELAY, \u001b[38;5;241m1\u001b[39m)\n", + "\u001b[0;31mtimeout\u001b[0m: timed out" ] } ], "source": [ - "# ps = create_fbp(bbbname='IA-11RaCtrl:CO-PSCtrl-SI4', device_id=1)\n", - "ps = create_fbp(bbbname='PA-RaPSB06:CO-PSCtrl-SI1', device_id=3)\n", + "# ps = create_fbp(bbbname='IA-11RaCtrl:CO-PSCtrl-SI4', device_id=1) # SI-11C1:PS-CH\n", + "# ps = create_fbp(bbbname='PA-RaPSB06:CO-PSCtrl-SI1', device_id=3) # SI-Fam:PS-SDA1\n", + "ps = create_fbp(bbbname='LA-RaCtrl:CO-PSCtrl-TB2', device_id=1) # TB-01:PS-CH-1\n", "\n", "\n", - "ack, data = ps.remove_all_groups_of_variables(timeout=100)\n", - "print('cmd : ', 'remove_all')\n", - "print('ack : ', ack)\n", - "print('data: ', data)\n", - "print()\n", + "# ack, data = ps.remove_all_groups_of_variables(timeout=100)\n", + "# print('cmd : ', 'remove_all')\n", + "# print('ack : ', ack)\n", + "# print('data: ', data)\n", + "# print()\n", "\n", - "ack, data = ps.read_variable(0, timeout=100)\n", - "print('cmd : ', 'read_variable')\n", - "print('ack : ', ack)\n", - "print('data: ', data)\n", - "print()\n", + "# ack, data = ps.read_variable(0, timeout=100)\n", + "# print('cmd : ', 'read_variable')\n", + "# print('ack : ', ack)\n", + "# print('data: ', data)\n", + "# print()\n", "\n", "# ack, data = ps.read_group_of_variables(group_id=0, timeout=100)\n", "# print('cmd : ', 'read_group_of_variables')\n", @@ -103,7 +106,7 @@ "# psnames = ps.parameter_read(eid=0)\n", "# print('cmd : ', 'parameter_read(eid=0)')\n", "# print('data: ', psnames)\n", - "# print()\n" + "# print()" ] }, { @@ -130,7 +133,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.8" + "version": "3.9.2" } }, "nbformat": 4,