pigpio 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +7 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +45 -0
  9. data/Rakefile +21 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/docs/Pigpio.html +2743 -0
  13. data/docs/Pigpio/IF.html +6894 -0
  14. data/docs/created.rid +5 -0
  15. data/docs/css/fonts.css +167 -0
  16. data/docs/css/rdoc.css +590 -0
  17. data/docs/fonts/Lato-Light.ttf +0 -0
  18. data/docs/fonts/Lato-LightItalic.ttf +0 -0
  19. data/docs/fonts/Lato-Regular.ttf +0 -0
  20. data/docs/fonts/Lato-RegularItalic.ttf +0 -0
  21. data/docs/fonts/SourceCodePro-Bold.ttf +0 -0
  22. data/docs/fonts/SourceCodePro-Regular.ttf +0 -0
  23. data/docs/images/add.png +0 -0
  24. data/docs/images/arrow_up.png +0 -0
  25. data/docs/images/brick.png +0 -0
  26. data/docs/images/brick_link.png +0 -0
  27. data/docs/images/bug.png +0 -0
  28. data/docs/images/bullet_black.png +0 -0
  29. data/docs/images/bullet_toggle_minus.png +0 -0
  30. data/docs/images/bullet_toggle_plus.png +0 -0
  31. data/docs/images/date.png +0 -0
  32. data/docs/images/delete.png +0 -0
  33. data/docs/images/find.png +0 -0
  34. data/docs/images/loadingAnimation.gif +0 -0
  35. data/docs/images/macFFBgHack.png +0 -0
  36. data/docs/images/package.png +0 -0
  37. data/docs/images/page_green.png +0 -0
  38. data/docs/images/page_white_text.png +0 -0
  39. data/docs/images/page_white_width.png +0 -0
  40. data/docs/images/plugin.png +0 -0
  41. data/docs/images/ruby.png +0 -0
  42. data/docs/images/tag_blue.png +0 -0
  43. data/docs/images/tag_green.png +0 -0
  44. data/docs/images/transparent.png +0 -0
  45. data/docs/images/wrench.png +0 -0
  46. data/docs/images/wrench_orange.png +0 -0
  47. data/docs/images/zoom.png +0 -0
  48. data/docs/index.html +82 -0
  49. data/docs/js/darkfish.js +161 -0
  50. data/docs/js/jquery.js +4 -0
  51. data/docs/js/navigation.js +142 -0
  52. data/docs/js/navigation.js.gz +0 -0
  53. data/docs/js/search.js +109 -0
  54. data/docs/js/search_index.js +1 -0
  55. data/docs/js/search_index.js.gz +0 -0
  56. data/docs/js/searcher.js +228 -0
  57. data/docs/js/searcher.js.gz +0 -0
  58. data/docs/table_of_contents.html +632 -0
  59. data/ext/pigpio/extconf.rb +5 -0
  60. data/ext/pigpio/pigpio.c +3547 -0
  61. data/lib/pigpio.rb +6 -0
  62. data/lib/pigpio/constant.rb +732 -0
  63. data/lib/pigpio/version.rb +3 -0
  64. data/pigpio.gemspec +45 -0
  65. metadata +168 -0
Binary file
data/docs/js/search.js ADDED
@@ -0,0 +1,109 @@
1
+ Search = function(data, input, result) {
2
+ this.data = data;
3
+ this.$input = $(input);
4
+ this.$result = $(result);
5
+
6
+ this.$current = null;
7
+ this.$view = this.$result.parent();
8
+ this.searcher = new Searcher(data.index);
9
+ this.init();
10
+ }
11
+
12
+ Search.prototype = $.extend({}, Navigation, new function() {
13
+ var suid = 1;
14
+
15
+ this.init = function() {
16
+ var _this = this;
17
+ var observer = function(e) {
18
+ switch(e.originalEvent.keyCode) {
19
+ case 38: // Event.KEY_UP
20
+ case 40: // Event.KEY_DOWN
21
+ return;
22
+ }
23
+ _this.search(_this.$input[0].value);
24
+ };
25
+ this.$input.keyup(observer);
26
+ this.$input.click(observer); // mac's clear field
27
+
28
+ this.searcher.ready(function(results, isLast) {
29
+ _this.addResults(results, isLast);
30
+ })
31
+
32
+ this.initNavigation();
33
+ this.setNavigationActive(false);
34
+ }
35
+
36
+ this.search = function(value, selectFirstMatch) {
37
+ value = jQuery.trim(value).toLowerCase();
38
+ if (value) {
39
+ this.setNavigationActive(true);
40
+ } else {
41
+ this.setNavigationActive(false);
42
+ }
43
+
44
+ if (value == '') {
45
+ this.lastQuery = value;
46
+ this.$result.empty();
47
+ this.$result.attr('aria-expanded', 'false');
48
+ this.setNavigationActive(false);
49
+ } else if (value != this.lastQuery) {
50
+ this.lastQuery = value;
51
+ this.$result.attr('aria-busy', 'true');
52
+ this.$result.attr('aria-expanded', 'true');
53
+ this.firstRun = true;
54
+ this.searcher.find(value);
55
+ }
56
+ }
57
+
58
+ this.addResults = function(results, isLast) {
59
+ var target = this.$result.get(0);
60
+ if (this.firstRun && (results.length > 0 || isLast)) {
61
+ this.$current = null;
62
+ this.$result.empty();
63
+ }
64
+
65
+ for (var i=0, l = results.length; i < l; i++) {
66
+ var item = this.renderItem.call(this, results[i]);
67
+ item.setAttribute('id', 'search-result-' + target.childElementCount);
68
+ target.appendChild(item);
69
+ };
70
+
71
+ if (this.firstRun && results.length > 0) {
72
+ this.firstRun = false;
73
+ this.$current = $(target.firstChild);
74
+ this.$current.addClass('search-selected');
75
+ }
76
+ if (jQuery.browser.msie) this.$element[0].className += '';
77
+
78
+ if (isLast) this.$result.attr('aria-busy', 'false');
79
+ }
80
+
81
+ this.move = function(isDown) {
82
+ if (!this.$current) return;
83
+ var $next = this.$current[isDown ? 'next' : 'prev']();
84
+ if ($next.length) {
85
+ this.$current.removeClass('search-selected');
86
+ $next.addClass('search-selected');
87
+ this.$input.attr('aria-activedescendant', $next.attr('id'));
88
+ this.scrollIntoView($next[0], this.$view[0]);
89
+ this.$current = $next;
90
+ this.$input.val($next[0].firstChild.firstChild.text);
91
+ this.$input.select();
92
+ }
93
+ return true;
94
+ }
95
+
96
+ this.hlt = function(html) {
97
+ return this.escapeHTML(html).
98
+ replace(/\u0001/g, '<em>').
99
+ replace(/\u0002/g, '</em>');
100
+ }
101
+
102
+ this.escapeHTML = function(html) {
103
+ return html.replace(/[&<>]/g, function(c) {
104
+ return '&#' + c.charCodeAt(0) + ';';
105
+ });
106
+ }
107
+
108
+ });
109
+
@@ -0,0 +1 @@
1
+ var search_data = {"index":{"searchIndex":["pigpio","if","bb_i2c_close()","bb_i2c_open()","bb_i2c_zip()","bb_serial_invert()","bb_serial_read()","bb_serial_read_close()","bb_serial_read_open()","bb_spi_close()","bb_spi_open()","bb_spi_xfer()","bsc_i2c()","bsc_xfer()","callback()","callback_cancel()","clear_bank_1()","clear_bank_2()","delete_script()","event_callback()","event_callback_cancel()","event_trigger()","get_pwm_dutycycle()","get_pwm_frequency()","get_pwm_range()","get_pwm_real_range()","get_current_tick()","get_hardware_revision()","get_mode()","get_pad_strength()","get_pigpio_version()","get_servo_pulsewidth()","gpio_read()","gpio_trigger()","gpio_write()","hardware_pwm()","hardware_clock()","i2c_block_process_call()","i2c_close()","i2c_open()","i2c_process_call()","i2c_read_block_data()","i2c_read_byte()","i2c_read_byte_data()","i2c_read_device()","i2c_read_i2c_block_data()","i2c_read_word_data()","i2c_write_block_data()","i2c_write_byte()","i2c_write_byte_data()","i2c_write_device()","i2c_write_i2c_block_data()","i2c_write_quick()","i2c_write_word_data()","i2c_zip()","notify_begin()","notify_close()","notify_open()","notify_pause()","pigpio_error()","pigpio_start()","pigpio_start_local()","pigpio_stop()","pigpiod_if_version()","read_bank_1()","read_bank_2()","run_script()","script_status()","serial_close()","serial_data_available()","serial_open()","serial_read()","serial_read_byte()","serial_write()","serial_write_byte()","set_pwm_dutycycle()","set_pwm_frequency()","set_pwm_range()","set_bank_1()","set_bank_2()","set_glitch_filter()","set_mode()","set_noise_filter()","set_pad_strength()","set_pull_up_down()","set_servo_pulsewidth()","set_watchdog()","spi_close()","spi_open()","spi_read()","spi_write()","spi_xfer()","stop_script()","store_script()","time_time()","wait_for_edge()","wait_for_event()","wave_add_generic()","wave_add_new()","wave_add_serial()","wave_chain()","wave_clear()","wave_create()","wave_delete()","wave_get_cbs()","wave_get_high_cbs()","wave_get_high_micros()","wave_get_high_pulses()","wave_get_max_cbs()","wave_get_max_micros()","wave_get_max_pulses()","wave_get_micros()","wave_get_pulses()","wave_send_once()","wave_send_repeat()","wave_send_using_mode()","wave_tx_at()","wave_tx_busy()","wave_tx_stop()"],"longSearchIndex":["pigpio","pigpio::if","pigpio::if::bb_i2c_close()","pigpio::if::bb_i2c_open()","pigpio::if::bb_i2c_zip()","pigpio::if::bb_serial_invert()","pigpio::if::bb_serial_read()","pigpio::if::bb_serial_read_close()","pigpio::if::bb_serial_read_open()","pigpio::if::bb_spi_close()","pigpio::if::bb_spi_open()","pigpio::if::bb_spi_xfer()","pigpio::if::bsc_i2c()","pigpio::if::bsc_xfer()","pigpio::if::callback()","pigpio::if::callback_cancel()","pigpio::if::clear_bank_1()","pigpio::if::clear_bank_2()","pigpio::if::delete_script()","pigpio::if::event_callback()","pigpio::if::event_callback_cancel()","pigpio::if::event_trigger()","pigpio::if::get_pwm_dutycycle()","pigpio::if::get_pwm_frequency()","pigpio::if::get_pwm_range()","pigpio::if::get_pwm_real_range()","pigpio::if::get_current_tick()","pigpio::if::get_hardware_revision()","pigpio::if::get_mode()","pigpio::if::get_pad_strength()","pigpio::if::get_pigpio_version()","pigpio::if::get_servo_pulsewidth()","pigpio::if::gpio_read()","pigpio::if::gpio_trigger()","pigpio::if::gpio_write()","pigpio::if::hardware_pwm()","pigpio::if::hardware_clock()","pigpio::if::i2c_block_process_call()","pigpio::if::i2c_close()","pigpio::if::i2c_open()","pigpio::if::i2c_process_call()","pigpio::if::i2c_read_block_data()","pigpio::if::i2c_read_byte()","pigpio::if::i2c_read_byte_data()","pigpio::if::i2c_read_device()","pigpio::if::i2c_read_i2c_block_data()","pigpio::if::i2c_read_word_data()","pigpio::if::i2c_write_block_data()","pigpio::if::i2c_write_byte()","pigpio::if::i2c_write_byte_data()","pigpio::if::i2c_write_device()","pigpio::if::i2c_write_i2c_block_data()","pigpio::if::i2c_write_quick()","pigpio::if::i2c_write_word_data()","pigpio::if::i2c_zip()","pigpio::if::notify_begin()","pigpio::if::notify_close()","pigpio::if::notify_open()","pigpio::if::notify_pause()","pigpio::if::pigpio_error()","pigpio::if::pigpio_start()","pigpio::if::pigpio_start_local()","pigpio::if::pigpio_stop()","pigpio::if::pigpiod_if_version()","pigpio::if::read_bank_1()","pigpio::if::read_bank_2()","pigpio::if::run_script()","pigpio::if::script_status()","pigpio::if::serial_close()","pigpio::if::serial_data_available()","pigpio::if::serial_open()","pigpio::if::serial_read()","pigpio::if::serial_read_byte()","pigpio::if::serial_write()","pigpio::if::serial_write_byte()","pigpio::if::set_pwm_dutycycle()","pigpio::if::set_pwm_frequency()","pigpio::if::set_pwm_range()","pigpio::if::set_bank_1()","pigpio::if::set_bank_2()","pigpio::if::set_glitch_filter()","pigpio::if::set_mode()","pigpio::if::set_noise_filter()","pigpio::if::set_pad_strength()","pigpio::if::set_pull_up_down()","pigpio::if::set_servo_pulsewidth()","pigpio::if::set_watchdog()","pigpio::if::spi_close()","pigpio::if::spi_open()","pigpio::if::spi_read()","pigpio::if::spi_write()","pigpio::if::spi_xfer()","pigpio::if::stop_script()","pigpio::if::store_script()","pigpio::if::time_time()","pigpio::if::wait_for_edge()","pigpio::if::wait_for_event()","pigpio::if::wave_add_generic()","pigpio::if::wave_add_new()","pigpio::if::wave_add_serial()","pigpio::if::wave_chain()","pigpio::if::wave_clear()","pigpio::if::wave_create()","pigpio::if::wave_delete()","pigpio::if::wave_get_cbs()","pigpio::if::wave_get_high_cbs()","pigpio::if::wave_get_high_micros()","pigpio::if::wave_get_high_pulses()","pigpio::if::wave_get_max_cbs()","pigpio::if::wave_get_max_micros()","pigpio::if::wave_get_max_pulses()","pigpio::if::wave_get_micros()","pigpio::if::wave_get_pulses()","pigpio::if::wave_send_once()","pigpio::if::wave_send_repeat()","pigpio::if::wave_send_using_mode()","pigpio::if::wave_tx_at()","pigpio::if::wave_tx_busy()","pigpio::if::wave_tx_stop()"],"info":[["Pigpio","","Pigpio.html","","<p>This class has some constances for pigpio library.\n"],["Pigpio::IF","","Pigpio/IF.html","","<p>This module is a ruby binding to pigpio library.\n"],["bb_i2c_close","Pigpio::IF","Pigpio/IF.html#method-c-bb_i2c_close","(p1, p2)","<p>This function stops bit banging I2C on a pair of GPIO previously opened\nwith [<strong>bb_i2c_open</strong>].\n<p>. .\n\n<pre> pi: &gt;=0 ...</pre>\n"],["bb_i2c_open","Pigpio::IF","Pigpio/IF.html#method-c-bb_i2c_open","(p1, p2, p3, p4)","<p>This function selects a pair of GPIO for bit banging I2C at a specified\nbaud rate.\n<p>Bit banging I2C allows …\n"],["bb_i2c_zip","Pigpio::IF","Pigpio/IF.html#method-c-bb_i2c_zip","(p1, p2, p3, p4)","<p>This function executes a sequence of bit banged I2C operations. The\noperations to be performed are specified …\n"],["bb_serial_invert","Pigpio::IF","Pigpio/IF.html#method-c-bb_serial_invert","(p1, p2, p3)","<p>This function inverts serial logic for big bang serial reads.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["bb_serial_read","Pigpio::IF","Pigpio/IF.html#method-c-bb_serial_read","(p1, p2, p3)","<p>This function copies up to bufSize bytes of data read from the bit bang\nserial cyclic buffer to the buffer …\n"],["bb_serial_read_close","Pigpio::IF","Pigpio/IF.html#method-c-bb_serial_read_close","(p1, p2)","<p>This function closes a GPIO for bit bang reading of serial data.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["bb_serial_read_open","Pigpio::IF","Pigpio/IF.html#method-c-bb_serial_read_open","(p1, p2, p3, p4)","<p>This function opens a GPIO for bit bang reading of serial data.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["bb_spi_close","Pigpio::IF","Pigpio/IF.html#method-c-bb_spi_close","(p1, p2)","<p>This function stops bit banging SPI on a set of GPIO opened with\n[<strong>bbSPIOpen</strong>].\n<p>. .\n\n<pre>pi: &gt;=0 (as returned ...</pre>\n"],["bb_spi_open","Pigpio::IF","Pigpio/IF.html#method-c-bb_spi_open","(p1, p2, p3, p4, p5, p6, p7)","<p>This function selects a set of GPIO for bit banging SPI at a specified baud\nrate.\n<p>. .\n\n<pre> pi: &gt;=0 (as ...</pre>\n"],["bb_spi_xfer","Pigpio::IF","Pigpio/IF.html#method-c-bb_spi_xfer","(p1, p2, p3)","<p>This function executes a bit banged SPI transfer.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\n ...</pre>\n"],["bsc_i2c","Pigpio::IF","Pigpio/IF.html#method-c-bsc_i2c","(p1, p2, p3)","<p>This function allows the Pi to act as a slave I2C device.\n<p>The data bytes (if any) are written to the …\n"],["bsc_xfer","Pigpio::IF","Pigpio/IF.html#method-c-bsc_xfer","(p1, p2)","<p>This function provides a low-level interface to the SPI/I2C Slave\nperipheral. This peripheral allows …\n"],["callback","Pigpio::IF","Pigpio/IF.html#method-c-callback","(*args)","<p>This function initialises a new callback.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\nuser_gpio: ...</pre>\n"],["callback_cancel","Pigpio::IF","Pigpio/IF.html#method-c-callback_cancel","(p1)","<p>This function cancels a callback identified by its id.\n<p>. .\n\n<pre>callback_id: &gt;=0, as returned by a call to [*callback*] ...</pre>\n"],["clear_bank_1","Pigpio::IF","Pigpio/IF.html#method-c-clear_bank_1","(p1, p2)","<p>Clears GPIO 0-31 if the corresponding bit in bits is set.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["clear_bank_2","Pigpio::IF","Pigpio/IF.html#method-c-clear_bank_2","(p1, p2)","<p>Clears GPIO 32-53 if the corresponding bit (0-21) in bits is set.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["delete_script","Pigpio::IF","Pigpio/IF.html#method-c-delete_script","(p1, p2)","<p>This function deletes a stored script.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\nscript_id: ...</pre>\n"],["event_callback","Pigpio::IF","Pigpio/IF.html#method-c-event_callback","(*args)","<p>This function initialises an event callback.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\nevent: 0-31.</pre>\n"],["event_callback_cancel","Pigpio::IF","Pigpio/IF.html#method-c-event_callback_cancel","(p1)","<p>This function cancels an event callback identified by its id.\n<p>. .\n\n<pre>callback_id: &gt;=0, as returned by a call ...</pre>\n"],["event_trigger","Pigpio::IF","Pigpio/IF.html#method-c-event_trigger","(p1, p2)","<p>This function signals the occurrence of an event.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\nevent: ...</pre>\n"],["get_PWM_dutycycle","Pigpio::IF","Pigpio/IF.html#method-c-get_PWM_dutycycle","(p1, p2)","<p>Return the PWM dutycycle in use on a GPIO.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\nuser_gpio: ...</pre>\n"],["get_PWM_frequency","Pigpio::IF","Pigpio/IF.html#method-c-get_PWM_frequency","(p1, p2)","<p>Get the frequency of PWM being used on the GPIO.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["get_PWM_range","Pigpio::IF","Pigpio/IF.html#method-c-get_PWM_range","(p1, p2)","<p>Get the range of PWM values being used on the GPIO.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["get_PWM_real_range","Pigpio::IF","Pigpio/IF.html#method-c-get_PWM_real_range","(p1, p2)","<p>Get the real underlying range of PWM values being used on the GPIO.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by ...</pre>\n"],["get_current_tick","Pigpio::IF","Pigpio/IF.html#method-c-get_current_tick","(p1)","<p>Gets the current system tick.\n<p>. .\n\n<pre>pi: &gt;=0 (as returned by [*pigpio_start*]).</pre>\n"],["get_hardware_revision","Pigpio::IF","Pigpio/IF.html#method-c-get_hardware_revision","(p1)","<p>Get the Pi&#39;s hardware revision number.\n<p>. .\n\n<pre>pi: &gt;=0 (as returned by [*pigpio_start*]).</pre>\n"],["get_mode","Pigpio::IF","Pigpio/IF.html#method-c-get_mode","(p1, p2)","<p>Get the GPIO mode.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\ngpio: 0-53.</pre>\n"],["get_pad_strength","Pigpio::IF","Pigpio/IF.html#method-c-get_pad_strength","(p1, p2)","<p>This function returns the pad drive strength in mA.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\npad: ...</pre>\n"],["get_pigpio_version","Pigpio::IF","Pigpio/IF.html#method-c-get_pigpio_version","(p1)","<p>Returns the pigpio version.\n<p>. .\n\n<pre>pi: &gt;=0 (as returned by [*pigpio_start*]).</pre>\n"],["get_servo_pulsewidth","Pigpio::IF","Pigpio/IF.html#method-c-get_servo_pulsewidth","(p1, p2)","<p>Return the servo pulsewidth in use on a GPIO.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\nuser_gpio: ...</pre>\n"],["gpio_read","Pigpio::IF","Pigpio/IF.html#method-c-gpio_read","(p1, p2)","<p>Read the GPIO level.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\ngpio:0-53.</pre>\n"],["gpio_trigger","Pigpio::IF","Pigpio/IF.html#method-c-gpio_trigger","(p1, p2, p3, p4)","<p>This function sends a trigger pulse to a GPIO. The GPIO is set to level\nfor pulseLen microseconds and …\n"],["gpio_write","Pigpio::IF","Pigpio/IF.html#method-c-gpio_write","(p1, p2, p3)","<p>Write the GPIO level.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\n gpio: 0-53.\nlevel: 0, 1.</pre>\n"],["hardware_PWM","Pigpio::IF","Pigpio/IF.html#method-c-hardware_PWM","(p1, p2, p3, p4)","<p>Starts hardware PWM on a GPIO at the specified frequency and dutycycle.\nFrequencies above 30MHz are unlikely …\n"],["hardware_clock","Pigpio::IF","Pigpio/IF.html#method-c-hardware_clock","(p1, p2, p3)","<p>Starts a hardware clock on a GPIO at the specified frequency. Frequencies\nabove 30MHz are unlikely to …\n"],["i2c_block_process_call","Pigpio::IF","Pigpio/IF.html#method-c-i2c_block_process_call","(p1, p2, p3, p4)","<p>This writes data bytes to the specified register of the device associated\nwith handle and reads a device …\n"],["i2c_close","Pigpio::IF","Pigpio/IF.html#method-c-i2c_close","(p1, p2)","<p>This closes the I2C device associated with the handle.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["i2c_open","Pigpio::IF","Pigpio/IF.html#method-c-i2c_open","(p1, p2, p3, p4)","<p>This returns a handle for the device at address i2c_addr on bus i2c_bus.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned ...</pre>\n"],["i2c_process_call","Pigpio::IF","Pigpio/IF.html#method-c-i2c_process_call","(p1, p2, p3, p4)","<p>This writes 16 bits of data to the specified register of the device\nassociated with handle and and reads …\n"],["i2c_read_block_data","Pigpio::IF","Pigpio/IF.html#method-c-i2c_read_block_data","(p1, p2, p3)","<p>This reads a block of up to 32 bytes from the specified register of the\ndevice associated with handle. …\n"],["i2c_read_byte","Pigpio::IF","Pigpio/IF.html#method-c-i2c_read_byte","(p1, p2)","<p>This reads a single byte from the device associated with handle.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["i2c_read_byte_data","Pigpio::IF","Pigpio/IF.html#method-c-i2c_read_byte_data","(p1, p2, p3)","<p>This reads a single byte from the specified register of the device\nassociated with handle.\n<p>. .\n\n<pre> pi: ...</pre>\n"],["i2c_read_device","Pigpio::IF","Pigpio/IF.html#method-c-i2c_read_device","(p1, p2, p3)","<p>This reads count bytes from the raw device into buf.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["i2c_read_i2c_block_data","Pigpio::IF","Pigpio/IF.html#method-c-i2c_read_i2c_block_data","(p1, p2, p3, p4)","<p>This reads count bytes from the specified register of the device associated\nwith handle . The count …\n"],["i2c_read_word_data","Pigpio::IF","Pigpio/IF.html#method-c-i2c_read_word_data","(p1, p2, p3)","<p>This reads a single 16 bit word from the specified register of the device\nassociated with handle.\n<p>. . …\n"],["i2c_write_block_data","Pigpio::IF","Pigpio/IF.html#method-c-i2c_write_block_data","(p1, p2, p3, p4)","<p>This writes up to 32 bytes to the specified register of the device\nassociated with handle.\n<p>. .\n\n<pre> pi: ...</pre>\n"],["i2c_write_byte","Pigpio::IF","Pigpio/IF.html#method-c-i2c_write_byte","(p1, p2, p3)","<p>This sends a single byte to the device associated with handle.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["i2c_write_byte_data","Pigpio::IF","Pigpio/IF.html#method-c-i2c_write_byte_data","(p1, p2, p3, p4)","<p>This writes a single byte to the specified register of the device\nassociated with handle.\n<p>. .\n\n<pre> pi: ...</pre>\n"],["i2c_write_device","Pigpio::IF","Pigpio/IF.html#method-c-i2c_write_device","(p1, p2, p3)","<p>This writes count bytes from buf to the raw device.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["i2c_write_i2c_block_data","Pigpio::IF","Pigpio/IF.html#method-c-i2c_write_i2c_block_data","(p1, p2, p3, p4)","<p>This writes 1 to 32 bytes to the specified register of the device\nassociated with handle.\n<p>. .\n\n<pre> pi: ...</pre>\n"],["i2c_write_quick","Pigpio::IF","Pigpio/IF.html#method-c-i2c_write_quick","(p1, p2, p3)","<p>This sends a single bit (in the Rd/Wr bit) to the device associated with\nhandle.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned ...</pre>\n"],["i2c_write_word_data","Pigpio::IF","Pigpio/IF.html#method-c-i2c_write_word_data","(p1, p2, p3, p4)","<p>This writes a single 16 bit word to the specified register of the device\nassociated with handle.\n<p>. .\n\n<pre> ...</pre>\n"],["i2c_zip","Pigpio::IF","Pigpio/IF.html#method-c-i2c_zip","(p1, p2, p3, p4)","<p>This function executes a sequence of I2C operations. The operations to be\nperformed are specified by …\n"],["notify_begin","Pigpio::IF","Pigpio/IF.html#method-c-notify_begin","(p1, p2, p3)","<p>Start notifications on a previously opened handle.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\nhandle: ...</pre>\n"],["notify_close","Pigpio::IF","Pigpio/IF.html#method-c-notify_close","(p1, p2)","<p>Stop notifications on a previously opened handle and release the handle for\nreuse.\n<p>. .\n\n<pre> pi: &gt;=0 (as ...</pre>\n"],["notify_open","Pigpio::IF","Pigpio/IF.html#method-c-notify_open","(p1)","<p>Get a free notification handle.\n<p>. .\n\n<pre>pi: &gt;=0 (as returned by [*pigpio_start*]).</pre>\n"],["notify_pause","Pigpio::IF","Pigpio/IF.html#method-c-notify_pause","(p1, p2)","<p>Pause notifications on a previously opened handle.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\nhandle: ...</pre>\n"],["pigpio_error","Pigpio::IF","Pigpio/IF.html#method-c-pigpio_error","(p1)","<p>Return a text description for an error code.\n<p>. .\n\n<pre>errnum: the error code.</pre>\n"],["pigpio_start","Pigpio::IF","Pigpio/IF.html#method-c-pigpio_start","(p1, p2)","<p>Connect to the pigpio daemon. Reserving command and notification streams.\n<p>. .\n\n<pre>addrStr: specifies the host ...</pre>\n"],["pigpio_start_local","Pigpio::IF","Pigpio/IF.html#method-c-pigpio_start_local","()",""],["pigpio_stop","Pigpio::IF","Pigpio/IF.html#method-c-pigpio_stop","(p1)","<p>Terminates the connection to a pigpio daemon and releases resources used by\nthe library.\n<p>. .\n\n<pre>pi: &gt;=0 (as ...</pre>\n"],["pigpiod_if_version","Pigpio::IF","Pigpio/IF.html#method-c-pigpiod_if_version","()","<p>Return the pigpiod_if2 version.\n<p>See also: pigpio site\n"],["read_bank_1","Pigpio::IF","Pigpio/IF.html#method-c-read_bank_1","(p1)","<p>Read the levels of the bank 1 GPIO (GPIO 0-31).\n<p>. .\n\n<pre>pi: &gt;=0 (as returned by [*pigpio_start*]).</pre>\n"],["read_bank_2","Pigpio::IF","Pigpio/IF.html#method-c-read_bank_2","(p1)","<p>Read the levels of the bank 2 GPIO (GPIO 32-53).\n<p>. .\n\n<pre>pi: &gt;=0 (as returned by [*pigpio_start*]).</pre>\n"],["run_script","Pigpio::IF","Pigpio/IF.html#method-c-run_script","(p1, p2, p3)","<p>This function runs a stored script.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\nscript_id: &gt;=0, ...</pre>\n"],["script_status","Pigpio::IF","Pigpio/IF.html#method-c-script_status","(p1, p2)","<p>This function returns the run status of a stored script as well as the\ncurrent values of parameters 0 …\n"],["serial_close","Pigpio::IF","Pigpio/IF.html#method-c-serial_close","(p1, p2)","<p>This function closes the serial device associated with handle.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["serial_data_available","Pigpio::IF","Pigpio/IF.html#method-c-serial_data_available","(p1, p2)","<p>Returns the number of bytes available to be read from the device associated\nwith handle.\n<p>. .\n\n<pre> pi: &gt;=0 ...</pre>\n"],["serial_open","Pigpio::IF","Pigpio/IF.html#method-c-serial_open","(p1, p2, p3, p4)","<p>This function opens a serial device at a specified baud rate with specified\nflags. The device name must …\n"],["serial_read","Pigpio::IF","Pigpio/IF.html#method-c-serial_read","(p1, p2, p3)","<p>This function reads up to count bytes from the the serial port associated\nwith handle and writes them …\n"],["serial_read_byte","Pigpio::IF","Pigpio/IF.html#method-c-serial_read_byte","(p1, p2)","<p>This function reads a byte from the serial port associated with handle.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by ...</pre>\n"],["serial_write","Pigpio::IF","Pigpio/IF.html#method-c-serial_write","(p1, p2, p3)","<p>This function writes count bytes from buf to the the serial port associated\nwith handle.\n<p>. .\n\n<pre> pi: &gt;=0 ...</pre>\n"],["serial_write_byte","Pigpio::IF","Pigpio/IF.html#method-c-serial_write_byte","(p1, p2, p3)","<p>This function writes bVal to the serial port associated with handle.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["set_PWM_dutycycle","Pigpio::IF","Pigpio/IF.html#method-c-set_PWM_dutycycle","(p1, p2, p3)","<p>Start (non-zero dutycycle) or stop (0) PWM pulses on the GPIO.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["set_PWM_frequency","Pigpio::IF","Pigpio/IF.html#method-c-set_PWM_frequency","(p1, p2, p3)","<p>Set the frequency (in Hz) of the PWM to be used on the GPIO.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["set_PWM_range","Pigpio::IF","Pigpio/IF.html#method-c-set_PWM_range","(p1, p2, p3)","<p>Set the range of PWM values to be used on the GPIO.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["set_bank_1","Pigpio::IF","Pigpio/IF.html#method-c-set_bank_1","(p1, p2)","<p>Sets GPIO 0-31 if the corresponding bit in bits is set.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["set_bank_2","Pigpio::IF","Pigpio/IF.html#method-c-set_bank_2","(p1, p2)","<p>Sets GPIO 32-53 if the corresponding bit (0-21) in bits is set.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["set_glitch_filter","Pigpio::IF","Pigpio/IF.html#method-c-set_glitch_filter","(p1, p2, p3)","<p>Sets a glitch filter on a GPIO.\n<p>Level changes on the GPIO are not reported unless the level has been stable\n…\n"],["set_mode","Pigpio::IF","Pigpio/IF.html#method-c-set_mode","(p1, p2, p3)","<p>Set the GPIO mode.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\ngpio: 0-53.\nmode: PI_INPUT, PI_OUTPUT, ...</pre>\n"],["set_noise_filter","Pigpio::IF","Pigpio/IF.html#method-c-set_noise_filter","(p1, p2, p3, p4)","<p>Sets a noise filter on a GPIO.\n<p>Level changes on the GPIO are ignored until a level which has been stable …\n"],["set_pad_strength","Pigpio::IF","Pigpio/IF.html#method-c-set_pad_strength","(p1, p2, p3)","<p>This function sets the pad drive strength in mA.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["set_pull_up_down","Pigpio::IF","Pigpio/IF.html#method-c-set_pull_up_down","(p1, p2, p3)","<p>Set or clear the GPIO pull-up/down resistor.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\ngpio: 0-53. ...</pre>\n"],["set_servo_pulsewidth","Pigpio::IF","Pigpio/IF.html#method-c-set_servo_pulsewidth","(p1, p2, p3)","<p>Start (500-2500) or stop (0) servo pulses on the GPIO.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["set_watchdog","Pigpio::IF","Pigpio/IF.html#method-c-set_watchdog","(p1, p2, p3)","<p>Sets a watchdog for a GPIO.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\nuser_gpio: 0-31.\n timeout: ...</pre>\n"],["spi_close","Pigpio::IF","Pigpio/IF.html#method-c-spi_close","(p1, p2)","<p>This functions closes the SPI device identified by the handle.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["spi_open","Pigpio::IF","Pigpio/IF.html#method-c-spi_open","(p1, p2, p3, p4)","<p>This function returns a handle for the SPI device on channel. Data will be\ntransferred at baud bits per …\n"],["spi_read","Pigpio::IF","Pigpio/IF.html#method-c-spi_read","(p1, p2, p3)","<p>This function reads count bytes of data from the SPI device associated with\nthe handle.\n<p>. .\n\n<pre> pi: &gt;=0 ...</pre>\n"],["spi_write","Pigpio::IF","Pigpio/IF.html#method-c-spi_write","(p1, p2, p3)","<p>This function writes count bytes of data from buf to the SPI device\nassociated with the handle.\n<p>. .\n\n<pre> ...</pre>\n"],["spi_xfer","Pigpio::IF","Pigpio/IF.html#method-c-spi_xfer","(p1, p2, p3)","<p>This function transfers count bytes of data from txBuf to the SPI device\nassociated with the handle. …\n"],["stop_script","Pigpio::IF","Pigpio/IF.html#method-c-stop_script","(p1, p2)","<p>This function stops a running script.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]).\nscript_id: ...</pre>\n"],["store_script","Pigpio::IF","Pigpio/IF.html#method-c-store_script","(p1, p2)","<p>This function stores a script for later execution.\n<p>See [[abyz.co.uk/rpi/pigpio/pigs.html#Scripts]] for …\n"],["time_time","Pigpio::IF","Pigpio/IF.html#method-c-time_time","()","<p>Return the current time in seconds since the Epoch.\n<p>See also: pigpio site\n"],["wait_for_edge","Pigpio::IF","Pigpio/IF.html#method-c-wait_for_edge","(p1, p2, p3, p4)","<p>This function waits for an edge on the GPIO for up to timeout seconds.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned ...</pre>\n"],["wait_for_event","Pigpio::IF","Pigpio/IF.html#method-c-wait_for_event","(p1, p2, p3)","<p>This function waits for an event for up to timeout seconds.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["wave_add_generic","Pigpio::IF","Pigpio/IF.html#method-c-wave_add_generic","(p1, p2)","<p>This function adds a number of pulses to the current waveform.\n<p>. .\n\n<pre>pi: &gt;=0 (as returned by [*pigpio_start*]).</pre>\n"],["wave_add_new","Pigpio::IF","Pigpio/IF.html#method-c-wave_add_new","(p1)","<p>This function starts a new empty waveform. You wouldn&#39;t normally need\nto call this function as it …\n"],["wave_add_serial","Pigpio::IF","Pigpio/IF.html#method-c-wave_add_serial","(p1, p2, p3, p4, p5, p6, p7)","<p>This function adds a waveform representing serial data to the existing\nwaveform (if any). The serial …\n"],["wave_chain","Pigpio::IF","Pigpio/IF.html#method-c-wave_chain","(p1, p2)","<p>This function transmits a chain of waveforms.\n<p>NOTE: Any hardware PWM started by [<strong>hardware_PWM</strong>] will be …\n"],["wave_clear","Pigpio::IF","Pigpio/IF.html#method-c-wave_clear","(p1)","<p>This function clears all waveforms and any data added by calls to the\n<p>wave_add_* &mdash; functions.\n\n<p>. .\n"],["wave_create","Pigpio::IF","Pigpio/IF.html#method-c-wave_create","(p1)","<p>This function creates a waveform from the data provided by the prior calls\nto the [<strong>wave_add_</strong>*] functions. …\n"],["wave_delete","Pigpio::IF","Pigpio/IF.html#method-c-wave_delete","(p1, p2)","<p>This function deletes the waveform with id wave_id.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["wave_get_cbs","Pigpio::IF","Pigpio/IF.html#method-c-wave_get_cbs","(p1)","<p>This function returns the length in DMA control blocks of the current\nwaveform.\n<p>. .\n\n<pre>pi: &gt;=0 (as returned ...</pre>\n"],["wave_get_high_cbs","Pigpio::IF","Pigpio/IF.html#method-c-wave_get_high_cbs","(p1)","<p>This function returns the length in DMA control blocks of the longest\nwaveform created since the pigpio …\n"],["wave_get_high_micros","Pigpio::IF","Pigpio/IF.html#method-c-wave_get_high_micros","(p1)","<p>This function returns the length in microseconds of the longest waveform\ncreated since the pigpio daemon …\n"],["wave_get_high_pulses","Pigpio::IF","Pigpio/IF.html#method-c-wave_get_high_pulses","(p1)","<p>This function returns the length in pulses of the longest waveform created\nsince the pigpio daemon was …\n"],["wave_get_max_cbs","Pigpio::IF","Pigpio/IF.html#method-c-wave_get_max_cbs","(p1)","<p>This function returns the maximum possible size of a waveform in DMA\ncontrol blocks.\n<p>. .\n\n<pre>pi: &gt;=0 (as returned ...</pre>\n"],["wave_get_max_micros","Pigpio::IF","Pigpio/IF.html#method-c-wave_get_max_micros","(p1)","<p>This function returns the maximum possible size of a waveform in \nmicroseconds.\n<p>. .\n\n<pre>pi: &gt;=0 (as returned ...</pre>\n"],["wave_get_max_pulses","Pigpio::IF","Pigpio/IF.html#method-c-wave_get_max_pulses","(p1)","<p>This function returns the maximum possible size of a waveform in pulses.\n<p>. .\n\n<pre>pi: &gt;=0 (as returned by [*pigpio_start*]).</pre>\n"],["wave_get_micros","Pigpio::IF","Pigpio/IF.html#method-c-wave_get_micros","(p1)","<p>This function returns the length in microseconds of the current waveform.\n<p>. .\n\n<pre>pi: &gt;=0 (as returned by [*pigpio_start*]).</pre>\n"],["wave_get_pulses","Pigpio::IF","Pigpio/IF.html#method-c-wave_get_pulses","(p1)","<p>This function returns the length in pulses of the current waveform.\n<p>. .\n\n<pre>pi: &gt;=0 (as returned by [*pigpio_start*]).</pre>\n"],["wave_send_once","Pigpio::IF","Pigpio/IF.html#method-c-wave_send_once","(p1, p2)","<p>This function transmits the waveform with id wave_id. The waveform is sent\nonce.\n<p>NOTE: Any hardware …\n"],["wave_send_repeat","Pigpio::IF","Pigpio/IF.html#method-c-wave_send_repeat","(p1, p2)","<p>This function transmits the waveform with id wave_id. The waveform cycles\nuntil cancelled (either by …\n"],["wave_send_using_mode","Pigpio::IF","Pigpio/IF.html#method-c-wave_send_using_mode","(p1, p2, p3)","<p>Transmits the waveform with id wave_id using mode mode.\n<p>. .\n\n<pre> pi: &gt;=0 (as returned by [*pigpio_start*]). ...</pre>\n"],["wave_tx_at","Pigpio::IF","Pigpio/IF.html#method-c-wave_tx_at","(p1)","<p>This function returns the id of the waveform currently being transmitted.\n<p>. .\n\n<pre>pi: &gt;=0 (as returned by [*pigpio_start*]).</pre>\n"],["wave_tx_busy","Pigpio::IF","Pigpio/IF.html#method-c-wave_tx_busy","(p1)","<p>This function checks to see if a waveform is currently being transmitted.\n<p>. .\n\n<pre>pi: &gt;=0 (as returned by [*pigpio_start*]).</pre>\n"],["wave_tx_stop","Pigpio::IF","Pigpio/IF.html#method-c-wave_tx_stop","(p1)","<p>This function stops the transmission of the current waveform.\n<p>. .\n\n<pre>pi: &gt;=0 (as returned by [*pigpio_start*]).</pre>\n"]]}}
Binary file
@@ -0,0 +1,228 @@
1
+ Searcher = function(data) {
2
+ this.data = data;
3
+ this.handlers = [];
4
+ }
5
+
6
+ Searcher.prototype = new function() {
7
+ // search is performed in chunks of 1000 for non-blocking user input
8
+ var CHUNK_SIZE = 1000;
9
+ // do not try to find more than 100 results
10
+ var MAX_RESULTS = 100;
11
+ var huid = 1;
12
+ var suid = 1;
13
+ var runs = 0;
14
+
15
+ this.find = function(query) {
16
+ var queries = splitQuery(query);
17
+ var regexps = buildRegexps(queries);
18
+ var highlighters = buildHilighters(queries);
19
+ var state = { from: 0, pass: 0, limit: MAX_RESULTS, n: suid++};
20
+ var _this = this;
21
+
22
+ this.currentSuid = state.n;
23
+
24
+ if (!query) return;
25
+
26
+ var run = function() {
27
+ // stop current search thread if new search started
28
+ if (state.n != _this.currentSuid) return;
29
+
30
+ var results =
31
+ performSearch(_this.data, regexps, queries, highlighters, state);
32
+ var hasMore = (state.limit > 0 && state.pass < 4);
33
+
34
+ triggerResults.call(_this, results, !hasMore);
35
+ if (hasMore) {
36
+ setTimeout(run, 2);
37
+ }
38
+ runs++;
39
+ };
40
+ runs = 0;
41
+
42
+ // start search thread
43
+ run();
44
+ }
45
+
46
+ /* ----- Events ------ */
47
+ this.ready = function(fn) {
48
+ fn.huid = huid;
49
+ this.handlers.push(fn);
50
+ }
51
+
52
+ /* ----- Utilities ------ */
53
+ function splitQuery(query) {
54
+ return jQuery.grep(query.split(/(\s+|::?|\(\)?)/), function(string) {
55
+ return string.match(/\S/)
56
+ });
57
+ }
58
+
59
+ function buildRegexps(queries) {
60
+ return jQuery.map(queries, function(query) {
61
+ return new RegExp(query.replace(/(.)/g, '([$1])([^$1]*?)'), 'i')
62
+ });
63
+ }
64
+
65
+ function buildHilighters(queries) {
66
+ return jQuery.map(queries, function(query) {
67
+ return jQuery.map(query.split(''), function(l, i) {
68
+ return '\u0001$' + (i*2+1) + '\u0002$' + (i*2+2);
69
+ }).join('');
70
+ });
71
+ }
72
+
73
+ // function longMatchRegexp(index, longIndex, regexps) {
74
+ // for (var i = regexps.length - 1; i >= 0; i--){
75
+ // if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false;
76
+ // };
77
+ // return true;
78
+ // }
79
+
80
+
81
+ /* ----- Mathchers ------ */
82
+
83
+ /*
84
+ * This record matches if the index starts with queries[0] and the record
85
+ * matches all of the regexps
86
+ */
87
+ function matchPassBeginning(index, longIndex, queries, regexps) {
88
+ if (index.indexOf(queries[0]) != 0) return false;
89
+ for (var i=1, l = regexps.length; i < l; i++) {
90
+ if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
91
+ return false;
92
+ };
93
+ return true;
94
+ }
95
+
96
+ /*
97
+ * This record matches if the longIndex starts with queries[0] and the
98
+ * longIndex matches all of the regexps
99
+ */
100
+ function matchPassLongIndex(index, longIndex, queries, regexps) {
101
+ if (longIndex.indexOf(queries[0]) != 0) return false;
102
+ for (var i=1, l = regexps.length; i < l; i++) {
103
+ if (!longIndex.match(regexps[i]))
104
+ return false;
105
+ };
106
+ return true;
107
+ }
108
+
109
+ /*
110
+ * This record matches if the index contains queries[0] and the record
111
+ * matches all of the regexps
112
+ */
113
+ function matchPassContains(index, longIndex, queries, regexps) {
114
+ if (index.indexOf(queries[0]) == -1) return false;
115
+ for (var i=1, l = regexps.length; i < l; i++) {
116
+ if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
117
+ return false;
118
+ };
119
+ return true;
120
+ }
121
+
122
+ /*
123
+ * This record matches if regexps[0] matches the index and the record
124
+ * matches all of the regexps
125
+ */
126
+ function matchPassRegexp(index, longIndex, queries, regexps) {
127
+ if (!index.match(regexps[0])) return false;
128
+ for (var i=1, l = regexps.length; i < l; i++) {
129
+ if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
130
+ return false;
131
+ };
132
+ return true;
133
+ }
134
+
135
+
136
+ /* ----- Highlighters ------ */
137
+ function highlightRegexp(info, queries, regexps, highlighters) {
138
+ var result = createResult(info);
139
+ for (var i=0, l = regexps.length; i < l; i++) {
140
+ result.title = result.title.replace(regexps[i], highlighters[i]);
141
+ result.namespace = result.namespace.replace(regexps[i], highlighters[i]);
142
+ };
143
+ return result;
144
+ }
145
+
146
+ function hltSubstring(string, pos, length) {
147
+ return string.substring(0, pos) + '\u0001' + string.substring(pos, pos + length) + '\u0002' + string.substring(pos + length);
148
+ }
149
+
150
+ function highlightQuery(info, queries, regexps, highlighters) {
151
+ var result = createResult(info);
152
+ var pos = 0;
153
+ var lcTitle = result.title.toLowerCase();
154
+
155
+ pos = lcTitle.indexOf(queries[0]);
156
+ if (pos != -1) {
157
+ result.title = hltSubstring(result.title, pos, queries[0].length);
158
+ }
159
+
160
+ result.namespace = result.namespace.replace(regexps[0], highlighters[0]);
161
+ for (var i=1, l = regexps.length; i < l; i++) {
162
+ result.title = result.title.replace(regexps[i], highlighters[i]);
163
+ result.namespace = result.namespace.replace(regexps[i], highlighters[i]);
164
+ };
165
+ return result;
166
+ }
167
+
168
+ function createResult(info) {
169
+ var result = {};
170
+ result.title = info[0];
171
+ result.namespace = info[1];
172
+ result.path = info[2];
173
+ result.params = info[3];
174
+ result.snippet = info[4];
175
+ return result;
176
+ }
177
+
178
+ /* ----- Searching ------ */
179
+ function performSearch(data, regexps, queries, highlighters, state) {
180
+ var searchIndex = data.searchIndex;
181
+ var longSearchIndex = data.longSearchIndex;
182
+ var info = data.info;
183
+ var result = [];
184
+ var i = state.from;
185
+ var l = searchIndex.length;
186
+ var togo = CHUNK_SIZE;
187
+ var matchFunc, hltFunc;
188
+
189
+ while (state.pass < 4 && state.limit > 0 && togo > 0) {
190
+ if (state.pass == 0) {
191
+ matchFunc = matchPassBeginning;
192
+ hltFunc = highlightQuery;
193
+ } else if (state.pass == 1) {
194
+ matchFunc = matchPassLongIndex;
195
+ hltFunc = highlightQuery;
196
+ } else if (state.pass == 2) {
197
+ matchFunc = matchPassContains;
198
+ hltFunc = highlightQuery;
199
+ } else if (state.pass == 3) {
200
+ matchFunc = matchPassRegexp;
201
+ hltFunc = highlightRegexp;
202
+ }
203
+
204
+ for (; togo > 0 && i < l && state.limit > 0; i++, togo--) {
205
+ if (info[i].n == state.n) continue;
206
+ if (matchFunc(searchIndex[i], longSearchIndex[i], queries, regexps)) {
207
+ info[i].n = state.n;
208
+ result.push(hltFunc(info[i], queries, regexps, highlighters));
209
+ state.limit--;
210
+ }
211
+ };
212
+ if (searchIndex.length <= i) {
213
+ state.pass++;
214
+ i = state.from = 0;
215
+ } else {
216
+ state.from = i;
217
+ }
218
+ }
219
+ return result;
220
+ }
221
+
222
+ function triggerResults(results, isLast) {
223
+ jQuery.each(this.handlers, function(i, fn) {
224
+ fn.call(this, results, isLast)
225
+ })
226
+ }
227
+ }
228
+
Binary file
@@ -0,0 +1,632 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>Table of Contents - RDoc Documentation</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "./";
11
+ </script>
12
+
13
+ <script src="./js/jquery.js"></script>
14
+ <script src="./js/darkfish.js"></script>
15
+
16
+ <link href="./css/fonts.css" rel="stylesheet">
17
+ <link href="./css/rdoc.css" rel="stylesheet">
18
+
19
+
20
+
21
+ <body id="top" class="table-of-contents">
22
+ <main role="main">
23
+ <h1 class="class">Table of Contents - RDoc Documentation</h1>
24
+
25
+
26
+ <h2 id="classes">Classes and Modules</h2>
27
+ <ul>
28
+ <li class="class">
29
+ <a href="Pigpio.html">Pigpio</a>
30
+ </li>
31
+ <li class="module">
32
+ <a href="Pigpio/IF.html">Pigpio::IF</a>
33
+ </li>
34
+ </ul>
35
+
36
+ <h2 id="methods">Methods</h2>
37
+ <ul>
38
+
39
+ <li class="method">
40
+ <a href="Pigpio/IF.html#method-c-bb_i2c_close">::bb_i2c_close</a>
41
+ &mdash;
42
+ <span class="container">Pigpio::IF</span>
43
+
44
+ <li class="method">
45
+ <a href="Pigpio/IF.html#method-c-bb_i2c_open">::bb_i2c_open</a>
46
+ &mdash;
47
+ <span class="container">Pigpio::IF</span>
48
+
49
+ <li class="method">
50
+ <a href="Pigpio/IF.html#method-c-bb_i2c_zip">::bb_i2c_zip</a>
51
+ &mdash;
52
+ <span class="container">Pigpio::IF</span>
53
+
54
+ <li class="method">
55
+ <a href="Pigpio/IF.html#method-c-bb_serial_invert">::bb_serial_invert</a>
56
+ &mdash;
57
+ <span class="container">Pigpio::IF</span>
58
+
59
+ <li class="method">
60
+ <a href="Pigpio/IF.html#method-c-bb_serial_read">::bb_serial_read</a>
61
+ &mdash;
62
+ <span class="container">Pigpio::IF</span>
63
+
64
+ <li class="method">
65
+ <a href="Pigpio/IF.html#method-c-bb_serial_read_close">::bb_serial_read_close</a>
66
+ &mdash;
67
+ <span class="container">Pigpio::IF</span>
68
+
69
+ <li class="method">
70
+ <a href="Pigpio/IF.html#method-c-bb_serial_read_open">::bb_serial_read_open</a>
71
+ &mdash;
72
+ <span class="container">Pigpio::IF</span>
73
+
74
+ <li class="method">
75
+ <a href="Pigpio/IF.html#method-c-bb_spi_close">::bb_spi_close</a>
76
+ &mdash;
77
+ <span class="container">Pigpio::IF</span>
78
+
79
+ <li class="method">
80
+ <a href="Pigpio/IF.html#method-c-bb_spi_open">::bb_spi_open</a>
81
+ &mdash;
82
+ <span class="container">Pigpio::IF</span>
83
+
84
+ <li class="method">
85
+ <a href="Pigpio/IF.html#method-c-bb_spi_xfer">::bb_spi_xfer</a>
86
+ &mdash;
87
+ <span class="container">Pigpio::IF</span>
88
+
89
+ <li class="method">
90
+ <a href="Pigpio/IF.html#method-c-bsc_i2c">::bsc_i2c</a>
91
+ &mdash;
92
+ <span class="container">Pigpio::IF</span>
93
+
94
+ <li class="method">
95
+ <a href="Pigpio/IF.html#method-c-bsc_xfer">::bsc_xfer</a>
96
+ &mdash;
97
+ <span class="container">Pigpio::IF</span>
98
+
99
+ <li class="method">
100
+ <a href="Pigpio/IF.html#method-c-callback">::callback</a>
101
+ &mdash;
102
+ <span class="container">Pigpio::IF</span>
103
+
104
+ <li class="method">
105
+ <a href="Pigpio/IF.html#method-c-callback_cancel">::callback_cancel</a>
106
+ &mdash;
107
+ <span class="container">Pigpio::IF</span>
108
+
109
+ <li class="method">
110
+ <a href="Pigpio/IF.html#method-c-clear_bank_1">::clear_bank_1</a>
111
+ &mdash;
112
+ <span class="container">Pigpio::IF</span>
113
+
114
+ <li class="method">
115
+ <a href="Pigpio/IF.html#method-c-clear_bank_2">::clear_bank_2</a>
116
+ &mdash;
117
+ <span class="container">Pigpio::IF</span>
118
+
119
+ <li class="method">
120
+ <a href="Pigpio/IF.html#method-c-delete_script">::delete_script</a>
121
+ &mdash;
122
+ <span class="container">Pigpio::IF</span>
123
+
124
+ <li class="method">
125
+ <a href="Pigpio/IF.html#method-c-event_callback">::event_callback</a>
126
+ &mdash;
127
+ <span class="container">Pigpio::IF</span>
128
+
129
+ <li class="method">
130
+ <a href="Pigpio/IF.html#method-c-event_callback_cancel">::event_callback_cancel</a>
131
+ &mdash;
132
+ <span class="container">Pigpio::IF</span>
133
+
134
+ <li class="method">
135
+ <a href="Pigpio/IF.html#method-c-event_trigger">::event_trigger</a>
136
+ &mdash;
137
+ <span class="container">Pigpio::IF</span>
138
+
139
+ <li class="method">
140
+ <a href="Pigpio/IF.html#method-c-get_PWM_dutycycle">::get_PWM_dutycycle</a>
141
+ &mdash;
142
+ <span class="container">Pigpio::IF</span>
143
+
144
+ <li class="method">
145
+ <a href="Pigpio/IF.html#method-c-get_PWM_frequency">::get_PWM_frequency</a>
146
+ &mdash;
147
+ <span class="container">Pigpio::IF</span>
148
+
149
+ <li class="method">
150
+ <a href="Pigpio/IF.html#method-c-get_PWM_range">::get_PWM_range</a>
151
+ &mdash;
152
+ <span class="container">Pigpio::IF</span>
153
+
154
+ <li class="method">
155
+ <a href="Pigpio/IF.html#method-c-get_PWM_real_range">::get_PWM_real_range</a>
156
+ &mdash;
157
+ <span class="container">Pigpio::IF</span>
158
+
159
+ <li class="method">
160
+ <a href="Pigpio/IF.html#method-c-get_current_tick">::get_current_tick</a>
161
+ &mdash;
162
+ <span class="container">Pigpio::IF</span>
163
+
164
+ <li class="method">
165
+ <a href="Pigpio/IF.html#method-c-get_hardware_revision">::get_hardware_revision</a>
166
+ &mdash;
167
+ <span class="container">Pigpio::IF</span>
168
+
169
+ <li class="method">
170
+ <a href="Pigpio/IF.html#method-c-get_mode">::get_mode</a>
171
+ &mdash;
172
+ <span class="container">Pigpio::IF</span>
173
+
174
+ <li class="method">
175
+ <a href="Pigpio/IF.html#method-c-get_pad_strength">::get_pad_strength</a>
176
+ &mdash;
177
+ <span class="container">Pigpio::IF</span>
178
+
179
+ <li class="method">
180
+ <a href="Pigpio/IF.html#method-c-get_pigpio_version">::get_pigpio_version</a>
181
+ &mdash;
182
+ <span class="container">Pigpio::IF</span>
183
+
184
+ <li class="method">
185
+ <a href="Pigpio/IF.html#method-c-get_servo_pulsewidth">::get_servo_pulsewidth</a>
186
+ &mdash;
187
+ <span class="container">Pigpio::IF</span>
188
+
189
+ <li class="method">
190
+ <a href="Pigpio/IF.html#method-c-gpio_read">::gpio_read</a>
191
+ &mdash;
192
+ <span class="container">Pigpio::IF</span>
193
+
194
+ <li class="method">
195
+ <a href="Pigpio/IF.html#method-c-gpio_trigger">::gpio_trigger</a>
196
+ &mdash;
197
+ <span class="container">Pigpio::IF</span>
198
+
199
+ <li class="method">
200
+ <a href="Pigpio/IF.html#method-c-gpio_write">::gpio_write</a>
201
+ &mdash;
202
+ <span class="container">Pigpio::IF</span>
203
+
204
+ <li class="method">
205
+ <a href="Pigpio/IF.html#method-c-hardware_PWM">::hardware_PWM</a>
206
+ &mdash;
207
+ <span class="container">Pigpio::IF</span>
208
+
209
+ <li class="method">
210
+ <a href="Pigpio/IF.html#method-c-hardware_clock">::hardware_clock</a>
211
+ &mdash;
212
+ <span class="container">Pigpio::IF</span>
213
+
214
+ <li class="method">
215
+ <a href="Pigpio/IF.html#method-c-i2c_block_process_call">::i2c_block_process_call</a>
216
+ &mdash;
217
+ <span class="container">Pigpio::IF</span>
218
+
219
+ <li class="method">
220
+ <a href="Pigpio/IF.html#method-c-i2c_close">::i2c_close</a>
221
+ &mdash;
222
+ <span class="container">Pigpio::IF</span>
223
+
224
+ <li class="method">
225
+ <a href="Pigpio/IF.html#method-c-i2c_open">::i2c_open</a>
226
+ &mdash;
227
+ <span class="container">Pigpio::IF</span>
228
+
229
+ <li class="method">
230
+ <a href="Pigpio/IF.html#method-c-i2c_process_call">::i2c_process_call</a>
231
+ &mdash;
232
+ <span class="container">Pigpio::IF</span>
233
+
234
+ <li class="method">
235
+ <a href="Pigpio/IF.html#method-c-i2c_read_block_data">::i2c_read_block_data</a>
236
+ &mdash;
237
+ <span class="container">Pigpio::IF</span>
238
+
239
+ <li class="method">
240
+ <a href="Pigpio/IF.html#method-c-i2c_read_byte">::i2c_read_byte</a>
241
+ &mdash;
242
+ <span class="container">Pigpio::IF</span>
243
+
244
+ <li class="method">
245
+ <a href="Pigpio/IF.html#method-c-i2c_read_byte_data">::i2c_read_byte_data</a>
246
+ &mdash;
247
+ <span class="container">Pigpio::IF</span>
248
+
249
+ <li class="method">
250
+ <a href="Pigpio/IF.html#method-c-i2c_read_device">::i2c_read_device</a>
251
+ &mdash;
252
+ <span class="container">Pigpio::IF</span>
253
+
254
+ <li class="method">
255
+ <a href="Pigpio/IF.html#method-c-i2c_read_i2c_block_data">::i2c_read_i2c_block_data</a>
256
+ &mdash;
257
+ <span class="container">Pigpio::IF</span>
258
+
259
+ <li class="method">
260
+ <a href="Pigpio/IF.html#method-c-i2c_read_word_data">::i2c_read_word_data</a>
261
+ &mdash;
262
+ <span class="container">Pigpio::IF</span>
263
+
264
+ <li class="method">
265
+ <a href="Pigpio/IF.html#method-c-i2c_write_block_data">::i2c_write_block_data</a>
266
+ &mdash;
267
+ <span class="container">Pigpio::IF</span>
268
+
269
+ <li class="method">
270
+ <a href="Pigpio/IF.html#method-c-i2c_write_byte">::i2c_write_byte</a>
271
+ &mdash;
272
+ <span class="container">Pigpio::IF</span>
273
+
274
+ <li class="method">
275
+ <a href="Pigpio/IF.html#method-c-i2c_write_byte_data">::i2c_write_byte_data</a>
276
+ &mdash;
277
+ <span class="container">Pigpio::IF</span>
278
+
279
+ <li class="method">
280
+ <a href="Pigpio/IF.html#method-c-i2c_write_device">::i2c_write_device</a>
281
+ &mdash;
282
+ <span class="container">Pigpio::IF</span>
283
+
284
+ <li class="method">
285
+ <a href="Pigpio/IF.html#method-c-i2c_write_i2c_block_data">::i2c_write_i2c_block_data</a>
286
+ &mdash;
287
+ <span class="container">Pigpio::IF</span>
288
+
289
+ <li class="method">
290
+ <a href="Pigpio/IF.html#method-c-i2c_write_quick">::i2c_write_quick</a>
291
+ &mdash;
292
+ <span class="container">Pigpio::IF</span>
293
+
294
+ <li class="method">
295
+ <a href="Pigpio/IF.html#method-c-i2c_write_word_data">::i2c_write_word_data</a>
296
+ &mdash;
297
+ <span class="container">Pigpio::IF</span>
298
+
299
+ <li class="method">
300
+ <a href="Pigpio/IF.html#method-c-i2c_zip">::i2c_zip</a>
301
+ &mdash;
302
+ <span class="container">Pigpio::IF</span>
303
+
304
+ <li class="method">
305
+ <a href="Pigpio/IF.html#method-c-notify_begin">::notify_begin</a>
306
+ &mdash;
307
+ <span class="container">Pigpio::IF</span>
308
+
309
+ <li class="method">
310
+ <a href="Pigpio/IF.html#method-c-notify_close">::notify_close</a>
311
+ &mdash;
312
+ <span class="container">Pigpio::IF</span>
313
+
314
+ <li class="method">
315
+ <a href="Pigpio/IF.html#method-c-notify_open">::notify_open</a>
316
+ &mdash;
317
+ <span class="container">Pigpio::IF</span>
318
+
319
+ <li class="method">
320
+ <a href="Pigpio/IF.html#method-c-notify_pause">::notify_pause</a>
321
+ &mdash;
322
+ <span class="container">Pigpio::IF</span>
323
+
324
+ <li class="method">
325
+ <a href="Pigpio/IF.html#method-c-pigpio_error">::pigpio_error</a>
326
+ &mdash;
327
+ <span class="container">Pigpio::IF</span>
328
+
329
+ <li class="method">
330
+ <a href="Pigpio/IF.html#method-c-pigpio_start">::pigpio_start</a>
331
+ &mdash;
332
+ <span class="container">Pigpio::IF</span>
333
+
334
+ <li class="method">
335
+ <a href="Pigpio/IF.html#method-c-pigpio_start_local">::pigpio_start_local</a>
336
+ &mdash;
337
+ <span class="container">Pigpio::IF</span>
338
+
339
+ <li class="method">
340
+ <a href="Pigpio/IF.html#method-c-pigpio_stop">::pigpio_stop</a>
341
+ &mdash;
342
+ <span class="container">Pigpio::IF</span>
343
+
344
+ <li class="method">
345
+ <a href="Pigpio/IF.html#method-c-pigpiod_if_version">::pigpiod_if_version</a>
346
+ &mdash;
347
+ <span class="container">Pigpio::IF</span>
348
+
349
+ <li class="method">
350
+ <a href="Pigpio/IF.html#method-c-read_bank_1">::read_bank_1</a>
351
+ &mdash;
352
+ <span class="container">Pigpio::IF</span>
353
+
354
+ <li class="method">
355
+ <a href="Pigpio/IF.html#method-c-read_bank_2">::read_bank_2</a>
356
+ &mdash;
357
+ <span class="container">Pigpio::IF</span>
358
+
359
+ <li class="method">
360
+ <a href="Pigpio/IF.html#method-c-run_script">::run_script</a>
361
+ &mdash;
362
+ <span class="container">Pigpio::IF</span>
363
+
364
+ <li class="method">
365
+ <a href="Pigpio/IF.html#method-c-script_status">::script_status</a>
366
+ &mdash;
367
+ <span class="container">Pigpio::IF</span>
368
+
369
+ <li class="method">
370
+ <a href="Pigpio/IF.html#method-c-serial_close">::serial_close</a>
371
+ &mdash;
372
+ <span class="container">Pigpio::IF</span>
373
+
374
+ <li class="method">
375
+ <a href="Pigpio/IF.html#method-c-serial_data_available">::serial_data_available</a>
376
+ &mdash;
377
+ <span class="container">Pigpio::IF</span>
378
+
379
+ <li class="method">
380
+ <a href="Pigpio/IF.html#method-c-serial_open">::serial_open</a>
381
+ &mdash;
382
+ <span class="container">Pigpio::IF</span>
383
+
384
+ <li class="method">
385
+ <a href="Pigpio/IF.html#method-c-serial_read">::serial_read</a>
386
+ &mdash;
387
+ <span class="container">Pigpio::IF</span>
388
+
389
+ <li class="method">
390
+ <a href="Pigpio/IF.html#method-c-serial_read_byte">::serial_read_byte</a>
391
+ &mdash;
392
+ <span class="container">Pigpio::IF</span>
393
+
394
+ <li class="method">
395
+ <a href="Pigpio/IF.html#method-c-serial_write">::serial_write</a>
396
+ &mdash;
397
+ <span class="container">Pigpio::IF</span>
398
+
399
+ <li class="method">
400
+ <a href="Pigpio/IF.html#method-c-serial_write_byte">::serial_write_byte</a>
401
+ &mdash;
402
+ <span class="container">Pigpio::IF</span>
403
+
404
+ <li class="method">
405
+ <a href="Pigpio/IF.html#method-c-set_PWM_dutycycle">::set_PWM_dutycycle</a>
406
+ &mdash;
407
+ <span class="container">Pigpio::IF</span>
408
+
409
+ <li class="method">
410
+ <a href="Pigpio/IF.html#method-c-set_PWM_frequency">::set_PWM_frequency</a>
411
+ &mdash;
412
+ <span class="container">Pigpio::IF</span>
413
+
414
+ <li class="method">
415
+ <a href="Pigpio/IF.html#method-c-set_PWM_range">::set_PWM_range</a>
416
+ &mdash;
417
+ <span class="container">Pigpio::IF</span>
418
+
419
+ <li class="method">
420
+ <a href="Pigpio/IF.html#method-c-set_bank_1">::set_bank_1</a>
421
+ &mdash;
422
+ <span class="container">Pigpio::IF</span>
423
+
424
+ <li class="method">
425
+ <a href="Pigpio/IF.html#method-c-set_bank_2">::set_bank_2</a>
426
+ &mdash;
427
+ <span class="container">Pigpio::IF</span>
428
+
429
+ <li class="method">
430
+ <a href="Pigpio/IF.html#method-c-set_glitch_filter">::set_glitch_filter</a>
431
+ &mdash;
432
+ <span class="container">Pigpio::IF</span>
433
+
434
+ <li class="method">
435
+ <a href="Pigpio/IF.html#method-c-set_mode">::set_mode</a>
436
+ &mdash;
437
+ <span class="container">Pigpio::IF</span>
438
+
439
+ <li class="method">
440
+ <a href="Pigpio/IF.html#method-c-set_noise_filter">::set_noise_filter</a>
441
+ &mdash;
442
+ <span class="container">Pigpio::IF</span>
443
+
444
+ <li class="method">
445
+ <a href="Pigpio/IF.html#method-c-set_pad_strength">::set_pad_strength</a>
446
+ &mdash;
447
+ <span class="container">Pigpio::IF</span>
448
+
449
+ <li class="method">
450
+ <a href="Pigpio/IF.html#method-c-set_pull_up_down">::set_pull_up_down</a>
451
+ &mdash;
452
+ <span class="container">Pigpio::IF</span>
453
+
454
+ <li class="method">
455
+ <a href="Pigpio/IF.html#method-c-set_servo_pulsewidth">::set_servo_pulsewidth</a>
456
+ &mdash;
457
+ <span class="container">Pigpio::IF</span>
458
+
459
+ <li class="method">
460
+ <a href="Pigpio/IF.html#method-c-set_watchdog">::set_watchdog</a>
461
+ &mdash;
462
+ <span class="container">Pigpio::IF</span>
463
+
464
+ <li class="method">
465
+ <a href="Pigpio/IF.html#method-c-spi_close">::spi_close</a>
466
+ &mdash;
467
+ <span class="container">Pigpio::IF</span>
468
+
469
+ <li class="method">
470
+ <a href="Pigpio/IF.html#method-c-spi_open">::spi_open</a>
471
+ &mdash;
472
+ <span class="container">Pigpio::IF</span>
473
+
474
+ <li class="method">
475
+ <a href="Pigpio/IF.html#method-c-spi_read">::spi_read</a>
476
+ &mdash;
477
+ <span class="container">Pigpio::IF</span>
478
+
479
+ <li class="method">
480
+ <a href="Pigpio/IF.html#method-c-spi_write">::spi_write</a>
481
+ &mdash;
482
+ <span class="container">Pigpio::IF</span>
483
+
484
+ <li class="method">
485
+ <a href="Pigpio/IF.html#method-c-spi_xfer">::spi_xfer</a>
486
+ &mdash;
487
+ <span class="container">Pigpio::IF</span>
488
+
489
+ <li class="method">
490
+ <a href="Pigpio/IF.html#method-c-stop_script">::stop_script</a>
491
+ &mdash;
492
+ <span class="container">Pigpio::IF</span>
493
+
494
+ <li class="method">
495
+ <a href="Pigpio/IF.html#method-c-store_script">::store_script</a>
496
+ &mdash;
497
+ <span class="container">Pigpio::IF</span>
498
+
499
+ <li class="method">
500
+ <a href="Pigpio/IF.html#method-c-time_time">::time_time</a>
501
+ &mdash;
502
+ <span class="container">Pigpio::IF</span>
503
+
504
+ <li class="method">
505
+ <a href="Pigpio/IF.html#method-c-wait_for_edge">::wait_for_edge</a>
506
+ &mdash;
507
+ <span class="container">Pigpio::IF</span>
508
+
509
+ <li class="method">
510
+ <a href="Pigpio/IF.html#method-c-wait_for_event">::wait_for_event</a>
511
+ &mdash;
512
+ <span class="container">Pigpio::IF</span>
513
+
514
+ <li class="method">
515
+ <a href="Pigpio/IF.html#method-c-wave_add_generic">::wave_add_generic</a>
516
+ &mdash;
517
+ <span class="container">Pigpio::IF</span>
518
+
519
+ <li class="method">
520
+ <a href="Pigpio/IF.html#method-c-wave_add_new">::wave_add_new</a>
521
+ &mdash;
522
+ <span class="container">Pigpio::IF</span>
523
+
524
+ <li class="method">
525
+ <a href="Pigpio/IF.html#method-c-wave_add_serial">::wave_add_serial</a>
526
+ &mdash;
527
+ <span class="container">Pigpio::IF</span>
528
+
529
+ <li class="method">
530
+ <a href="Pigpio/IF.html#method-c-wave_chain">::wave_chain</a>
531
+ &mdash;
532
+ <span class="container">Pigpio::IF</span>
533
+
534
+ <li class="method">
535
+ <a href="Pigpio/IF.html#method-c-wave_clear">::wave_clear</a>
536
+ &mdash;
537
+ <span class="container">Pigpio::IF</span>
538
+
539
+ <li class="method">
540
+ <a href="Pigpio/IF.html#method-c-wave_create">::wave_create</a>
541
+ &mdash;
542
+ <span class="container">Pigpio::IF</span>
543
+
544
+ <li class="method">
545
+ <a href="Pigpio/IF.html#method-c-wave_delete">::wave_delete</a>
546
+ &mdash;
547
+ <span class="container">Pigpio::IF</span>
548
+
549
+ <li class="method">
550
+ <a href="Pigpio/IF.html#method-c-wave_get_cbs">::wave_get_cbs</a>
551
+ &mdash;
552
+ <span class="container">Pigpio::IF</span>
553
+
554
+ <li class="method">
555
+ <a href="Pigpio/IF.html#method-c-wave_get_high_cbs">::wave_get_high_cbs</a>
556
+ &mdash;
557
+ <span class="container">Pigpio::IF</span>
558
+
559
+ <li class="method">
560
+ <a href="Pigpio/IF.html#method-c-wave_get_high_micros">::wave_get_high_micros</a>
561
+ &mdash;
562
+ <span class="container">Pigpio::IF</span>
563
+
564
+ <li class="method">
565
+ <a href="Pigpio/IF.html#method-c-wave_get_high_pulses">::wave_get_high_pulses</a>
566
+ &mdash;
567
+ <span class="container">Pigpio::IF</span>
568
+
569
+ <li class="method">
570
+ <a href="Pigpio/IF.html#method-c-wave_get_max_cbs">::wave_get_max_cbs</a>
571
+ &mdash;
572
+ <span class="container">Pigpio::IF</span>
573
+
574
+ <li class="method">
575
+ <a href="Pigpio/IF.html#method-c-wave_get_max_micros">::wave_get_max_micros</a>
576
+ &mdash;
577
+ <span class="container">Pigpio::IF</span>
578
+
579
+ <li class="method">
580
+ <a href="Pigpio/IF.html#method-c-wave_get_max_pulses">::wave_get_max_pulses</a>
581
+ &mdash;
582
+ <span class="container">Pigpio::IF</span>
583
+
584
+ <li class="method">
585
+ <a href="Pigpio/IF.html#method-c-wave_get_micros">::wave_get_micros</a>
586
+ &mdash;
587
+ <span class="container">Pigpio::IF</span>
588
+
589
+ <li class="method">
590
+ <a href="Pigpio/IF.html#method-c-wave_get_pulses">::wave_get_pulses</a>
591
+ &mdash;
592
+ <span class="container">Pigpio::IF</span>
593
+
594
+ <li class="method">
595
+ <a href="Pigpio/IF.html#method-c-wave_send_once">::wave_send_once</a>
596
+ &mdash;
597
+ <span class="container">Pigpio::IF</span>
598
+
599
+ <li class="method">
600
+ <a href="Pigpio/IF.html#method-c-wave_send_repeat">::wave_send_repeat</a>
601
+ &mdash;
602
+ <span class="container">Pigpio::IF</span>
603
+
604
+ <li class="method">
605
+ <a href="Pigpio/IF.html#method-c-wave_send_using_mode">::wave_send_using_mode</a>
606
+ &mdash;
607
+ <span class="container">Pigpio::IF</span>
608
+
609
+ <li class="method">
610
+ <a href="Pigpio/IF.html#method-c-wave_tx_at">::wave_tx_at</a>
611
+ &mdash;
612
+ <span class="container">Pigpio::IF</span>
613
+
614
+ <li class="method">
615
+ <a href="Pigpio/IF.html#method-c-wave_tx_busy">::wave_tx_busy</a>
616
+ &mdash;
617
+ <span class="container">Pigpio::IF</span>
618
+
619
+ <li class="method">
620
+ <a href="Pigpio/IF.html#method-c-wave_tx_stop">::wave_tx_stop</a>
621
+ &mdash;
622
+ <span class="container">Pigpio::IF</span>
623
+ </ul>
624
+ </main>
625
+
626
+
627
+ <footer id="validator-badges" role="contentinfo">
628
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
629
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
630
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
631
+ </footer>
632
+