Skip to content

Instantly share code, notes, and snippets.

View daniestevez's full-sized avatar

Daniel Estévez daniestevez

View GitHub Profile
@daniestevez
daniestevez / gnuradio-m1-macs.md
Created June 15, 2021 20:36
GNU Radio in M1 Macs (with Docker Desktop)

GNU Radio in M1 Macs (with Docker Desktop)

This note describes the steps we took with the SETI Institute summer interns 2021 to install GNU Radio in their M1 Macs (MacBook Air M1 2020 model). We used gnuradio-docker-env as a starting point, which was of invaluable help.

There might be omissions, typos, etc., in this note, so any feedback is welcome. The procedure could also be streamlined a lot by generating known-good images and pushing the to Docker Hub.

XQuartz

@daniestevez
daniestevez / hydra_t.grc
Created February 6, 2025 12:12
HYDRA-T decoder
options:
parameters:
author: Daniel Estevez
catch_exceptions: 'True'
category: '[GRC Hier Blocks]'
cmake_opt: ''
comment: ''
copyright: ''
description: ''
gen_cmake: 'On'
@daniestevez
daniestevez / wsjtx-doppler.py
Created August 12, 2017 14:19
WSJT-X and linear satellites: part I
#!/usr/bin/env python3
import ephem
import numpy as np
import matplotlib.pyplot as plt
from scipy.io import wavfile
from scipy.signal import hilbert
@daniestevez
daniestevez / measure_packets_in_socket.py
Last active December 16, 2024 08:09
Testing UNIX domain socket sizes
#!/usr/bin/env python3
import argparse
import os
import socket
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument(
@daniestevez
daniestevez / last_chunk.grc
Created January 14, 2024 08:18
Mistery FSK signal demodulator
options:
parameters:
author: daniel
catch_exceptions: 'True'
category: '[GRC Hier Blocks]'
cmake_opt: ''
comment: ''
copyright: ''
description: ''
gen_cmake: 'On'
@daniestevez
daniestevez / tea.v
Created July 13, 2023 09:43
Verilog implementation of the Tiny Encryption Algorithm
//
// Copyright (c) 2021 - Daniel Estevez <daniel@destevez.net>
//
// TEA
//
// Verilog implementation of the Tiny Encryption Algorithm
//
`timescale 1ns / 1ps
`default_nettype none
@daniestevez
daniestevez / euclid.grc
Created July 1, 2023 21:44
EUCLID GNU Radio decoder
options:
parameters:
author: Daniel Estevez
catch_exceptions: 'True'
category: '[GRC Hier Blocks]'
cmake_opt: ''
comment: ''
copyright: ''
description: ''
gen_cmake: 'On'
%General Mission Analysis Tool(GMAT) Script
%Created: 2023-07-01 22:42:05
%----------------------------------------
%---------- Spacecraft
%----------------------------------------
Create Spacecraft Euclid;
GMAT Euclid.DateFormat = UTCGregorian;
@daniestevez
daniestevez / gr_affinity_bug.py
Created February 28, 2023 17:21
Test script for GNU Radio bug: Setting processor affinity of hier_block2 with message ports segfaults
#!/usr/bin/env python3
from gnuradio import gr, blocks
import pmt
import argparse
import signal
import sys
@daniestevez
daniestevez / ad9361_overclock.c
Last active February 19, 2023 20:14
AD9361 overclock snippet
/// Rx Enable and Filter Control register:
/// - Rx Enable = 1
/// The ad9361_en_dis_rx function sets this bit. This bit
/// determines if the receiver is enabled. Setting the bit enables the
/// receiver signal path. Clearing the bit disables the receiver.
/// - RHB3 Enable and Decimation[1:0] = 0b01
/// See note in 0x002[D5:D4]. These bits set the decimation of the
/// first filtering stage after the ADC per Table 4.
/// 00 Decimate by 1, no filtering
/// 01 Decimate by 2 (half-band filter)