Skip to content

Instantly share code, notes, and snippets.

View spiccinini's full-sized avatar

Santiago Piccinini spiccinini

View GitHub Profile

Keybase proof

I hereby claim:

  • I am spiccinini on github.
  • I am spiccinini (https://keybase.io/spiccinini) on keybase.
  • I have a public key ASBwHL6OGnnicHUlLArSWwfAZLSOW4qjTEYBBq1aXuzBawo

To claim this, I am signing this object:

@spiccinini
spiccinini / bom_generator.py
Last active December 3, 2020 20:04
KiCad BOM generation with grouped DoNotPlace components
#
# Example python script to generate a BOM from a KiCad generic netlist
#
# Example: Sorted and Grouped CSV BOM
#
FIELDS = [
('Cmp name', lambda c: c.getPartName()),
('Value', lambda c: c.getValue()),
('Manufacturer', None),
@spiccinini
spiccinini / shellinstaller.py
Last active September 22, 2020 00:13
Simple bash shell installer creator. Embeds a directory with files and a run.sh script as a tar.gz inside a shell script that extracts itself and executes run.sh
import argparse
import os
import subprocess
import tempfile
def create(indir, outfile):
script = """set -x
tmpdir=$(mktemp -d)
# unpack
@spiccinini
spiccinini / spectrum_scan_graph.py
Created November 17, 2019 23:16
spectrum scan graph
#!/usr/bin/python
# GPLV2 based on https://github.com/bcopeland/speccy
import struct
import math
class SpectrumFileReader(object):
# spectral scan packet format constants
@spiccinini
spiccinini / spectrum_gather.lua
Created November 17, 2019 18:55
spectrum gather
# manual scanning all channels
function read_file(name)
local f = io.open(name,"r")
local ret = nil
if f ~= nil then
ret = f:read("*all")
f:close()
end
return ret
@spiccinini
spiccinini / rf_link_calc.py
Last active March 6, 2020 22:58
Simple link budget calculation for near sea level links
@spiccinini
spiccinini / lime_workflow.md
Last active October 29, 2019 21:05
LibreMesh development SAn workflow

LibreMesh development SAn workflow

I usually go through the following steps sequentially, first unit testing, then scp/rsync then ipk or full image testing.

Unit testing: Work with unit testing locally

Read the Testing documentation. If the change is only in lua code and I feel confident that the tests cover the cases then I skip directly to Publish.

SCP/Rsync (ast in target iteration)

@spiccinini
spiccinini / gsoc_2019_unittesting_libremesh.md
Last active August 26, 2019 06:54
GSoC 2019 Unit testing LibreMesh
@spiccinini
spiccinini / merge_branch_with_lots_of_changes.rst
Created December 7, 2018 03:11
How to merge lots of changes into master

Cómo mergear un branch con muchos cambios en master

O Como hacer que lo que hiciste en un sprint entre en master

Actualzarse con master