Warrren Watson пре 4 година
родитељ
комит
b04a2abd50
No account linked to committer's email address
1 измењених фајлова са 96 додато и 0 уклоњено
  1. +96
    -0
      examples/mscTesting/mscTesting.ino

+ 96
- 0
examples/mscTesting/mscTesting.ino Прегледај датотеку

@@ -0,0 +1,96 @@
//Copyright 2020 by Warren Watson
// Version 02-Feb-20
//
#include "Arduino.h"
#include "USBHost_t36.h"

USBHost myusb;
USBHub hub1(myusb);
USBHub hub2(myusb);
USBHub hub3(myusb);
USBHub hub4(myusb);

msController msDrive1(myusb);
msController msDrive2(myusb);

// Show USB drive information for the selected USB drive.
int showUSBDriveInfo(msController *drive) {
if(drive == &msDrive1) {
Serial.printf(F("msDrive1 is "));
} else {
Serial.printf(F("msDrive2 is "));
}
if(drive->msDriveInfo.mounted == true) {// check if mounted.
Serial.printf(F("Mounted\n\n"));
} else {
Serial.printf(F("NOT Mounted\n\n"));
}
// Now we will print out the information.
Serial.printf(F(" connected %d\n"),drive->msDriveInfo.connected);
Serial.printf(F(" initialized %d\n"),drive->msDriveInfo.initialized);
Serial.printf(F(" USB Vendor ID: %4.4x\n"),drive->msDriveInfo.idVendor);
Serial.printf(F(" USB Product ID: %4.4x\n"),drive->msDriveInfo.idProduct);
Serial.printf(F(" HUB Number: %d\n"),drive->msDriveInfo.hubNumber);
Serial.printf(F(" HUB Port: %d\n"),drive->msDriveInfo.hubPort);
Serial.printf(F(" Device Address: %d\n"),drive->msDriveInfo.deviceAddress);
Serial.printf(F("Removable Device: "));
if(drive->msDriveInfo.inquiry.Removable == 1)
Serial.printf(F("YES\n"));
else
Serial.printf(F("NO\n"));
Serial.printf(F(" VendorID: %8.8s\n"),drive->msDriveInfo.inquiry.VendorID);
Serial.printf(F(" ProductID: %16.16s\n"),drive->msDriveInfo.inquiry.ProductID);
Serial.printf(F(" RevisionID: %4.4s\n"),drive->msDriveInfo.inquiry.RevisionID);
Serial.printf(F(" Version: %d\n"),drive->msDriveInfo.inquiry.Version);
Serial.printf(F(" Sector Count: %ld\n"),drive->msDriveInfo.capacity.Blocks);
Serial.printf(F(" Sector size: %ld\n"),drive->msDriveInfo.capacity.BlockSize);
Serial.printf(F(" Disk Capacity: %.f Bytes\n\n"),(double_t)drive->msDriveInfo.capacity.Blocks *
(double_t)drive->msDriveInfo.capacity.BlockSize);
return 0;
}

static uint8_t mscError = 0;

void setup() {
while(!Serial);

Serial.printf("\n\nMSC TEST\n\n");
Serial.printf("Initializing USB Drive(s)\n");
myusb.begin();

if(mscError = msDrive1.mscInit())
Serial.printf("msDrive1 not connected: Code: %d\n\n", mscError);
else
Serial.printf("msDrive1 connected\n");
if(mscError = msDrive2.mscInit())
Serial.printf("msDrive2 not connected: Code: %d\n\n", mscError);
else
Serial.printf("msDrive2 connected\n");

}

void loop() {
char op = 0;
Serial.printf(F("\nPress a key to show USB drive info:\n\n"));

while(!Serial.available()) yield();
op = Serial.read();
if(Serial.available()) Serial.read(); // Get rid of CR or LF if there.

// Check if msDrive1 is plugged in and initialized
if((mscError = msDrive1.checkConnectedInitialized()) != MS_INIT_PASS) {
Serial.printf("msDrive1 not connected: Code: %d\n\n", mscError);
} else {
Serial.printf("msDrive1 connected/initilized\n");
showUSBDriveInfo(&msDrive1);
}
// Check if msDrive2 is plugged in and initialized
if((mscError = msDrive2.checkConnectedInitialized()) != MS_INIT_PASS) {
Serial.printf("msDrive2 not connected: Code: %d\n\n", mscError);
} else {
Serial.printf("msDrive2 connected/initilized\n");
showUSBDriveInfo(&msDrive2);
}
}

Loading…
Откажи
Сачувај