Skip to content

Commit a2bb467

Browse files
authored
Merge pull request #663 from 3DCoded/feat-skr-pico
feat(installer): Add BTT SKR Pico support (Type-B)
2 parents cecf6d8 + ff60e9c commit a2bb467

File tree

2 files changed

+131
-1
lines changed

2 files changed

+131
-1
lines changed

install.sh

+16-1
Original file line numberDiff line numberDiff line change
@@ -821,6 +821,11 @@ copy_config_files() {
821821
cat ${dest} | sed -e "\
822822
s/^uart_pin: mmu:MMU_SEL_UART/uart_pin: mmu:MMU_GEAR_UART/; \
823823
" > ${dest}.tmp && mv ${dest}.tmp ${dest}
824+
elif [ "${_hw_brd_type}" == "SKR_PICO_1" ]; then
825+
# Share uart_pin to avoid duplicate alias problem
826+
cat ${dest} | sed -e "\
827+
s/^uart_pin: mmu:MMU_SEL_UART/uart_pin: mmu:MMU_GEAR_UART/; \
828+
" > ${dest}.tmp && mv ${dest}.tmp ${dest}
824829
else
825830
# Remove uart_address lines
826831
cat ${dest} | sed -e "\
@@ -879,7 +884,12 @@ copy_config_files() {
879884
echo >> ${dest}.tmp
880885
done
881886
awk '/^# ADDITIONAL FILAMENT DRIVE/ {flag=1; count=0} flag && count++ >= 12 {print}' ${dest} >> ${dest}.tmp && mv ${dest}.tmp ${dest}
882-
887+
if [ "${_hw_brd_type}" == "SKR_PICO_1" ]; then
888+
# Remove duplicate uart_pin's and add proper uart_addresses
889+
cat ${dest} | sed -e "s/^uart_pin: mmu:MMU_GEAR_UART_1/uart_pin: mmu:MMU_GEAR_UART\nuart_address: 2/" > ${dest}.tmp && mv ${dest}.tmp ${dest}
890+
cat ${dest} | sed -e "s/^uart_pin: mmu:MMU_GEAR_UART_2/uart_pin: mmu:MMU_GEAR_UART\nuart_address: 1/" > ${dest}.tmp && mv ${dest}.tmp ${dest}
891+
cat ${dest} | sed -e "s/^uart_pin: mmu:MMU_GEAR_UART_3/uart_pin: mmu:MMU_GEAR_UART\nuart_address: 3/" > ${dest}.tmp && mv ${dest}.tmp ${dest}
892+
fi
883893
else
884894
if [ "$HAS_SERVO" == "no" ]; then
885895
sed "/^# SELECTOR SERVO/,+7 d" ${dest} > ${dest}.tmp && mv ${dest}.tmp ${dest}
@@ -1724,6 +1734,7 @@ questionaire() {
17241734
option MELLOW_BRD_1 'Mellow EASY-BRD v1.x (with CANbus)'
17251735
option MELLOW_BRD_2 'Mellow EASY-BRD v2.x (with CANbus)'
17261736
option AFC_LITE_1 'AFC Lite v1.0'
1737+
option SKR_PICO_1 'BTT SKR Pico v1.0'
17271738
option OTHER 'Not in list / Unknown'
17281739
prompt_option opt 'MCU Type' "${OPTIONS[@]}"
17291740
case $opt in
@@ -1767,6 +1778,10 @@ questionaire() {
17671778
_hw_brd_type="AFC_LITE_1"
17681779
pattern="Klipper_stm32"
17691780
;;
1781+
"$SKR_PICO_1")
1782+
_hw_brd_type="SKR_PICO_1"
1783+
pattern="Klipper_rp2040"
1784+
;;
17701785
*)
17711786
_hw_brd_type="unknown"
17721787
pattern="Klipper_"

pin_defs

+115
Original file line numberDiff line numberDiff line change
@@ -524,3 +524,118 @@ PIN[B,AFC_LITE_1,spooler_fwd_0_pin]="PA1";
524524
PIN[B,AFC_LITE_1,spooler_fwd_1_pin]="PA7";
525525
PIN[B,AFC_LITE_1,spooler_fwd_2_pin]="PB15";
526526
PIN[B,AFC_LITE_1,spooler_fwd_3_pin]="PD13";
527+
528+
529+
#
530+
# Pins for BTT SKR Pico board
531+
# Type-A MMU pin utilization
532+
#
533+
PIN[SKR_PICO_1,gear_uart_pin]="gpio9";
534+
PIN[SKR_PICO_1,gear_step_pin]="gpio11";
535+
PIN[SKR_PICO_1,gear_dir_pin]="gpio10";
536+
PIN[SKR_PICO_1,gear_enable_pin]="gpio12";
537+
PIN[SKR_PICO_1,gear_diag_pin]="gpio4";
538+
PIN[SKR_PICO_1,gear_1_step_pin]="";
539+
PIN[SKR_PICO_1,gear_1_dir_pin]="";
540+
PIN[SKR_PICO_1,gear_1_enable_pin]="";
541+
PIN[SKR_PICO_1,gear_1_diag_pin]="";
542+
PIN[SKR_PICO_1,gear_2_step_pin]="";
543+
PIN[SKR_PICO_1,gear_2_dir_pin]="";
544+
PIN[SKR_PICO_1,gear_2_enable_pin]="";
545+
PIN[SKR_PICO_1,gear_2_diag_pin]="";
546+
PIN[SKR_PICO_1,gear_3_step_pin]="";
547+
PIN[SKR_PICO_1,gear_3_dir_pin]="";
548+
PIN[SKR_PICO_1,gear_3_enable_pin]="";
549+
PIN[SKR_PICO_1,gear_3_diag_pin]="";
550+
PIN[SKR_PICO_1,selector_uart_pin]="";
551+
PIN[SKR_PICO_1,selector_step_pin]="gpio19";
552+
PIN[SKR_PICO_1,selector_dir_pin]="gpio28";
553+
PIN[SKR_PICO_1,selector_enable_pin]="gpio2";
554+
PIN[SKR_PICO_1,selector_diag_pin]="gpio25";
555+
PIN[SKR_PICO_1,selector_endstop_pin]="";
556+
PIN[SKR_PICO_1,selector_servo_pin]="gpio29";
557+
PIN[SKR_PICO_1,encoder_pin]="";
558+
PIN[SKR_PICO_1,neopixel_pin]="gpio24";
559+
PIN[SKR_PICO_1,gate_sensor_pin]="";
560+
PIN[SKR_PICO_1,pre_gate_0_pin]="";
561+
PIN[SKR_PICO_1,pre_gate_1_pin]="";
562+
PIN[SKR_PICO_1,pre_gate_2_pin]="";
563+
PIN[SKR_PICO_1,pre_gate_3_pin]="";
564+
PIN[SKR_PICO_1,pre_gate_4_pin]="";
565+
PIN[SKR_PICO_1,pre_gate_5_pin]="";
566+
PIN[SKR_PICO_1,pre_gate_6_pin]="";
567+
PIN[SKR_PICO_1,pre_gate_7_pin]="";
568+
PIN[SKR_PICO_1,pre_gate_8_pin]="";
569+
PIN[SKR_PICO_1,pre_gate_9_pin]="";
570+
PIN[SKR_PICO_1,pre_gate_10_pin]="";
571+
PIN[SKR_PICO_1,pre_gate_11_pin]="";
572+
PIN[SKR_PICO_1,gear_sensor_0_pin]="";
573+
PIN[SKR_PICO_1,gear_sensor_1_pin]="";
574+
PIN[SKR_PICO_1,gear_sensor_2_pin]="";
575+
PIN[SKR_PICO_1,gear_sensor_3_pin]="";
576+
PIN[SKR_PICO_1,gear_sensor_4_pin]="";
577+
PIN[SKR_PICO_1,gear_sensor_5_pin]="";
578+
PIN[SKR_PICO_1,gear_sensor_6_pin]="";
579+
PIN[SKR_PICO_1,gear_sensor_7_pin]="";
580+
PIN[SKR_PICO_1,gear_sensor_8_pin]="";
581+
PIN[SKR_PICO_1,gear_sensor_9_pin]="";
582+
PIN[SKR_PICO_1,gear_sensor_10_pin]="";
583+
PIN[SKR_PICO_1,gear_sensor_11_pin]="";
584+
585+
586+
587+
#
588+
# Pins for BTT SKR Pico board
589+
# Type-B MMU pin utilization
590+
#
591+
PIN[B,SKR_PICO_1,gear_uart_pin]="gpio9";
592+
PIN[B,SKR_PICO_1,gear_step_pin]="gpio11";
593+
PIN[B,SKR_PICO_1,gear_dir_pin]="gpio10";
594+
PIN[B,SKR_PICO_1,gear_enable_pin]="gpio12";
595+
PIN[B,SKR_PICO_1,gear_diag_pin]="gpio4";
596+
PIN[B,SKR_PICO_1,gear_1_step_pin]="gpio6";
597+
PIN[B,SKR_PICO_1,gear_1_dir_pin]="gpio5";
598+
PIN[B,SKR_PICO_1,gear_1_enable_pin]="gpio7";
599+
PIN[B,SKR_PICO_1,gear_1_diag_pin]="gpio3";
600+
PIN[B,SKR_PICO_1,gear_2_step_pin]="gpio19";
601+
PIN[B,SKR_PICO_1,gear_2_dir_pin]="gpio28";
602+
PIN[B,SKR_PICO_1,gear_2_enable_pin]="gpio2";
603+
PIN[B,SKR_PICO_1,gear_2_diag_pin]="gpio25";
604+
PIN[B,SKR_PICO_1,gear_3_step_pin]="gpio14";
605+
PIN[B,SKR_PICO_1,gear_3_dir_pin]="gpio13";
606+
PIN[B,SKR_PICO_1,gear_3_enable_pin]="gpio15";
607+
PIN[B,SKR_PICO_1,gear_3_diag_pin]="gpio16";
608+
PIN[B,SKR_PICO_1,selector_uart_pin]="";
609+
PIN[B,SKR_PICO_1,selector_step_pin]="";
610+
PIN[B,SKR_PICO_1,selector_dir_pin]="";
611+
PIN[B,SKR_PICO_1,selector_enable_pin]="";
612+
PIN[B,SKR_PICO_1,selector_diag_pin]="";
613+
PIN[B,SKR_PICO_1,selector_endstop_pin]="";
614+
PIN[B,SKR_PICO_1,selector_servo_pin]="";
615+
PIN[B,SKR_PICO_1,encoder_pin]="";
616+
PIN[B,SKR_PICO_1,neopixel_pin]="gpio24";
617+
PIN[B,SKR_PICO_1,gate_sensor_pin]="";
618+
PIN[B,SKR_PICO_1,pre_gate_0_pin]="";
619+
PIN[B,SKR_PICO_1,pre_gate_1_pin]="";
620+
PIN[B,SKR_PICO_1,pre_gate_2_pin]="";
621+
PIN[B,SKR_PICO_1,pre_gate_3_pin]="";
622+
PIN[B,SKR_PICO_1,pre_gate_4_pin]="";
623+
PIN[B,SKR_PICO_1,pre_gate_5_pin]="";
624+
PIN[B,SKR_PICO_1,pre_gate_6_pin]="";
625+
PIN[B,SKR_PICO_1,pre_gate_7_pin]="";
626+
PIN[B,SKR_PICO_1,pre_gate_8_pin]="";
627+
PIN[B,SKR_PICO_1,pre_gate_9_pin]="";
628+
PIN[B,SKR_PICO_1,pre_gate_10_pin]="";
629+
PIN[B,SKR_PICO_1,pre_gate_11_pin]="";
630+
PIN[B,SKR_PICO_1,gear_sensor_0_pin]="";
631+
PIN[B,SKR_PICO_1,gear_sensor_1_pin]="";
632+
PIN[B,SKR_PICO_1,gear_sensor_2_pin]="";
633+
PIN[B,SKR_PICO_1,gear_sensor_3_pin]="";
634+
PIN[B,SKR_PICO_1,gear_sensor_4_pin]="";
635+
PIN[B,SKR_PICO_1,gear_sensor_5_pin]="";
636+
PIN[B,SKR_PICO_1,gear_sensor_6_pin]="";
637+
PIN[B,SKR_PICO_1,gear_sensor_7_pin]="";
638+
PIN[B,SKR_PICO_1,gear_sensor_8_pin]="";
639+
PIN[B,SKR_PICO_1,gear_sensor_9_pin]="";
640+
PIN[B,SKR_PICO_1,gear_sensor_10_pin]="";
641+
PIN[B,SKR_PICO_1,gear_sensor_11_pin]="";

0 commit comments

Comments
 (0)