Skip to content

Commit 32f7f5e

Browse files
committed
Move pins definition.
1 parent 44fff98 commit 32f7f5e

File tree

1 file changed

+127
-126
lines changed

1 file changed

+127
-126
lines changed

src/main.rs

Lines changed: 127 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -588,134 +588,135 @@ impl Hardware {
588588
}
589589
};
590590

591+
let pins = Pins {
592+
// Disable power save mode to force SMPS into low-efficiency, low-noise mode.
593+
npower_save: {
594+
let mut pin = hal_pins.b_power_save.into_push_pull_output();
595+
pin.set_high().unwrap();
596+
pin
597+
},
598+
// Give H-Sync, V-Sync and 12 RGB colour pins to PIO0 to output video
599+
h_sync: {
600+
let mut pin = hal_pins.gpio0.into_mode();
601+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
602+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
603+
pin
604+
},
605+
v_sync: {
606+
let mut pin = hal_pins.gpio1.into_mode();
607+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
608+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
609+
pin
610+
},
611+
red0: {
612+
let mut pin = hal_pins.gpio2.into_mode();
613+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
614+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
615+
pin
616+
},
617+
red1: {
618+
let mut pin = hal_pins.gpio3.into_mode();
619+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
620+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
621+
pin
622+
},
623+
red2: {
624+
let mut pin = hal_pins.gpio4.into_mode();
625+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
626+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
627+
pin
628+
},
629+
red3: {
630+
let mut pin = hal_pins.gpio5.into_mode();
631+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
632+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
633+
pin
634+
},
635+
green0: {
636+
let mut pin = hal_pins.gpio6.into_mode();
637+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
638+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
639+
pin
640+
},
641+
green1: {
642+
let mut pin = hal_pins.gpio7.into_mode();
643+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
644+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
645+
pin
646+
},
647+
green2: {
648+
let mut pin = hal_pins.gpio8.into_mode();
649+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
650+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
651+
pin
652+
},
653+
green3: {
654+
let mut pin = hal_pins.gpio9.into_mode();
655+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
656+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
657+
pin
658+
},
659+
blue0: {
660+
let mut pin = hal_pins.gpio10.into_mode();
661+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
662+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
663+
pin
664+
},
665+
blue1: {
666+
let mut pin = hal_pins.gpio11.into_mode();
667+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
668+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
669+
pin
670+
},
671+
blue2: {
672+
let mut pin = hal_pins.gpio12.into_mode();
673+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
674+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
675+
pin
676+
},
677+
blue3: {
678+
let mut pin = hal_pins.gpio13.into_mode();
679+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
680+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
681+
pin
682+
},
683+
spi_cipo: {
684+
let mut pin = hal_pins.gpio16.into_mode();
685+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
686+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
687+
pin
688+
},
689+
nspi_cs_io: {
690+
let mut pin = hal_pins.gpio17.into_push_pull_output();
691+
pin.set_high().unwrap();
692+
pin
693+
},
694+
spi_clk: {
695+
let mut pin = hal_pins.gpio18.into_mode();
696+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
697+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
698+
pin
699+
},
700+
spi_copi: {
701+
let mut pin = hal_pins.gpio19.into_mode();
702+
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
703+
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
704+
pin
705+
},
706+
noutput_en: {
707+
let mut pin = hal_pins.gpio21.into_push_pull_output();
708+
pin.set_high().unwrap();
709+
pin
710+
},
711+
i2s_adc_data: hal_pins.gpio22.into_mode(),
712+
i2s_dac_data: hal_pins.gpio26.into_mode(),
713+
i2s_bit_clock: hal_pins.gpio27.into_mode(),
714+
i2s_lr_clock: hal_pins.gpio28.into_mode(),
715+
};
716+
591717
(
592718
Hardware {
593-
pins: Pins {
594-
// Disable power save mode to force SMPS into low-efficiency, low-noise mode.
595-
npower_save: {
596-
let mut pin = hal_pins.b_power_save.into_push_pull_output();
597-
pin.set_high().unwrap();
598-
pin
599-
},
600-
// Give H-Sync, V-Sync and 12 RGB colour pins to PIO0 to output video
601-
h_sync: {
602-
let mut pin = hal_pins.gpio0.into_mode();
603-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
604-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
605-
pin
606-
},
607-
v_sync: {
608-
let mut pin = hal_pins.gpio1.into_mode();
609-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
610-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
611-
pin
612-
},
613-
red0: {
614-
let mut pin = hal_pins.gpio2.into_mode();
615-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
616-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
617-
pin
618-
},
619-
red1: {
620-
let mut pin = hal_pins.gpio3.into_mode();
621-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
622-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
623-
pin
624-
},
625-
red2: {
626-
let mut pin = hal_pins.gpio4.into_mode();
627-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
628-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
629-
pin
630-
},
631-
red3: {
632-
let mut pin = hal_pins.gpio5.into_mode();
633-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
634-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
635-
pin
636-
},
637-
green0: {
638-
let mut pin = hal_pins.gpio6.into_mode();
639-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
640-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
641-
pin
642-
},
643-
green1: {
644-
let mut pin = hal_pins.gpio7.into_mode();
645-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
646-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
647-
pin
648-
},
649-
green2: {
650-
let mut pin = hal_pins.gpio8.into_mode();
651-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
652-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
653-
pin
654-
},
655-
green3: {
656-
let mut pin = hal_pins.gpio9.into_mode();
657-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
658-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
659-
pin
660-
},
661-
blue0: {
662-
let mut pin = hal_pins.gpio10.into_mode();
663-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
664-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
665-
pin
666-
},
667-
blue1: {
668-
let mut pin = hal_pins.gpio11.into_mode();
669-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
670-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
671-
pin
672-
},
673-
blue2: {
674-
let mut pin = hal_pins.gpio12.into_mode();
675-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
676-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
677-
pin
678-
},
679-
blue3: {
680-
let mut pin = hal_pins.gpio13.into_mode();
681-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
682-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
683-
pin
684-
},
685-
spi_cipo: {
686-
let mut pin = hal_pins.gpio16.into_mode();
687-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
688-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
689-
pin
690-
},
691-
nspi_cs_io: {
692-
let mut pin = hal_pins.gpio17.into_push_pull_output();
693-
pin.set_high().unwrap();
694-
pin
695-
},
696-
spi_clk: {
697-
let mut pin = hal_pins.gpio18.into_mode();
698-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
699-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
700-
pin
701-
},
702-
spi_copi: {
703-
let mut pin = hal_pins.gpio19.into_mode();
704-
pin.set_drive_strength(hal::gpio::OutputDriveStrength::EightMilliAmps);
705-
pin.set_slew_rate(hal::gpio::OutputSlewRate::Fast);
706-
pin
707-
},
708-
noutput_en: {
709-
let mut pin = hal_pins.gpio21.into_push_pull_output();
710-
pin.set_high().unwrap();
711-
pin
712-
},
713-
i2s_adc_data: hal_pins.gpio22.into_mode(),
714-
i2s_dac_data: hal_pins.gpio26.into_mode(),
715-
i2s_bit_clock: hal_pins.gpio27.into_mode(),
716-
i2s_lr_clock: hal_pins.gpio28.into_mode(),
717-
},
718-
719+
pins,
719720
// We are in SPI MODE 0. This means we change the COPI pin on the
720721
// CLK falling edge, and we sample the CIPO pin on the CLK rising
721722
// edge.

0 commit comments

Comments
 (0)