periphery.pyi 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583
  1. from typing import overload
  2. from stdc import intptr
  3. class gpio_config:
  4. direction: int # (gpio_direction_t)
  5. edge: int # (gpio_edge_t)
  6. event_clock: int # (gpio_event_clock_t)
  7. debounce_us: int # (uint32_t)
  8. bias: int # (gpio_bias_t)
  9. drive: int # (gpio_drive_t)
  10. inverted: bool # (bool)
  11. label: str # (const char*)
  12. @overload
  13. def __init__(self): ...
  14. @overload
  15. def __init__(self, direction: int, edge: int, event_clock: int, debounce_us: int, bias: int, drive: int, inverted: bool, label: str): ...
  16. class spi_msg:
  17. txbuf: intptr # (const uint8_t*)
  18. rxbuf: intptr # (uint8_t*)
  19. len: int # (size_t)
  20. deselect: bool # (bool)
  21. deselect_delay_us: int # (uint16_t)
  22. word_delay_us: int # (uint8_t)
  23. @overload
  24. def __init__(self): ...
  25. @overload
  26. def __init__(self, txbuf: intptr, rxbuf: intptr, len: int, deselect: bool, deselect_delay_us: int, word_delay_us: int): ...
  27. class periphery_version:
  28. major: int # (unsigned)
  29. minor: int # (unsigned)
  30. patch: int # (unsigned)
  31. commit_id: str # (const char*)
  32. @overload
  33. def __init__(self): ...
  34. @overload
  35. def __init__(self, major: int, minor: int, patch: int, commit_id: str): ...
  36. def gpio_new() -> intptr:
  37. """Wraps `gpio_t* gpio_new()`"""
  38. def gpio_open(gpio: intptr, path: str, line: int, direction: int, /) -> int:
  39. """Wraps `int gpio_open(gpio_t* gpio, const char* path, unsigned line, gpio_direction_t direction)`"""
  40. def gpio_open_name(gpio: intptr, path: str, name: str, direction: int, /) -> int:
  41. """Wraps `int gpio_open_name(gpio_t* gpio, const char* path, const char* name, gpio_direction_t direction)`"""
  42. def gpio_open_advanced(gpio: intptr, path: str, line: int, config: intptr, /) -> int:
  43. """Wraps `int gpio_open_advanced(gpio_t* gpio, const char* path, unsigned line, const gpio_config_t* config)`"""
  44. def gpio_open_name_advanced(gpio: intptr, path: str, name: str, config: intptr, /) -> int:
  45. """Wraps `int gpio_open_name_advanced(gpio_t* gpio, const char* path, const char* name, const gpio_config_t* config)`"""
  46. def gpio_open_sysfs(gpio: intptr, line: int, direction: int, /) -> int:
  47. """Wraps `int gpio_open_sysfs(gpio_t* gpio, unsigned line, gpio_direction_t direction)`"""
  48. def gpio_read(gpio: intptr, value: intptr, /) -> int:
  49. """Wraps `int gpio_read(gpio_t* gpio, bool* value)`"""
  50. def gpio_write(gpio: intptr, value: bool, /) -> int:
  51. """Wraps `int gpio_write(gpio_t* gpio, bool value)`"""
  52. def gpio_poll(gpio: intptr, timeout_ms: int, /) -> int:
  53. """Wraps `int gpio_poll(gpio_t* gpio, int timeout_ms)`"""
  54. def gpio_close(gpio: intptr, /) -> int:
  55. """Wraps `int gpio_close(gpio_t* gpio)`"""
  56. def gpio_free(gpio: intptr, /) -> None:
  57. """Wraps `void gpio_free(gpio_t* gpio)`"""
  58. def gpio_read_event(gpio: intptr, edge: intptr, timestamp: intptr, /) -> int:
  59. """Wraps `int gpio_read_event(gpio_t* gpio, gpio_edge_t* edge, uint64_t* timestamp)`"""
  60. def gpio_poll_multiple(gpios: intptr, count: int, timeout_ms: int, gpios_ready: intptr, /) -> int:
  61. """Wraps `int gpio_poll_multiple(gpio_t** gpios, size_t count, int timeout_ms, bool* gpios_ready)`"""
  62. def gpio_get_direction(gpio: intptr, direction: intptr, /) -> int:
  63. """Wraps `int gpio_get_direction(gpio_t* gpio, gpio_direction_t* direction)`"""
  64. def gpio_get_edge(gpio: intptr, edge: intptr, /) -> int:
  65. """Wraps `int gpio_get_edge(gpio_t* gpio, gpio_edge_t* edge)`"""
  66. def gpio_get_event_clock(gpio: intptr, event_clock: intptr, /) -> int:
  67. """Wraps `int gpio_get_event_clock(gpio_t* gpio, gpio_event_clock_t* event_clock)`"""
  68. def gpio_get_debounce_us(gpio: intptr, debounce_us: intptr, /) -> int:
  69. """Wraps `int gpio_get_debounce_us(gpio_t* gpio, uint32_t* debounce_us)`"""
  70. def gpio_get_bias(gpio: intptr, bias: intptr, /) -> int:
  71. """Wraps `int gpio_get_bias(gpio_t* gpio, gpio_bias_t* bias)`"""
  72. def gpio_get_drive(gpio: intptr, drive: intptr, /) -> int:
  73. """Wraps `int gpio_get_drive(gpio_t* gpio, gpio_drive_t* drive)`"""
  74. def gpio_get_inverted(gpio: intptr, inverted: intptr, /) -> int:
  75. """Wraps `int gpio_get_inverted(gpio_t* gpio, bool* inverted)`"""
  76. def gpio_set_direction(gpio: intptr, direction: int, /) -> int:
  77. """Wraps `int gpio_set_direction(gpio_t* gpio, gpio_direction_t direction)`"""
  78. def gpio_set_edge(gpio: intptr, edge: int, /) -> int:
  79. """Wraps `int gpio_set_edge(gpio_t* gpio, gpio_edge_t edge)`"""
  80. def gpio_set_event_clock(gpio: intptr, event_clock: int, /) -> int:
  81. """Wraps `int gpio_set_event_clock(gpio_t* gpio, gpio_event_clock_t event_clock)`"""
  82. def gpio_set_debounce_us(gpio: intptr, debounce_us: int, /) -> int:
  83. """Wraps `int gpio_set_debounce_us(gpio_t* gpio, uint32_t debounce_us)`"""
  84. def gpio_set_bias(gpio: intptr, bias: int, /) -> int:
  85. """Wraps `int gpio_set_bias(gpio_t* gpio, gpio_bias_t bias)`"""
  86. def gpio_set_drive(gpio: intptr, drive: int, /) -> int:
  87. """Wraps `int gpio_set_drive(gpio_t* gpio, gpio_drive_t drive)`"""
  88. def gpio_set_inverted(gpio: intptr, inverted: bool, /) -> int:
  89. """Wraps `int gpio_set_inverted(gpio_t* gpio, bool inverted)`"""
  90. def gpio_line(gpio: intptr, /) -> int:
  91. """Wraps `unsigned gpio_line(gpio_t* gpio)`"""
  92. def gpio_fd(gpio: intptr, /) -> int:
  93. """Wraps `int gpio_fd(gpio_t* gpio)`"""
  94. def gpio_name(gpio: intptr, str: intptr, len: int, /) -> int:
  95. """Wraps `int gpio_name(gpio_t* gpio, char* str, size_t len)`"""
  96. def gpio_label(gpio: intptr, str: intptr, len: int, /) -> int:
  97. """Wraps `int gpio_label(gpio_t* gpio, char* str, size_t len)`"""
  98. def gpio_chip_fd(gpio: intptr, /) -> int:
  99. """Wraps `int gpio_chip_fd(gpio_t* gpio)`"""
  100. def gpio_chip_name(gpio: intptr, str: intptr, len: int, /) -> int:
  101. """Wraps `int gpio_chip_name(gpio_t* gpio, char* str, size_t len)`"""
  102. def gpio_chip_label(gpio: intptr, str: intptr, len: int, /) -> int:
  103. """Wraps `int gpio_chip_label(gpio_t* gpio, char* str, size_t len)`"""
  104. def gpio_tostring(gpio: intptr, str: intptr, len: int, /) -> int:
  105. """Wraps `int gpio_tostring(gpio_t* gpio, char* str, size_t len)`"""
  106. def gpio_errno(gpio: intptr, /) -> int:
  107. """Wraps `int gpio_errno(gpio_t* gpio)`"""
  108. def gpio_errmsg(gpio: intptr, /) -> str:
  109. """Wraps `const char* gpio_errmsg(gpio_t* gpio)`"""
  110. def led_new() -> intptr:
  111. """Wraps `led_t* led_new()`"""
  112. def led_open(led: intptr, name: str, /) -> int:
  113. """Wraps `int led_open(led_t* led, const char* name)`"""
  114. def led_read(led: intptr, value: intptr, /) -> int:
  115. """Wraps `int led_read(led_t* led, bool* value)`"""
  116. def led_write(led: intptr, value: bool, /) -> int:
  117. """Wraps `int led_write(led_t* led, bool value)`"""
  118. def led_close(led: intptr, /) -> int:
  119. """Wraps `int led_close(led_t* led)`"""
  120. def led_free(led: intptr, /) -> None:
  121. """Wraps `void led_free(led_t* led)`"""
  122. def led_get_brightness(led: intptr, brightness: intptr, /) -> int:
  123. """Wraps `int led_get_brightness(led_t* led, unsigned* brightness)`"""
  124. def led_get_max_brightness(led: intptr, max_brightness: intptr, /) -> int:
  125. """Wraps `int led_get_max_brightness(led_t* led, unsigned* max_brightness)`"""
  126. def led_get_trigger(led: intptr, str: intptr, len: int, /) -> int:
  127. """Wraps `int led_get_trigger(led_t* led, char* str, size_t len)`"""
  128. def led_get_triggers_entry(led: intptr, index: int, str: intptr, len: int, /) -> int:
  129. """Wraps `int led_get_triggers_entry(led_t* led, unsigned index, char* str, size_t len)`"""
  130. def led_get_triggers_count(led: intptr, count: intptr, /) -> int:
  131. """Wraps `int led_get_triggers_count(led_t* led, unsigned* count)`"""
  132. def led_set_brightness(led: intptr, brightness: int, /) -> int:
  133. """Wraps `int led_set_brightness(led_t* led, unsigned brightness)`"""
  134. def led_set_trigger(led: intptr, trigger: str, /) -> int:
  135. """Wraps `int led_set_trigger(led_t* led, const char* trigger)`"""
  136. def led_name(led: intptr, str: intptr, len: int, /) -> int:
  137. """Wraps `int led_name(led_t* led, char* str, size_t len)`"""
  138. def led_tostring(led: intptr, str: intptr, len: int, /) -> int:
  139. """Wraps `int led_tostring(led_t* led, char* str, size_t len)`"""
  140. def led_errno(led: intptr, /) -> int:
  141. """Wraps `int led_errno(led_t* led)`"""
  142. def led_errmsg(led: intptr, /) -> str:
  143. """Wraps `const char* led_errmsg(led_t* led)`"""
  144. def mmio_new() -> intptr:
  145. """Wraps `mmio_t* mmio_new()`"""
  146. def mmio_open(mmio: intptr, base: int, size: int, /) -> int:
  147. """Wraps `int mmio_open(mmio_t* mmio, uintptr_t base, size_t size)`"""
  148. def mmio_open_advanced(mmio: intptr, base: int, size: int, path: str, /) -> int:
  149. """Wraps `int mmio_open_advanced(mmio_t* mmio, uintptr_t base, size_t size, const char* path)`"""
  150. def mmio_ptr(mmio: intptr, /) -> intptr:
  151. """Wraps `void* mmio_ptr(mmio_t* mmio)`"""
  152. def mmio_read64(mmio: intptr, offset: int, value: intptr, /) -> int:
  153. """Wraps `int mmio_read64(mmio_t* mmio, uintptr_t offset, uint64_t* value)`"""
  154. def mmio_read32(mmio: intptr, offset: int, value: intptr, /) -> int:
  155. """Wraps `int mmio_read32(mmio_t* mmio, uintptr_t offset, uint32_t* value)`"""
  156. def mmio_read16(mmio: intptr, offset: int, value: intptr, /) -> int:
  157. """Wraps `int mmio_read16(mmio_t* mmio, uintptr_t offset, uint16_t* value)`"""
  158. def mmio_read8(mmio: intptr, offset: int, value: intptr, /) -> int:
  159. """Wraps `int mmio_read8(mmio_t* mmio, uintptr_t offset, uint8_t* value)`"""
  160. def mmio_read(mmio: intptr, offset: int, buf: intptr, len: int, /) -> int:
  161. """Wraps `int mmio_read(mmio_t* mmio, uintptr_t offset, uint8_t* buf, size_t len)`"""
  162. def mmio_write64(mmio: intptr, offset: int, value: int, /) -> int:
  163. """Wraps `int mmio_write64(mmio_t* mmio, uintptr_t offset, uint64_t value)`"""
  164. def mmio_write32(mmio: intptr, offset: int, value: int, /) -> int:
  165. """Wraps `int mmio_write32(mmio_t* mmio, uintptr_t offset, uint32_t value)`"""
  166. def mmio_write16(mmio: intptr, offset: int, value: int, /) -> int:
  167. """Wraps `int mmio_write16(mmio_t* mmio, uintptr_t offset, uint16_t value)`"""
  168. def mmio_write8(mmio: intptr, offset: int, value: int, /) -> int:
  169. """Wraps `int mmio_write8(mmio_t* mmio, uintptr_t offset, uint8_t value)`"""
  170. def mmio_write(mmio: intptr, offset: int, buf: intptr, len: int, /) -> int:
  171. """Wraps `int mmio_write(mmio_t* mmio, uintptr_t offset, const uint8_t* buf, size_t len)`"""
  172. def mmio_close(mmio: intptr, /) -> int:
  173. """Wraps `int mmio_close(mmio_t* mmio)`"""
  174. def mmio_free(mmio: intptr, /) -> None:
  175. """Wraps `void mmio_free(mmio_t* mmio)`"""
  176. def mmio_base(mmio: intptr, /) -> int:
  177. """Wraps `uintptr_t mmio_base(mmio_t* mmio)`"""
  178. def mmio_size(mmio: intptr, /) -> int:
  179. """Wraps `size_t mmio_size(mmio_t* mmio)`"""
  180. def mmio_tostring(mmio: intptr, str: intptr, len: int, /) -> int:
  181. """Wraps `int mmio_tostring(mmio_t* mmio, char* str, size_t len)`"""
  182. def mmio_errno(mmio: intptr, /) -> int:
  183. """Wraps `int mmio_errno(mmio_t* mmio)`"""
  184. def mmio_errmsg(mmio: intptr, /) -> str:
  185. """Wraps `const char* mmio_errmsg(mmio_t* mmio)`"""
  186. def pwm_new() -> intptr:
  187. """Wraps `pwm_t* pwm_new()`"""
  188. def pwm_open(pwm: intptr, chip: int, channel: int, /) -> int:
  189. """Wraps `int pwm_open(pwm_t* pwm, unsigned chip, unsigned channel)`"""
  190. def pwm_enable(pwm: intptr, /) -> int:
  191. """Wraps `int pwm_enable(pwm_t* pwm)`"""
  192. def pwm_disable(pwm: intptr, /) -> int:
  193. """Wraps `int pwm_disable(pwm_t* pwm)`"""
  194. def pwm_close(pwm: intptr, /) -> int:
  195. """Wraps `int pwm_close(pwm_t* pwm)`"""
  196. def pwm_free(pwm: intptr, /) -> None:
  197. """Wraps `void pwm_free(pwm_t* pwm)`"""
  198. def pwm_get_enabled(pwm: intptr, enabled: intptr, /) -> int:
  199. """Wraps `int pwm_get_enabled(pwm_t* pwm, bool* enabled)`"""
  200. def pwm_get_period_ns(pwm: intptr, period_ns: intptr, /) -> int:
  201. """Wraps `int pwm_get_period_ns(pwm_t* pwm, uint64_t* period_ns)`"""
  202. def pwm_get_duty_cycle_ns(pwm: intptr, duty_cycle_ns: intptr, /) -> int:
  203. """Wraps `int pwm_get_duty_cycle_ns(pwm_t* pwm, uint64_t* duty_cycle_ns)`"""
  204. def pwm_get_period(pwm: intptr, period: intptr, /) -> int:
  205. """Wraps `int pwm_get_period(pwm_t* pwm, double* period)`"""
  206. def pwm_get_duty_cycle(pwm: intptr, duty_cycle: intptr, /) -> int:
  207. """Wraps `int pwm_get_duty_cycle(pwm_t* pwm, double* duty_cycle)`"""
  208. def pwm_get_frequency(pwm: intptr, frequency: intptr, /) -> int:
  209. """Wraps `int pwm_get_frequency(pwm_t* pwm, double* frequency)`"""
  210. def pwm_get_polarity(pwm: intptr, polarity: intptr, /) -> int:
  211. """Wraps `int pwm_get_polarity(pwm_t* pwm, pwm_polarity_t* polarity)`"""
  212. def pwm_set_enabled(pwm: intptr, enabled: bool, /) -> int:
  213. """Wraps `int pwm_set_enabled(pwm_t* pwm, bool enabled)`"""
  214. def pwm_set_period_ns(pwm: intptr, period_ns: int, /) -> int:
  215. """Wraps `int pwm_set_period_ns(pwm_t* pwm, uint64_t period_ns)`"""
  216. def pwm_set_duty_cycle_ns(pwm: intptr, duty_cycle_ns: int, /) -> int:
  217. """Wraps `int pwm_set_duty_cycle_ns(pwm_t* pwm, uint64_t duty_cycle_ns)`"""
  218. def pwm_set_period(pwm: intptr, period: float, /) -> int:
  219. """Wraps `int pwm_set_period(pwm_t* pwm, double period)`"""
  220. def pwm_set_duty_cycle(pwm: intptr, duty_cycle: float, /) -> int:
  221. """Wraps `int pwm_set_duty_cycle(pwm_t* pwm, double duty_cycle)`"""
  222. def pwm_set_frequency(pwm: intptr, frequency: float, /) -> int:
  223. """Wraps `int pwm_set_frequency(pwm_t* pwm, double frequency)`"""
  224. def pwm_set_polarity(pwm: intptr, polarity: int, /) -> int:
  225. """Wraps `int pwm_set_polarity(pwm_t* pwm, pwm_polarity_t polarity)`"""
  226. def pwm_chip(pwm: intptr, /) -> int:
  227. """Wraps `unsigned pwm_chip(pwm_t* pwm)`"""
  228. def pwm_channel(pwm: intptr, /) -> int:
  229. """Wraps `unsigned pwm_channel(pwm_t* pwm)`"""
  230. def pwm_tostring(pwm: intptr, str: intptr, len: int, /) -> int:
  231. """Wraps `int pwm_tostring(pwm_t* pwm, char* str, size_t len)`"""
  232. def pwm_errno(pwm: intptr, /) -> int:
  233. """Wraps `int pwm_errno(pwm_t* pwm)`"""
  234. def pwm_errmsg(pwm: intptr, /) -> str:
  235. """Wraps `const char* pwm_errmsg(pwm_t* pwm)`"""
  236. def serial_new() -> intptr:
  237. """Wraps `serial_t* serial_new()`"""
  238. def serial_open(serial: intptr, path: str, baudrate: int, /) -> int:
  239. """Wraps `int serial_open(serial_t* serial, const char* path, uint32_t baudrate)`"""
  240. def serial_open_advanced(serial: intptr, path: str, baudrate: int, databits: int, parity: int, stopbits: int, xonxoff: bool, rtscts: bool, /) -> int:
  241. """Wraps `int serial_open_advanced(serial_t* serial, const char* path, uint32_t baudrate, unsigned databits, serial_parity_t parity, unsigned stopbits, bool xonxoff, bool rtscts)`"""
  242. def serial_read(serial: intptr, buf: intptr, len: int, timeout_ms: int, /) -> int:
  243. """Wraps `int serial_read(serial_t* serial, uint8_t* buf, size_t len, int timeout_ms)`"""
  244. def serial_write(serial: intptr, buf: intptr, len: int, /) -> int:
  245. """Wraps `int serial_write(serial_t* serial, const uint8_t* buf, size_t len)`"""
  246. def serial_flush(serial: intptr, /) -> int:
  247. """Wraps `int serial_flush(serial_t* serial)`"""
  248. def serial_input_waiting(serial: intptr, count: intptr, /) -> int:
  249. """Wraps `int serial_input_waiting(serial_t* serial, unsigned* count)`"""
  250. def serial_output_waiting(serial: intptr, count: intptr, /) -> int:
  251. """Wraps `int serial_output_waiting(serial_t* serial, unsigned* count)`"""
  252. def serial_poll(serial: intptr, timeout_ms: int, /) -> int:
  253. """Wraps `int serial_poll(serial_t* serial, int timeout_ms)`"""
  254. def serial_close(serial: intptr, /) -> int:
  255. """Wraps `int serial_close(serial_t* serial)`"""
  256. def serial_free(serial: intptr, /) -> None:
  257. """Wraps `void serial_free(serial_t* serial)`"""
  258. def serial_get_baudrate(serial: intptr, baudrate: intptr, /) -> int:
  259. """Wraps `int serial_get_baudrate(serial_t* serial, uint32_t* baudrate)`"""
  260. def serial_get_databits(serial: intptr, databits: intptr, /) -> int:
  261. """Wraps `int serial_get_databits(serial_t* serial, unsigned* databits)`"""
  262. def serial_get_parity(serial: intptr, parity: intptr, /) -> int:
  263. """Wraps `int serial_get_parity(serial_t* serial, serial_parity_t* parity)`"""
  264. def serial_get_stopbits(serial: intptr, stopbits: intptr, /) -> int:
  265. """Wraps `int serial_get_stopbits(serial_t* serial, unsigned* stopbits)`"""
  266. def serial_get_xonxoff(serial: intptr, xonxoff: intptr, /) -> int:
  267. """Wraps `int serial_get_xonxoff(serial_t* serial, bool* xonxoff)`"""
  268. def serial_get_rtscts(serial: intptr, rtscts: intptr, /) -> int:
  269. """Wraps `int serial_get_rtscts(serial_t* serial, bool* rtscts)`"""
  270. def serial_get_vmin(serial: intptr, vmin: intptr, /) -> int:
  271. """Wraps `int serial_get_vmin(serial_t* serial, unsigned* vmin)`"""
  272. def serial_get_vtime(serial: intptr, vtime: intptr, /) -> int:
  273. """Wraps `int serial_get_vtime(serial_t* serial, float* vtime)`"""
  274. def serial_set_baudrate(serial: intptr, baudrate: int, /) -> int:
  275. """Wraps `int serial_set_baudrate(serial_t* serial, uint32_t baudrate)`"""
  276. def serial_set_databits(serial: intptr, databits: int, /) -> int:
  277. """Wraps `int serial_set_databits(serial_t* serial, unsigned databits)`"""
  278. def serial_set_parity(serial: intptr, parity: int, /) -> int:
  279. """Wraps `int serial_set_parity(serial_t* serial, serial_parity_t parity)`"""
  280. def serial_set_stopbits(serial: intptr, stopbits: int, /) -> int:
  281. """Wraps `int serial_set_stopbits(serial_t* serial, unsigned stopbits)`"""
  282. def serial_set_xonxoff(serial: intptr, enabled: bool, /) -> int:
  283. """Wraps `int serial_set_xonxoff(serial_t* serial, bool enabled)`"""
  284. def serial_set_rtscts(serial: intptr, enabled: bool, /) -> int:
  285. """Wraps `int serial_set_rtscts(serial_t* serial, bool enabled)`"""
  286. def serial_set_vmin(serial: intptr, vmin: int, /) -> int:
  287. """Wraps `int serial_set_vmin(serial_t* serial, unsigned vmin)`"""
  288. def serial_set_vtime(serial: intptr, vtime: float, /) -> int:
  289. """Wraps `int serial_set_vtime(serial_t* serial, float vtime)`"""
  290. def serial_fd(serial: intptr, /) -> int:
  291. """Wraps `int serial_fd(serial_t* serial)`"""
  292. def serial_tostring(serial: intptr, str: intptr, len: int, /) -> int:
  293. """Wraps `int serial_tostring(serial_t* serial, char* str, size_t len)`"""
  294. def serial_errno(serial: intptr, /) -> int:
  295. """Wraps `int serial_errno(serial_t* serial)`"""
  296. def serial_errmsg(serial: intptr, /) -> str:
  297. """Wraps `const char* serial_errmsg(serial_t* serial)`"""
  298. def spi_new() -> intptr:
  299. """Wraps `spi_t* spi_new()`"""
  300. def spi_open(spi: intptr, path: str, mode: int, max_speed: int, /) -> int:
  301. """Wraps `int spi_open(spi_t* spi, const char* path, unsigned mode, uint32_t max_speed)`"""
  302. def spi_open_advanced(spi: intptr, path: str, mode: int, max_speed: int, bit_order: int, bits_per_word: int, extra_flags: int, /) -> int:
  303. """Wraps `int spi_open_advanced(spi_t* spi, const char* path, unsigned mode, uint32_t max_speed, spi_bit_order_t bit_order, uint8_t bits_per_word, uint8_t extra_flags)`"""
  304. def spi_open_advanced2(spi: intptr, path: str, mode: int, max_speed: int, bit_order: int, bits_per_word: int, extra_flags: int, /) -> int:
  305. """Wraps `int spi_open_advanced2(spi_t* spi, const char* path, unsigned mode, uint32_t max_speed, spi_bit_order_t bit_order, uint8_t bits_per_word, uint32_t extra_flags)`"""
  306. def spi_transfer(spi: intptr, txbuf: intptr, rxbuf: intptr, len: int, /) -> int:
  307. """Wraps `int spi_transfer(spi_t* spi, const uint8_t* txbuf, uint8_t* rxbuf, size_t len)`"""
  308. def spi_transfer_advanced(spi: intptr, msgs: intptr, count: int, /) -> int:
  309. """Wraps `int spi_transfer_advanced(spi_t* spi, const spi_msg_t* msgs, size_t count)`"""
  310. def spi_close(spi: intptr, /) -> int:
  311. """Wraps `int spi_close(spi_t* spi)`"""
  312. def spi_free(spi: intptr, /) -> None:
  313. """Wraps `void spi_free(spi_t* spi)`"""
  314. def spi_get_mode(spi: intptr, mode: intptr, /) -> int:
  315. """Wraps `int spi_get_mode(spi_t* spi, unsigned* mode)`"""
  316. def spi_get_max_speed(spi: intptr, max_speed: intptr, /) -> int:
  317. """Wraps `int spi_get_max_speed(spi_t* spi, uint32_t* max_speed)`"""
  318. def spi_get_bit_order(spi: intptr, bit_order: intptr, /) -> int:
  319. """Wraps `int spi_get_bit_order(spi_t* spi, spi_bit_order_t* bit_order)`"""
  320. def spi_get_bits_per_word(spi: intptr, bits_per_word: intptr, /) -> int:
  321. """Wraps `int spi_get_bits_per_word(spi_t* spi, uint8_t* bits_per_word)`"""
  322. def spi_get_extra_flags(spi: intptr, extra_flags: intptr, /) -> int:
  323. """Wraps `int spi_get_extra_flags(spi_t* spi, uint8_t* extra_flags)`"""
  324. def spi_get_extra_flags32(spi: intptr, extra_flags: intptr, /) -> int:
  325. """Wraps `int spi_get_extra_flags32(spi_t* spi, uint32_t* extra_flags)`"""
  326. def spi_set_mode(spi: intptr, mode: int, /) -> int:
  327. """Wraps `int spi_set_mode(spi_t* spi, unsigned mode)`"""
  328. def spi_set_max_speed(spi: intptr, max_speed: int, /) -> int:
  329. """Wraps `int spi_set_max_speed(spi_t* spi, uint32_t max_speed)`"""
  330. def spi_set_bit_order(spi: intptr, bit_order: int, /) -> int:
  331. """Wraps `int spi_set_bit_order(spi_t* spi, spi_bit_order_t bit_order)`"""
  332. def spi_set_bits_per_word(spi: intptr, bits_per_word: int, /) -> int:
  333. """Wraps `int spi_set_bits_per_word(spi_t* spi, uint8_t bits_per_word)`"""
  334. def spi_set_extra_flags(spi: intptr, extra_flags: int, /) -> int:
  335. """Wraps `int spi_set_extra_flags(spi_t* spi, uint8_t extra_flags)`"""
  336. def spi_set_extra_flags32(spi: intptr, extra_flags: int, /) -> int:
  337. """Wraps `int spi_set_extra_flags32(spi_t* spi, uint32_t extra_flags)`"""
  338. def spi_fd(spi: intptr, /) -> int:
  339. """Wraps `int spi_fd(spi_t* spi)`"""
  340. def spi_tostring(spi: intptr, str: intptr, len: int, /) -> int:
  341. """Wraps `int spi_tostring(spi_t* spi, char* str, size_t len)`"""
  342. def spi_errno(spi: intptr, /) -> int:
  343. """Wraps `int spi_errno(spi_t* spi)`"""
  344. def spi_errmsg(spi: intptr, /) -> str:
  345. """Wraps `const char* spi_errmsg(spi_t* spi)`"""
  346. def periphery_version() -> str:
  347. """Wraps `const char* periphery_version()`"""
  348. def periphery_version_info() -> intptr:
  349. """Wraps `const periphery_version_t* periphery_version_info()`"""
  350. # aliases
  351. gpio_direction_t = int
  352. gpio_edge_t = int
  353. gpio_event_clock_t = int
  354. gpio_bias_t = int
  355. gpio_drive_t = int
  356. pwm_polarity_t = int
  357. serial_parity_t = int
  358. spi_bit_order_t = int
  359. # enums
  360. GPIO_ERROR_ARG: int
  361. GPIO_ERROR_OPEN: int
  362. GPIO_ERROR_NOT_FOUND: int
  363. GPIO_ERROR_QUERY: int
  364. GPIO_ERROR_CONFIGURE: int
  365. GPIO_ERROR_UNSUPPORTED: int
  366. GPIO_ERROR_INVALID_OPERATION: int
  367. GPIO_ERROR_IO: int
  368. GPIO_ERROR_CLOSE: int
  369. GPIO_DIR_IN: int
  370. GPIO_DIR_OUT: int
  371. GPIO_DIR_OUT_LOW: int
  372. GPIO_DIR_OUT_HIGH: int
  373. GPIO_EDGE_NONE: int
  374. GPIO_EDGE_RISING: int
  375. GPIO_EDGE_FALLING: int
  376. GPIO_EDGE_BOTH: int
  377. GPIO_EVENT_CLOCK_REALTIME: int
  378. GPIO_EVENT_CLOCK_MONOTONIC: int
  379. GPIO_EVENT_CLOCK_HTE: int
  380. GPIO_BIAS_DEFAULT: int
  381. GPIO_BIAS_PULL_UP: int
  382. GPIO_BIAS_PULL_DOWN: int
  383. GPIO_BIAS_DISABLE: int
  384. GPIO_DRIVE_DEFAULT: int
  385. GPIO_DRIVE_OPEN_DRAIN: int
  386. GPIO_DRIVE_OPEN_SOURCE: int
  387. LED_ERROR_ARG: int
  388. LED_ERROR_OPEN: int
  389. LED_ERROR_QUERY: int
  390. LED_ERROR_IO: int
  391. LED_ERROR_CLOSE: int
  392. MMIO_ERROR_ARG: int
  393. MMIO_ERROR_OPEN: int
  394. MMIO_ERROR_CLOSE: int
  395. PWM_ERROR_ARG: int
  396. PWM_ERROR_OPEN: int
  397. PWM_ERROR_QUERY: int
  398. PWM_ERROR_CONFIGURE: int
  399. PWM_ERROR_CLOSE: int
  400. PWM_POLARITY_NORMAL: int
  401. PWM_POLARITY_INVERSED: int
  402. SERIAL_ERROR_ARG: int
  403. SERIAL_ERROR_OPEN: int
  404. SERIAL_ERROR_QUERY: int
  405. SERIAL_ERROR_CONFIGURE: int
  406. SERIAL_ERROR_IO: int
  407. SERIAL_ERROR_CLOSE: int
  408. PARITY_NONE: int
  409. PARITY_ODD: int
  410. PARITY_EVEN: int
  411. SPI_ERROR_ARG: int
  412. SPI_ERROR_OPEN: int
  413. SPI_ERROR_QUERY: int
  414. SPI_ERROR_CONFIGURE: int
  415. SPI_ERROR_TRANSFER: int
  416. SPI_ERROR_CLOSE: int
  417. SPI_ERROR_UNSUPPORTED: int
  418. MSB_FIRST: int
  419. LSB_FIRST: int