Skip to content

Instantly share code, notes, and snippets.

Avatar

Wojciech Kaczmarski sp5wwp

View GitHub Profile
@sp5wwp
sp5wwp / openrtx.sh
Last active Jun 4, 2022
MD380/Module_17 build'n'flash script
View openrtx.sh
#!/bin/bash
#----MD380 & Module17----
git clone --recursive https://github.com/OpenRTX/OpenRTX.git
#----Module17 special by DB9MAT----
#git clone --recursive https://github.com/mathisschmieder/OpenRTX.git
cd OpenRTX
@sp5wwp
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
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
%-----------------------------------------------------------------------%
%consts
SPF=160; % 20ms frame at 8kHz = 160 samples per frame
View ax5043.c
//----------------------funcs----------------------
//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
sp5wwp / weather.sh
Last active Jul 20, 2021
Test M17 weather script
View weather.sh
#!/bin/sh
airport=$1 #ICAO airport code
callsign=$2 #repeater/beacon callsign
#Example usage:
#./this.sh EPMO SR5MS
#Set correct sound device in line 43!
curl -s "https://www.aviationweather.gov/metar/data?ids="{$airport}"&format=decoded&date=&hours=0" > metar
View M17-gr3.7.grc
<?xml version='1.0' encoding='utf-8'?>
<?grc format='1' created='3.7.13'?>
<flow_graph>
<timestamp>Sun Feb 7 14:51:43 2021</timestamp>
<block>
<key>options</key>
<param>
<key>author</key>
<value>SP5WWP</value>
</param>
@sp5wwp
sp5wwp / ptt.py
Last active May 13, 2021
PTT python script for RPi
View ptt.py
#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
import sys
import os
import signal
import subprocess
import pigpio
@sp5wwp
sp5wwp / adf7021.c
Last active Apr 23, 2020
ADF7021 example code for STM32 micros (using HAL)
View adf7021.c
void ADF_WriteReg(uint32_t val)
{
HAL_GPIO_WritePin(SLE_GPIO_Port, SLE_Pin, 0);
HAL_Delay(0);
HAL_GPIO_WritePin(SCLK_GPIO_Port, SCLK_Pin, 0);
HAL_Delay(0);
for(uint8_t i=0; i<32; i++)
{