|
|
@@ -34,6 +34,17 @@
|
|
|
|
|
|
static const uint16_t FIRMWARE_VERSION = 0x0424;
|
|
|
|
|
|
+// 1 flash row
|
|
|
+static const uint8_t DEFAULT_CONFIG[256] =
|
|
|
+{
|
|
|
+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x3F, 0x00,
|
|
|
+ 0x00, 0x02, 0x3F, 0x00, 0xFF, 0x00, 0x20, 0x63, 0x6F, 0x64, 0x65, 0x73,
|
|
|
+ 0x72, 0x63, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53,
|
|
|
+ 0x43, 0x53, 0x49, 0x32, 0x53, 0x44, 0x20, 0x31, 0x2E, 0x30, 0x31, 0x32,
|
|
|
+ 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36,
|
|
|
+ 0x37, 0x38, 0x00, 0x00
|
|
|
+};
|
|
|
+
|
|
|
enum USB_ENDPOINTS
|
|
|
{
|
|
|
USB_EP_OUT = 1,
|
|
|
@@ -61,6 +72,24 @@ void configInit()
|
|
|
USBFS_Start(0, USBFS_5V_OPERATION);
|
|
|
usbInEpState = usbDebugEpState = USB_IDLE;
|
|
|
usbReady = 0; // We don't know if host is connected yet.
|
|
|
+
|
|
|
+ int invalid = 1;
|
|
|
+ uint8_t* rawConfig = getConfigByIndex(0);
|
|
|
+ int i;
|
|
|
+ for (i = 0; i < 64; ++i)
|
|
|
+ {
|
|
|
+ if (rawConfig[i])
|
|
|
+ {
|
|
|
+ invalid = 0;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (invalid)
|
|
|
+ {
|
|
|
+ // Save a default config.
|
|
|
+ CySetTemp();
|
|
|
+ CyWriteRowData(SCSI_CONFIG_ARRAY, SCSI_CONFIG_0_ROW, DEFAULT_CONFIG);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
static void
|