Class: OdroidLCD::HW
- Inherits:
-
Object
- Object
- OdroidLCD::HW
- Defined in:
- lib/odroid_lcd/hw.rb,
ext/odroid_lcd/odroid_lcd_hw.c
Instance Method Summary collapse
-
#clear ⇒ Object
—————.
-
#initialize ⇒ Object
constructor
—————–.
- #max_column ⇒ Object
- #max_row ⇒ Object
-
#set_character(row, column, character) ⇒ Object
——————.
Constructor Details
#initialize ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'ext/odroid_lcd/odroid_lcd_hw.c', line 45
static VALUE odlcd_init(VALUE self) {
VALUE lcd_handle;
// Initialize the LCD, raises a RuntimeError if we fail.
wiringPiSetup();
lcd_handle = rb_funcall(self, rb_intern("system_init"), 0);
// We store the wiringPi lcdHandle in an instance variable.
rb_iv_set(self, "@lcd_handle", lcd_handle);
return self;
}
|
Instance Method Details
#clear ⇒ Object
69 70 71 72 |
# File 'ext/odroid_lcd/odroid_lcd_hw.c', line 69 static VALUE odlcd_clear(VALUE self) { lcdClear(FIX2INT(rb_iv_get(self, "@lcd_handle"))); return Qnil; } |
#max_column ⇒ Object
58 59 60 |
# File 'ext/odroid_lcd/odroid_lcd_hw.c', line 58 static VALUE odlcd_max_column(VALUE self) { return INT2FIX(LCD_COL); } |
#max_row ⇒ Object
62 63 64 |
# File 'ext/odroid_lcd/odroid_lcd_hw.c', line 62 static VALUE odlcd_max_row(VALUE self) { return INT2FIX(LCD_ROW); } |
#set_character(row, column, character) ⇒ Object
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'ext/odroid_lcd/odroid_lcd_hw.c', line 83
static VALUE odlcd_set_character(VALUE self, VALUE row, VALUE column, VALUE character) {
int lcdHandle;
if (FIX2INT(row) >= LCD_ROW) {
rb_raise(rb_eRuntimeError, "Invalid row \"%i\", should be less than %i", FIX2INT(row), LCD_ROW);
}
if (FIX2INT(column) >= LCD_COL) {
rb_raise(rb_eRuntimeError, "Invalid column \"%i\", should be less than %i", FIX2INT(column), LCD_COL);
}
lcdHandle = FIX2INT(rb_iv_get(self, "@lcd_handle"));
lcdPosition(lcdHandle, FIX2INT(column), FIX2INT(row));
rb_iv_set(self, "@lcd_handle", INT2FIX(lcdHandle));
lcdPutchar(lcdHandle, NUM2CHR(character));
return Qnil;
}
|