@@ -654,6 +654,23 @@ void IO::initInt()
654654 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
655655 GPIO_Init (PORT_NXDN, &GPIO_InitStruct);
656656
657+ // DVM-V1 LEDs
658+ #if defined(STM32F4_DVMV1)
659+
660+ // FM pin (never actually used since we don't do FM)
661+ RCC_AHB1PeriphClockCmd (RCC_Per_FM, ENABLE);
662+ GPIO_InitStruct.GPIO_Pin = PIN_FM;
663+ GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
664+ GPIO_Init (PORT_FM, &GPIO_InitStruct);
665+
666+ // PTT LED pin (separate from the actual PTT pin for ESD reasons)
667+ RCC_AHB1PeriphClockCmd (RCC_Per_PTTLED, ENABLE);
668+ GPIO_InitStruct.GPIO_Pin = PIN_PTTLED;
669+ GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
670+ GPIO_Init (PORT_PTTLED, &GPIO_InitStruct);
671+
672+ #endif
673+
657674#if SPI_ENABLED
658675 // Init SPI Clock
659676 SPI_APB_CLK_INIT (SPI_APB_CLK, ENABLE);
@@ -883,6 +900,10 @@ void IO::setLEDInt(bool on)
883900void IO::setPTTInt (bool on)
884901{
885902 GPIO_WriteBit (PORT_PTT, PIN_PTT, on ? Bit_SET : Bit_RESET);
903+ #if defined(STM32F4_DVMV1)
904+ // We tie the PTT LED to PTT on the V1
905+ setPTTLEDInt (on);
906+ #endif
886907}
887908
888909/* */
@@ -915,6 +936,20 @@ void IO::setNXDNInt(bool on)
915936
916937/* */
917938
939+ #if defined(STM32F4_DVMV1)
940+
941+ void IO::setFMInt (bool on)
942+ {
943+ GPIO_WriteBit (PORT_FM, PIN_FM, on ? Bit_SET : Bit_RESET);
944+ }
945+
946+ void IO::setPTTLEDInt (bool on)
947+ {
948+ GPIO_WriteBit (PORT_PTTLED, PIN_PTTLED, on ? Bit_SET : Bit_RESET);
949+ }
950+
951+ #endif
952+
918953void IO::delayInt (unsigned int dly)
919954{
920955 unsigned int loopsPerMillisecond = (SystemCoreClock / 1000 ) / 3 ;
0 commit comments