k8ik-stm/Control/STM_Control.ipynb

208 lines
25 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 3,
"id": "cab82157-e90d-4e54-947b-ed18d660e771",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Check FPGA [OK].\n",
"Red Pitaya initialized.\n"
]
}
],
"source": [
"import time\n",
"import numpy as np\n",
"from matplotlib import pyplot as plt\n",
"from rp_overlay import overlay\n",
"import rp\n",
"\n",
"fpga = overlay()\n",
"rp.rp_Init()\n",
"print(\"Red Pitaya initialized.\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "51db24f0-c3ae-4ff5-b6b3-993882e0d0e5",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Reset generator and acquisition.\n"
]
}
],
"source": [
"rp.rp_GenReset()\n",
"rp.rp_AcqReset()\n",
"print(\"Reset generator and acquisition.\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "5924a7c6-2f34-48d6-92ce-29ec6db30abd",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Gen_start\n",
"Generator started.\n"
]
}
],
"source": [
"# Generator parameters\n",
"channel = rp.RP_CH_1\n",
"channel2 = rp.RP_CH_2\n",
"waveform = rp.RP_WAVEFORM_SINE\n",
"freq = 1\n",
"ampl = 1.0\n",
"\n",
"print(\"Gen_start\")\n",
"rp.rp_GenWaveform(channel, waveform)\n",
"rp.rp_GenFreqDirect(channel, freq)\n",
"rp.rp_GenAmp(channel, ampl)\n",
"\n",
"rp.rp_GenWaveform(channel2, waveform)\n",
"rp.rp_GenFreqDirect(channel2, freq)\n",
"rp.rp_GenAmp(channel2, ampl)\n",
"\n",
"rp.rp_GenTriggerSource(channel, rp.RP_GEN_TRIG_SRC_INTERNAL)\n",
"\n",
"rp.rp_GenOutEnableSync(True)\n",
"rp.rp_GenSynchronise()\n",
"print(\"Started generator.\")"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "13eaa97b-127e-435c-81ff-216004f617aa",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"GainVoltage [0, 20.0]\n",
"Acq_start\n"
]
},
{
"data": {
"image/png": "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cePGqby83GP5vXv3avz48Ro1apTKysr04IMPatasWVq9erWrzKZNmzRp0iRt3LhRpaWlyszMVEFBgQ4dOuQq89vf/lZLly7Vs88+q927d2vBggV68skn9cwzz/jRbAAAYJrOvs7w1FNP6e6779a0adMkSYsWLdLatWv13HPPqaioqEX5pUuXKjMzU4sWLZIkDR48WNu3b9fChQt1yy23SJJeffVVt3mWLVumP/3pT9qwYYN+9rOfSZJKS0t14403asKECZKk/v37a+XKldq+fbuvTUCI2DPHO0NHBnbD+pwaD9PsOUj9jVD0l12unemISL5QONjbiLeu5Tom3/k0UlNfX68dO3aooKDAbXpBQYG2bt3qcZ7S0tIW5ceOHavt27eroaHB4zynT59WQ0ODkpOTXdOuvPJKbdiwQf/4xz8kSe+//77efvttjR8/3mt96+rqVFtb6/YXKu3d/004TNjtWOfLHSWtHaht1qwO6ehdNk7/QHN49R2H7rYnT8eBQL9X4X7vfRqpqa6u1tmzZ5WSkuI2PSUlRZWVlR7nqays9Fi+sbFR1dXVSktLazHPAw88oL59+2rMmDGuaffff79qamo0aNAgRUdH6+zZs3rsscc0adIkr/UtKirSb37zG1+aCCDAONf0zkkn4owawAn8ulD4wrM2y7JaP+P1UN7TdElasGCBVq5cqTVr1ig+Pt41fdWqVXrllVf0+9//Xjt37tRLL72khQsX6qWXXvK63rlz56qmpsb1d+DAgXa1DwAAOI9PIzW9e/dWdHR0i1GZqqqqFqMxzVJTUz2W79y5s3r16uU2feHChXr88ce1fv16DR061O21++67Tw888IBuv/12SdKQIUO0f/9+FRUVacqUKR7XHRcXp7i4OF+aiDBy6olgW2ewnOHC7ky45geQfBypiY2NVW5urkpKStyml5SUaOTIkR7nyc/Pb1F+3bp1ysvLU0xMjGvak08+qUcffVRvvfWW8vLyWizn9OnT6tTJvbrR0dHc0g1cwG7Xj9isOrZit/eqNU6/rsre6NtA8fnup8LCQk2ePFl5eXnKz8/X888/r/Lycs2YMUPSua98Dh06pBUrVkiSZsyYoWeffVaFhYWaPn26SktLtXz5cq1cudK1zAULFuihhx7S73//e/Xv3981stO9e3d1795dknTDDTfoscceU2Zmpi677DKV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Sf0hSf3792/RJ1FRUfr5z38uKTK2kb/97W+64YYblJ6erqioKL3++utur4dyuygvL9cNN9ygbt26qXfv3po1a5bq6+uD0exWtdYnDQ0Nuv/++zVkyBB169ZN6enp+tnPfqbDhw+7LePqq69use3cfvvtbmWc0idtbSOh3E/s0B9BZaFD/vCHP1gxMTHWsmXLrE8++cS69957rW7duln79+8Pd9U6ZOzYsdYLL7xgffTRR9auXbusCRMmWJmZmdbJkyddZaZMmWL98Ic/tCoqKlx/R48edVvOjBkzrL59+1olJSXWzp07rWuuuca6/PLLrcbGRleZH/7wh1ZOTo61detWa+vWrVZOTo51/fXXh6yt7TV//nzrsssuc2tvVVWV6/UnnnjCSkhIsFavXm19+OGH1sSJE620tDSrtrbWVcak/rAsy6qqqnLrj5KSEkuStXHjRsuyImMbKS4utubNm2etXr3akmS99tprbq+HartobGy0cnJyrGuuucbauXOnVVJSYqWnp1v33HNP0PvgQq31yfHjx60xY8ZYq1atsj799FOrtLTUGjFihJWbm+u2jNGjR1vTp09323aOHz/uVsYpfdLWNhKq/cQu/RFMhJoOuuKKK6wZM2a4TRs0aJD1wAMPhKlGwVFVVWVJsjZv3uyaNmXKFOvGG2/0Os/x48etmJgY6w9/+INr2qFDh6xOnTpZb731lmVZlvXJJ59Ykqx33nnHVaa0tNSSZH366aeBb0gHzJ8/37r88ss9vtbU1GSlpqZaTzzxhGvamTNnrMTERGvp0qWWZZnXH57ce++91sCBA62mpibLsiJvG7nwAyuU20VxcbHVqVMn69ChQ64yK1eutOLi4qyampqgtLc9PH2IX2jbtm2WJLeTwdGjR1v33nuv13mc2ifeQk0o9hM79keg8fVTB9TX12vHjh0qKChwm15QUKCtW7eGqVbBUVNTI0lKTk52m75p0yb16dNHl1xyiaZPn66qqirXazt27FBDQ4Nb/6SnpysnJ8fVP6WlpUpMTNSIESNcZb73ve8pMTHRln24Z88epaenKzs7W7fffru++OILSdLevXtVWVnp1ta4uDiNHj3a1Q4T++N89fX1euWVVzR16lS3H4yNtG3kfKHcLkpLS5WTk6P09HRXmbFjx6qurk47duwIajs7qqamRlFRUerZs6fb9FdffVW9e/fWZZddpl/96lc6ceKE6zXT+iQU+4mT+sNfEfWDloFWXV2ts2fPKiUlxW16SkqKKisrw1SrwLMsS4WFhbryyiuVk5Pjmj5u3Dj95Cc/UVZWlvbu3auHHnpIP/jBD7Rjxw7FxcWpsrJSsbGxSkpKclve+f1TWVmpPn36tFhnnz59bNeHI0aM0IoVK3TJJZfoyJEj+s///E+NHDlSH3/8sauunraF/fv3S5Jx/XGh119/XcePH9edd97pmhZp28iFQrldVFZWtlhPUlKSYmNjbd1PZ86c0QMPPKCf/vSnbj/OeMcddyg7O1upqan66KOPNHfuXL3//vsqKSmRZFafhGo/cUp/dAShJgDOPyuVzoWAC6c52T333KMPPvhAb7/9ttv0iRMnuv6dk5OjvLw8ZWVl6c0339TNN9/sdXkX9o+nvrJjH44bN8717yFDhig/P18DBw7USy+95Lqoz59twan9caHly5dr3LhxbmeBkbaNeBOq7cJp/dTQ0KDbb79dTU1NWrJkidtr06dPd/07JydH3/rWt5SXl6edO3dq+PDhkszpk1DuJ07oj47g66cO6N27t6Kjo1sk3KqqqhZp2Kl+8Ytf6I033tDGjRvVr1+/VsumpaUpKytLe/bskSSlpqaqvr5ex44dcyt3fv+kpqbqyJEjLZb15Zdf2r4Pu3XrpiFDhmjPnj2uu6Ba2xZM7o/9+/dr/fr1mjZtWqvlIm0bCeV2kZqa2mI9x44dU0NDgy37qaGhQbfddpv27t2rkpISt1EaT4YPH66YmBi3bce0PmkWrP3Eqf3hC0JNB8TGxio3N9c1HNqspKREI0eODFOtAsOyLN1zzz1as2aN/vrXvyo7O7vNeY4ePaoDBw4oLS1NkpSbm6uYmBi3/qmoqNBHH33k6p/8/HzV1NRo27ZtrjLvvvuuampqbN+HdXV12r17t9LS0lzD5Oe3tb6+Xps3b3a1w+T+eOGFF9SnTx9NmDCh1XKRto2EcrvIz8/XRx99pIqKCleZdevWKS4uTrm5uUFtp6+aA82ePXu0fv169erVq815Pv74YzU0NLi2HdP65HzB2k+c2h8+CfGFycZpvqV7+fLl1ieffGLNnj3b6tatm7Vv375wV61D/v3f/91KTEy0Nm3a5Hab4enTpy3LsqwTJ05Yv/zlL62tW7dae/futTZu3Gjl5+dbffv2bXGrar9+/az169dbO3futH7wgx94vA1x6NChVmlpqVVaWmoNGTLENrfrnu+Xv/yltWnTJuuLL76w3nnnHev666+3EhISXO/1E088YSUmJlpr1qyxPvzwQ2vSpEkeb901pT+anT171srMzLTuv/9+t+mRso2cOHHCKisrs8rKyixJ1lNPPWWVlZW57uQJ1XbRfLvutddea+3cudNav3691a9fv7DcrttanzQ0NFg/+tGPrH79+lm7du1yO77U1dVZlmVZn3/+ufWb3/zGeu+996y9e/dab775pjVo0CDrO9/5jiP7pLX+COV+Ypf+CCZCTQAsXrzYysrKsmJjY63hw4e73fbsVJI8/r3wwguWZVnW6dOnrYKCAuuiiy6yYmJirMzMTGvKlClWeXm523K+/vpr65577rGSk5OtLl26WNdff32LMkePHrXuuOMOKyEhwUpISLDuuOMO69ixYyFqafs1P18kJibGSk9Pt26++Wbr448/dr3e1NRkzZ8/30pNTbXi4uKsq666yvrwww/dlmFSfzRbu3atJcn67LPP3KZHyjayceNGj/vKlClTLMsK7Xaxf/9+a8KECVaXLl2s5ORk65577rHOnDkTzOZ71Fqf7N271+vxpfn5RuXl5dZVV11lJScnW7GxsdbAgQOtWbNmtXh2i1P6pLX+CPV+Yof+CKYoy7KsEAwIAQAABBXX1AAAACMQagAAgBEINQAAwAiEGgAAYARCDQAAMAKhBgAAGIFQAwAAjECoAQAARiDUAAAAIxBqAACAEQg1AADACIQaAABghP8P2zUuuIwMZjIAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Set Decimation\n",
"rp.rp_AcqSetDecimationFactor(16384)\n",
"rp.rp_AcqSetAveraging(True)\n",
"rp.rp_AcqSetGain(rp.RP_CH_1, rp.RP_HIGH)\n",
"\n",
"V=rp.rp_AcqGetGainV(rp.RP_CH_1)\n",
"print(\"GainVoltage\", V)\n",
"\n",
"# Set trigger level and delay\n",
"rp.rp_AcqSetTriggerLevel(rp.RP_T_CH_1, 0.5)\n",
"rp.rp_AcqSetTriggerDelay(0)\n",
"\n",
"# Start Acquisition\n",
"print(\"Acq_start\")\n",
"rp.rp_AcqStart()\n",
"\n",
"time.sleep(3)\n",
"\n",
"# Specify trigger - immediately\n",
"rp.rp_AcqSetTriggerSrc(rp.RP_TRIG_SRC_NOW)\n",
"\n",
"# Trigger state\n",
"while 1:\n",
" trig_state = rp.rp_AcqGetTriggerState()[1]\n",
" if trig_state == rp.RP_TRIG_STATE_TRIGGERED:\n",
" break\n",
"\n",
"# Fill state\n",
"while 1:\n",
" if rp.rp_AcqGetBufferFillState()[1]:\n",
" break\n",
"\n",
"\n",
"### Get data ###\n",
"\n",
"# Volts\n",
"N = 16384\n",
"fbuff = rp.fBuffer(N)\n",
"res = rp.rp_AcqGetOldestDataV(rp.RP_CH_1, N, fbuff)[1]\n",
"\n",
"data_V = np.zeros(N, dtype = float)\n",
"X = np.arange(0, N, 1)\n",
"\n",
"for i in range(0, N, 1):\n",
" data_V[i] = fbuff[i]\n",
"\n",
"plt.plot(X, data_V) \n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "489a59ca-59e6-4f96-9728-3d8ee20b5df4",
"metadata": {},
"source": [
"Only run the `rp_Release()` below when you do not want to further acquire data."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6b3f32b3-4a7c-4ba5-a675-d592550deed8",
"metadata": {},
"outputs": [],
"source": [
"# Release resources\n",
"rp.rp_Release()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (RP api)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}