pw_transfer: Make extend window divisor configurable

This makes the window divisor at which to ACK and extend a rolling
window in a receive transfer a configurable value. Both compile-time
defaults and runtime configuration are supported.

Change-Id: Ic76016a99167aaa8c068c5007228928cc1b6f0f2
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/87480
Pigweed-Auto-Submit: Alexei Frolov <frolv@google.com>
Reviewed-by: Wyatt Hepler <hepler@google.com>
Commit-Queue: Alexei Frolov <frolv@google.com>
7 files changed
tree: 61f2899308ea856dd710a367f2e900f9ddaf5eaa
  1. build_overrides/
  2. docker/
  3. docs/
  4. pw_allocator/
  5. pw_analog/
  6. pw_android_toolchain/
  7. pw_arduino_build/
  8. pw_assert/
  9. pw_assert_basic/
  10. pw_assert_log/
  11. pw_assert_tokenized/
  12. pw_assert_zephyr/
  13. pw_base64/
  14. pw_bloat/
  15. pw_blob_store/
  16. pw_bluetooth_hci/
  17. pw_boot/
  18. pw_boot_cortex_m/
  19. pw_build/
  20. pw_build_info/
  21. pw_build_mcuxpresso/
  22. pw_bytes/
  23. pw_checksum/
  24. pw_chrono/
  25. pw_chrono_embos/
  26. pw_chrono_freertos/
  27. pw_chrono_stl/
  28. pw_chrono_threadx/
  29. pw_chrono_zephyr/
  30. pw_cli/
  31. pw_console/
  32. pw_containers/
  33. pw_cpu_exception/
  34. pw_cpu_exception_cortex_m/
  35. pw_crypto/
  36. pw_docgen/
  37. pw_doctor/
  38. pw_env_setup/
  39. pw_file/
  40. pw_function/
  41. pw_fuzzer/
  42. pw_hdlc/
  43. pw_hex_dump/
  44. pw_i2c/
  45. pw_i2c_mcuxpresso/
  46. pw_interrupt/
  47. pw_interrupt_cortex_m/
  48. pw_interrupt_zephyr/
  49. pw_kvs/
  50. pw_libc/
  51. pw_log/
  52. pw_log_android/
  53. pw_log_basic/
  54. pw_log_null/
  55. pw_log_rpc/
  56. pw_log_string/
  57. pw_log_tokenized/
  58. pw_log_zephyr/
  59. pw_malloc/
  60. pw_malloc_freelist/
  61. pw_metric/
  62. pw_minimal_cpp_stdlib/
  63. pw_module/
  64. pw_multisink/
  65. pw_package/
  66. pw_persistent_ram/
  67. pw_polyfill/
  68. pw_preprocessor/
  69. pw_presubmit/
  70. pw_protobuf/
  71. pw_protobuf_compiler/
  72. pw_random/
  73. pw_result/
  74. pw_ring_buffer/
  75. pw_router/
  76. pw_rpc/
  77. pw_snapshot/
  78. pw_software_update/
  79. pw_span/
  80. pw_spi/
  81. pw_status/
  82. pw_stm32cube_build/
  83. pw_stream/
  84. pw_string/
  85. pw_symbolizer/
  86. pw_sync/
  87. pw_sync_baremetal/
  88. pw_sync_embos/
  89. pw_sync_freertos/
  90. pw_sync_stl/
  91. pw_sync_threadx/
  92. pw_sync_zephyr/
  93. pw_sys_io/
  94. pw_sys_io_arduino/
  95. pw_sys_io_baremetal_lm3s6965evb/
  96. pw_sys_io_baremetal_stm32f429/
  97. pw_sys_io_mcuxpresso/
  98. pw_sys_io_stdio/
  99. pw_sys_io_stm32cube/
  100. pw_sys_io_zephyr/
  101. pw_system/
  102. pw_target_runner/
  103. pw_thread/
  104. pw_thread_embos/
  105. pw_thread_freertos/
  106. pw_thread_stl/
  107. pw_thread_threadx/
  108. pw_tls_client/
  109. pw_tls_client_boringssl/
  110. pw_tls_client_mbedtls/
  111. pw_tokenizer/
  112. pw_tool/
  113. pw_toolchain/
  114. pw_trace/
  115. pw_trace_tokenized/
  116. pw_transfer/
  117. pw_unit_test/
  118. pw_varint/
  119. pw_watch/
  120. pw_web_ui/
  121. pw_work_queue/
  122. targets/
  123. third_party/
  124. zephyr/
  125. .bazelignore
  126. .bazelrc
  127. .clang-format
  128. .clang-tidy
  129. .eslintrc.json
  130. .gitattributes
  131. .gitignore
  132. .gn
  133. .prettierrc.js
  134. .pylintrc
  135. activate.bat
  136. Android.bp
  137. AUTHORS
  138. bootstrap.bat
  139. bootstrap.sh
  140. BUILD.bazel
  141. BUILD.gn
  142. BUILDCONFIG.gn
  143. CMakeLists.txt
  144. Kconfig.zephyr
  145. LICENSE
  146. modules.gni
  147. OWNERS
  148. package.json
  149. PIGWEED_MODULES
  150. PW_PLUGINS
  151. README.md
  152. tsconfig.json
  153. WORKSPACE
  154. yarn.lock
README.md

Pigweed

Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.

For more information please see our website: https://pigweed.dev/

Links