Skip to content

Instantly share code, notes, and snippets.

View andresv's full-sized avatar

Andres Vahter andresv

View GitHub Profile
@andresv
andresv / ingress_manager.rs
Created November 10, 2021 08:35
atat ingress_manager
fn cpin_partial_response() {
static mut RES_Q: BBBuffer<TEST_RES_CAPACITY> = BBBuffer::new();
let (res_p, mut res_c) = unsafe { RES_Q.try_split_framed().unwrap() };
static mut URC_Q: BBBuffer<TEST_URC_CAPACITY> = BBBuffer::new();
let (urc_p, _urc_c) = unsafe { URC_Q.try_split_framed().unwrap() };
static mut COM_Q: queues::ComQueue = Queue::new();
let (_com_p, com_c) = unsafe { COM_Q.split() };
@andresv
andresv / monotonic.rs
Created October 7, 2021 19:57
rtic 0.6 monotonic timer for stm32L0
#![no_main]
#![no_std]
use rtic::rtic_monotonic::{embedded_time, Clock, Fraction, Instant, Monotonic};
use stm32l0xx_hal::pac::TIM21;
use stm32l0xx_hal::timer::Timer;
/// Extended TIM21/16 to 64 bits
pub struct ExtendedMonotonicTimer<TIM> {
_tim: Timer<TIM>,
@andresv
andresv / adc.rs
Created September 18, 2020 12:55
stm32g0 adc using dma
use cortex_m::asm;
use hal::stm32;
use hal::prelude::*;
use hal::analog::adc::{Precision, SampleTime};
use hal::timer::Timer;
use hal::time::Hertz;
pub type AdcBuf = [u16; 4];
pub fn init(adc_dma_buf: &AdcBuf) {
@andresv
andresv / stm32_rtfm_monotonic.rs
Last active October 27, 2020 16:37
stm32g0 rtfm::Monotonic
//! Using STM32G0 TIM2 as monotonic timer
use core::u32;
use core::{
cmp::Ordering,
convert::{Infallible, TryInto},
ops,
};
use defmt::Format;
use hal::stm32;
@andresv
andresv / keybase.md
Created October 12, 2016 06:16
keybase

Keybase proof

I hereby claim:

  • I am andresv on github.
  • I am andresv (https://keybase.io/andresv) on keybase.
  • I have a public key whose fingerprint is 63CE D109 DA53 0973 CD04 5180 30A6 572C 6CA8 65C9

To claim this, I am signing this object:

#!/usr/bin/env python
"""
Scale kicad_mod format footprint.
$ scale_kicad_mod.py 0.3 < old.kicad_mod > new.kicad_mod
The MIT License
Copyright (c) 2013 David Siroky (siroky@dasir.cz)
### INSTALLATION NOTES ###
# 1. Install Homebrew (https://github.com/mxcl/homebrew)
# 2. brew install zsh
# 3. Install OhMyZsh (https://github.com/robbyrussell/oh-my-zsh)
# 4. brew install reattach-to-user-namespace --wrap-pbcopy-pbpaste && brew link reattach-to-user-namespace
# 5. Install iTerm2
# 6. In iTerm2 preferences for your profile set:
# Character Encoding: Unicode (UTF-8)
# Report Terminal Type: xterm-256color
# 7. Put itunesartist and itunestrack into PATH
@andresv
andresv / satellitetracker.py
Last active March 14, 2023 23:37
Pyephem satellite tracker
import sys
import time
import datetime
from math import *
import ephem
# taken from: http://celestrak.com/NORAD/elements/cubesat.txt
ec1_tle = { "name": "ESTCUBE 1", \
@andresv
andresv / Configuration.h
Last active December 15, 2015 08:29
My reprap Marlin firmware configuration.
#ifndef CONFIGURATION_H
#define CONFIGURATION_H
// This configurtion file contains the basic settings.
// Advanced settings can be found in Configuration_adv.h
// BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
//User specified version info of this build to display in [Pronterface, etc] terminal window during startup.
//Implementation of an idea by Prof Braino to inform user that any changes made
//to this build by the user have been successfully uploaded into firmware.
@andresv
andresv / vpif-conf-for-raw-capture-mode.c
Last active December 12, 2015 07:48
Demonstrates how to configure SYS/BIOS VPIF driver for RAW capture mode on C6748LCDK
#include "vpiftransfer.h"
// this must be defined here otherwise there will be Uint32 etc redefine errors
#define _TI_STD_TYPES
#include <cslr/soc_C6748.h>
#include <cslr/cslr_syscfg0_C6748.h>
#include <vpif/include/Fvid.h>
#include <vpif/include/Vpif.h>