Skip to content

Instantly share code, notes, and snippets.

skypanther /
Last active Jan 12, 2020
LimeLight wrapper class
package frc.robot.components;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import edu.wpi.first.networktables.NetworkTable;
import edu.wpi.first.networktables.NetworkTableEntry;
import edu.wpi.first.networktables.NetworkTableInstance;
LimeLight wrapper class
View CIFilter+Extension.swift
// Created by はるふ on 2017/12/11.
// Copyright © 2017年 ha1f. All rights reserved.
import Foundation
import CoreImage
import AVFoundation
extension CIFilter {
skypanther /
Created Jan 17, 2019
Test camera access on Jetson TX2
import cv2
def main():
cam = open_cam_usb(1, 1024, 768)
# cam = open_cam_onboard(1024, 768) # Use Jetson onboard camera
if cam.isOpened() is False:
print('failed to open camera')
while True:
skypanther /
Created Oct 17, 2018
Trackbars (sliders) in OpenCV
''' - Demonstrating a user of trackbars on OpenCV windows
Author: Tim Poulsen,
License: MIT
Example usage:
python3 -i path/to/image.jpg
skypanther /
Last active Jul 8, 2020
Accessing multiple PiCams with the Arducam adapter
import cv2
from multicam import Multicam
mcam = Multicam(gpio_mode='bcm')
cv2.imshow('Cam A', mcam.capture(cam='a'))
cv2.imshow('Cam B', mcam.capture(cam='b'))
cv2.imshow('Cam C', mcam.capture(cam='c'))
cv2.imshow('Cam D', mcam.capture(cam='d'))
# cv2.imshow('Cam E', mcam.capture(cam='e'))
skypanther / base64EncodeAscii.js
Created Jul 26, 2017
Titanium, alternative base64encode function; not the author, sorry I don't recall the original source for this; also untested in recent Ti versions
View base64EncodeAscii.js
// alternative to built-in base64 encode function, which has outstanding bugs
// alternatively, use:
// String(Ti.Utils.base64encode(theBlob)).replace(/(\r\n|\n|\r)/gm,"");
function Base64EncodeAscii(str) {
if (/([^\u0000-\u00ff])/.test(str)) {
throw 'String must be ASCII';
var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var o1,
skypanther / pushtest.js
Created Apr 20, 2017
GCM push test script
View pushtest.js
1. In the same directory where this js file exists, run `npm install gcm` (to install the required node module)
2. Get your GCM/FCM API Key from the Google APIs Console and paste it in place of "YOUR_GCM_API_KEY" below
2. You'll need your device's push token. You can get this by logging the token when your GCM-enabled app calls
the "success" callback after registering for push services. Paste it in place of "YOUR DEVICE_PUSH_TOKEN" below.
3. Run this with `node pushtest.js`
4. After a moment, you should get the push notification on your device
skypanther /
Created Feb 11, 2017
scratch code for using the Talon SRX encoders
int circumferenceInInches = 123;
int pulsesPerRotation = 1000;
protected void function auto1() {
RobotDrive drive = RobotMap.driveSystemdrive;
CANTalon talon = RobotMap.driveSystemCANTalon1;
//Change control mode of talon, other options are Follower Mode or Voltage Compensation
//Select either QuadEncoder or Pulse Width / Analog, we want Quad

Keybase proof

I hereby claim:

  • I am skypanther on github.
  • I am skypanther ( on keybase.
  • I have a public key whose fingerprint is 902C 1285 BB32 4F2E 0CF0 FBC5 2329 CA36 9FAB 9DE6

To claim this, I am signing this object:

skypanther / Gruntfile.js
Last active May 3, 2017
Grunt - build your Titanium app and upload to Installr
View Gruntfile.js
var _ = require('underscore')._;
module.exports = function(grunt) {
settings: {
appName: 'YourAppName',
ppUuid: 'uuid', /* Provisioning profile UUID */
distributionName: 'cert_name', /* Distr. certificate name */
keystoreLocation: '/Users/path/to/android.keystore', /* path to keystore */
storePassword: 'keystore_password', /* keystore password */