Explorar o código

First working

Per Mårtensson %!s(int64=2) %!d(string=hai) anos
pai
achega
dfb7e2175a

+ 1 - 1
sw/include/blacksasi.h

@@ -159,7 +159,7 @@ void finalizeFileLog(void);
 #define MAX_SCSIID  7          // Maximum number of supported SCSI-IDs (The minimum is 0)
 #define MAX_SCSILUN 8          // Maximum number of LUNs supported     (The minimum is 0)
 #define NUM_SCSIID  MAX_SCSIID // Number of enabled SCSI IDs
-#define NUM_SCSILUN 1          // Number of enabled LUNs
+#define NUM_SCSILUN 2          // Number of enabled LUNs
 #define READ_PARITY_CHECK 0    // Perform read parity check (unverified)
 #define DEFAULT_SCSI_ID 1
 #define DEFAULT_SCSI_LUN 0

+ 0 - 1
sw/include/sdcard.h

@@ -6,6 +6,5 @@
 void readSDCardInfo();
 void readSDCardInfo2();
 void sdCardInsert();
-void noSDCardFound();
 void switchImage();
 #endif // __BLACKSASI_SDCARD_H__

+ 5 - 5
sw/src/gpio.cpp

@@ -23,11 +23,11 @@ bool gpioInit(void){
     pinMode(BOARD_SCSI_DBX, OUTPUT);
     pinMode(BOARD_SCSI_TERM_POWER, INPUT); //Check if external termination power is provided
 
-    attachInterrupt(BOARD_SDCARD_INSERT,sdCardInsert, CHANGE);
-    attachInterrupt(BOARD_SWITCH1_PIN,switchImage, CHANGE);
-    attachInterrupt(BOARD_SWITCH2_PIN,switchImage, CHANGE);
-    attachInterrupt(BOARD_SWITCH3_PIN,switchImage, CHANGE);
-    attachInterrupt(BOARD_SWITCH4_PIN,switchImage, CHANGE);
+    //attachInterrupt(BOARD_SDCARD_INSERT,sdCardInsert, CHANGE);
+    //attachInterrupt(BOARD_SWITCH1_PIN,switchImage, CHANGE);
+    //attachInterrupt(BOARD_SWITCH2_PIN,switchImage, CHANGE);
+    //attachInterrupt(BOARD_SWITCH3_PIN,switchImage, CHANGE);
+    //attachInterrupt(BOARD_SWITCH4_PIN,switchImage, CHANGE);
 
     // Control SCSI drivers
     pinMode(BOARD_SCSI_DTD, OUTPUT);

+ 4 - 10
sw/src/main.cpp

@@ -62,7 +62,7 @@
 #ifdef USE_STM32_DMA
 #warning "warning USE_STM32_DMA"
 #endif
-
+#define BUFFER_SIZE 16384
 // SDFAT
 SdFs SD;
 FsFile LOG_FILE;
@@ -286,8 +286,7 @@ void setup()
   }
     // Serial initialization
 #if DEBUG == 1
-  serial.begin(115200);
-  serial.flush();
+  serial.begin(9600);
   // If using a USB->TTL monitor instead of USB serial monitor - you can uncomment this.
   //while (!Serial);
 #endif
@@ -364,12 +363,7 @@ void setup()
                         ((digitalRead(BOARD_SWITCH2_PIN) == LOW) ) << 1 | 
                         ((digitalRead(BOARD_SWITCH3_PIN) == LOW) ) << 2 | 
                         ((digitalRead(BOARD_SWITCH4_PIN) == LOW) ) << 3;
-  
 
-  // Transceiver Pin Initialization
-  pinMode(BOARD_SCSI_TAD, OUTPUT_OPEN_DRAIN);
-  pinMode(BOARD_SCSI_IND, OUTPUT_OPEN_DRAIN);
-  pinMode(BOARD_SCSI_DTD, OUTPUT_OPEN_DRAIN);
   
   TRANSCEIVER_IO_SET(vIND,TR_INPUT);
   TRANSCEIVER_IO_SET(vTAD,TR_INPUT);
@@ -569,7 +563,7 @@ void findDriveImages(FsFile root) {
               break;
           }
 
-          readSCSIDeviceConfig(dev);
+          //readSCSIDeviceConfig(dev);
         }
       }      
     }
@@ -1081,7 +1075,7 @@ void loop()
   LOG(" ");
 
   // HDD Image selection
-  if(m_lun >= NUM_SCSILUN && 1==0)
+  if(m_lun >= NUM_SCSILUN )
   {
     m_sts = SCSI_STATUS_GOOD;
 

+ 6 - 20
sw/src/sdcard.cpp

@@ -3,7 +3,7 @@ extern SdFs SD;
 extern FsFile LOG_FILE;
 extern uint16_t imageSelect;
 // read SD information and print to logfile
-void readSDCardInfo()
+void readSDCardInfo2()
 {
   cid_t sd_cid;
 
@@ -23,16 +23,16 @@ void readSDCardInfo()
     LOGN(sd_cid.pnm[4]);
 
     LOG("Sd Date:");
-    LOG(sd_cid.mdtMonth());
-
-    LOGN(sd_cid.mdtYear());
 
+    LOG(sd_cid.mdtYear());
+    LOG("-");
+    LOGN(sd_cid.mdtMonth());
     LOG("Sd Serial:");
     LOGN(sd_cid.psn());
 
   }
 }
-void readSDCardInfo2()
+void readSDCardInfo()
 {
   cid_t sd_cid;
 
@@ -63,21 +63,7 @@ void readSDCardInfo2()
   }
 }
 
-/*
- * No SC Card found, blink 5x fast
- */
-void noSDCardFound(void)
-{
-  while(!SD.begin(SdSpiConfig(SS, DEDICATED_SPI))) {
-    for(int i = 0; i < 5; i++) {
-      LED3_ON();
-      delay(500);
-      LED3_OFF();
-      delay(500);
-    }
-    delay(1000);
-  }
-}
+
 
 void sdCardInsert(void){
   if (digitalRead(BOARD_SDCARD_INSERT)){

+ 4 - 3
sw/variant/blacksasi_f411m/blacksasi_f411m.cpp

@@ -31,10 +31,11 @@
  */
 
 #include "blacksasi_f411m.h"
-
 #include <libmaple/gpio.h>
-#include <libmaple/rcc.h>
-
+#include <libmaple/timer.h>
+#include <libmaple/rccF4.h>
+#include <libmaple/rtc.h>
+#include <libmaple/dmaF4.h>
 #include <libmaple/libmaple_types.h>
 
 

+ 6 - 6
sw/variant/blacksasi_f411m/blacksasi_f411m.h

@@ -35,7 +35,7 @@
 
 #define Port2Pin(port, bit) ((port-'A')*16+bit)
 
-#define CLOCK_SPEED_MHZ  100
+#define CLOCK_SPEED_MHZ  96
 
 /*****************************************************************************/
 // Board pin definitions
@@ -97,12 +97,12 @@
 #define BOARD_SPI3_MISO_PIN     PD12
 #define BOARD_SPI3_MOSI_PIN     PD12
 
-#define BOARD_SDIO_D0           PB4
+#define BOARD_SDIO_D0           PB15
 #define BOARD_SDIO_D1           PB10
-#define BOARD_SDIO_D2           PB13
-#define BOARD_SDIO_D3           PB1
-#define BOARD_SDIO_CLK          PB3
-#define BOARD_SDIO_CMD          PB5
+#define BOARD_SDIO_D2           PB12
+#define BOARD_SDIO_D3           PB15
+#define BOARD_SDIO_CLK          PB15
+#define BOARD_SDIO_CMD          PB15
 
 #define BOARD_SCSI_DBX          PE0
 #define BOARD_SCSI_MSG          PE2

+ 1 - 1
sw/variant/blacksasi_f411m/ld/common.inc

@@ -149,7 +149,7 @@ SECTIONS
          * I'm shoving these here naively; there's probably a cleaner way
          * to go about this. [mbolivar]
          */
-        _lm_heap_start = DEFINED(_lm_heap_start) ? _lm_heap_start : __data_end__;
+        _lm_heap_start = DEFINED(_lm_heap_start) ? _lm_heap_start : __bss_end__;
         _lm_heap_end   = DEFINED(_lm_heap_end) ? _lm_heap_end : __msp_init;
       } > REGION_RODATA
 

+ 1 - 1
sw/variant/blacksasi_f411m/ld/jtag.ld

@@ -1,5 +1,5 @@
 /*
- * STM32F401 linker script for JTAG (bare metal, no bootloader) builds.
+ * STM32F411 linker script for JTAG (bare metal, no bootloader) builds.
  */
 
 MEMORY

+ 4 - 0
sw/variant/blacksasi_f411m/pins_arduino.h

@@ -1,2 +1,6 @@
+
+
+
+
 // API compatibility
 #include "variant.h"