Bläddra i källkod

Blink 4 times for direct modified

Status LED now blink 4 times to show it is direct mode for the
ZuluSCSI v1.2
Morio 2 år sedan
förälder
incheckning
2c46011dee

+ 1 - 1
.github/workflows/firmware_build.yml

@@ -24,7 +24,7 @@ jobs:
       - name: Build firmware
         run: |
           cd ZuluSCSI
-          pio run -ve ZuluSCSIv1_1
+          pio run -ve ZuluSCSIv1_1_plus
     
       - name: Rename firmware files
         run: |

+ 8 - 0
lib/ZuluSCSI_platform_GD32F205/ZuluSCSI_v1_1_gpio.h

@@ -186,12 +186,19 @@
 #define SD_SDIO_CMD_PORT  GPIOD
 #define SD_SDIO_CMD       GPIO_PIN_2
 
+// V1.2 SD Card write protect and card detect
+#define SD_WP_PORT GPIOE
+#define SD_WP_PIN  GPIO_PIN_2
+#define SD_CD_PORT GPIOE
+#define SD_CD_PIN  GPIO_PIN_3
+
 // v1.2 has a strong pull up, the ODE has strong pull down, v1.1 vanilla test for a floating pin
 #define DIGITAL_VERSION_DETECT_PORT  GPIOA
 #define DIGITAL_VERSION_DETECT_PIN   GPIO_PIN_15
 
 // v1.2 and future boards detect version via voltage level
 // v1.2: 2.5V
+// TODO get ADC version detection working
 #define ADC_VERSION_DETECT_PORT GPIOC
 #define ADC_VERSION_DETECT_PIN  GPIO_PIN_0
 #define ADC_VERSION_DETECT_CHANNEL ADC_CHANNEL_10
@@ -274,6 +281,7 @@
 #define ODE_IRQHandler  DMA0_Channel4_IRQHandler
 #define ODE_DMA_IRQn    DMA0_Channel4_IRQn
 
+
 // Status LED pins
 #define LED_PORT     GPIOC
 #define LED_I_PIN    GPIO_PIN_4

+ 4 - 4
platformio.ini

@@ -1,7 +1,7 @@
 ; PlatformIO Project Configuration File https://docs.platformio.org/page/projectconf.html
 
 [platformio]
-default_envs = ZuluSCSIv1_0, ZuluSCSIv1_0_mini, ZuluSCSIv1_1, ZuluSCSI_RP2040, ZuluSCSI_RP2040_Audio, ZuluSCSI_Pico, ZuluSCSI_BS2
+default_envs = ZuluSCSIv1_0, ZuluSCSIv1_0_mini, ZuluSCSIv1_1_plus, ZuluSCSI_RP2040, ZuluSCSI_RP2040_Audio, ZuluSCSI_Pico, ZuluSCSI_BS2
 
 ; Example platform to serve as a base for porting efforts
 [env:template]
@@ -69,8 +69,8 @@ build_flags =
      -DZULUSCSI_V1_0
      -DZULUSCSI_V1_0_mini
 
-; ZuluSCSI V1.1 hardware platform, similar to V1.0 but with improved performance.
-[env:ZuluSCSIv1_1]
+; ZuluSCSI V1.1+ hardware platforms, this support v1.1, v1.1 ODE, and vl.2
+[env:ZuluSCSIv1_1_plus]
 extends = env:ZuluSCSIv1_0
 build_flags = 
      -Os -Wall -Wno-sign-compare -ggdb -g3 -Isrc
@@ -81,7 +81,7 @@ build_flags =
      -DPIO_USBFS_DEVICE_CDC
      -DHAS_SDIO_CLASS
      -DENABLE_AUDIO_OUTPUT
-     -DZULUSCSI_V1_1
+     -DZULUSCSI_V1_1_plus
 
 ; ZuluSCSI RP2040 hardware platform, based on the Raspberry Pi foundation RP2040 microcontroller
 [env:ZuluSCSI_RP2040]

+ 15 - 4
src/ZuluSCSI.cpp

@@ -65,7 +65,8 @@ static bool g_sdcard_present;
 /************************************/
 
 #define BLINK_STATUS_OK 1
-#define BLINK_ERROR_NO_IMAGES  3 
+#define BLINK_ERROR_NO_IMAGES  3
+#define BLINK_DIRECT_MODE      4
 #define BLINK_ERROR_NO_SD_CARD 5
 
 void blinkStatus(int count)
@@ -621,16 +622,26 @@ static void reinitSCSI()
       blinkStatus(BLINK_STATUS_OK);
     }
   }
-#elif defined(RAW_FALLBACK_ENABLE)
+  else
+#endif // ZULUSCSI_HARDWARE_CONFIG
+#ifdef RAW_FALLBACK_ENABLE
+  {
     logmsg("No images found, enabling RAW fallback partition");
     scsiDiskOpenHDDImage(RAW_FALLBACK_SCSI_ID, "RAW:0:0xFFFFFFFF", RAW_FALLBACK_SCSI_ID, 0,
                          RAW_FALLBACK_BLOCKSIZE);
+  }
 #else
     logmsg("No valid image files found!");
-#endif
+#endif // RAW_FALLBACK_ENABLE
 
 #ifdef ZULUSCSI_HARDWARE_CONFIG
-  if (!g_hw_config.is_active())
+  if (g_hw_config.is_active())
+  {
+    // At this point the board has already blinked once for ok
+    // So subtracting 1 to blink the correct amount
+    blinkStatus(BLINK_DIRECT_MODE - 1);
+  }
+  else
   {
     blinkStatus(BLINK_ERROR_NO_IMAGES);
   }