-
Notifications
You must be signed in to change notification settings - Fork 6
Use AI Agent to port PRU Academy projects #128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
nsaulnier-ti
wants to merge
11
commits into
main
Choose a base branch
from
a0226750_ai_port_academy
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
98f7f0f
academy: Import mac/mac_c from PSSP to AM62x, AM64x
nsaulnier-ti 8cdff31
academy: Import uart/uart_loopback from PSSP to AM62x
nsaulnier-ti 792f827
academy: mac_c & uart: add to makefile & readme
nsaulnier-ti b86de6c
examples/empty: Update README template
nsaulnier-ti 06c5ebb
examples: Standardize README format
nsaulnier-ti c1493d3
academy: Standardize README format
nsaulnier-ti cef53cd
academy: Port crc/crc to AM243x, AM62x, AM64x
nsaulnier-ti 060cdfb
academy: Port mac/mac to AM243x, AM62x, AM64x
nsaulnier-ti 72aa4dc
academy: Port mac/mac_multiply to AM243x, AM62x, AM64x
nsaulnier-ti b4a3922
academy: Port intc/intc_mcu to AM243x, AM64x
nsaulnier-ti 2153d20
academy/readme: Update "Supported Processors"
nsaulnier-ti File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
80 changes: 80 additions & 0 deletions
80
academy/crc/crc/firmware/am243x-evm/icss_g0_pru0_fw/ti-pru-cgt/example.projectspec
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,80 @@ | ||
| <?xml version="1.0" encoding="UTF-8"?> | ||
| <!-- This example.projectspec file is for PRU projects written in assembly --> | ||
| <projectSpec> | ||
| <applicability> | ||
| <when> | ||
| <context | ||
| deviceFamily="PRU" | ||
| deviceId="AM243x_GP_EVM" | ||
| /> | ||
| </when> | ||
| </applicability> | ||
|
|
||
| <project | ||
| title="Crc" | ||
| name = "crc_am243x-evm_icss_g0_pru0_fw_ti-pru-cgt" | ||
| products="com.ti.OPEN_PRU" | ||
| configurations=" | ||
| Release, | ||
| Debug, | ||
| " | ||
| connection="TIXDS110_Connection.xml" | ||
| toolChain="TI" | ||
| cgtVersion="2.3.3" | ||
| device="AM243x_GP_EVM" | ||
| deviceCore="ICSS_G0_PRU_0" | ||
| ignoreDefaultDeviceSettings="true" | ||
| ignoreDefaultCCSSettings="true" | ||
| endianness="little" | ||
| outputFormat="ELF" | ||
| outputType="executable" | ||
|
|
||
| compilerBuildOptions=" | ||
| -I${CG_TOOL_ROOT}/include | ||
| -I${OPEN_PRU_PATH}/source | ||
| -I${OPEN_PRU_PATH}/source/firmware/common | ||
| -I${OPEN_PRU_PATH}/source/include | ||
| -I${OPEN_PRU_PATH}/source/include/am243x | ||
| -DPRU0 | ||
| -DSLICE0 | ||
| -v4 | ||
| -DSOC_AM243X | ||
| -O2 | ||
| " | ||
| linkerBuildOptions=" | ||
| -m=crc.${ConfigName}.map | ||
| --disable_auto_rts | ||
| --entry_point=main | ||
| --diag_suppress=10063-D | ||
| --warn_sections | ||
| --reread_libs | ||
| --diag_warning=225 | ||
| --ram_model | ||
| " | ||
|
|
||
| postBuildStep=" | ||
| $(CG_TOOL_ROOT)/bin/hexpru --diag_wrap=off --array --array:name_prefix=PRU0Firmware -o ../pru0_load_bin.h ${BuildArtifactFileBaseName}.out; | ||
| " | ||
|
|
||
| description="A Crc FW project"> | ||
|
|
||
| <configuration name="Debug" | ||
| compilerBuildOptions=" | ||
| -D_DEBUG_=1 | ||
| " | ||
| linkerBuildOptions=" | ||
| " | ||
| ></configuration> | ||
| <configuration name="Release" | ||
| compilerBuildOptions=" | ||
| " | ||
| linkerBuildOptions=" | ||
| " | ||
| ></configuration> | ||
| <pathVariable name="OPEN_PRU_PATH" path="${COM_TI_OPEN_PRU_INSTALL_DIR}" scope="project" /> | ||
| <file path="../../../main.asm" openOnCreation="false" excludeFromBuild="false" action="copy"> | ||
| </file> | ||
| <file path="./linker.cmd" openOnCreation="false" excludeFromBuild="false" action="copy"> | ||
| </file> | ||
| </project> | ||
| </projectSpec> | ||
52 changes: 52 additions & 0 deletions
52
academy/crc/crc/firmware/am243x-evm/icss_g0_pru0_fw/ti-pru-cgt/linker.cmd
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| /* | ||
| * AM243x_PRU0.cmd | ||
| * | ||
| * Example Linker command file for linking assembly programs built with the TI-PRU-CGT | ||
| * on AM243x PRU0 cores | ||
| */ | ||
|
|
||
| /* Specify the System Memory Map */ | ||
| MEMORY | ||
| { | ||
| PAGE 0: | ||
| /* 12 KB PRU Instruction RAM */ | ||
| PRU_IMEM : org = 0x00000000 len = 0x00003000 | ||
|
|
||
| PAGE 1: | ||
| /* Data RAMs */ | ||
| /* 8 KB PRU Data RAM 0; use only the first 4 KB for PRU0 and reserve | ||
| * the second 4 KB for RTU0 and Tx_PRU0 */ | ||
| PRU0_DMEM_0 : org = 0x00000000 len = 0x00001000 | ||
| /* 8 KB PRU Data RAM 1; reserved completely for Slice1 cores - PRU1, | ||
| * RTU1 and Tx_PRU1; do not use for any Slice0 cores */ | ||
| PRU1_DMEM_1 : org = 0x00002000 len = 0x00001000 | ||
| /* NOTE: Custom split of the second 4 KB of ICSS Data RAMs 0 and 1 | ||
| * split equally between the corresponding RTU and Tx_PRU cores in | ||
| * each slice */ | ||
| RTU0_DMEM_0 : org = 0x00001000 len = 0x00000800 | ||
| TX_PRU0_DMEM_0 : org = 0x00001800 len = 0x00000800 | ||
| RTU1_DMEM_1 : org = 0x00003000 len = 0x00000800 | ||
| TX_PRU1_DMEM_1 : org = 0x00003800 len = 0x00000800 | ||
|
|
||
| PAGE 2: | ||
| /* C28 needs to be programmed to point to SHAREDMEM, default is 0 */ | ||
| /* 64 KB PRU Shared RAM */ | ||
| PRU_SHAREDMEM : org = 0x00010000 len = 0x00010000 | ||
| } | ||
|
|
||
| /* Specify the sections allocation into memory */ | ||
| SECTIONS { | ||
|
|
||
| .text > PRU_IMEM, PAGE 0 | ||
| .stack > PRU0_DMEM_0, PAGE 1 | ||
| .bss > PRU0_DMEM_0, PAGE 1 | ||
| .cio > PRU0_DMEM_0, PAGE 1 | ||
| .data > PRU0_DMEM_0, PAGE 1 | ||
| .switch > PRU0_DMEM_0, PAGE 1 | ||
| .sysmem > PRU0_DMEM_0, PAGE 1 | ||
| .cinit > PRU0_DMEM_0, PAGE 1 | ||
| .rodata > PRU0_DMEM_0, PAGE 1 | ||
| .rofardata > PRU0_DMEM_0, PAGE 1 | ||
| .farbss > PRU0_DMEM_0, PAGE 1 | ||
| .fardata > PRU0_DMEM_0, PAGE 1 | ||
| } |
47 changes: 47 additions & 0 deletions
47
academy/crc/crc/firmware/am243x-evm/icss_g0_pru0_fw/ti-pru-cgt/makefile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| export OPEN_PRU_PATH?=$(abspath ../../../../../../..) | ||
| include $(OPEN_PRU_PATH)/imports.mak | ||
|
|
||
| # Define build outputs | ||
| OUTPUT_NAME := crc_am243x-evm_icss_g0_pru0_fw | ||
|
|
||
| # MCU+ projects: rename & move hex array output | ||
| MCU_HEX_NAME := pru0_load_bin.h | ||
| HEX_ARRAY_PREFIX := PRU0Firmware | ||
| MCU_HEX_PATH := $(OPEN_PRU_PATH)/academy/crc/crc/firmware/am243x-evm/$(MCU_HEX_NAME) | ||
|
|
||
| # which directories to search for assembly & C source files? | ||
| FILES_PATH := .. ../../.. . | ||
|
|
||
| # Linker command file | ||
| COMMAND_FILES := linker.cmd | ||
|
|
||
| # Silicon version (3: PRUSS, PRU-ICSS; 4: PRU_ICSSG) | ||
| PRU_VERSION := 4 | ||
| EXPECTED_DEVICE := am243x | ||
|
|
||
| # Default values are defined in pru_rules.mak: | ||
| # - include paths (INCLUDE) | ||
| # - compiler flags (CFLAGS) | ||
| # - linker flags (LFLAGS) | ||
|
|
||
| # Optional: | ||
| # Pre-define here to override default value | ||
| # OPT_LEVEL, STACK_SIZE, HEAP_SIZE, or ENTRY_POINT | ||
|
|
||
| # pru_rules.mak has shared settings for all PRU/RTU/TX_PRU core makefiles | ||
| include $(OPEN_PRU_PATH)/pru_rules.mak | ||
|
|
||
| # Optional: | ||
| # Append values to INCLUDE, CFLAGS, or LFLAGS here. | ||
| # Values can be appended like this: | ||
| # INCLUDE += --include_path=<value> | ||
|
|
||
| # Defines (pass instance specific definitions to the program) | ||
| # see --define or -D in 'PRU Optimizing C/C++ Compiler User's Guide' | ||
| # For example, to define PRU0, ICSSG1, SOC_AM243X, and set _DEBUG_=1: | ||
| # -DPRU0 -DICSSG1 --define=SOC_AM243X -D_DEBUG_=1 | ||
| DFLAGS := | ||
|
|
||
| # Libraries | ||
| # see --library in 'PRU Optimizing C/C++ Compiler User's Guide' | ||
| LIBS := |
16 changes: 16 additions & 0 deletions
16
academy/crc/crc/firmware/am243x-evm/icss_g0_pru0_fw/ti-pru-cgt/makefile_projectspec
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| export OPEN_PRU_PATH?=$(abspath ../../../../../../..) | ||
| include $(OPEN_PRU_PATH)/imports.mak | ||
|
|
||
| PROFILE?=Release | ||
|
|
||
| PROJECT_NAME=crc_am243x-evm_icss_g0_pru0_fw_ti-pru-cgt | ||
|
|
||
| all: | ||
| $(CCS_ECLIPSE) -noSplash -data $(OPEN_PRU_PATH)/ccs_projects -application com.ti.ccstudio.apps.projectBuild -ccs.projects $(PROJECT_NAME) -ccs.configuration $(PROFILE) | ||
|
|
||
| clean: | ||
| $(CCS_ECLIPSE) -noSplash -data $(OPEN_PRU_PATH)/ccs_projects -application com.ti.ccstudio.apps.projectBuild -ccs.projects $(PROJECT_NAME) -ccs.configuration $(PROFILE) -ccs.clean | ||
|
|
||
| export: | ||
| $(MKDIR) $(OPEN_PRU_PATH)/ccs_projects | ||
| $(CCS_ECLIPSE) -noSplash -data $(OPEN_PRU_PATH)/ccs_projects -application com.ti.ccstudio.apps.projectCreate -ccs.projectSpec example.projectspec -ccs.overwrite full |
8 changes: 8 additions & 0 deletions
8
academy/crc/crc/firmware/am243x-evm/icss_g0_pru0_fw/ti-pru-cgt/syscfg_c.rov.xs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| /* | ||
| * ======== syscfg_c.rov.xs ======== | ||
| * This file contains the information needed by the Runtime Object | ||
| * View (ROV) tool. | ||
| */ | ||
| var crovFiles = [ | ||
| "kernel/freertos/rov/FreeRTOS.rov.js", | ||
| ]; |
80 changes: 80 additions & 0 deletions
80
academy/crc/crc/firmware/am243x-evm/icss_g0_pru1_fw/ti-pru-cgt/example.projectspec
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,80 @@ | ||
| <?xml version="1.0" encoding="UTF-8"?> | ||
| <!-- This example.projectspec file is for PRU projects written in assembly --> | ||
| <projectSpec> | ||
| <applicability> | ||
| <when> | ||
| <context | ||
| deviceFamily="PRU" | ||
| deviceId="AM243x_GP_EVM" | ||
| /> | ||
| </when> | ||
| </applicability> | ||
|
|
||
| <project | ||
| title="Crc" | ||
| name = "crc_am243x-evm_icss_g0_pru1_fw_ti-pru-cgt" | ||
| products="com.ti.OPEN_PRU" | ||
| configurations=" | ||
| Release, | ||
| Debug, | ||
| " | ||
| connection="TIXDS110_Connection.xml" | ||
| toolChain="TI" | ||
| cgtVersion="2.3.3" | ||
| device="AM243x_GP_EVM" | ||
| deviceCore="ICSS_G0_PRU_1" | ||
| ignoreDefaultDeviceSettings="true" | ||
| ignoreDefaultCCSSettings="true" | ||
| endianness="little" | ||
| outputFormat="ELF" | ||
| outputType="executable" | ||
|
|
||
| compilerBuildOptions=" | ||
| -I${CG_TOOL_ROOT}/include | ||
| -I${OPEN_PRU_PATH}/source | ||
| -I${OPEN_PRU_PATH}/source/firmware/common | ||
| -I${OPEN_PRU_PATH}/source/include | ||
| -I${OPEN_PRU_PATH}/source/include/am243x | ||
| -DPRU1 | ||
| -DSLICE1 | ||
| -v4 | ||
| -DSOC_AM243X | ||
| -O2 | ||
| " | ||
| linkerBuildOptions=" | ||
| -m=crc.${ConfigName}.map | ||
| --disable_auto_rts | ||
| --entry_point=main | ||
| --diag_suppress=10063-D | ||
| --warn_sections | ||
| --reread_libs | ||
| --diag_warning=225 | ||
| --ram_model | ||
| " | ||
|
|
||
| postBuildStep=" | ||
| $(CG_TOOL_ROOT)/bin/hexpru --diag_wrap=off --array --array:name_prefix=PRU1Firmware -o ../pru1_load_bin.h ${BuildArtifactFileBaseName}.out; | ||
| " | ||
|
|
||
| description="A Crc FW project"> | ||
|
|
||
| <configuration name="Debug" | ||
| compilerBuildOptions=" | ||
| -D_DEBUG_=1 | ||
| " | ||
| linkerBuildOptions=" | ||
| " | ||
| ></configuration> | ||
| <configuration name="Release" | ||
| compilerBuildOptions=" | ||
| " | ||
| linkerBuildOptions=" | ||
| " | ||
| ></configuration> | ||
| <pathVariable name="OPEN_PRU_PATH" path="${COM_TI_OPEN_PRU_INSTALL_DIR}" scope="project" /> | ||
| <file path="../../../main.asm" openOnCreation="false" excludeFromBuild="false" action="copy"> | ||
| </file> | ||
| <file path="./linker.cmd" openOnCreation="false" excludeFromBuild="false" action="copy"> | ||
| </file> | ||
| </project> | ||
| </projectSpec> |
52 changes: 52 additions & 0 deletions
52
academy/crc/crc/firmware/am243x-evm/icss_g0_pru1_fw/ti-pru-cgt/linker.cmd
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| /* | ||
| * AM243x_PRU1.cmd | ||
| * | ||
| * Example Linker command file for linking assembly programs built with the TI-PRU-CGT | ||
| * on AM243x PRU1 cores | ||
| */ | ||
|
|
||
| /* Specify the System Memory Map */ | ||
| MEMORY | ||
| { | ||
| PAGE 0: | ||
| /* 12 KB PRU Instruction RAM */ | ||
| PRU_IMEM : org = 0x00000000 len = 0x00003000 | ||
|
|
||
| PAGE 1: | ||
| /* Data RAMs */ | ||
| /* 8 KB PRU Data RAM 1; use only the first 4 KB for PRU1 and reserve | ||
| * the second 4 KB for RTU1 and Tx_PRU1 */ | ||
| PRU1_DMEM_1 : org = 0x00000000 len = 0x00001000 | ||
| /* 8 KB PRU Data RAM 0; reserved completely for Slice0 cores - PRU0, | ||
| * RTU0 and Tx_PRU0; do not use for any Slice1 cores */ | ||
| PRU0_DMEM_0 : org = 0x00002000 len = 0x00001000 | ||
| /* NOTE: Custom split of the second 4 KB of ICSS Data RAMs 0 and 1 | ||
| * split equally between the corresponding RTU and Tx_PRU cores in | ||
| * each slice */ | ||
| RTU1_DMEM_1 : org = 0x00001000 len = 0x00000800 | ||
| TX_PRU1_DMEM_1 : org = 0x00001800 len = 0x00000800 | ||
| RTU0_DMEM_0 : org = 0x00003000 len = 0x00000800 | ||
| TX_PRU0_DMEM_0 : org = 0x00003800 len = 0x00000800 | ||
|
|
||
| PAGE 2: | ||
| /* C28 needs to be programmed to point to SHAREDMEM, default is 0 */ | ||
| /* 64 KB PRU Shared RAM */ | ||
| PRU_SHAREDMEM : org = 0x00010000 len = 0x00010000 | ||
| } | ||
|
|
||
| /* Specify the sections allocation into memory */ | ||
| SECTIONS { | ||
|
|
||
| .text > PRU_IMEM, PAGE 0 | ||
| .stack > PRU1_DMEM_1, PAGE 1 | ||
| .bss > PRU1_DMEM_1, PAGE 1 | ||
| .cio > PRU1_DMEM_1, PAGE 1 | ||
| .data > PRU1_DMEM_1, PAGE 1 | ||
| .switch > PRU1_DMEM_1, PAGE 1 | ||
| .sysmem > PRU1_DMEM_1, PAGE 1 | ||
| .cinit > PRU1_DMEM_1, PAGE 1 | ||
| .rodata > PRU1_DMEM_1, PAGE 1 | ||
| .rofardata > PRU1_DMEM_1, PAGE 1 | ||
| .farbss > PRU1_DMEM_1, PAGE 1 | ||
| .fardata > PRU1_DMEM_1, PAGE 1 | ||
| } |
47 changes: 47 additions & 0 deletions
47
academy/crc/crc/firmware/am243x-evm/icss_g0_pru1_fw/ti-pru-cgt/makefile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| export OPEN_PRU_PATH?=$(abspath ../../../../../../..) | ||
| include $(OPEN_PRU_PATH)/imports.mak | ||
|
|
||
| # Define build outputs | ||
| OUTPUT_NAME := crc_am243x-evm_icss_g0_pru1_fw | ||
|
|
||
| # MCU+ projects: rename & move hex array output | ||
| MCU_HEX_NAME := pru1_load_bin.h | ||
| HEX_ARRAY_PREFIX := PRU1Firmware | ||
| MCU_HEX_PATH := $(OPEN_PRU_PATH)/academy/crc/crc/firmware/am243x-evm/$(MCU_HEX_NAME) | ||
|
|
||
| # which directories to search for assembly & C source files? | ||
| FILES_PATH := .. ../../.. . | ||
|
|
||
| # Linker command file | ||
| COMMAND_FILES := linker.cmd | ||
|
|
||
| # Silicon version (3: PRUSS, PRU-ICSS; 4: PRU_ICSSG) | ||
| PRU_VERSION := 4 | ||
| EXPECTED_DEVICE := am243x | ||
|
|
||
| # Default values are defined in pru_rules.mak: | ||
| # - include paths (INCLUDE) | ||
| # - compiler flags (CFLAGS) | ||
| # - linker flags (LFLAGS) | ||
|
|
||
| # Optional: | ||
| # Pre-define here to override default value | ||
| # OPT_LEVEL, STACK_SIZE, HEAP_SIZE, or ENTRY_POINT | ||
|
|
||
| # pru_rules.mak has shared settings for all PRU/RTU/TX_PRU core makefiles | ||
| include $(OPEN_PRU_PATH)/pru_rules.mak | ||
|
|
||
| # Optional: | ||
| # Append values to INCLUDE, CFLAGS, or LFLAGS here. | ||
| # Values can be appended like this: | ||
| # INCLUDE += --include_path=<value> | ||
|
|
||
| # Defines (pass instance specific definitions to the program) | ||
| # see --define or -D in 'PRU Optimizing C/C++ Compiler User's Guide' | ||
| # For example, to define PRU0, ICSSG1, SOC_AM243X, and set _DEBUG_=1: | ||
| # -DPRU0 -DICSSG1 --define=SOC_AM243X -D_DEBUG_=1 | ||
| DFLAGS := | ||
|
|
||
| # Libraries | ||
| # see --library in 'PRU Optimizing C/C++ Compiler User's Guide' | ||
| LIBS := |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.