Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: mruby_mbed_web mirb_mbed
mrbI2C.cpp
00001 #include "mbed.h" 00002 #include "mrbI2C.h" 00003 00004 static struct mrb_data_type mbed_i2c_type = { 00005 "I2C", mrb_mbed_i2c_free 00006 }; 00007 00008 mrb_value 00009 mrb_mbed_i2c_init(mrb_state *mrb, mrb_value self) 00010 { 00011 mrb_int sda, scl; 00012 00013 mrb_get_args(mrb, "ii", &sda, &scl); 00014 PinName pin_sda = static_cast<PinName>(sda); 00015 PinName pin_scl = static_cast<PinName>(scl); 00016 00017 DATA_TYPE(self) = &mbed_i2c_type; 00018 DATA_PTR(self) = new I2C(pin_sda, pin_scl); 00019 00020 return self; 00021 } 00022 00023 void 00024 mrb_mbed_i2c_free(mrb_state *mrb, void *ptr) 00025 { 00026 I2C *obj = static_cast<I2C*>(ptr); 00027 delete obj; 00028 } 00029 00030 mrb_value 00031 mrb_mbed_i2c_freq(mrb_state *mrb, mrb_value self) 00032 { 00033 I2C *obj = static_cast<I2C*>(DATA_PTR(self)); 00034 00035 mrb_int freq; 00036 mrb_get_args(mrb, "i", &freq); 00037 00038 obj->frequency(freq); 00039 00040 return self; 00041 } 00042 00043 mrb_value 00044 mrb_mbed_i2c_start(mrb_state *mrb, mrb_value self) 00045 { 00046 I2C *obj = static_cast<I2C*>(DATA_PTR(self)); 00047 00048 obj->start(); 00049 00050 return self; 00051 } 00052 00053 mrb_value 00054 mrb_mbed_i2c_stop(mrb_state *mrb, mrb_value self) 00055 { 00056 I2C *obj = static_cast<I2C*>(DATA_PTR(self)); 00057 00058 obj->stop(); 00059 00060 return self; 00061 }
Generated on Tue Jul 12 2022 18:00:34 by
1.7.2