diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml new file mode 100644 index 000000000..d37d08e6e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -0,0 +1,147 @@ +name: Report a problem +description: Create a report to let us help you +body: + + # This stuff will be rendered when the user is creating the issue. + # It is not included in the issue's description when the user submits the issue + - type: markdown + attributes: + value: |- + [docs]: https://nRF24.github.io/RF24 + [api-docs]: https://nrf24.github.io/RF24/classRF24.html + [common-issues]: https://github.com/nRF24/RF24/blob/master/COMMON_ISSUES.md + [platform-pages]: https://nrf24.github.io/RF24/pages.html + + Please read [about common issues][common-issues] first. + It addresses the most common problems that people have (whether they know it or not). + + > [!caution] + > These issues/tickets are intended **only for problems related to the RF24 library** source code. + > Please use other forums/communities to ask questions that specific to _your_ source code. + > - [Arduino Forums](https://forum.arduino.cc/) + > - [PlatformIO forums](https://community.platformio.org/) + + We also host exhaustive [library documentation][docs]. + Please check the [API documentation][api-docs] or [platform support pages][platform-pages] to see if your question is addressed there. + + > [!important] + > Python users should migrate to using our [pyRF24](https://github.com/nRF24/pyRF24) python package. + > + >
The pyRF24 package has numerous advantages over the older/individual python wrapper(s) + > + > - [x] [drop-in compatible](https://nrf24.github.io/pyRF24/#migrating-to-pyrf24) API + > - [x] available via [`pip install pyrf24`](https://pypi.org/project/pyrf24/) + > - [x] no need to build from source and does not require the C++ libraries installed + > - [x] includes wrappers for RF24, RF24Network, RF24Mesh libraries and a fake BLE implementation + > - [x] includes typing stubs for type checking tools like mypy + > - [x] has [dedicated documentation](https://nrf24.github.io/pyRF24) and supports Python's builtin `help()` function + > + >
+ + - type: input + id: module + attributes: + label: What radio module do you use? + description: >- + Please tell us what type of radio(s) you are using. + We are especially interested if you are using a PA/LNA variant. + placeholder: nRF24L01+ PA/LNA, nRF24L01+ + validations: + required: true + + - type: input + id: platform + attributes: + label: What driver board(s) do you use? + description: >- + Please tell us what board(s) you are using to drive the radio. + placeholder: Arduino UNO, RPi3, RPi Pico + validations: + required: true + + - type: markdown + attributes: + value: |- + > [!warning] + > Any 64-bit Linux OS requires installing RF24 libraries with + > [our CMake instructions](https://nrf24.github.io/RF24/md_docs_2using__cmake.html). + + - type: textarea + id: linux-os + attributes: + label: If using Linux, what OS are you using? + description: |- + This is only needed if you are using a Linux system to drive the radio. + + Please copy and paste the output for the following command: + + ```text + uname -srm && lsb_release -a + ``` + placeholder: |- + Linux 6.6.28+rpt-rpi-v7 armv7l + No LSB modules are available. + Distributor ID: Raspbian + Description: Raspbian GNU/Linux 12 (bookworm) + Release: 12 + Codename: bookworm + render: text + + - type: dropdown + id: linux-driver + attributes: + label: If using Linux, what RF24 driver did you select? + description: |- + These are hardware drivers that the RF24 library supports on Linux. + Please select which one you used. + + > [!note] + > The `SPIDEV` driver is highly recommended and will be the only driver supported in the future. + > See rationale in [nRF24/RF24#971](https://github.com/nRF24/RF24/issues/971). + options: + - SPIDEV (linux kernel) + - RPi (BCM2835 library) + - MRAA + - wiringPi + - pigpio + - LittleWire + + - type: textarea + id: user-issue + attributes: + label: Describe your problem + description: Please use as much detail as possible. + placeholder: You can use markdown syntax here + validations: + required: true + + - type: markdown + id: how-to-md + attributes: + value: |- + [gfm-doc]: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax + + GitHub supports their own flavor of MarkDown syntax. + Learn more about writing Markdown syntax in [GitHub's documentation][gfm-doc]. + + - type: textarea + id: rx-code + attributes: + label: What is the RX code? + description: >- + Use this area to show your relevant source code for RX behavior. + value: |- + #include + // ... + render: cpp + + - type: textarea + id: tx-code + attributes: + label: What is the TX code? + description: >- + Use this area to show your relevant source code for TX behavior. + value: |- + // The code for RX is same for TX. + // See above code for RX + render: cpp diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index a8998e3ef..000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -Please read [about common issues](https://github.com/nRF24/RF24/blob/master/COMMON_ISSUES.md) first. It addresses the most common problems that people have (whether they know it or not). - -**Describe the bug** -A clear and concise description of what the bug is. - -Please include: -1. Code to reproduce -2. Expected behaviour -3. What device(s) are you using? Please specify make, model, and Operating System if applicable. - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..f8bbc5d07 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,25 @@ +# this setting will force users to use the provided issue templates +blank_issues_enabled: true +# This setting may be changed in the future if the templates are not being used! + +# if the templates provided don't fit the subject of the user feedback, +# here we can give links to other forms of user feedback +contact_links: + - name: Arduino Forums + url: https://forum.arduino.cc/ + about: A place for questions not specific to RF24 library (for Arduino users) + - name: PlatformIO Forums + url: https://community.platformio.org/ + about: A place for questions not specific to RF24 library (for PlatformIO users) + - name: Common nRF24L01 problems + url: https://nrf24.github.io/RF24/md_COMMON__ISSUES.html + about: We have documented common issues for user convenience and quick solutions + - name: RF24 API documentation + url: https://nrf24.github.io/RF24/classRF24.html + about: Our exhaustive documentation helps describe expected behavior + # This link is only useful if blank issues templates are disabled (see top of this file) + # Uncomment this list item and disable blank issue templates + # to allow only maintainers the ability to open a blank issue + # - name: Maintainers' note + # url: https://github.com/nRF24/RF24/issues/new + # about: Start a discussion for maintainers only diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml new file mode 100644 index 000000000..6d6b9e399 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -0,0 +1,46 @@ +name: Feature request +description: Suggest an idea for this project +body: + - type: textarea + id: behavior + attributes: + label: Describe the behavior you would like + description: >- + Use this area to describe what behavior you desire. + Please be clear and concise as possible. + placeholder: You can use markdown syntax here + validations: + required: true + + - type: textarea + id: proposal + attributes: + label: Propose an implementation or solution + description: >- + How do you imagine this will be implemented in code? + placeholder: You can use markdown syntax here + + - type: textarea + id: alternative + attributes: + label: Describe alternatives you have considered + description: >- + Were you able to achieve the desired behavior in some other/inconvenient way? + placeholder: You can use markdown syntax here + + - type: textarea + id: added-context + attributes: + label: Additional context + description: >- + If there is anything that might be special or specific to your usage, please let us know. + placeholder: You can use markdown syntax here + + - type: markdown + id: how-to-md + attributes: + value: |- + [gfm-doc]: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax + + GitHub supports their own flavor of MarkDown syntax. + Learn more about writing Markdown syntax in [GitHub's documentation][gfm-doc]. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index bbcbbe7d6..000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md deleted file mode 100644 index cd314e19f..000000000 --- a/.github/ISSUE_TEMPLATE/question.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: Question -about: Have a question? -title: "[Question]" -labels: question -assignees: '' - ---- - -Please read [about common issues](https://github.com/nRF24/RF24/blob/master/COMMON_ISSUES.md) first. It addresses the most common problems that people have (whether they know it or not). diff --git a/.github/ISSUE_TEMPLATE/question.yml b/.github/ISSUE_TEMPLATE/question.yml new file mode 100644 index 000000000..f6d7a6960 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.yml @@ -0,0 +1,59 @@ +name: Question +description: Have a question? +title: "[Question]: " +labels: ["question"] +body: + + # This stuff will be rendered when the user is creating the issue. + # It is not included in the issue's description when the user submits the issue + - type: markdown + attributes: + value: |- + [docs]: https://nRF24.github.io/RF24 + [api-docs]: https://nrf24.github.io/RF24/classRF24.html + [common-issues]: https://github.com/nRF24/RF24/blob/master/COMMON_ISSUES.md + [platform-pages]: https://nrf24.github.io/RF24/pages.html + + Please read [about common issues][common-issues] first. + It addresses the most common problems that people have (whether they know it or not). + + > [!caution] + > These issues/tickets are intended **only for problems related to the RF24 library** source code. + > Please use other forums/communities to ask questions that specific to _your_ source code. + > - [Arduino Forums](https://forum.arduino.cc/) + > - [PlatformIO forums](https://community.platformio.org/) + + We also host exhaustive [library documentation][docs]. + Please check the [API documentation][api-docs] or [platform support pages][platform-pages] to see if your question is addressed there. + + > [!important] + > Python users should migrate to using our [pyRF24](https://github.com/nRF24/pyRF24) python package. + > + >
The pyRF24 package has numerous advantages over the older/individual python wrapper(s) + > + > - [x] [drop-in compatible](https://nrf24.github.io/pyRF24/#migrating-to-pyrf24) API + > - [x] available via [`pip install pyrf24`](https://pypi.org/project/pyrf24/) + > - [x] no need to build from source and does not require the C++ libraries installed + > - [x] includes wrappers for RF24, RF24Network, RF24Mesh libraries and a fake BLE implementation + > - [x] includes typing stubs for type checking tools like mypy + > - [x] has [dedicated documentation](https://nrf24.github.io/pyRF24) and supports Python's builtin `help()` function + > + >
+ + - type: textarea + id: user-question + attributes: + # `label` is a required field here. I'm guessing that it cannot be an empty string. + label: What would you like to know? + placeholder: You can use markdown syntax here + validations: + required: true + + - type: markdown + id: how-to-md + attributes: + value: |- + [gfm-doc]: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax + + GitHub supports their own flavor of MarkDown syntax. + Learn more about writing Markdown syntax in [GitHub's documentation][gfm-doc].