Skip to content

Instantly share code, notes, and snippets.


Wojciech Kaczmarski sp5wwp

View GitHub Profile
sp5wwp /
Last active Aug 6, 2022
MD380/Module_17 build'n'flash script
#----MD380 & Module17----
git clone --recursive
cd OpenRTX
#----meson setup, common for both----
meson setup --cross-file cross_arm.txt build_arm
sp5wwp / CC1200_M17_sample.c
Created Jul 23, 2022
Sample CC1200 code (running on Nucleo F303RE for Module17 to CC1200 eval board interfacing)
View CC1200_M17_sample.c
const uint8_t cc1200_tx_settings[50*3] =
0x00, 0x01, 0x08,
0x00, 0x03, 0x09,
0x00, 0x08, 0x1F,
0x00, 0x0A, 0xC8, //deviation (for RX can be set to lower value like 0x9F)
0x00, 0x0B, 0x00,
0x00, 0x0C, 0x5D,
0x00, 0x0D, 0x00,
sp5wwp /
Created Jul 5, 2022
Saleh model GNU Radio python block
Embedded Python Blocks:
Each time this file is saved, GRC will instantiate the first class it finds
to get ports and parameters of your block. The arguments to __init__ will
be the parameters. All of them are required to have default values!
import numpy as np
from gnuradio import gr
sp5wwp / rnyq_search.m
Created May 6, 2022
Parks-McClellan method for best root-Nyquist filter search
View rnyq_search.m
%Clear all previous variables etc.
clear; clc;
%The excess bandwidth for our reference square root raised cosine filter is
%set to alpha (a), number of taps is _span*sps+1_
%We set the gain of this filter to 1.0 at the passband
%Next, we calculate raised cosine filter based on our reference taps
%and compute the RMS ISI value
global a;
global span;
View S-MSVQ_Codec2.m
% This script:
% * loads wave file with the speech corpus
% * extracts LPC coefficients for every 20 ms frame (with 10 ms overlap)
% * converts LPCs to LSFs and builds a training codebook: Nx10 matrix of floats
% * calculates coarse codebook plus additional fine codebooks for split MSVQ
% * dumps codebook data to a text file (codebooks.txt)
% In case of convergence error - re-run the script.
sp5wwp / SQ_Codec2.m
Last active Jan 31, 2022
Scalar Quantizer codebook generator script for Codec 2 delta LSF encoder
View SQ_Codec2.m
% Scalar Quantizer codebook generator for Codec 2
% Wojciech Kaczmarski, SP5WWP
% M17 Project, 28/01/2022
SPF=160; % 20ms frame at 8kHz = 160 samples per frame
View ax5043.c
//write 8-bit register at "long", 16-bit address
void AX5043_WriteRegister16(uint16_t addr, uint8_t val)
addr |= 0xF000; //MSB set to 1 for writing, 3 further bits has to be set to 1
uint8_t msg[3]={addr>>8, addr&0xFF, val};
HAL_GPIO_WritePin(SPI_CS_GPIO_Port, SPI_CS_Pin, 0);
HAL_SPI_Transmit(&hspi1, msg, 3, 100);
sp5wwp /
Last active Jul 20, 2021
Test M17 weather script
airport=$1 #ICAO airport code
callsign=$2 #repeater/beacon callsign
#Example usage:
#Set correct sound device in line 43!
curl -s ""{$airport}"&format=decoded&date=&hours=0" > metar
sp5wwp /
Last active May 13, 2021
PTT python script for RPi
#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
import sys
import os
import signal
import subprocess
import pigpio
View M17-gr3.7.grc
<?xml version='1.0' encoding='utf-8'?>
<?grc format='1' created='3.7.13'?>
<timestamp>Sun Feb 7 14:51:43 2021</timestamp>