It looks like your FPGA image does not play nice with the existing application.
From what I can see, you are missing the XADC module that the app expects to have.
Web application with own FPGA funcionalities
-
- Posts: 126
- Joined: Tue Nov 16, 2021 11:38 am
-
- Posts: 33
- Joined: Wed Sep 13, 2023 12:46 pm
Re: Web application with own FPGA funcionalities
Good morning juretrn and thanks for your answer,
For the FPGA image I follow the steps here:
https://redpitaya-knowledge-base.readth ... ga-project
And run the following commands:
I am working with Vivado 2023.2 but the bitstream could be compiled without problems. (I don't have much experience with FPGAS design, only with the examples you have, so maybe I'm missing something).
For the FPGA image I follow the steps here:
https://redpitaya-knowledge-base.readth ... ga-project
And run the following commands:
Code: Select all
. /opt/Xilinx/Vivado/2020.1/settings64.sh
cd Downloads/
cd RedPitaya-FPGA/
make project PRJ=v0.94 MODEL=Z10
-
- Posts: 33
- Joined: Wed Sep 13, 2023 12:46 pm
Re: Web application with own FPGA funcionalities
Good morning,
Problem solved. I had to copy the new FPGA image into the v0.94 folder in the “/opt/redpitaya/fpga/z10_125” and change the “fpga.bit.bin” file with mine.
Now when running the overlay command of v0.94 from the scopegenpro fpga.sh it does not give any problems.
Kind regards,
Problem solved. I had to copy the new FPGA image into the v0.94 folder in the “/opt/redpitaya/fpga/z10_125” and change the “fpga.bit.bin” file with mine.
Now when running the overlay command of v0.94 from the scopegenpro fpga.sh it does not give any problems.
Kind regards,
- redpitaya
- Site Admin
- Posts: 967
- Joined: Wed Mar 26, 2014 7:04 pm
Re: Web application with own FPGA funcionalities
Hello TheGeri,
I am glad that the custom api is working now. I will also post this here for other users who may be reading this later on:
For the 2.00 OS, the easiest way to change the FPGA image is to rename the custom fpga to fpga.bit.bin (after following the instructions to create the .bit.bin image here: https://redpitaya-knowledge-base.readth ... g-the-fpga). Then establish SSH connection with your Red Pitaya and backup the "fpga.bit.bin" file found under "/opt/redpitaya/fpga/$MODEL/$PROJ/". Backing up the "fpga.bit.bin" (which includes the original fpga image) is crucial, so that you are able to revert back to the original image if necessary (without reflashing the whole OS).
The $MODEL can be acquired via command. While the $PROJ is the name of the fpga project you wish to replace (in most cases "v0.94").
The custom FPGA image should replace the original fpga.bit.bin. Please note that this replaces the v0.94 image on the board with the custom FPGA image, so all applications relying on the v0.94 image may or may not cease to work depending on how the custom FPGA changes the functionality of the board.
To restore the original functionality, replace the custom "fpga.bit.bin" with the original one. The name must be "fpga.bit.bin" otherwise this will not work.
Using a differently named .bit.bin file requires changes in the ecosystem, which require rebuilding of the ecosystem.
I am glad that the custom api is working now. I will also post this here for other users who may be reading this later on:
For the 2.00 OS, the easiest way to change the FPGA image is to rename the custom fpga to fpga.bit.bin (after following the instructions to create the .bit.bin image here: https://redpitaya-knowledge-base.readth ... g-the-fpga). Then establish SSH connection with your Red Pitaya and backup the "fpga.bit.bin" file found under "/opt/redpitaya/fpga/$MODEL/$PROJ/". Backing up the "fpga.bit.bin" (which includes the original fpga image) is crucial, so that you are able to revert back to the original image if necessary (without reflashing the whole OS).
The $MODEL can be acquired via
Code: Select all
$(/opt/redpitaya/bin/monitor -f)
The custom FPGA image should replace the original fpga.bit.bin. Please note that this replaces the v0.94 image on the board with the custom FPGA image, so all applications relying on the v0.94 image may or may not cease to work depending on how the custom FPGA changes the functionality of the board.
To restore the original functionality, replace the custom "fpga.bit.bin" with the original one. The name must be "fpga.bit.bin" otherwise this will not work.
Using a differently named .bit.bin file requires changes in the ecosystem, which require rebuilding of the ecosystem.
-
- Posts: 33
- Joined: Wed Sep 13, 2023 12:46 pm
Re: Web application with own FPGA funcionalities
Good afternoon,
Thank you very much for your answer, now everything is much clearer. Now I have another question ( ). I would like to modify the C code of the scopegenpro application but if I open from the Red Pitaya network linux I don't see the src folder there.
So, I have copied the scopegenpro folder from the Github and put it in the red pitaya network in the apps folder. I renamed the folder and gave it another name.
Inside the CMakeLists.txt I changed to --> set(APP myApplication). In the scope file code in the JS folder I put OSC.config.app_id = 'myApplication'. Then, when I run the cmake cmakelists.txt:
The b.sh file is also changed to
But when I run the source b.sh I get the following:
If I put the folder instead of my own name as “scopegenpro” I still get the same errors. I think I am doing something wrong in the compilation and I don't know where. I would be very grateful if you can help me (again) with this.
Kind regards,
Thank you very much for your answer, now everything is much clearer. Now I have another question ( ). I would like to modify the C code of the scopegenpro application but if I open from the Red Pitaya network linux I don't see the src folder there.
So, I have copied the scopegenpro folder from the Github and put it in the red pitaya network in the apps folder. I renamed the folder and gave it another name.
Inside the CMakeLists.txt I changed to --> set(APP myApplication). In the scope file code in the JS folder I put OSC.config.app_id = 'myApplication'. Then, when I run the cmake cmakelists.txt:
Code: Select all
FATAL_ERROR,"Installation path not set."
-- Install path
-- VERSION=0
-- REVISION=devbuild
-- Compiler C path: /usr/bin/gcc
-- Compiler C ID: GNU
-- Compiler C version: 11.4.0
-- Compiler C is part:
-- Compiler C++ path: /usr/bin/g++
-- Compiler C++ ID: GNU
-- Compiler C++version: 11.4.0
-- Compiler C++ is part: 1
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/redpitaya/www/apps/myApplication
Code: Select all
rw
cmake -B./build -DINSTALL_DIR=/opt/redpitaya -DCMAKE_BUILD_TYPE=Debug
make -C build install -j2
cp -rf ./build/myApplication/* /opt/redpitaya/www/apps/myApplication/
Code: Select all
- Install path /opt/redpitaya
-- VERSION=0
-- REVISION=devbuild
-- Compiler C path: /usr/bin/gcc
-- Compiler C ID: GNU
-- Compiler C version: 11.4.0
-- Compiler C is part:
-- Compiler C++ path: /usr/bin/g++
-- Compiler C++ ID: GNU
-- Compiler C++version: 11.4.0
-- Compiler C++ is part: 1
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/redpitaya/www/apps/myApplication/build
make: Entering directory '/opt/redpitaya/www/apps/myApplication/build'
make[1]: Entering directory '/opt/redpitaya/www/apps/myApplication/build'
make[2]: Entering directory '/opt/redpitaya/www/apps/myApplication/build'
Consolidate compiler generated dependencies of target controllerhf
make[2]: Leaving directory '/opt/redpitaya/www/apps/myApplication/build'
make[2]: Entering directory '/opt/redpitaya/www/apps/myApplication/build'
make[2]: Warning: File '/opt/redpitaya/include/rp.h' has modification time 694049 s in the future
[ 22%] Building CXX object CMakeFiles/controllerhf.dir/src/main.cpp.o
[ 22%] Building CXX object CMakeFiles/controllerhf.dir/src/common.cpp.o
/opt/redpitaya/www/apps/myApplication/src/main.cpp:25:10: fatal error: web/rp_client.h: No such file or directory
25 | #include "web/rp_client.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/controllerhf.dir/build.make:90: CMakeFiles/controllerhf.dir/src/main.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/opt/redpitaya/www/apps/myApplication/src/common.cpp: In function ‘float getMaxFreqRate()’:
/opt/redpitaya/www/apps/myApplication/src/common.cpp:66:14: error: ‘STEM_125_14_LN_BO_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
66 | case STEM_125_14_LN_BO_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp:67:14: error: ‘STEM_125_14_LN_CE1_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
67 | case STEM_125_14_LN_CE1_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp:68:14: error: ‘STEM_125_14_LN_CE2_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
68 | case STEM_125_14_LN_CE2_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp: In function ‘float getMaxTriggerLevel()’:
/opt/redpitaya/www/apps/myApplication/src/common.cpp:100:14: error: ‘STEM_125_14_LN_BO_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
100 | case STEM_125_14_LN_BO_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp:101:14: error: ‘STEM_125_14_LN_CE1_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
101 | case STEM_125_14_LN_CE1_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp:102:14: error: ‘STEM_125_14_LN_CE2_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
102 | case STEM_125_14_LN_CE2_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp: In function ‘bool isZModePresent()’:
/opt/redpitaya/www/apps/myApplication/src/common.cpp:134:14: error: ‘STEM_125_14_LN_BO_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
134 | case STEM_125_14_LN_BO_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp:135:14: error: ‘STEM_125_14_LN_CE1_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
135 | case STEM_125_14_LN_CE1_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp:136:14: error: ‘STEM_125_14_LN_CE2_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
136 | case STEM_125_14_LN_CE2_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp: In function ‘float outAmpDef()’:
/opt/redpitaya/www/apps/myApplication/src/common.cpp:167:14: error: ‘STEM_125_14_LN_BO_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
167 | case STEM_125_14_LN_BO_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp:168:14: error: ‘STEM_125_14_LN_CE1_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
168 | case STEM_125_14_LN_CE1_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp:169:14: error: ‘STEM_125_14_LN_CE2_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
169 | case STEM_125_14_LN_CE2_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp: In function ‘float outAmpMax()’:
/opt/redpitaya/www/apps/myApplication/src/common.cpp:202:14: error: ‘STEM_125_14_LN_BO_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
202 | case STEM_125_14_LN_BO_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp:203:14: error: ‘STEM_125_14_LN_CE1_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
203 | case STEM_125_14_LN_CE1_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp:204:14: error: ‘STEM_125_14_LN_CE2_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
204 | case STEM_125_14_LN_CE2_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp: In function ‘std::string getModelName()’:
/opt/redpitaya/www/apps/myApplication/src/common.cpp:239:14: error: ‘STEM_125_14_LN_BO_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
239 | case STEM_125_14_LN_BO_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp:240:14: error: ‘STEM_125_14_LN_CE1_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
240 | case STEM_125_14_LN_CE1_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
/opt/redpitaya/www/apps/myApplication/src/common.cpp:241:14: error: ‘STEM_125_14_LN_CE2_v1_1’ was not declared in this scope; did you mean ‘STEM_125_14_LN_v1_1’?
241 | case STEM_125_14_LN_CE2_v1_1:
| ^~~~~~~~~~~~~~~~~~~~~~~
| STEM_125_14_LN_v1_1
make[2]: *** [CMakeFiles/controllerhf.dir/build.make:76: CMakeFiles/controllerhf.dir/src/common.cpp.o] Error 1
make[2]: Leaving directory '/opt/redpitaya/www/apps/myApplication/build'
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/controllerhf.dir/all] Error 2
make[1]: Leaving directory '/opt/redpitaya/www/apps/myApplication/build'
make: *** [Makefile:136: all] Error 2
make: Leaving directory '/opt/redpitaya/www/apps/myApplication/build'
cp: cannot stat './build/myApplication/*': No such file or directory
Kind regards,
- redpitaya
- Site Admin
- Posts: 967
- Joined: Wed Mar 26, 2014 7:04 pm
Re: Web application with own FPGA funcionalities
After modifying the oscilloscope code, a rebuild of the ecosystem may be necessary:
https://redpitaya.readthedocs.io/en/lat ... ystem.html
33dnp should be able to give you a concrete answer.
https://redpitaya.readthedocs.io/en/lat ... ystem.html
33dnp should be able to give you a concrete answer.
-
- Posts: 33
- Joined: Wed Sep 13, 2023 12:46 pm
Re: Web application with own FPGA funcionalities
Good morning,
Thanks for the reply, I will look into it. I am also then waiting to see if 33dnp can provide to me specific information for this case.
Kind regards and thanks again,
Thanks for the reply, I will look into it. I am also then waiting to see if 33dnp can provide to me specific information for this case.
Kind regards and thanks again,
jadalnie klasyczne ekskluzywne meble wypoczynkowe do salonu ekskluzywne meble tapicerowane ekskluzywne meble do sypialni ekskluzywne meble włoskie
Who is online
Users browsing this forum: No registered users and 1 guest