Skip to content

Instantly share code, notes, and snippets.

View kauailabs's full-sized avatar

Kauai Labs kauailabs

View GitHub Profile
/*
* The ledarray_onewire example demonstrates controlling an array of 30 LEDs controlled using the
* "one wire" protocol found in the WS2811, SK6812 and WS2812 LED controllers. Otherwise known as
* "neopixel" arrays, each LED is serially daisy-chained, and the Red, Green and Blue (RGB) values
* for each pixel can range of 0 (off) to 255 (fully on). The values are transmitted via a series
* of pulses, which have different lengths depending whether a "one" or a "zero" symbol is being
* communicated. Once all LED values have been transmitted, a reset signal is transmitted (comprised
* of holding the signal low for at least a "reset time period".
*
* Note that each controller can specify a slightly different duration for the "one" and "zero" symbols,
package video_to_disk;
import edu.wpi.cscore.UsbCamera;
import edu.wpi.cscore.VideoMode;
import edu.wpi.cscore.MjpegServer;
import edu.wpi.cscore.CvSink;
import edu.wpi.cscore.CvSource;
import org.opencv.core.Mat;
import org.opencv.core.Core;
import org.opencv.core.Size;
#!/bin/bash
##########
##
## VMX Robotics Toolkit (VMX-rtk) Build Script
##
## V2.1 Release (1/27/2020) - compatible with Raspbian Buster and Raspberry Pi 4B
##
## NOTE: Before running this script, verify that the swap space on the Raspberry Pi
## has been increased (see comments within this script). This is necessary if building
#include <stdio.h> /* printf() */
#include "VMXPi.h"
int main(int argc, char *argv[])
{
bool realtime = false;
uint8_t update_rate_hz = 50;
VMXPi vmx(realtime, update_rate_hz);
if(vmx.IsOpen()) {
#include <stdio.h> /* printf() */
#include "VMXPi.h"
#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
int main(int argc, char *argv[])
{
bool realtime = false;
uint8_t update_rate_hz = 50;
VMXPi vmx(realtime, update_rate_hz);
if(vmx.IsOpen()) {
#include <stdio.h> /* printf() */
##include "VMXPi.h"
#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
int main(int argc, char *argv[])
{
bool realtime = false;
uint8_t update_rate_hz = 50;
VMXPi vmx(realtime, update_rate_hz);
if(vmx.IsOpen()) {
#include <stdio.h> /* printf() */
#include "VMXPi.h"
#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
int main(int argc, char *argv[])
{
bool realtime = false;
uint8_t update_rate_hz = 50;
VMXPi vmx(realtime, update_rate_hz);
#include <stdio.h> /* printf() */
#include "VMXPi.h"
int main(int argc, char *argv[])
{
bool realtime = false;
uint8_t update_rate_hz = 50;
VMXPi vmx(realtime, update_rate_hz);
if(vmx.IsOpen()) {
for ( int i = 0; i < 100; i++) {
#include <stdio.h> /* printf() */
#include "VMXPi.h"
#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
static void VMXIOInterruptHandler(uint32_t io_interrupt_num,
InterruptEdgeType edge,
void* param,
uint64_t timestamp_us)
{
#include <stdio.h> /* printf() */
#include "VMXPi.h"
class AHRSCallback : public ITimestampedDataSubscriber
{
AHRS& ahrs;
public:
AHRSCallback(AHRS& ahrs_ref) :
ahrs(ahrs_ref) {}
virtual ~AHRSCallback() {}