Skip to content

Instantly share code, notes, and snippets.

View jgibbard's full-sized avatar

James jgibbard

View GitHub Profile
@jgibbard
jgibbard / led.py
Created November 3, 2019 21:06
DE10 Nano LED / Key demo
from mmap import mmap
import time
import struct
LWFPGASLVS_OFST = 0xFF200000
LED_PIO_BASE = 0x3000
LED_SPAN = 0x10
KEY_BASE = 0x5000
KEY_SPAN = 0x10
@jgibbard
jgibbard / latLongCalcs.py
Created October 22, 2017 17:44
Functions to calculate APPROXIMATE range, bearing, and XY offset between two lat/long positions
# Functions to calculate APPROXIMATE range, bearing, and XY offset between two lat/long positions
# Uses the Haversine Formula
# See http://www.movable-type.co.uk/scripts/latlong.html for more details
# Math library needed for cos, sine, atan2, sqrt, degrees, and radians
import math
# This is the mean radius of the earth in metres
EARTH_RADIUS = 6371000.0
@jgibbard
jgibbard / pll_test.vhd
Last active March 16, 2017 12:00
VHDL Counter
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; USE ieee.std_logic_arith.all;
--This example shows how different speed signals can be created using both a counter method and a PLL
--PLL are very powerful and can be used to generate both fast or slower clk speeds as well as changing the phase of the signal.
--There are a limited amount of PLLs on an FPGA however a single PLL block in the FPGA can often be used to generate several different frequencies.
entity pll_test is port (
CLOCK_50 : in std_logic;
SW : in std_logic_vector(9 downto 0);
LEDG : OUT std_logic_vector(9 downto 0)
@jgibbard
jgibbard / LCD_LIB.c
Created September 7, 2013 12:14
16x2 Character LCD screen library for PIC microcontrollers
/*
* File: LCD_LIB.c
* Author: James Gibbard
* Description: Display library for operating 16x2 Hitachi HD44780 type displays
* Created on 24 April 2013, 15:23
*/
#include <xc.h>
#include "LCD_LIB.h"
#include <stdio.h>
@jgibbard
jgibbard / frisbee.bgproj
Created May 20, 2014 10:56
Bluetooth Controlled LED Frisbee
<?xml version="1.0" encoding="UTF-8" ?>
<project>
<gatt in="gatt.xml" />
<hardware in="hardware.xml" />
<script in="frisbee.bgs" />
<image out="BLE112.hex" />
<device type="ble112" />
<boot fw="bootuart" />
</project>