ON Semiconductor / mbed-os

Dependents:   mbed-TFT-example-NCS36510 mbed-Accelerometer-example-NCS36510 mbed-Accelerometer-example-NCS36510

Committer:
jacobjohnson
Date:
Mon Feb 27 17:45:05 2017 +0000
Revision:
1:f30bdcd2b33b
Parent:
0:098463de4c5d
changed the inputscale from 1 to 7 in analogin_api.c.  This will need to be changed later, and accessed from the main level, but for now this allows the  adc to read a value from 0 to 3.7V, instead of just up to 1V.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
group-onsemi 0:098463de4c5d 1 /* mbed USBHost Library
group-onsemi 0:098463de4c5d 2 * Copyright (c) 2006-2013 ARM Limited
group-onsemi 0:098463de4c5d 3 *
group-onsemi 0:098463de4c5d 4 * Licensed under the Apache License, Version 2.0 (the "License");
group-onsemi 0:098463de4c5d 5 * you may not use this file except in compliance with the License.
group-onsemi 0:098463de4c5d 6 * You may obtain a copy of the License at
group-onsemi 0:098463de4c5d 7 *
group-onsemi 0:098463de4c5d 8 * http://www.apache.org/licenses/LICENSE-2.0
group-onsemi 0:098463de4c5d 9 *
group-onsemi 0:098463de4c5d 10 * Unless required by applicable law or agreed to in writing, software
group-onsemi 0:098463de4c5d 11 * distributed under the License is distributed on an "AS IS" BASIS,
group-onsemi 0:098463de4c5d 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
group-onsemi 0:098463de4c5d 13 * See the License for the specific language governing permissions and
group-onsemi 0:098463de4c5d 14 * limitations under the License.
group-onsemi 0:098463de4c5d 15 */
group-onsemi 0:098463de4c5d 16
group-onsemi 0:098463de4c5d 17 #ifndef USBHOSTMSD_H
group-onsemi 0:098463de4c5d 18 #define USBHOSTMSD_H
group-onsemi 0:098463de4c5d 19
group-onsemi 0:098463de4c5d 20 #include "USBHostConf.h"
group-onsemi 0:098463de4c5d 21
group-onsemi 0:098463de4c5d 22 #if USBHOST_MSD
group-onsemi 0:098463de4c5d 23
group-onsemi 0:098463de4c5d 24 #include "USBHost.h"
group-onsemi 0:098463de4c5d 25 #include "FATFileSystem.h"
group-onsemi 0:098463de4c5d 26
group-onsemi 0:098463de4c5d 27 /**
group-onsemi 0:098463de4c5d 28 * A class to communicate a USB flash disk
group-onsemi 0:098463de4c5d 29 */
group-onsemi 0:098463de4c5d 30 class USBHostMSD : public IUSBEnumerator, public FATFileSystem {
group-onsemi 0:098463de4c5d 31 public:
group-onsemi 0:098463de4c5d 32 /**
group-onsemi 0:098463de4c5d 33 * Constructor
group-onsemi 0:098463de4c5d 34 *
group-onsemi 0:098463de4c5d 35 * @param rootdir mount name
group-onsemi 0:098463de4c5d 36 */
group-onsemi 0:098463de4c5d 37 USBHostMSD(const char * rootdir);
group-onsemi 0:098463de4c5d 38
group-onsemi 0:098463de4c5d 39 /**
group-onsemi 0:098463de4c5d 40 * Check if a MSD device is connected
group-onsemi 0:098463de4c5d 41 *
group-onsemi 0:098463de4c5d 42 * @return true if a MSD device is connected
group-onsemi 0:098463de4c5d 43 */
group-onsemi 0:098463de4c5d 44 bool connected();
group-onsemi 0:098463de4c5d 45
group-onsemi 0:098463de4c5d 46 /**
group-onsemi 0:098463de4c5d 47 * Try to connect to a MSD device
group-onsemi 0:098463de4c5d 48 *
group-onsemi 0:098463de4c5d 49 * @return true if connection was successful
group-onsemi 0:098463de4c5d 50 */
group-onsemi 0:098463de4c5d 51 bool connect();
group-onsemi 0:098463de4c5d 52
group-onsemi 0:098463de4c5d 53 protected:
group-onsemi 0:098463de4c5d 54 //From IUSBEnumerator
group-onsemi 0:098463de4c5d 55 virtual void setVidPid(uint16_t vid, uint16_t pid);
group-onsemi 0:098463de4c5d 56 virtual bool parseInterface(uint8_t intf_nb, uint8_t intf_class, uint8_t intf_subclass, uint8_t intf_protocol); //Must return true if the interface should be parsed
group-onsemi 0:098463de4c5d 57 virtual bool useEndpoint(uint8_t intf_nb, ENDPOINT_TYPE type, ENDPOINT_DIRECTION dir); //Must return true if the endpoint will be used
group-onsemi 0:098463de4c5d 58
group-onsemi 0:098463de4c5d 59 // From FATFileSystem
group-onsemi 0:098463de4c5d 60 virtual int disk_initialize();
group-onsemi 0:098463de4c5d 61 virtual int disk_status() {return 0;};
group-onsemi 0:098463de4c5d 62 virtual int disk_read(uint8_t* buffer, uint32_t sector, uint32_t count);
group-onsemi 0:098463de4c5d 63 virtual int disk_write(const uint8_t* buffer, uint32_t sector, uint32_t count);
group-onsemi 0:098463de4c5d 64 virtual int disk_sync() {return 0;};
group-onsemi 0:098463de4c5d 65 virtual uint32_t disk_sectors();
group-onsemi 0:098463de4c5d 66
group-onsemi 0:098463de4c5d 67 private:
group-onsemi 0:098463de4c5d 68 USBHost * host;
group-onsemi 0:098463de4c5d 69 USBDeviceConnected * dev;
group-onsemi 0:098463de4c5d 70 bool dev_connected;
group-onsemi 0:098463de4c5d 71 USBEndpoint * bulk_in;
group-onsemi 0:098463de4c5d 72 USBEndpoint * bulk_out;
group-onsemi 0:098463de4c5d 73 uint8_t nb_ep;
group-onsemi 0:098463de4c5d 74
group-onsemi 0:098463de4c5d 75 // Bulk-only CBW
group-onsemi 0:098463de4c5d 76 typedef struct {
group-onsemi 0:098463de4c5d 77 uint32_t Signature;
group-onsemi 0:098463de4c5d 78 uint32_t Tag;
group-onsemi 0:098463de4c5d 79 uint32_t DataLength;
group-onsemi 0:098463de4c5d 80 uint8_t Flags;
group-onsemi 0:098463de4c5d 81 uint8_t LUN;
group-onsemi 0:098463de4c5d 82 uint8_t CBLength;
group-onsemi 0:098463de4c5d 83 uint8_t CB[16];
group-onsemi 0:098463de4c5d 84 } PACKED CBW;
group-onsemi 0:098463de4c5d 85
group-onsemi 0:098463de4c5d 86 // Bulk-only CSW
group-onsemi 0:098463de4c5d 87 typedef struct {
group-onsemi 0:098463de4c5d 88 uint32_t Signature;
group-onsemi 0:098463de4c5d 89 uint32_t Tag;
group-onsemi 0:098463de4c5d 90 uint32_t DataResidue;
group-onsemi 0:098463de4c5d 91 uint8_t Status;
group-onsemi 0:098463de4c5d 92 } PACKED CSW;
group-onsemi 0:098463de4c5d 93
group-onsemi 0:098463de4c5d 94 CBW cbw;
group-onsemi 0:098463de4c5d 95 CSW csw;
group-onsemi 0:098463de4c5d 96
group-onsemi 0:098463de4c5d 97 int SCSITransfer(uint8_t * cmd, uint8_t cmd_len, int flags, uint8_t * data, uint32_t transfer_len);
group-onsemi 0:098463de4c5d 98 int testUnitReady();
group-onsemi 0:098463de4c5d 99 int readCapacity();
group-onsemi 0:098463de4c5d 100 int inquiry(uint8_t lun, uint8_t page_code);
group-onsemi 0:098463de4c5d 101 int SCSIRequestSense();
group-onsemi 0:098463de4c5d 102 int dataTransfer(uint8_t * buf, uint32_t block, uint8_t nbBlock, int direction);
group-onsemi 0:098463de4c5d 103 int checkResult(uint8_t res, USBEndpoint * ep);
group-onsemi 0:098463de4c5d 104 int getMaxLun();
group-onsemi 0:098463de4c5d 105
group-onsemi 0:098463de4c5d 106 int blockSize;
group-onsemi 0:098463de4c5d 107 uint32_t blockCount;
group-onsemi 0:098463de4c5d 108
group-onsemi 0:098463de4c5d 109 int msd_intf;
group-onsemi 0:098463de4c5d 110 bool msd_device_found;
group-onsemi 0:098463de4c5d 111 bool disk_init;
group-onsemi 0:098463de4c5d 112
group-onsemi 0:098463de4c5d 113 void init();
group-onsemi 0:098463de4c5d 114
group-onsemi 0:098463de4c5d 115 };
group-onsemi 0:098463de4c5d 116
group-onsemi 0:098463de4c5d 117 #endif
group-onsemi 0:098463de4c5d 118
group-onsemi 0:098463de4c5d 119 #endif