- Install MapSat GPS radio
- Verify sufficient power for electric rover (solar panel or RTG that doesn't fall off in dynamic environments)
- Does gear touch the ground when extended?
- Did you pack enough delta-v? (No.)
- Are you planning on returning?
- Is your shit manned or did that little probe body ruin the day?
- How many crew do you want?
- Did you remember ASAS and SAS?
- Is RCS needed?
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Copyright (c) 2011 Tim Trueman @timtrueman | |
Permission is hereby granted, free of charge, to any person obtaining | |
a copy of this software and associated documentation files (the | |
"Software"), to deal in the Software without restriction, including | |
without limitation the rights to use, copy, modify, merge, publish, | |
distribute, sublicense, and/or sell copies of the Software, and to | |
permit persons to whom the Software is furnished to do so, subject to | |
the following conditions: | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
defaults write com.apple.Preview NSRecentDocumentsLimit 0 | |
defaults delete com.apple.Preview.LSSharedFileList RecentDocuments | |
defaults write com.apple.Preview.LSSharedFileList RecentDocuments -dict-add MaxAmount 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def sendThrottle(self, throttle): | |
data_selection_packet = "DATA0\x19\x00\x00\x00" # throttle | |
data = pack('ffffffff', throttle, throttle, throttle, throttle, throttle, throttle, throttle, throttle) | |
data_selection_packet += data | |
self.sock.sendto(data_selection_packet,(safe_get_ip_address(),49000)) | |
def sendJoystick(self, joystick, rudder): | |
data_selection_packet = "DATA0\x08\x00\x00\x00" # joystick | |
data = pack('ffffffff', joystick[1], joystick[0], rudder, 0, 0, 0, 0, 0) | |
data_selection_packet += data |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// I'm a JavaScript noob, take it easy on me... | |
// mathematical color rotation function thingies | |
function decrease(degree) { return (60 - degree % 60) * 4.25; } | |
function increase(degree) { return (degree % 60) * 4.25; } | |
function zero(degree) { return 0; } | |
function maximum(degree) { return 255; } | |
// We would use better templating/rendering but I'm totally lazy and this is a hacky prototype demo script | |
function render_span(r, g, b, character) { return '<span style="color: rgb(' + Math.round(r) + ', ' + Math.round(g) + ', ' + Math.round(b) + ');">' + character + '</span>'; } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$(document).ready(function() { | |
$(':text,:password').live('focus',function(event) { | |
if (typeof event.target.original_value == "undefined") { | |
event.target.original_value = event.target.value; | |
} | |
if (event.target.value == event.target.original_value) { | |
event.target.value = ''; | |
} | |
$(event.target).css('color','#000') | |
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class CachedCountCloneProxy(object): | |
''' This allows us to monkey-patch count() on QuerySets so we can cache it and speed things up. | |
._clone is called so we have to monkey-patch that first... | |
''' | |
def __init__(self, queryset): | |
self._queryset = queryset | |
self._queryset._clone_original = self._queryset._clone | |
def __call__(self): |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
#encoding:utf-8 | |
from telnetlib import Telnet | |
import time | |
import sys | |
""" | |
Usage |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
#encoding:utf-8 | |
import stompy | |
import time | |
import curses | |
def monitor_stompserver(): | |
try: | |
myscreen = curses.initscr() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# encoding: utf-8 | |
import serial | |
import sys | |
#set up the serial port for action | |
#originally from http://dmt195.wordpress.com/2009/01/19/python-to-interface-with-the-pololu-8-channel-servo-controller/ | |
ser=serial.Serial(port='/dev/tty.Pololu', baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=1) |
NewerOlder