Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
Cache Rules Everything Around Me

Jay Kickliter JayKickliter

💭
Cache Rules Everything Around Me
View GitHub Profile
View interlaced_ntsc.v
module interlaced_ntsc (
input wire clk,
input wire [2:0] pixel_data, // 0 ( black )..5 (bright white)
output wire h_sync_out, // single clock tick indicating pixel_y will incrememt on next clock ( for debugging )
output wire v_sync_out, // single clock tick indicating pixel_y will reset to 0 or 1 on next clock, depending on the field ( for debugging )
output wire [9:0] pixel_y, // which line
output wire [9:0] pixel_x,
output wire pixel_is_visible,
output reg [2:0] ntsc_out
@JayKickliter
JayKickliter / .ccls
Created Jul 31, 2020
ccls file for arm cortex-m4 project
View .ccls
%compile_commands.json
--target=armv7m-none-eabi
--sysroot=/Users/jay/.local/gcc-arm-none-eabi-9-2019-q4-major/bin/../arm-none-eabi
-isystem/Users/jay/.local/gcc-arm-none-eabi-9-2019-q4-major/bin/../arm-none-eabi/include/c++/9.2.1
-isystem/Users/jay/.local/gcc-arm-none-eabi-9-2019-q4-major/arm-none-eabi/include/c++/9.2.1/arm-none-eabi/thumb/v7-m/nofp
-mfpu=none
@JayKickliter
JayKickliter / erlang-macos.md
Created Jun 27, 2020
How I compile Erlang from source on macOS
View erlang-macos.md

How I compile Erlang from source on macOS

CFLAGS="-Og -ggdb3 -fno-omit-frame-pointer" \
CXXFLAGS="-Og -ggdb3 -fno-omit-frame-pointer" \
./configure \
      --prefix=$HOME/.local \
      --disable-silent-rules \
      --enable-dynamic-ssl-lib \
      --with-ssl=/usr/local/opt/openssl \
@JayKickliter
JayKickliter / ASan.cmake
Created May 22, 2020
Defines a custom CMake build type ASan for use with the address santizier
View ASan.cmake
# This file provides a custom build type, `CMAKE_BUILD_TYPE_ASAN`
set(CMAKE_C_FLAGS_ASAN "${CMAKE_C_FLAGS_RELWITHDEBINFO} -fsanitize=address -fno-omit-frame-pointer -fno-common" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_ASAN "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -fsanitize=address -fno-omit-frame-pointer -fno-common" CACHE STRING "" FORCE)
set(CMAKE_EXE_LINKER_FLAGS_ASAN "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} -fsanitize=address" CACHE STRING "" FORCE)
set(CMAKE_SHARED_LINKER_FLAGS_ASAN "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO} -fsanitize=address" CACHE STRING "" FORCE)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo" "ASan")
@JayKickliter
JayKickliter / FindErlang.cmake
Created May 22, 2020
Provides CMake `find_package(Erlang)` using modern cmake
View FindErlang.cmake
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
#[=======================================================================[.rst:
FindErlang
-------
Finds Erlang libraries.
Imported Targets
@JayKickliter
JayKickliter / hdb.rs
Last active Apr 14, 2020
Parse from hex, decimal, or binary
View hdb.rs
trait FromHexDecBin: Sized {
type Error;
fn from_hex_dec_bin(s: &str) -> Result<Self, Self::Error>;
}
macro_rules! impl_from_hex_dec_bin {
($T:tt, $E:ty) => {
impl FromHexDecBin for $T {
type Error = $E;
fn from_hex_dec_bin(s: &str) -> Result<$T, Self::Error> {
@JayKickliter
JayKickliter / main.c
Created Feb 27, 2020
Serializing LoRa packets into JSON with parson
View main.c
#include "parson.h"
#include <stdio.h>
/* EXPECTED OUTPUT */
/*
{
"rxpkt": [
{
"chan": 0,
"codr": "4\/5",
@JayKickliter
JayKickliter / tickless.c
Created Jan 16, 2020
FreeRTOS tickless idle with STM32 LPTIM
View tickless.c
#include <assert.h>
#include <stdbool.h>
#include <stdint.h>
#include "system_config_lptim.h"
#include "system_config_power.h"
#include "system_config_irq.h"
#include "FreeRTOS.h"
#include "FreeRTOSConfig.h"
@JayKickliter
JayKickliter / compdb.mk
Created Feb 28, 2018
Generate 'compile_commands.json' in Makefile
View compdb.mk
%.compdb_entry: %.c
@echo " {" > $@
@echo " \"command\": \"cc $(CFLAGS) $(CPPFLAGS) -c $<\"," >> $@
@echo " \"directory\": \"$(CURDIR)\"," >> $@
@echo " \"file\": \"$<\"" >> $@
@echo " }," >> $@
COMPDB_ENTRIES = $(addsuffix .compdb_entry, $(basename $(SOURCES)))
compile_commands.json: $(COMPDB_ENTRIES)
@JayKickliter
JayKickliter / bitacc.rs
Last active Nov 22, 2019
Bit accumulator in Rust
View bitacc.rs
#![feature(const_generics)]
use num::{PrimInt, Zero};
#[derive(Default)]
struct BitAcc<T: Default, const N: u8> {
acc: T,
n: u8,
}
You can’t perform that action at this time.