diff --git a/filters.lua b/filters.lua index 85c9644..8174a8a 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 e883c3e..5696b02 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 Eclypse Z7 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/eclypse-z7-notes/blob/master/alpine/etc/dhcpcd.conf). More information about [/etc/dhcpcd.conf](https://github.com/pavel-demin/eclypse-z7-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), Eclypse Z7 can be accessed as `sdr-03xxxx.local`, where `03xxxx` are the last 6 characters from the MAC address written on the Ethernet connector. diff --git a/md/led-blinker.md b/md/led-blinker.md index 909646c..0121941 100644 --- a/md/led-blinker.md +++ b/md/led-blinker.md @@ -42,17 +42,17 @@ The source code is available at This repository contains the following components: -- [Makefile](https://github.com/pavel-demin/eclypse-z7-notes/blob/master/Makefile) that builds everything (almost) -- [cfg](https://github.com/pavel-demin/eclypse-z7-notes/tree/master/cfg) directory with constraints and board definition files -- [cores](https://github.com/pavel-demin/eclypse-z7-notes/tree/master/cores) directory with IP cores written in Verilog -- [projects](https://github.com/pavel-demin/eclypse-z7-notes/tree/master/projects) directory with Vivado projects written in Tcl -- [scripts](https://github.com/pavel-demin/eclypse-z7-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 script that builds an SD card image ## Syntactic sugar for IP cores -The [projects/led_blinker](https://github.com/pavel-demin/eclypse-z7-notes/tree/master/projects/led_blinker) directory contains one Tcl file [block_design.tcl](https://github.com/pavel-demin/eclypse-z7-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: @@ -74,7 +74,7 @@ cell xilinx.com:ip:processing_system7 ps_0 { } ``` -The `cell` command and other helper commands are defined in the [scripts/project.tcl](https://github.com/pavel-demin/eclypse-z7-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 @@ -105,7 +105,7 @@ Building an SD card image: sudo sh scripts/alpine.sh ``` -A pre-built SD card image can be downloaded from [this link](release_image). +A pre-built SD card image can be downloaded from [this link]($release_image$). To write the image to a micro SD card, copy the contents of the SD card image zip file to a micro SD card. diff --git a/md/sdr-receiver-hpsdr.md b/md/sdr-receiver-hpsdr.md index 7945b35..ea14414 100644 --- a/md/sdr-receiver-hpsdr.md +++ b/md/sdr-receiver-hpsdr.md @@ -22,11 +22,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](https://github.com/pavel-demin/eclypse-z7-notes/tree/master/projects/sdr_receiver_hpsdr) directory contains two Tcl files: [block_design.tcl](https://github.com/pavel-demin/eclypse-z7-notes/blob/master/projects/sdr_receiver_hpsdr/block_design.tcl), [rx.tcl](https://github.com/pavel-demin/eclypse-z7-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/eclypse-z7-notes/tree/master/projects/sdr_receiver_hpsdr/filters) directory contains the source code of the [R](https://www.r-project.org) script 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) script used to calculate the coefficients of the FIR filters. -The [projects/sdr_receiver_hpsdr/server](https://github.com/pavel-demin/eclypse-z7-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/eclypse-z7-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 @@ -46,7 +46,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 Eclypse Z7 board and connect the power. diff --git a/md/sdr-transceiver.md b/md/sdr-transceiver.md index 0da5297..6f770b9 100644 --- a/md/sdr-transceiver.md +++ b/md/sdr-transceiver.md @@ -37,18 +37,18 @@ 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/eclypse-z7-notes/tree/master/projects/sdr_transceiver) directory contains four Tcl files: [block_design.tcl](https://github.com/pavel-demin/eclypse-z7-notes/blob/master/projects/sdr_transceiver/block_design.tcl), [trx.tcl](https://github.com/pavel-demin/eclypse-z7-notes/blob/master/projects/sdr_transceiver/trx.tcl), [rx.tcl](https://github.com/pavel-demin/eclypse-z7-notes/blob/master/projects/sdr_transceiver/rx.tcl), [tx.tcl](https://github.com/pavel-demin/eclypse-z7-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/eclypse-z7-notes/tree/master/projects/sdr_transceiver/server) directory contains the source code of the TCP server ([sdr-transceiver.c](https://github.com/pavel-demin/eclypse-z7-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 1536 kSPS = 91.6 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 1536 kSPS = 91.6 Mbit/s) to/from the SDR programs. -The [projects/sdr_transceiver/gnuradio](https://github.com/pavel-demin/eclypse-z7-notes/tree/master/projects/sdr_transceiver/gnuradio) directory contains an example of a flow graph configuration for [GNU Radio Companion](https://wiki.gnuradio.org/index.php/GNURadioCompanion). +The [projects/sdr_transceiver/gnuradio]($source$/projects/sdr_transceiver/gnuradio) directory contains an example of a flow graph configuration for [GNU Radio Companion](https://wiki.gnuradio.org/index.php/GNURadioCompanion). ## Getting started with GNU Radio - Connect an antenna to the CH1 connector of the Zmod Digitizer module. -- 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 Eclypse Z7 board and connect the power. @@ -75,12 +75,12 @@ gnuradio-companion fm.grc ## Getting started with SDR# and HDSDR - Connect an antenna to the CH1 connector of the Zmod Digitizer module. -- 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 Eclypse Z7 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/metadata.yml b/metadata.yml index 4441152..2d32133 100644 --- a/metadata.yml +++ b/metadata.yml @@ -2,7 +2,7 @@ site_title: Eclypse Z7 Notes description: Notes on the Eclypse Z7 development board -source: https://github.com/pavel-demin/eclypse-z7-notes +source: https://github.com/pavel-demin/eclypse-z7-notes/tree/master issues: https://github.com/pavel-demin/eclypse-z7-notes/issues release_image: https://github.com/pavel-demin/eclypse-z7-notes/releases/download/20230222/eclypse-z7-alpine-3.14-armv7-20230222.zip diff --git a/page.html b/page.html index a1ab199..f973e11 100644 --- a/page.html +++ b/page.html @@ -4,23 +4,23 @@ - - - -${title} + + + +$title$
-${site_title} +$site_title$
-Source -Issues +Source +Issues
-${body} +$body$