Skip to content

Instantly share code, notes, and snippets.

@kyab
kyab / Is_busy_loop_preempted_by_ruby_scheduler.rb
Last active August 29, 2015 13:56
Test code to ensure GVL unlocked on each time-slice.
a = 1
thread_a_preempted_count = 0
thread_b_preempted_count = 0
t1 = Thread.new do
10000000.times do|i|
if (a != 1)
thread_a_preempted_count += 1
end
@kyab
kyab / Galileo.rb
Last active August 29, 2015 13:56
build_config.rb for Intel Galileo Arduino IDE
# Cross Compiling configuration for Intel Galileo on Arduino environment
# http://arduino.cc/en/ArduinoCertified/IntelGalileo
#
# Requires Arduino IDE for Intel Galileo
MRuby::CrossBuild.new("Galileo") do |conf|
toolchain :gcc
# Mac OS X
# Assume you renamed Arduino.app to Arduino_Galileo.app
@kyab
kyab / explanation
Last active August 29, 2015 13:57
FreeRTOS+mruby
コメントに説明を書きました。
@kyab
kyab / build_config.rb
Created March 20, 2014 12:45
build_config.rb for stm32f4discovery with FreeRTOS mrbgem
MRuby::CrossBuild.new("STM32F4") do |conf|
toolchain :gcc
ARM_TOOLCHAIN_PATH = "/Applications/MapleIDE.app/Contents/Resources/Java/hardware/tools/arm/bin"
LIBMAPLE_PATH = "/Users/koji/tools/AeroQuad/Libmaple/libmaple"
conf.cc do |cc|
cc.command = "#{ARM_TOOLCHAIN_PATH}/arm-none-eabi-gcc"
cc.include_paths << ["#{LIBMAPLE_PATH}/libmaple",
@kyab
kyab / build_config.rb
Last active August 29, 2015 13:57
Sample build_config.rb for Arduino Due with IDE 1.5.6r2
MRuby::CrossBuild.new("Arduino Due") do |conf|
toolchain :gcc
# Mac OS X
ARDUINO_PATH = '/Applications/Arduino.app/Contents/Resources/Java'
# GNU Linux
#ARDUINO_PATH = '/opt/arduino'
BIN_PATH = "#{ARDUINO_PATH}/hardware/tools/g++_arm_none_eabi/bin"
SAM_PATH = "#{ARDUINO_PATH}/hardware/arduino/sam"
TARGET_PATH = "#{SAM_PATH}/variants/arduino_due_x"
@kyab
kyab / build_config.rb
Created April 13, 2014 15:42
build_config.rb for STM32F4Discovery with my modified AeroQuad. 2014,4, April
MRuby::CrossBuild.new("STM32F4") do |conf|
toolchain :gcc
ARM_TOOLCHAIN_PATH = "/Applications/MapleIDE.app/Contents/Resources/Java/hardware/tools/arm/bin"
LIBMAPLE_PATH = "/Users/koji/tools/AeroQuad/Libmaple/libmaple"
conf.cc do |cc|
cc.command = "#{ARM_TOOLCHAIN_PATH}/arm-none-eabi-gcc"
cc.include_paths << ["#{LIBMAPLE_PATH}/libmaple",
@kyab
kyab / gist:b36c6ec1fc96cf32ce2c
Created May 1, 2014 18:44
mruby ignore after block comment
[koji@macbookpro:~/work/mruby]$ cat block_comment.rb
puts "hello"
=begin
here is a comment
=end
puts "bye"
[koji@macbookpro:~/work/mruby]$ ruby block_comment.rb
hello
@kyab
kyab / blink.pde
Created May 11, 2014 08:15
Fixed version of blink.pde:example sketch for mruby-arduino
@kyab
kyab / callc.go
Last active August 29, 2015 14:07
Call gnu readline library, and mruby from golang
package main
/*
#cgo CFLAGS: -I/Users/koji/work/mruby/mruby/include
#cgo LDFLAGS: libmyclib.a -lreadline /Users/koji/work/mruby/mruby/build/host/lib/libmruby.a
#include <stdio.h>
#include <stdlib.h>
#include "myclib.h"
#include <readline/readline.h>
#include <readline/history.h>
@kyab
kyab / fanheater_runner.ino
Last active August 29, 2015 14:09
fanheater_runner.ino
#include <Servo.h>
Servo servo;
unsigned long start_ms;
void moveServo(){
//attach/detach each time to avoid servo noise.
servo.attach(10);