diff --git a/filters.lua b/filters.lua index 85c9644fa..8174a8a52 100644 --- a/filters.lua +++ b/filters.lua @@ -20,10 +20,16 @@ function change_meta(m) return m end +function expand(s) + v = meta[s:sub(2, -2)] + if v then + return stringify(v) + end +end + function change_link_target(l) - if meta[l.target] then - l.target = stringify(meta[l.target]) - elseif l.target:sub(1, 1) == "/" then + l.target = l.target:gsub("(%b$$)", expand) + if l.target:sub(1, 1) == "/" then l.target = meta.base_path .. l.target end return l diff --git a/md/alpine.md b/md/alpine.md index e3c026997..c067e9e3c 100644 --- a/md/alpine.md +++ b/md/alpine.md @@ -6,7 +6,7 @@ To simplify maintenance and distribution of the pre-built applications described ## Getting started -- Download [SD card image zip file](release_image). +- Download [SD card image zip file]($release_image$). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start one of the applications automatically at boot time, copy its `start.sh` file from `apps/` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. @@ -20,7 +20,7 @@ Wi-Fi is by default configured in hotspot mode with the network name (SSID) and The wired interface is by default configured to request an IP address via DHCP. If no IP address is provided by a DHCP server, then the wired interface falls back to a static IP address [192.168.1.100](http://192.168.1.100). -The configuration of the IP addresses is in [/etc/dhcpcd.conf](https://github.com/pavel-demin/red-pitaya-notes/blob/master/alpine/etc/dhcpcd.conf). More information about [/etc/dhcpcd.conf](https://github.com/pavel-demin/red-pitaya-notes/blob/master/alpine/etc/dhcpcd.conf) can be found at [this link](https://www.mankier.com/5/dhcpcd.conf). +The configuration of the IP addresses is in [/etc/dhcpcd.conf]($source$/alpine/etc/dhcpcd.conf). More information about [/etc/dhcpcd.conf]($source$/alpine/etc/dhcpcd.conf) can be found at [this link](https://www.mankier.com/5/dhcpcd.conf). From systems with enabled DNS Service Discovery (DNS-SD), Red Pitaya can be accessed as `rp-f0xxxx.local`, where `f0xxxx` are the last 6 characters from the MAC address written on the Ethernet connector. diff --git a/md/axi-hub.md b/md/axi-hub.md index c60ee5ad7..0b9191e75 100644 --- a/md/axi-hub.md +++ b/md/axi-hub.md @@ -17,7 +17,7 @@ To control, monitor and communicate with all parts of the applications, the foll The hub interface consists of all required registers and interfaces connected to the different parts of the applications and an AXI4 slave interface used to communicate with the CPU. -The corresponding Verilog code can be found in [cores/axi_hub.v](https://github.com/pavel-demin/red-pitaya-notes/blob/master/cores/axi_hub.v). +The corresponding Verilog code can be found in [cores/axi_hub.v]($source$/cores/axi_hub.v). ## Addresses @@ -40,4 +40,4 @@ A basic project with the hub interface, ADC interface, and DAC interface is show ![Template project](/img/template-project.png) -This template project can be used as a starting point for projects requiring ADC, DAC and hub interface. The Tcl code of this project can be found in [projects/template](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/template). +This template project can be used as a starting point for projects requiring ADC, DAC and hub interface. The Tcl code of this project can be found in [projects/template]($source$/projects/template). diff --git a/md/axi-interface-buffers.md b/md/axi-interface-buffers.md index 123c09dc8..fce2b4a2f 100644 --- a/md/axi-interface-buffers.md +++ b/md/axi-interface-buffers.md @@ -46,7 +46,7 @@ A circuit implementing this behavior is shown in the following diagram: ![Input buffer](/img/input-buffer.png) -The corresponding Verilog code can be found in [modules/input_buffer.v](https://github.com/pavel-demin/red-pitaya-notes/tree/master/modules/input_buffer.v). +The corresponding Verilog code can be found in [modules/input_buffer.v]($source$/modules/input_buffer.v). ## Output buffer @@ -56,7 +56,7 @@ A circuit implementing this behavior is shown in the following diagram: ![Output buffer](/img/output-buffer.png) -The corresponding Verilog code can be found in [modules/output_buffer.v](https://github.com/pavel-demin/red-pitaya-notes/tree/master/modules/output_buffer.v). +The corresponding Verilog code can be found in [modules/output_buffer.v]($source$/modules/output_buffer.v). Since the `in_ready` signal is used to enable the data register, it can also be used to enable data registers outside the output buffer module. This feature can be useful when controlling a pipeline that provides enable inputs for its internal registers, like for example the internal registers in [DSP48E1](https://docs.xilinx.com/v/u/en-US/ug479_7Series_DSP48E1) as shown in the diagram below: @@ -66,6 +66,6 @@ Since the `in_ready` signal is used to enable the data register, it can also be The Verilog code of the modules that use these input and output buffers can be found at the following links: -- [AXI4 Hub](https://github.com/pavel-demin/red-pitaya-notes/blob/master/cores/axi_hub.v) +- [AXI4 Hub]($source$/cores/axi_hub.v) -- [AXI4-Stream IIR Filter](https://github.com/pavel-demin/red-pitaya-notes/blob/master/cores/axis_iir_filter.v) +- [AXI4-Stream IIR Filter]($source$/cores/axis_iir_filter.v) diff --git a/md/dma.md b/md/dma.md index 2da8ce4e2..b721f1079 100644 --- a/md/dma.md +++ b/md/dma.md @@ -64,21 +64,21 @@ The modules have two input ports for dynamically configurable parameters: The `sts_data` port outputs the current value of the address counter. It can be used to check what memory addresses the modules have already accessed. -The Verilog code of these IP cores can be found in [cores/axis_ram_writer.v](https://github.com/pavel-demin/red-pitaya-notes/tree/master/cores/axis_ram_writer.v) and [cores/axis_ram_reader.v](https://github.com/pavel-demin/red-pitaya-notes/tree/master/cores/axis_ram_reader.v). +The Verilog code of these IP cores can be found in [cores/axis_ram_writer.v]($source$/cores/axis_ram_writer.v) and [cores/axis_ram_reader.v]($source$/cores/axis_ram_reader.v). ## Custom Linux driver The custom Linux driver is used to allocate a memory buffer using contiguous memory allocator (CMA). The `ioctl` function is used to allocate a memory buffer and obtain its physical address. The `mmap` function is used to obtain the virtual address of the memory buffer. -The source code of the custom Linux driver can be found in [patches/cma.c](https://github.com/pavel-demin/red-pitaya-notes/tree/master/patches/cma.c). +The source code of the custom Linux driver can be found in [patches/cma.c]($source$/patches/cma.c). ## Usage examples The source code of projects using direct memory access can be found at the following links: -- [projects/adc_recorder](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/adc_recorder) -- [projects/adc_recorder_trigger](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/adc_recorder_trigger) -- [projects/adc_test](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/adc_test) -- [projects/dac_player](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/dac_player) -- [projects/sdr_receiver_wide](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_receiver_wide) -- [projects/sdr_receiver_wide_122_88](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_receiver_wide_122_88) +- [projects/adc_recorder]($source$/projects/adc_recorder) +- [projects/adc_recorder_trigger]($source$/projects/adc_recorder_trigger) +- [projects/adc_test]($source$/projects/adc_test) +- [projects/dac_player]($source$/projects/dac_player) +- [projects/sdr_receiver_wide]($source$/projects/sdr_receiver_wide) +- [projects/sdr_receiver_wide_122_88]($source$/projects/sdr_receiver_wide_122_88) diff --git a/md/led-blinker.md b/md/led-blinker.md index 572f3340f..133a93427 100644 --- a/md/led-blinker.md +++ b/md/led-blinker.md @@ -42,11 +42,11 @@ The source code is available at This repository contains the following components: -- [Makefile](https://github.com/pavel-demin/red-pitaya-notes/blob/master/Makefile) that builds everything (almost) -- [cfg](https://github.com/pavel-demin/red-pitaya-notes/tree/master/cfg) directory with constraints and board definition files -- [cores](https://github.com/pavel-demin/red-pitaya-notes/tree/master/cores) directory with IP cores written in Verilog -- [projects](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects) directory with Vivado projects written in Tcl -- [scripts](https://github.com/pavel-demin/red-pitaya-notes/tree/master/scripts) directory with +- [Makefile]($source$/Makefile) that builds everything (almost) +- [cfg]($source$/cfg) directory with constraints and board definition files +- [cores]($source$/cores) directory with IP cores written in Verilog +- [projects]($source$/projects) directory with Vivado projects written in Tcl +- [scripts]($source$/scripts) directory with - Tcl scripts for Vivado and SDK - shell scripts that build a bootable SD card and SD card image @@ -56,7 +56,7 @@ All steps of the development chain and the corresponding scripts are shown in th ## Syntactic sugar for IP cores -The [projects/led_blinker](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/led_blinker) directory contains one Tcl file [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/led_blinker/block_design.tcl) that instantiates, configures and interconnects all the needed IP cores. +The [projects/led_blinker]($source$/projects/led_blinker) directory contains one Tcl file [block_design.tcl]($source$/projects/led_blinker/block_design.tcl) that instantiates, configures and interconnects all the needed IP cores. By default, the IP core instantiation and configuration commands are quite verbose: @@ -78,7 +78,7 @@ cell xilinx.com:ip:processing_system7:5.5 ps_0 { } ``` -The `cell` command and other helper commands are defined in the [scripts/project.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/scripts/project.tcl) script. +The `cell` command and other helper commands are defined in the [scripts/project.tcl]($source$/scripts/project.tcl) script. ## Getting started diff --git a/md/mcpha.md b/md/mcpha.md index 534bfc471..8d42d8792 100644 --- a/md/mcpha.md +++ b/md/mcpha.md @@ -37,26 +37,26 @@ The embedded oscilloscope can be used to check the shape of the pulse at the inp The exponential pulse generator can be used to generate signals with specified time and amplitude distributions. It consists of an impulse generator module and two IIR filters. The impulse generator module outputs a 8 ns (1 clock cycle at 125 MHz) impulse of a required amplitude and after a required time interval. The two IIR filters are used to emulate the exponentially rising and exponentially decaying edges of the generated pulses. -The [projects/mcpha](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/mcpha) directory contains five Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/mcpha/block_design.tcl), [pha.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/mcpha/pha.tcl), [hst.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/mcpha/hst.tcl), [osc.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/mcpha/osc.tcl), [gen.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/mcpha/gen.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/mcpha]($source$/projects/mcpha) directory contains five Tcl files: [block_design.tcl]($source$/projects/mcpha/block_design.tcl), [pha.tcl]($source$/projects/mcpha/pha.tcl), [hst.tcl]($source$/projects/mcpha/hst.tcl), [osc.tcl]($source$/projects/mcpha/osc.tcl), [gen.tcl]($source$/projects/mcpha/gen.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. -The source code of the [R](https://www.r-project.org) script used to calculate the coefficients of the FIR filter can be found in [projects/mcpha/filters/fir_0.r](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/mcpha/filters/fir_0.r). +The source code of the [R](https://www.r-project.org) script used to calculate the coefficients of the FIR filter can be found in [projects/mcpha/filters/fir_0.r]($source$/projects/mcpha/filters/fir_0.r). ## Software -The [projects/mcpha/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/mcpha/server) directory contains the source code of the TCP server ([mcpha-server.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/mcpha/server/mcpha-server.c)) that receives control commands and transmits the data to the control program running on a remote PC. +The [projects/mcpha/server]($source$/projects/mcpha/server) directory contains the source code of the TCP server ([mcpha-server.c]($source$/projects/mcpha/server/mcpha-server.c)) that receives control commands and transmits the data to the control program running on a remote PC. -The [projects/mcpha/client](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/mcpha/client) directory contains the source code of the control program ([mcpha.py](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/mcpha/client/mcpha.py)). +The [projects/mcpha/client]($source$/projects/mcpha/client) directory contains the source code of the control program ([mcpha.py]($source$/projects/mcpha/client/mcpha.py)). ![MCPHA client](/img/mcpha-client.png) ## Getting started with MS Windows - Connect a signal source to the IN1 or IN2 connector on the Red Pitaya board. -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/mcpha` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. -- Download and unpack the [release zip file](release_file). +- Download and unpack the [release zip file]($release_file$). - Run the `mcpha.exe` program in the `control` directory. - Type in the IP address of the Red Pitaya board and press Connect button. - Select Spectrum histogram 1 or Spectrum histogram 2 tab. @@ -66,7 +66,7 @@ The [projects/mcpha/client](https://github.com/pavel-demin/red-pitaya-notes/tree ## Getting started with GNU/Linux - Connect a signal source to the IN1 or IN2 connector on the Red Pitaya board. -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/mcpha` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. diff --git a/md/playground.md b/md/playground.md index c86c06f4e..871a84062 100644 --- a/md/playground.md +++ b/md/playground.md @@ -4,7 +4,7 @@ The combination of Jupyter notebooks, the [pyhubio](https://github.com/pavel-demin/pyhubio) library and the [AXI4 hub](/axi-hub/) allows interactive communication with all parts of the FPGA configuration and visualization of input and output data, making testing and prototyping more dynamic. -The [notebooks](https://github.com/pavel-demin/red-pitaya-notes/tree/master/notebooks) directory contains a few examples of Jupyter notebooks. +The [notebooks]($source$/notebooks) directory contains a few examples of Jupyter notebooks. ![Jupyter notebooks](/img/jupyter-notebooks.png) @@ -14,17 +14,17 @@ The basic blocks of the playground project are shown in the following diagram: ![Playground](/img/playground.png) -The [projects/playground](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/playground) directory contains one Tcl file [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/playground/block_design.tcl) that instantiates, configures and interconnects all the needed IP cores. +The [projects/playground]($source$/projects/playground) directory contains one Tcl file [block_design.tcl]($source$/projects/playground/block_design.tcl) that instantiates, configures and interconnects all the needed IP cores. -A pre-built Vivado project can be found in the `playground` directory in the [release zip file](release_file). +A pre-built Vivado project can be found in the `playground` directory in the [release zip file]($release_file$). ## Getting started -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)) +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)) - Copy the contents of the SD card image zip file to a micro SD card - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/playground` to the topmost directory on the SD card - Install the micro SD card in the Red Pitaya board and connect the power -- Download and unpack the [release zip file](release_file) +- Download and unpack the [release zip file]($release_file$) - Install Visual Studio Code following the platform-specific instructions below: @@ -38,10 +38,10 @@ A pre-built Vivado project can be found in the `playground` directory in the [re - [Jupyter](https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter) - [Micromamba](https://marketplace.visualstudio.com/items?itemName=corker.vscode-micromamba) -- Open [notebooks](https://github.com/pavel-demin/red-pitaya-notes/tree/master/notebooks) directory in Visual Studio Code: +- Open [notebooks]($source$/notebooks) directory in Visual Studio Code: - From the "File" menu select "Open Folder" - - In the "Open Folder" dialog find and select [notebooks](https://github.com/pavel-demin/red-pitaya-notes/tree/master/notebooks) directory and click "Open" + - In the "Open Folder" dialog find and select [notebooks]($source$/notebooks) directory and click "Open" - Create micromamba environment: - From the "View" menu select "Command Palette" diff --git a/md/pulsed-nmr-122-88.md b/md/pulsed-nmr-122-88.md index 96de4f68e..f970529fa 100644 --- a/md/pulsed-nmr-122-88.md +++ b/md/pulsed-nmr-122-88.md @@ -26,19 +26,19 @@ The basic blocks of the system are shown in the following diagram: ![Pulsed NMR](/img/pulsed-nmr-122-88.png) -The [projects/pulsed_nmr_122_88](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/pulsed_nmr_122_88) directory contains three Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/pulsed_nmr_122_88/block_design.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/pulsed_nmr_122_88/rx.tcl), [tx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/pulsed_nmr_122_88/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/pulsed_nmr_122_88]($source$/projects/pulsed_nmr_122_88) directory contains three Tcl files: [block_design.tcl]($source$/projects/pulsed_nmr_122_88/block_design.tcl), [rx.tcl]($source$/projects/pulsed_nmr_122_88/rx.tcl), [tx.tcl]($source$/projects/pulsed_nmr_122_88/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. ## Software -The [projects/pulsed_nmr_122_88/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/pulsed_nmr_122_88/server) directory contains the source code of the TCP server ([pulsed-nmr.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/pulsed_nmr_122_88/server/pulsed-nmr.c)) that receives control commands and transmits the I/Q data streams (up to 4 x 32 bit x 1280 kSPS = 156 Mbit/s) to the control program running on a remote PC. +The [projects/pulsed_nmr_122_88/server]($source$/projects/pulsed_nmr_122_88/server) directory contains the source code of the TCP server ([pulsed-nmr.c]($source$/projects/pulsed_nmr_122_88/server/pulsed-nmr.c)) that receives control commands and transmits the I/Q data streams (up to 4 x 32 bit x 1280 kSPS = 156 Mbit/s) to the control program running on a remote PC. -The [projects/pulsed_nmr_122_88/client](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/pulsed_nmr_122_88/client) directory contains the source code of the control program ([pulsed_nmr.py](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/pulsed_nmr_122_88/client/pulsed_nmr.py)). +The [projects/pulsed_nmr_122_88/client]($source$/projects/pulsed_nmr_122_88/client) directory contains the source code of the control program ([pulsed_nmr.py]($source$/projects/pulsed_nmr_122_88/client/pulsed_nmr.py)). ![Pulsed NMR client](/img/pulsed-nmr-client.png) ## Getting started with GNU/Linux -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/pulsed_nmr_122_88` to the topmost directory on the SD card. - Install required Python libraries: diff --git a/md/pulsed-nmr.md b/md/pulsed-nmr.md index 57ae460e1..7487b4f7a 100644 --- a/md/pulsed-nmr.md +++ b/md/pulsed-nmr.md @@ -26,19 +26,19 @@ The basic blocks of the system are shown in the following diagram: ![Pulsed NMR](/img/pulsed-nmr.png) -The [projects/pulsed_nmr](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/pulsed_nmr) directory contains three Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/pulsed_nmr/block_design.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/pulsed_nmr/rx.tcl), [tx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/pulsed_nmr/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/pulsed_nmr]($source$/projects/pulsed_nmr) directory contains three Tcl files: [block_design.tcl]($source$/projects/pulsed_nmr/block_design.tcl), [rx.tcl]($source$/projects/pulsed_nmr/rx.tcl), [tx.tcl]($source$/projects/pulsed_nmr/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. ## Software -The [projects/pulsed_nmr/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/pulsed_nmr/server) directory contains the source code of the TCP server ([pulsed-nmr.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/pulsed_nmr/server/pulsed-nmr.c)) that receives control commands and transmits the I/Q data streams (up to 4 x 32 bit x 1250 kSPS = 152 Mbit/s) to the control program running on a remote PC. +The [projects/pulsed_nmr/server]($source$/projects/pulsed_nmr/server) directory contains the source code of the TCP server ([pulsed-nmr.c]($source$/projects/pulsed_nmr/server/pulsed-nmr.c)) that receives control commands and transmits the I/Q data streams (up to 4 x 32 bit x 1250 kSPS = 152 Mbit/s) to the control program running on a remote PC. -The [projects/pulsed_nmr/client](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/pulsed_nmr/client) directory contains the source code of the control program ([pulsed_nmr.py](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/pulsed_nmr/client/pulsed_nmr.py)). +The [projects/pulsed_nmr/client]($source$/projects/pulsed_nmr/client) directory contains the source code of the control program ([pulsed_nmr.py]($source$/projects/pulsed_nmr/client/pulsed_nmr.py)). ![Pulsed NMR client](/img/pulsed-nmr-client.png) ## Getting started with GNU/Linux -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/pulsed_nmr` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. diff --git a/md/scanner.md b/md/scanner.md index e0cd308bf..cdb201ebc 100644 --- a/md/scanner.md +++ b/md/scanner.md @@ -20,19 +20,19 @@ The basic blocks of the system are shown in the following diagram: ![Scanner](/img/scanner.png) -The [projects/scanner](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/scanner) directory contains one Tcl file [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/scanner/block_design.tcl) that instantiates, configures and interconnects all the needed IP cores. +The [projects/scanner]($source$/projects/scanner) directory contains one Tcl file [block_design.tcl]($source$/projects/scanner/block_design.tcl) that instantiates, configures and interconnects all the needed IP cores. ## Software -The [projects/scanner/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/scanner/server) directory contains the source code of the TCP server ([scanner.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/scanner/server/scanner.c)) that receives control commands and transmits the data to the control program running on a remote PC. +The [projects/scanner/server]($source$/projects/scanner/server) directory contains the source code of the TCP server ([scanner.c]($source$/projects/scanner/server/scanner.c)) that receives control commands and transmits the data to the control program running on a remote PC. -The [projects/scanner/client](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/scanner/client) directory contains the source code of the control program ([scanner.py](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/scanner/client/scanner.py)). +The [projects/scanner/client]($source$/projects/scanner/client) directory contains the source code of the control program ([scanner.py]($source$/projects/scanner/client/scanner.py)). ![Scanner client](/img/scanner-client.png) ## Getting started with GNU/Linux -- Download customized [SD card image zip file](scanner_image). +- Download customized [SD card image zip file]($scanner_image$). - Copy the contents of the SD card image zip file to a micro SD card. - Install the micro SD card in the Red Pitaya board and connect the power. - Install required Python libraries: diff --git a/md/sdr-receiver-122-88.md b/md/sdr-receiver-122-88.md index 9fd5a4c3e..84cef206c 100644 --- a/md/sdr-receiver-122-88.md +++ b/md/sdr-receiver-122-88.md @@ -10,13 +10,13 @@ The I/Q data rate is configurable and four settings are available: 48, 96, 192, The tunable frequency range covers from 0 Hz to 490 MHz. -The [projects/sdr_receiver_122_88](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_receiver_122_88) directory contains two Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_receiver_122_88/block_design.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_receiver_122_88/rx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/sdr_receiver_122_88]($source$/projects/sdr_receiver_122_88) directory contains two Tcl files: [block_design.tcl]($source$/projects/sdr_receiver_122_88/block_design.tcl), [rx.tcl]($source$/projects/sdr_receiver_122_88/rx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. -The [projects/sdr_receiver_122_88/filters](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_receiver_122_88/filters) directory contains the source code of the [R](https://www.r-project.org) scripts used to calculate the coefficients of the FIR filters. +The [projects/sdr_receiver_122_88/filters]($source$/projects/sdr_receiver_122_88/filters) directory contains the source code of the [R](https://www.r-project.org) scripts used to calculate the coefficients of the FIR filters. ## Software -The [projects/sdr_receiver_122_88/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_receiver_122_88/server) directory contains the source code of the TCP server ([sdr-receiver.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_receiver_122_88/server/sdr-receiver.c)) that receives control commands and transmits the I/Q data streams to the SDR programs. +The [projects/sdr_receiver_122_88/server]($source$/projects/sdr_receiver_122_88/server) directory contains the source code of the TCP server ([sdr-receiver.c]($source$/projects/sdr_receiver_122_88/server/sdr-receiver.c)) that receives control commands and transmits the I/Q data streams to the SDR programs. The [SDR SMEM](https://github.com/pavel-demin/sdr-smem) repository contains the source code of the TCP client ([tcp_smem.lpr](https://github.com/pavel-demin/sdr-smem/blob/main/tcp_smem.lpr)), ExtIO plug-in ([extio_smem.lpr](https://github.com/pavel-demin/sdr-smem/blob/main/extio_smem.lpr)) and other programs and plug-ins. The following diagram shows an example of how these programs and plug-ins can be used: @@ -33,12 +33,12 @@ I use simple indoor antennas made from a single loop of non-coaxial wire. Their ## Getting started - Connect an antenna to the IN1 connector on the Red Pitaya board. -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_receiver_122_88` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. - Download and install [SDR#](https://www.dropbox.com/sh/5fy49wae6xwxa8a/AAAdAcU238cppWziK4xPRIADa/sdr/sdrsharp_v1.0.0.1361_with_plugins.zip?dl=1) or [HDSDR](https://www.hdsdr.de). -- Download and unpack the [SDR SMEM zip file](sdr_smem_file). +- Download and unpack the [SDR SMEM zip file]($sdr_smem_file$). - Copy `extio_smem.dll` into the SDR# or HDSDR installation directory. - Start SDR# or HDSDR. - Select SMEM from the Source list in SDR# or from the Options [F7] → Select Input menu in HDSDR. @@ -48,7 +48,7 @@ I use simple indoor antennas made from a single loop of non-coaxial wire. Their ## Running CW Skimmer Server and Reverse Beacon Network Aggregator - Install [CW Skimmer Server](https://dxatlas.com/skimserver). -- Download and unpack the [SDR SMEM zip file](sdr_smem_file). +- Download and unpack the [SDR SMEM zip file]($sdr_smem_file$). - Make a copy of the `tcp_smem.exe` program and rename the copy to `tcp_smem_1.exe`. - Start `tcp_smem.exe` and `tcp_smem_1.exe`, enter the IP addresses of the Red Pitaya board and press the Connect button. - Copy `intf_smem.dll` to the CW Skimmer Server program directory (`C:\Program Files (x86)\Afreet\SkimSrv`). diff --git a/md/sdr-receiver-hpsdr-122-88.md b/md/sdr-receiver-hpsdr-122-88.md index 860f0a4d5..c95fa182c 100644 --- a/md/sdr-receiver-hpsdr-122-88.md +++ b/md/sdr-receiver-hpsdr-122-88.md @@ -20,11 +20,11 @@ The I/Q data rate is configurable and four settings are available: 48, 96, 192, The tunable frequency range covers from 0 Hz to 61.44 MHz. -The [projects/sdr_receiver_hpsdr_122_88](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_receiver_hpsdr_122_88) directory contains two Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_receiver_hpsdr_122_88/block_design.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_receiver_hpsdr_122_88/rx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/sdr_receiver_hpsdr_122_88]($source$/projects/sdr_receiver_hpsdr_122_88) directory contains two Tcl files: [block_design.tcl]($source$/projects/sdr_receiver_hpsdr_122_88/block_design.tcl), [rx.tcl]($source$/projects/sdr_receiver_hpsdr_122_88/rx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. -The [projects/sdr_receiver_hpsdr_122_88/filters](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_receiver_hpsdr_122_88/filters) directory contains the source code of the [R](https://www.r-project.org) scripts used to calculate the coefficients of the FIR filters. +The [projects/sdr_receiver_hpsdr_122_88/filters]($source$/projects/sdr_receiver_hpsdr_122_88/filters) directory contains the source code of the [R](https://www.r-project.org) scripts used to calculate the coefficients of the FIR filters. -The [projects/sdr_receiver_hpsdr_122_88/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_receiver_hpsdr_122_88/server) directory contains the source code of the UDP server ([sdr-receiver-hpsdr.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_receiver_hpsdr_122_88/server/sdr-receiver-hpsdr.c)) that receives control commands and transmits the I/Q data streams to the SDR programs. +The [projects/sdr_receiver_hpsdr_122_88/server]($source$/projects/sdr_receiver_hpsdr_122_88/server) directory contains the source code of the UDP server ([sdr-receiver-hpsdr.c]($source$/projects/sdr_receiver_hpsdr_122_88/server/sdr-receiver-hpsdr.c)) that receives control commands and transmits the I/Q data streams to the SDR programs. ## Software @@ -44,7 +44,7 @@ This SDR receiver should work with most of the programs that support the HPSDR/M ## Getting started -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_receiver_hpsdr_122_88` to the topmost directory on the SD card. - Install the micro SD card in the STEMlab SDR board and connect the power. diff --git a/md/sdr-receiver-hpsdr.md b/md/sdr-receiver-hpsdr.md index 362c7abf2..bc9c3739e 100644 --- a/md/sdr-receiver-hpsdr.md +++ b/md/sdr-receiver-hpsdr.md @@ -24,11 +24,11 @@ The resulting I/Q data rate is configurable and three settings are available: 48 The tunable frequency range covers from 0 Hz to 61.44 MHz. -The [projects/sdr_receiver_hpsdr](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_receiver_hpsdr) directory contains two Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_receiver_hpsdr/block_design.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_receiver_hpsdr/rx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/sdr_receiver_hpsdr]($source$/projects/sdr_receiver_hpsdr) directory contains two Tcl files: [block_design.tcl]($source$/projects/sdr_receiver_hpsdr/block_design.tcl), [rx.tcl]($source$/projects/sdr_receiver_hpsdr/rx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. -The [projects/sdr_receiver_hpsdr/filters](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_receiver_hpsdr/filters) directory contains the source code of the [R](https://www.r-project.org) scripts used to calculate the coefficients of the FIR filters. +The [projects/sdr_receiver_hpsdr/filters]($source$/projects/sdr_receiver_hpsdr/filters) directory contains the source code of the [R](https://www.r-project.org) scripts used to calculate the coefficients of the FIR filters. -The [projects/sdr_receiver_hpsdr/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_receiver_hpsdr/server) directory contains the source code of the UDP server ([sdr-receiver-hpsdr.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_receiver_hpsdr/server/sdr-receiver-hpsdr.c)) that receives control commands and transmits the I/Q data streams to the SDR programs. +The [projects/sdr_receiver_hpsdr/server]($source$/projects/sdr_receiver_hpsdr/server) directory contains the source code of the UDP server ([sdr-receiver-hpsdr.c]($source$/projects/sdr_receiver_hpsdr/server/sdr-receiver-hpsdr.c)) that receives control commands and transmits the I/Q data streams to the SDR programs. ## Software @@ -48,7 +48,7 @@ This SDR receiver should work with most of the programs that support the HPSDR/M ## Getting started -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_receiver_hpsdr` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. diff --git a/md/sdr-receiver.md b/md/sdr-receiver.md index 42edc5ef5..d607e0265 100644 --- a/md/sdr-receiver.md +++ b/md/sdr-receiver.md @@ -20,13 +20,13 @@ The I/Q data rate is configurable and four settings are available: 48, 96, 192 k The tunable frequency range covers from 0 Hz to 490 MHz. -The [projects/sdr_receiver](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_receiver) directory contains two Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_receiver/block_design.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_receiver/rx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/sdr_receiver]($source$/projects/sdr_receiver) directory contains two Tcl files: [block_design.tcl]($source$/projects/sdr_receiver/block_design.tcl), [rx.tcl]($source$/projects/sdr_receiver/rx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. -The [projects/sdr_receiver/filters](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_receiver/filters) directory contains the source code of the [R](https://www.r-project.org) scripts used to calculate the coefficients of the FIR filters. +The [projects/sdr_receiver/filters]($source$/projects/sdr_receiver/filters) directory contains the source code of the [R](https://www.r-project.org) scripts used to calculate the coefficients of the FIR filters. ## Software -The [projects/sdr_receiver/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_receiver/server) directory contains the source code of the TCP server ([sdr-receiver.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_receiver/server/sdr-receiver.c)) that receives control commands and transmits the I/Q data streams to the SDR programs. +The [projects/sdr_receiver/server]($source$/projects/sdr_receiver/server) directory contains the source code of the TCP server ([sdr-receiver.c]($source$/projects/sdr_receiver/server/sdr-receiver.c)) that receives control commands and transmits the I/Q data streams to the SDR programs. The [SDR SMEM](https://github.com/pavel-demin/sdr-smem) repository contains the source code of the TCP client ([tcp_smem.lpr](https://github.com/pavel-demin/sdr-smem/blob/main/tcp_smem.lpr)), ExtIO plug-in ([extio_smem.lpr](https://github.com/pavel-demin/sdr-smem/blob/main/extio_smem.lpr)) and other programs and plug-ins. The following diagram shows an example of how these programs and plug-ins can be used: @@ -43,12 +43,12 @@ I use simple indoor antennas made from a single loop of non-coaxial wire. Their ## Getting started - Connect an antenna to the IN1 connector on the Red Pitaya board. -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_receiver` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. - Download and install [SDR#](https://www.dropbox.com/sh/5fy49wae6xwxa8a/AAAdAcU238cppWziK4xPRIADa/sdr/sdrsharp_v1.0.0.1361_with_plugins.zip?dl=1) or [HDSDR](https://www.hdsdr.de). -- Download and unpack the [SDR SMEM zip file](sdr_smem_file). +- Download and unpack the [SDR SMEM zip file]($sdr_smem_file$). - Copy `extio_smem.dll` into the SDR# or HDSDR installation directory. - Start SDR# or HDSDR. - Select SMEM from the Source list in SDR# or from the Options [F7] → Select Input menu in HDSDR. @@ -58,7 +58,7 @@ I use simple indoor antennas made from a single loop of non-coaxial wire. Their ## Running CW Skimmer Server and Reverse Beacon Network Aggregator - Install [CW Skimmer Server](https://dxatlas.com/skimserver). -- Download and unpack the [SDR SMEM zip file](sdr_smem_file). +- Download and unpack the [SDR SMEM zip file]($sdr_smem_file$). - Start `tcp_smem.exe`, enter the IP address of the Red Pitaya board and press the Connect button. - Copy `intf_smem.dll` to the CW Skimmer Server program directory (`C:\Program Files (x86)\Afreet\SkimSrv`). - Install [Reverse Beacon Network Aggregator](https://www.reversebeacon.net/pages/Aggregator+34). diff --git a/md/sdr-transceiver-122-88.md b/md/sdr-transceiver-122-88.md index 1700de392..33fe3460c 100644 --- a/md/sdr-transceiver-122-88.md +++ b/md/sdr-transceiver-122-88.md @@ -24,20 +24,20 @@ The basic blocks of the digital down-converters (DDC) and of the digital up-conv ![SDR transceiver](/img/sdr-transceiver-122-88.png) -The [projects/sdr_transceiver_122_88](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_122_88) directory contains four Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_122_88/block_design.tcl), [trx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_122_88/trx.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_122_88/rx.tcl), [tx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_122_88/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/sdr_transceiver_122_88]($source$/projects/sdr_transceiver_122_88) directory contains four Tcl files: [block_design.tcl]($source$/projects/sdr_transceiver_122_88/block_design.tcl), [trx.tcl]($source$/projects/sdr_transceiver_122_88/trx.tcl), [rx.tcl]($source$/projects/sdr_transceiver_122_88/rx.tcl), [tx.tcl]($source$/projects/sdr_transceiver_122_88/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. ## Software -The [projects/sdr_transceiver_122_88/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_122_88/server) directory contains the source code of the TCP server ([sdr-transceiver.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_122_88/server/sdr-transceiver.c)) that receives control commands and transmits/receives the I/Q data streams (up to 2 x 32 bit x 1536 kSPS = 91.6 Mbit/s) to/from the SDR programs. +The [projects/sdr_transceiver_122_88/server]($source$/projects/sdr_transceiver_122_88/server) directory contains the source code of the TCP server ([sdr-transceiver.c]($source$/projects/sdr_transceiver_122_88/server/sdr-transceiver.c)) that receives control commands and transmits/receives the I/Q data streams (up to 2 x 32 bit x 1536 kSPS = 91.6 Mbit/s) to/from the SDR programs. -The [projects/sdr_transceiver/extio](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver/extio) directory contains the source code of the ExtIO plug-in. +The [projects/sdr_transceiver/extio]($source$/projects/sdr_transceiver/extio) directory contains the source code of the ExtIO plug-in. -The [projects/sdr_transceiver_122_88/gnuradio](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_122_88/gnuradio) directory contains [GNU Radio](https://www.gnuradio.org) blocks and a few flow graph configurations for [GNU Radio Companion](https://wiki.gnuradio.org/index.php/GNURadioCompanion). +The [projects/sdr_transceiver_122_88/gnuradio]($source$/projects/sdr_transceiver_122_88/gnuradio) directory contains [GNU Radio](https://www.gnuradio.org) blocks and a few flow graph configurations for [GNU Radio Companion](https://wiki.gnuradio.org/index.php/GNURadioCompanion). ## Getting started with GNU Radio - Connect an antenna to the IN1 connector on the Red Pitaya board. -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_transceiver_122_88` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. @@ -64,12 +64,12 @@ gnuradio-companion trx_am.grc ## Getting started with SDR# and HDSDR - Connect an antenna to the IN1 connector on the Red Pitaya board. -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_transceiver_122_88` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. - Download and install [SDR#](https://www.dropbox.com/sh/5fy49wae6xwxa8a/AAAdAcU238cppWziK4xPRIADa/sdr/sdrsharp_v1.0.0.1361_with_plugins.zip?dl=1) or [HDSDR](https://www.hdsdr.de). -- Download [pre-built ExtIO plug-in](extio_file) for SDR# and HDSDR. +- Download [pre-built ExtIO plug-in]($extio_file$) for SDR# and HDSDR. - Copy `extio_red_pitaya.dll` into the SDR# or HDSDR installation directory. - Start SDR# or HDSDR. - Select Red Pitaya from the Source list in SDR# or from the Options [F7] → Select Input menu in HDSDR. diff --git a/md/sdr-transceiver-ft8-122-88.md b/md/sdr-transceiver-ft8-122-88.md index 8daf43d44..49ce03471 100644 --- a/md/sdr-transceiver-ft8-122-88.md +++ b/md/sdr-transceiver-ft8-122-88.md @@ -18,15 +18,15 @@ The FPGA configuration consists of sixteen identical digital down-converters (DD The DDC output contains complex 32-bit floating-point data at 4000 samples per second. -The [projects/sdr_transceiver_ft8_122_88](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8_122_88) directory contains three Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_ft8_122_88/block_design.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_ft8_122_88/rx.tcl) and [tx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_ft8_122_88/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/sdr_transceiver_ft8_122_88]($source$/projects/sdr_transceiver_ft8_122_88) directory contains three Tcl files: [block_design.tcl]($source$/projects/sdr_transceiver_ft8_122_88/block_design.tcl), [rx.tcl]($source$/projects/sdr_transceiver_ft8_122_88/rx.tcl) and [tx.tcl]($source$/projects/sdr_transceiver_ft8_122_88/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. ## Software -The [write-c2-files.c](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8_122_88/app/write-c2-files.c) program accumulates 236000 samples at 4000 samples per second for each of the sixteen bands and saves the samples to sixteen .c2 files. +The [write-c2-files.c]($source$/projects/sdr_transceiver_ft8_122_88/app/write-c2-files.c) program accumulates 236000 samples at 4000 samples per second for each of the sixteen bands and saves the samples to sixteen .c2 files. The recorded .c2 files are processed with the [FT8 decoder](https://github.com/pavel-demin/ft8d). -The [decode-ft8.sh](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8_122_88/app/decode-ft8.sh) script launches `write-c2-files` and `ft8d` one after another. This script is run every minute by the following cron entry in [ft8.cron](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8_122_88/app/ft8.cron): +The [decode-ft8.sh]($source$/projects/sdr_transceiver_ft8_122_88/app/decode-ft8.sh) script launches `write-c2-files` and `ft8d` one after another. This script is run every minute by the following cron entry in [ft8.cron]($source$/projects/sdr_transceiver_ft8_122_88/app/ft8.cron): ```bash * * * * * cd /dev/shm && /media/mmcblk0p1/apps/sdr_transceiver_ft8_122_88/decode-ft8.sh >> decode-ft8.log 2>&1 & @@ -38,7 +38,7 @@ A GPS module can be used for the time synchronization and for the automatic meas The PPS signal should be connected to the pin DIO3_N of the [extension connector E1](https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14/extent.html#extension-connector-e1). The UART interface should be connected to the UART pins of the [extension connector E2](https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14/extent.html#extension-connector-e2). -The measurement and correction of the frequency deviation is disabled by default and should be enabled by uncommenting the following line in [ft8.cron](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8_122_88/app/ft8.cron): +The measurement and correction of the frequency deviation is disabled by default and should be enabled by uncommenting the following line in [ft8.cron]($source$/projects/sdr_transceiver_ft8_122_88/app/ft8.cron): ```bash * * * * * cd /dev/shm && /media/mmcblk0p1/apps/common_tools/update-corr.sh 122.88 >> update-corr.log 2>&1 & @@ -46,7 +46,7 @@ The measurement and correction of the frequency deviation is disabled by default ## Getting started -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_transceiver_ft8_122_88` to the topmost directory on the SD card. - Install the micro SD card in the STEMlab SDR board and connect the power. @@ -55,11 +55,11 @@ The measurement and correction of the frequency deviation is disabled by default All the configuration files and scripts can be found in the `apps/sdr_transceiver_ft8_122_88` directory on the SD card. -To enable uploads, the `CALL` and `GRID` variables should be specified in [upload-ft8.sh](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8_122_88/app/upload-ft8.sh#L4-L5). These variables should be set to the call sign of the receiving station and its 6-character Maidenhead grid locator. +To enable uploads, the `CALL` and `GRID` variables should be specified in [upload-ft8.sh]($source$/projects/sdr_transceiver_ft8_122_88/app/upload-ft8.sh#L4-L5). These variables should be set to the call sign of the receiving station and its 6-character Maidenhead grid locator. -The frequency correction ppm value can be adjusted by editing the corr parameter in [write-c2-files.cfg](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8_122_88/app/write-c2-files.cfg). +The frequency correction ppm value can be adjusted by editing the corr parameter in [write-c2-files.cfg]($source$/projects/sdr_transceiver_ft8_122_88/app/write-c2-files.cfg). -The bands list in [write-c2-files.cfg](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8_122_88/app/write-c2-files.cfg) contains all the FT8 frequencies. They can be enabled or disabled by uncommenting or by commenting the corresponding lines. +The bands list in [write-c2-files.cfg]($source$/projects/sdr_transceiver_ft8_122_88/app/write-c2-files.cfg) contains all the FT8 frequencies. They can be enabled or disabled by uncommenting or by commenting the corresponding lines. ## Building from source diff --git a/md/sdr-transceiver-ft8.md b/md/sdr-transceiver-ft8.md index 6c336bdd4..eeeaa9200 100644 --- a/md/sdr-transceiver-ft8.md +++ b/md/sdr-transceiver-ft8.md @@ -18,15 +18,15 @@ The FPGA configuration consists of eight identical digital down-converters (DDC) The DDC output contains complex 32-bit floating-point data at 4000 samples per second. -The [projects/sdr_transceiver_ft8](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8) directory contains three Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_ft8/block_design.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_ft8/rx.tcl) and [tx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_ft8/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/sdr_transceiver_ft8]($source$/projects/sdr_transceiver_ft8) directory contains three Tcl files: [block_design.tcl]($source$/projects/sdr_transceiver_ft8/block_design.tcl), [rx.tcl]($source$/projects/sdr_transceiver_ft8/rx.tcl) and [tx.tcl]($source$/projects/sdr_transceiver_ft8/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. ## Software -The [write-c2-files.c](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8/app/write-c2-files.c) program accumulates 236000 samples at 4000 samples per second for each of the eight bands and saves the samples to eight .c2 files. +The [write-c2-files.c]($source$/projects/sdr_transceiver_ft8/app/write-c2-files.c) program accumulates 236000 samples at 4000 samples per second for each of the eight bands and saves the samples to eight .c2 files. The recorded .c2 files are processed with the [FT8 decoder](https://github.com/pavel-demin/ft8d). -The [decode-ft8.sh](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8/app/decode-ft8.sh) script launches `write-c2-files` and `ft8d` one after another. This script is run every minute by the following cron entry in [ft8.cron](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8/app/ft8.cron): +The [decode-ft8.sh]($source$/projects/sdr_transceiver_ft8/app/decode-ft8.sh) script launches `write-c2-files` and `ft8d` one after another. This script is run every minute by the following cron entry in [ft8.cron]($source$/projects/sdr_transceiver_ft8/app/ft8.cron): ```bash * * * * * cd /dev/shm && /media/mmcblk0p1/apps/sdr_transceiver_ft8/decode-ft8.sh >> decode-ft8.log 2>&1 & @@ -38,7 +38,7 @@ A GPS module can be used for the time synchronization and for the automatic meas The PPS signal should be connected to the pin DIO3_N of the [extension connector E1](https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14/extent.html#extension-connector-e1). The UART interface should be connected to the UART pins of the [extension connector E2](https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14/extent.html#extension-connector-e2). -The measurement and correction of the frequency deviation is disabled by default and should be enabled by uncommenting the following line in [ft8.cron](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8/app/ft8.cron): +The measurement and correction of the frequency deviation is disabled by default and should be enabled by uncommenting the following line in [ft8.cron]($source$/projects/sdr_transceiver_ft8/app/ft8.cron): ```bash * * * * * cd /dev/shm && /media/mmcblk0p1/apps/common_tools/update-corr.sh 125 >> update-corr.log 2>&1 & @@ -46,7 +46,7 @@ The measurement and correction of the frequency deviation is disabled by default ## Getting started -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_transceiver_ft8` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. @@ -55,11 +55,11 @@ The measurement and correction of the frequency deviation is disabled by default All the configuration files and scripts can be found in the `apps/sdr_transceiver_ft8` directory on the SD card. -To enable uploads, the `CALL` and `GRID` variables should be specified in [upload-ft8.sh](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8/app/upload-ft8.sh#L4-L5). These variables should be set to the call sign of the receiving station and its 6-character Maidenhead grid locator. +To enable uploads, the `CALL` and `GRID` variables should be specified in [upload-ft8.sh]($source$/projects/sdr_transceiver_ft8/app/upload-ft8.sh#L4-L5). These variables should be set to the call sign of the receiving station and its 6-character Maidenhead grid locator. -The frequency correction ppm value can be adjusted by editing the corr parameter in [write-c2-files.cfg](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8/app/write-c2-files.cfg). +The frequency correction ppm value can be adjusted by editing the corr parameter in [write-c2-files.cfg]($source$/projects/sdr_transceiver_ft8/app/write-c2-files.cfg). -The bands list in [write-c2-files.cfg](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_ft8/app/write-c2-files.cfg) contains all the FT8 frequencies. They can be enabled or disabled by uncommenting or by commenting the corresponding lines. +The bands list in [write-c2-files.cfg]($source$/projects/sdr_transceiver_ft8/app/write-c2-files.cfg) contains all the FT8 frequencies. They can be enabled or disabled by uncommenting or by commenting the corresponding lines. ## Building from source diff --git a/md/sdr-transceiver-hpsdr-122-88.md b/md/sdr-transceiver-hpsdr-122-88.md index be86ff616..f51e74b91 100644 --- a/md/sdr-transceiver-hpsdr-122-88.md +++ b/md/sdr-transceiver-hpsdr-122-88.md @@ -30,11 +30,11 @@ The digital up-converter consists of similar blocks but arranged in an opposite ![DUC](/img/sdr-transceiver-hpsdr-duc-122-88.png) -The [projects/sdr_transceiver_hpsdr_122_88](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_hpsdr_122_88) directory contains three Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_hpsdr_122_88/block_design.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_hpsdr_122_88/rx.tcl), [tx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_hpsdr_122_88/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/sdr_transceiver_hpsdr_122_88]($source$/projects/sdr_transceiver_hpsdr_122_88) directory contains three Tcl files: [block_design.tcl]($source$/projects/sdr_transceiver_hpsdr_122_88/block_design.tcl), [rx.tcl]($source$/projects/sdr_transceiver_hpsdr_122_88/rx.tcl), [tx.tcl]($source$/projects/sdr_transceiver_hpsdr_122_88/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. -The [projects/sdr_transceiver_hpsdr_122_88/filters](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_hpsdr_122_88/filters) directory contains the source code of the [R](https://www.r-project.org) scripts used to calculate the coefficients of the FIR filters. +The [projects/sdr_transceiver_hpsdr_122_88/filters]($source$/projects/sdr_transceiver_hpsdr_122_88/filters) directory contains the source code of the [R](https://www.r-project.org) scripts used to calculate the coefficients of the FIR filters. -The [projects/sdr_transceiver_hpsdr_122_88/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_hpsdr_122_88/server) directory contains the source code of the UDP server ([sdr-transceiver-hpsdr.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_hpsdr_122_88/server/sdr-transceiver-hpsdr.c)) that receives control commands and transmits/receives the I/Q data streams to/from the SDR programs. +The [projects/sdr_transceiver_hpsdr_122_88/server]($source$/projects/sdr_transceiver_hpsdr_122_88/server) directory contains the source code of the UDP server ([sdr-transceiver-hpsdr.c]($source$/projects/sdr_transceiver_hpsdr_122_88/server/sdr-transceiver-hpsdr.c)) that receives control commands and transmits/receives the I/Q data streams to/from the SDR programs. ## RF, GPIO and XADC connections @@ -67,7 +67,7 @@ The HPSDR signals sent to the [TPIC6B595](https://www.ti.com/product/TPIC6B595) ## I2C connections -This interface is designed by Peter DC2PD. The [sdr-transceiver-hpsdr.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_hpsdr_122_88/server/sdr-transceiver-hpsdr.c) server communicates with one or two [PCA9555](https://www.ti.com/product/PCA9555) chips connected to the I2C pins of the [extension connector E2](https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14/extent.html#extension-connector-e2). +This interface is designed by Peter DC2PD. The [sdr-transceiver-hpsdr.c]($source$/projects/sdr_transceiver_hpsdr_122_88/server/sdr-transceiver-hpsdr.c) server communicates with one or two [PCA9555](https://www.ti.com/product/PCA9555) chips connected to the I2C pins of the [extension connector E2](https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14/extent.html#extension-connector-e2). HPSDR signals sent to the [PCA9555](https://www.ti.com/product/PCA9555) chip at address 0 (0x20): @@ -128,7 +128,7 @@ This SDR transceiver should work with most of the programs that support the HPSD ## Getting started -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_transceiver_hpsdr_122_88` to the topmost directory on the SD card. - Install the micro SD card in the STEMlab SDR board and connect the power. @@ -146,7 +146,7 @@ The first four arguments are for the receivers (RX1, RX2, RX3, RX4), where 1 cor The last two arguments are for the outputs (OUT1, OUT2), where 1 corresponds to the TX signal and 2 corresponds to the envelope signal. -For example, to send the TX signal to OUT2, the corresponding line in [start.sh](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_hpsdr_122_88/app/start.sh#L9) should be edited and the last argument should be set to 1: +For example, to send the TX signal to OUT2, the corresponding line in [start.sh]($source$/projects/sdr_transceiver_hpsdr_122_88/app/start.sh#L9) should be edited and the last argument should be set to 1: ``` sdr-transceiver-hpsdr 1 2 2 2 1 1 diff --git a/md/sdr-transceiver-hpsdr.md b/md/sdr-transceiver-hpsdr.md index 70c6e1cbe..4b64c86d9 100644 --- a/md/sdr-transceiver-hpsdr.md +++ b/md/sdr-transceiver-hpsdr.md @@ -36,11 +36,11 @@ The digital up-converter consists of similar blocks but arranged in an opposite ![DUC](/img/sdr-transceiver-hpsdr-duc.png) -The [projects/sdr_transceiver_hpsdr](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_hpsdr) directory contains three Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_hpsdr/block_design.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_hpsdr/rx.tcl), [tx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_hpsdr/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/sdr_transceiver_hpsdr]($source$/projects/sdr_transceiver_hpsdr) directory contains three Tcl files: [block_design.tcl]($source$/projects/sdr_transceiver_hpsdr/block_design.tcl), [rx.tcl]($source$/projects/sdr_transceiver_hpsdr/rx.tcl), [tx.tcl]($source$/projects/sdr_transceiver_hpsdr/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. -The [projects/sdr_transceiver_hpsdr/filters](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_hpsdr/filters) directory contains the source code of the [R](https://www.r-project.org) scripts used to calculate the coefficients of the FIR filters. +The [projects/sdr_transceiver_hpsdr/filters]($source$/projects/sdr_transceiver_hpsdr/filters) directory contains the source code of the [R](https://www.r-project.org) scripts used to calculate the coefficients of the FIR filters. -The [projects/sdr_transceiver_hpsdr/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_hpsdr/server) directory contains the source code of the UDP server ([sdr-transceiver-hpsdr.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_hpsdr/server/sdr-transceiver-hpsdr.c)) that receives control commands and transmits/receives the I/Q data streams to/from the SDR programs. +The [projects/sdr_transceiver_hpsdr/server]($source$/projects/sdr_transceiver_hpsdr/server) directory contains the source code of the UDP server ([sdr-transceiver-hpsdr.c]($source$/projects/sdr_transceiver_hpsdr/server/sdr-transceiver-hpsdr.c)) that receives control commands and transmits/receives the I/Q data streams to/from the SDR programs. ## RF, GPIO and XADC connections @@ -73,7 +73,7 @@ The HPSDR signals sent to the [TPIC6B595](https://www.ti.com/product/TPIC6B595) ## I2C connections -This interface is designed by Peter DC2PD. The [sdr-transceiver-hpsdr.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_hpsdr/server/sdr-transceiver-hpsdr.c) server communicates with one or two [PCA9555](https://www.ti.com/product/PCA9555) chips connected to the I2C pins of the [extension connector E2](https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14/extent.html#extension-connector-e2). +This interface is designed by Peter DC2PD. The [sdr-transceiver-hpsdr.c]($source$/projects/sdr_transceiver_hpsdr/server/sdr-transceiver-hpsdr.c) server communicates with one or two [PCA9555](https://www.ti.com/product/PCA9555) chips connected to the I2C pins of the [extension connector E2](https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14/extent.html#extension-connector-e2). HPSDR signals sent to the [PCA9555](https://www.ti.com/product/PCA9555) chip at address 0 (0x20): @@ -134,7 +134,7 @@ This SDR transceiver should work with most of the programs that support the HPSD ## Getting started -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_transceiver_hpsdr` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. @@ -152,7 +152,7 @@ The first four arguments are for the receivers (RX1, RX2, RX3, RX4), where 1 cor The last two arguments are for the outputs (OUT1, OUT2), where 1 corresponds to the TX signal and 2 corresponds to the envelope signal. -For example, to send the TX signal to OUT2, the corresponding line in [start.sh](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_hpsdr/app/start.sh#L9) should be edited and the last argument should be set to 1: +For example, to send the TX signal to OUT2, the corresponding line in [start.sh]($source$/projects/sdr_transceiver_hpsdr/app/start.sh#L9) should be edited and the last argument should be set to 1: ``` sdr-transceiver-hpsdr 1 2 2 2 1 1 diff --git a/md/sdr-transceiver-wide.md b/md/sdr-transceiver-wide.md index 581e45c7d..a0ad64c68 100644 --- a/md/sdr-transceiver-wide.md +++ b/md/sdr-transceiver-wide.md @@ -15,15 +15,15 @@ The basic blocks of the digital down-converter (DDC) and of the digital up-conve ![Wideband SDR transceiver](/img/sdr-transceiver-wide.png) -The [projects/sdr_transceiver_wide](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wide) directory contains four Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_wide/block_design.tcl), [trx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_wide/trx.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_wide/rx.tcl), [tx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_wide/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/sdr_transceiver_wide]($source$/projects/sdr_transceiver_wide) directory contains four Tcl files: [block_design.tcl]($source$/projects/sdr_transceiver_wide/block_design.tcl), [trx.tcl]($source$/projects/sdr_transceiver_wide/trx.tcl), [rx.tcl]($source$/projects/sdr_transceiver_wide/rx.tcl), [tx.tcl]($source$/projects/sdr_transceiver_wide/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. ## Software -The [projects/sdr_transceiver_wide/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wide/server) directory contains the source code of the TCP server ([sdr-transceiver-wide.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_wide/server/sdr-transceiver-wide.c)) that receives control commands and transmits/receives the I/Q data streams (up to 2 x 32 bit x 2500 kSPS = 152 Mbit/s) to/from the SDR programs. +The [projects/sdr_transceiver_wide/server]($source$/projects/sdr_transceiver_wide/server) directory contains the source code of the TCP server ([sdr-transceiver-wide.c]($source$/projects/sdr_transceiver_wide/server/sdr-transceiver-wide.c)) that receives control commands and transmits/receives the I/Q data streams (up to 2 x 32 bit x 2500 kSPS = 152 Mbit/s) to/from the SDR programs. -The [projects/sdr_transceiver_wide/gnuradio](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wide/gnuradio) directory contains [GNU Radio](https://www.gnuradio.org) blocks and a few flow graph configurations for [GNU Radio Companion](https://wiki.gnuradio.org/index.php/GNURadioCompanion). +The [projects/sdr_transceiver_wide/gnuradio]($source$/projects/sdr_transceiver_wide/gnuradio) directory contains [GNU Radio](https://www.gnuradio.org) blocks and a few flow graph configurations for [GNU Radio Companion](https://wiki.gnuradio.org/index.php/GNURadioCompanion). -The [projects/sdr_transceiver_wide/gnuradio](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wide/gnuradio) directory contains [GNU Radio](https://www.gnuradio.org) blocks and an example flow graph configuration for [GNU Radio Companion](https://wiki.gnuradio.org/index.php/GNURadioCompanion). +The [projects/sdr_transceiver_wide/gnuradio]($source$/projects/sdr_transceiver_wide/gnuradio) directory contains [GNU Radio](https://www.gnuradio.org) blocks and an example flow graph configuration for [GNU Radio Companion](https://wiki.gnuradio.org/index.php/GNURadioCompanion). ## Transmitting and receiving complex baseband signals @@ -38,7 +38,7 @@ Here is a picture of a complex 1 kHz cosine waveform as seen by an oscilloscope ## Getting started - Connect an antenna to the IN1 connector on the Red Pitaya board. -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_transceiver_wide` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. diff --git a/md/sdr-transceiver-wspr-122-88.md b/md/sdr-transceiver-wspr-122-88.md index 5cbca4b9a..fe4cdd395 100644 --- a/md/sdr-transceiver-wspr-122-88.md +++ b/md/sdr-transceiver-wspr-122-88.md @@ -29,23 +29,23 @@ The FPGA configuration consists of sixteen identical digital down-converters (DD The DDC output contains complex 32-bit floating-point data at 375 samples per second and is directly compatible with the [WSPR decoder](https://github.com/pavel-demin/wsprd). -The [projects/sdr_transceiver_wspr_122_88](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr_122_88) directory contains three Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_wspr_122_88/block_design.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_wspr_122_88/rx.tcl) and [tx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_wspr_122_88/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/sdr_transceiver_wspr_122_88]($source$/projects/sdr_transceiver_wspr_122_88) directory contains three Tcl files: [block_design.tcl]($source$/projects/sdr_transceiver_wspr_122_88/block_design.tcl), [rx.tcl]($source$/projects/sdr_transceiver_wspr_122_88/rx.tcl) and [tx.tcl]($source$/projects/sdr_transceiver_wspr_122_88/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. ## Software -The [write-c2-files.c](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr_122_88/app/write-c2-files.c) program accumulates 42000 samples at 375 samples per second for each of the sixteen bands and saves the samples to sixteen .c2 files. +The [write-c2-files.c]($source$/projects/sdr_transceiver_wspr_122_88/app/write-c2-files.c) program accumulates 42000 samples at 375 samples per second for each of the sixteen bands and saves the samples to sixteen .c2 files. The recorded .c2 files are processed with the [WSPR decoder](https://github.com/pavel-demin/wsprd). The decoded data are uploaded to [wsprnet.org](https://wsprnet.org) using [curl](https://curl.haxx.se). -The [decode-wspr.sh](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr_122_88/app/decode-wspr.sh) script launches `write-c2-files`, `wsprd` and `curl` one after another. This script is run every two minutes by the following cron entry in [wspr.cron](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr_122_88/app/wspr.cron): +The [decode-wspr.sh]($source$/projects/sdr_transceiver_wspr_122_88/app/decode-wspr.sh) script launches `write-c2-files`, `wsprd` and `curl` one after another. This script is run every two minutes by the following cron entry in [wspr.cron]($source$/projects/sdr_transceiver_wspr_122_88/app/wspr.cron): ```bash 1-59/2 * * * * cd /dev/shm && /media/mmcblk0p1/apps/sdr_transceiver_wspr_122_88/decode-wspr.sh >> decode-wspr.log 2>&1 & ``` -The [transmit-wspr-message.c](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr_122_88/app/transmit-wspr-message.c) program transmits WSPR messages. +The [transmit-wspr-message.c]($source$/projects/sdr_transceiver_wspr_122_88/app/transmit-wspr-message.c) program transmits WSPR messages. ## GPS interface @@ -53,7 +53,7 @@ A GPS module can be used for the time synchronization and for the automatic meas The PPS signal should be connected to the pin DIO3_N of the [extension connector E1](https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14/extent.html#extension-connector-e1). The UART interface should be connected to the UART pins of the [extension connector E2](https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14/extent.html#extension-connector-e2). -The measurement and correction of the frequency deviation is disabled by default and should be enabled by uncommenting the following line in [wspr.cron](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr_122_88/app/wspr.cron): +The measurement and correction of the frequency deviation is disabled by default and should be enabled by uncommenting the following line in [wspr.cron]($source$/projects/sdr_transceiver_wspr_122_88/app/wspr.cron): ```bash 1-59/2 * * * * cd /dev/shm && /media/mmcblk0p1/apps/common_tools/update-corr.sh 122.88 >> update-corr.log 2>&1 & @@ -61,7 +61,7 @@ The measurement and correction of the frequency deviation is disabled by default ## Getting started -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_transceiver_wspr_122_88` to the topmost directory on the SD card. - Install the micro SD card in the STEMlab SDR board and connect the power. @@ -72,15 +72,15 @@ By default, the uploads to [wsprnet.org](https://wsprnet.org) are disabled and a All the configuration files and scripts can be found in the `apps/sdr_transceiver_wspr_122_88` directory on the SD card. -To enable uploads, the `CALL` and `GRID` variables should be specified in [decode-wspr.sh](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr_122_88/app/decode-wspr.sh#L4-L5). These variables should be set to the call sign of the receiving station and its 6-character Maidenhead grid locator. +To enable uploads, the `CALL` and `GRID` variables should be specified in [decode-wspr.sh]($source$/projects/sdr_transceiver_wspr_122_88/app/decode-wspr.sh#L4-L5). These variables should be set to the call sign of the receiving station and its 6-character Maidenhead grid locator. -The frequency correction ppm value can be adjusted by editing the corr parameter in [write-c2-files.cfg](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr_122_88/app/write-c2-files.cfg). +The frequency correction ppm value can be adjusted by editing the corr parameter in [write-c2-files.cfg]($source$/projects/sdr_transceiver_wspr_122_88/app/write-c2-files.cfg). -The bands list in [write-c2-files.cfg](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr_122_88/app/write-c2-files.cfg) contains all the WSPR frequencies. They can be enabled or disabled by uncommenting or by commenting the corresponding lines. +The bands list in [write-c2-files.cfg]($source$/projects/sdr_transceiver_wspr_122_88/app/write-c2-files.cfg) contains all the WSPR frequencies. They can be enabled or disabled by uncommenting or by commenting the corresponding lines. ## Configuring WSPR transmitter -The WSPR message, transmit frequency and frequency ppm value can be adjusted by editing [transmit-wspr-message.cfg](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr_122_88/app/transmit-wspr-message.cfg). +The WSPR message, transmit frequency and frequency ppm value can be adjusted by editing [transmit-wspr-message.cfg]($source$/projects/sdr_transceiver_wspr_122_88/app/transmit-wspr-message.cfg). ## Building from source diff --git a/md/sdr-transceiver-wspr.md b/md/sdr-transceiver-wspr.md index 9ab48351b..98d0ae182 100644 --- a/md/sdr-transceiver-wspr.md +++ b/md/sdr-transceiver-wspr.md @@ -29,23 +29,23 @@ The FPGA configuration consists of eight identical digital down-converters (DDC) The DDC output contains complex 32-bit floating-point data at 375 samples per second and is directly compatible with the [WSPR decoder](https://github.com/pavel-demin/wsprd). -The [projects/sdr_transceiver_wspr](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr) directory contains three Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_wspr/block_design.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_wspr/rx.tcl) and [tx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver_wspr/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/sdr_transceiver_wspr]($source$/projects/sdr_transceiver_wspr) directory contains three Tcl files: [block_design.tcl]($source$/projects/sdr_transceiver_wspr/block_design.tcl), [rx.tcl]($source$/projects/sdr_transceiver_wspr/rx.tcl) and [tx.tcl]($source$/projects/sdr_transceiver_wspr/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. ## Software -The [write-c2-files.c](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr/app/write-c2-files.c) program accumulates 42000 samples at 375 samples per second for each of the eight bands and saves the samples to eight .c2 files. +The [write-c2-files.c]($source$/projects/sdr_transceiver_wspr/app/write-c2-files.c) program accumulates 42000 samples at 375 samples per second for each of the eight bands and saves the samples to eight .c2 files. The recorded .c2 files are processed with the [WSPR decoder](https://github.com/pavel-demin/wsprd). The decoded data are uploaded to [wsprnet.org](https://wsprnet.org) using [curl](https://curl.haxx.se). -The [decode-wspr.sh](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr/app/decode-wspr.sh) script launches `write-c2-files`, `wsprd` and `curl` one after another. This script is run every two minutes by the following cron entry in [wspr.cron](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr/app/wspr.cron): +The [decode-wspr.sh]($source$/projects/sdr_transceiver_wspr/app/decode-wspr.sh) script launches `write-c2-files`, `wsprd` and `curl` one after another. This script is run every two minutes by the following cron entry in [wspr.cron]($source$/projects/sdr_transceiver_wspr/app/wspr.cron): ```bash 1-59/2 * * * * cd /dev/shm && /media/mmcblk0p1/apps/sdr_transceiver_wspr/decode-wspr.sh >> decode-wspr.log 2>&1 & ``` -The [transmit-wspr-message.c](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr/app/transmit-wspr-message.c) program transmits WSPR messages. +The [transmit-wspr-message.c]($source$/projects/sdr_transceiver_wspr/app/transmit-wspr-message.c) program transmits WSPR messages. ## GPS interface @@ -53,7 +53,7 @@ A GPS module can be used for the time synchronization and for the automatic meas The PPS signal should be connected to the pin DIO3_N of the [extension connector E1](https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14/extent.html#extension-connector-e1). The UART interface should be connected to the UART pins of the [extension connector E2](https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14/extent.html#extension-connector-e2). -The measurement and correction of the frequency deviation is disabled by default and should be enabled by uncommenting the following line in [wspr.cron](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr/app/wspr.cron): +The measurement and correction of the frequency deviation is disabled by default and should be enabled by uncommenting the following line in [wspr.cron]($source$/projects/sdr_transceiver_wspr/app/wspr.cron): ```bash 1-59/2 * * * * cd /dev/shm && /media/mmcblk0p1/apps/common_tools/update-corr.sh 125 >> update-corr.log 2>&1 & @@ -61,7 +61,7 @@ The measurement and correction of the frequency deviation is disabled by default ## Getting started -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_transceiver_wspr` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. @@ -72,15 +72,15 @@ By default, the uploads to [wsprnet.org](https://wsprnet.org) are disabled and a All the configuration files and scripts can be found in the `apps/sdr_transceiver_wspr` directory on the SD card. -To enable uploads, the `CALL` and `GRID` variables should be specified in [decode-wspr.sh](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr/app/decode-wspr.sh#L4-L5). These variables should be set to the call sign of the receiving station and its 6-character Maidenhead grid locator. +To enable uploads, the `CALL` and `GRID` variables should be specified in [decode-wspr.sh]($source$/projects/sdr_transceiver_wspr/app/decode-wspr.sh#L4-L5). These variables should be set to the call sign of the receiving station and its 6-character Maidenhead grid locator. -The frequency correction ppm value can be adjusted by editing the corr parameter in [write-c2-files.cfg](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr/app/write-c2-files.cfg). +The frequency correction ppm value can be adjusted by editing the corr parameter in [write-c2-files.cfg]($source$/projects/sdr_transceiver_wspr/app/write-c2-files.cfg). -The bands list in [write-c2-files.cfg](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr/app/write-c2-files.cfg) contains all the WSPR frequencies. They can be enabled or disabled by uncommenting or by commenting the corresponding lines. +The bands list in [write-c2-files.cfg]($source$/projects/sdr_transceiver_wspr/app/write-c2-files.cfg) contains all the WSPR frequencies. They can be enabled or disabled by uncommenting or by commenting the corresponding lines. ## Configuring WSPR transmitter -The WSPR message, transmit frequency and frequency ppm value can be adjusted by editing [transmit-wspr-message.cfg](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver_wspr/app/transmit-wspr-message.cfg). +The WSPR message, transmit frequency and frequency ppm value can be adjusted by editing [transmit-wspr-message.cfg]($source$/projects/sdr_transceiver_wspr/app/transmit-wspr-message.cfg). ## Building from source diff --git a/md/sdr-transceiver.md b/md/sdr-transceiver.md index 7018c72f8..920f52cf3 100644 --- a/md/sdr-transceiver.md +++ b/md/sdr-transceiver.md @@ -26,20 +26,20 @@ The basic blocks of the digital down-converters (DDC) and of the digital up-conv ![SDR transceiver](/img/sdr-transceiver.png) -The [projects/sdr_transceiver](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver) directory contains four Tcl files: [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver/block_design.tcl), [trx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver/trx.tcl), [rx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver/rx.tcl), [tx.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. +The [projects/sdr_transceiver]($source$/projects/sdr_transceiver) directory contains four Tcl files: [block_design.tcl]($source$/projects/sdr_transceiver/block_design.tcl), [trx.tcl]($source$/projects/sdr_transceiver/trx.tcl), [rx.tcl]($source$/projects/sdr_transceiver/rx.tcl), [tx.tcl]($source$/projects/sdr_transceiver/tx.tcl). The code in these files instantiates, configures and interconnects all the needed IP cores. ## Software -The [projects/sdr_transceiver/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver/server) directory contains the source code of the TCP server ([sdr-transceiver.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/sdr_transceiver/server/sdr-transceiver.c)) that receives control commands and transmits/receives the I/Q data streams (up to 2 x 32 bit x 1250 kSPS = 76.3 Mbit/s) to/from the SDR programs. +The [projects/sdr_transceiver/server]($source$/projects/sdr_transceiver/server) directory contains the source code of the TCP server ([sdr-transceiver.c]($source$/projects/sdr_transceiver/server/sdr-transceiver.c)) that receives control commands and transmits/receives the I/Q data streams (up to 2 x 32 bit x 1250 kSPS = 76.3 Mbit/s) to/from the SDR programs. -The [projects/sdr_transceiver/extio](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver/extio) directory contains the source code of the ExtIO plug-in. +The [projects/sdr_transceiver/extio]($source$/projects/sdr_transceiver/extio) directory contains the source code of the ExtIO plug-in. -The [projects/sdr_transceiver/gnuradio](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/sdr_transceiver/gnuradio) directory contains [GNU Radio](https://www.gnuradio.org) blocks and a few flow graph configurations for [GNU Radio Companion](https://wiki.gnuradio.org/index.php/GNURadioCompanion). +The [projects/sdr_transceiver/gnuradio]($source$/projects/sdr_transceiver/gnuradio) directory contains [GNU Radio](https://www.gnuradio.org) blocks and a few flow graph configurations for [GNU Radio Companion](https://wiki.gnuradio.org/index.php/GNURadioCompanion). ## Getting started with GNU Radio - Connect an antenna to the IN1 connector on the Red Pitaya board. -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_transceiver` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. @@ -66,12 +66,12 @@ gnuradio-companion trx_am.grc ## Getting started with SDR# and HDSDR - Connect an antenna to the IN1 connector on the Red Pitaya board. -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/sdr_transceiver` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. - Download and install [SDR#](https://www.dropbox.com/sh/5fy49wae6xwxa8a/AAAdAcU238cppWziK4xPRIADa/sdr/sdrsharp_v1.0.0.1361_with_plugins.zip?dl=1) or [HDSDR](https://www.hdsdr.de). -- Download [pre-built ExtIO plug-in](extio_file) for SDR# and HDSDR. +- Download [pre-built ExtIO plug-in]($extio_file$) for SDR# and HDSDR. - Copy `extio_red_pitaya.dll` into the SDR# or HDSDR installation directory. - Start SDR# or HDSDR. - Select Red Pitaya from the Source list in SDR# or from the Options [F7] → Select Input menu in HDSDR. diff --git a/md/vna-122-88.md b/md/vna-122-88.md index 0fde6b38b..382ef25c9 100644 --- a/md/vna-122-88.md +++ b/md/vna-122-88.md @@ -18,30 +18,30 @@ The basic blocks of the system are shown in the following diagram: ![Vector Network Analyzer](/img/vna-122-88.png) -The [projects/vna_122_88](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/vna_122_88) directory contains one Tcl file [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/vna_122_88/block_design.tcl) that instantiates, configures and interconnects all the needed IP cores. +The [projects/vna_122_88]($source$/projects/vna_122_88) directory contains one Tcl file [block_design.tcl]($source$/projects/vna_122_88/block_design.tcl) that instantiates, configures and interconnects all the needed IP cores. ## Software -The [projects/vna_122_88/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/vna_122_88/server) directory contains the source code of the TCP server ([vna.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/vna_122_88/server/vna.c)) that receives control commands and transmits the data to the control program running on a remote PC. +The [projects/vna_122_88/server]($source$/projects/vna_122_88/server) directory contains the source code of the TCP server ([vna.c]($source$/projects/vna_122_88/server/vna.c)) that receives control commands and transmits the data to the control program running on a remote PC. -The [projects/vna/client](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/vna/client) directory contains the source code of the control program ([vna.py](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/vna/client/vna.py)). +The [projects/vna/client]($source$/projects/vna/client) directory contains the source code of the control program ([vna.py]($source$/projects/vna/client/vna.py)). ![VNA client](/img/vna-client.png) ## Getting started with MS Windows -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/vna_122_88` to the topmost directory on the SD card. - Install the micro SD card in the STEMlab SDR board and connect the power. -- Download and unpack the [release zip file](release_file). +- Download and unpack the [release zip file]($release_file$). - Run the `vna.exe` program in the `control` directory. - Type in the IP address of the STEMlab SDR board and press Connect button. - Perform calibration and measurements. ## Getting started with GNU/Linux -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/vna_122_88` to the topmost directory on the SD card. - Install the micro SD card in the STEMlab SDR board and connect the power. diff --git a/md/vna.md b/md/vna.md index 1a76ca8bd..ccef6bdfb 100644 --- a/md/vna.md +++ b/md/vna.md @@ -18,30 +18,30 @@ The basic blocks of the system are shown in the following diagram: ![Vector Network Analyzer](/img/vna.png) -The [projects/vna](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/vna) directory contains one Tcl file [block_design.tcl](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/vna/block_design.tcl) that instantiates, configures and interconnects all the needed IP cores. +The [projects/vna]($source$/projects/vna) directory contains one Tcl file [block_design.tcl]($source$/projects/vna/block_design.tcl) that instantiates, configures and interconnects all the needed IP cores. ## Software -The [projects/vna/server](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/vna/server) directory contains the source code of the TCP server ([vna.c](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/vna/server/vna.c)) that receives control commands and transmits the data to the control program running on a remote PC. +The [projects/vna/server]($source$/projects/vna/server) directory contains the source code of the TCP server ([vna.c]($source$/projects/vna/server/vna.c)) that receives control commands and transmits the data to the control program running on a remote PC. -The [projects/vna/client](https://github.com/pavel-demin/red-pitaya-notes/tree/master/projects/vna/client) directory contains the source code of the control program ([vna.py](https://github.com/pavel-demin/red-pitaya-notes/blob/master/projects/vna/client/vna.py)). +The [projects/vna/client]($source$/projects/vna/client) directory contains the source code of the control program ([vna.py]($source$/projects/vna/client/vna.py)). ![VNA client](/img/vna-client.png) ## Getting started with MS Windows -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/vna` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. -- Download and unpack the [release zip file](release_file). +- Download and unpack the [release zip file]($release_file$). - Run the `vna.exe` program in the `control` directory. - Type in the IP address of the Red Pitaya board and press Connect button. - Perform calibration and measurements. ## Getting started with GNU/Linux -- Download [SD card image zip file](release_image) (more details about the SD card image can be found at [this link](/alpine/)). +- Download [SD card image zip file]($release_image$) (more details about the SD card image can be found at [this link](/alpine/)). - Copy the contents of the SD card image zip file to a micro SD card. - Optionally, to start the application automatically at boot time, copy its `start.sh` file from `apps/vna` to the topmost directory on the SD card. - Install the micro SD card in the Red Pitaya board and connect the power. diff --git a/metadata.yml b/metadata.yml index c7323005a..18ff7afd5 100644 --- a/metadata.yml +++ b/metadata.yml @@ -2,7 +2,7 @@ site_title: Red Pitaya Notes description: Notes on the Red Pitaya Open Source Instrument -source: https://github.com/pavel-demin/red-pitaya-notes +source: https://github.com/pavel-demin/red-pitaya-notes/tree/master issues: https://github.com/pavel-demin/red-pitaya-notes/issues release_image: https://github.com/pavel-demin/red-pitaya-notes/releases/download/20240204/red-pitaya-alpine-3.18-armv7-20240204.zip diff --git a/page.html b/page.html index a1ab1996f..f973e110f 100644 --- a/page.html +++ b/page.html @@ -4,23 +4,23 @@ - - - -${title} + + + +$title$
-${site_title} +$site_title$
-Source -Issues +Source +Issues
-${body} +$body$