diff options
author | Diego Ismirlian <dismirlian (at) google's mail.com> | 2017-08-08 14:19:35 -0300 |
---|---|---|
committer | Diego Ismirlian <dismirlian (at) google's mail.com> | 2017-08-08 14:19:35 -0300 |
commit | c466db250c1f2254c44e1ca067a93f489dabf931 (patch) | |
tree | 285832dd80bd6663acbc6f825cc893cc58b97a71 /os/various/fatfs_bindings/fatfs_devices.h | |
parent | c0205baf7d49b76e512dbae2537c062ac8efefc1 (diff) | |
download | ChibiOS-Contrib-c466db250c1f2254c44e1ca067a93f489dabf931.tar.gz ChibiOS-Contrib-c466db250c1f2254c44e1ca067a93f489dabf931.tar.bz2 ChibiOS-Contrib-c466db250c1f2254c44e1ca067a93f489dabf931.zip |
USBH: testhal example: improve support for multiple FAT devices
Diffstat (limited to 'os/various/fatfs_bindings/fatfs_devices.h')
-rw-r--r-- | os/various/fatfs_bindings/fatfs_devices.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/os/various/fatfs_bindings/fatfs_devices.h b/os/various/fatfs_bindings/fatfs_devices.h new file mode 100644 index 0000000..5ec05ca --- /dev/null +++ b/os/various/fatfs_bindings/fatfs_devices.h @@ -0,0 +1,59 @@ +/* + ChibiOS - Copyright (C) 2006..2017 Giovanni Di Sirio + Copyright (C) 2015..2017 Diego Ismirlian, (dismirlian (at) google's mail) + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#ifndef FATFS_DEVICES_H_ +#define FATFS_DEVICES_H_ + +#include "hal.h" + +#if HAL_USE_MMC_SPI && HAL_USE_SDC +#error "cannot specify both MMC_SPI and SDC drivers" +#endif + +#if HAL_USE_MMC_SPI +extern MMCDriver MMCD1; +#elif HAL_USE_SDC +extern SDCDriver SDCD1; +#elif HAL_USBH_USE_MSD + +#else +#error "MMC_SPI, SDC or USBH_MSD driver must be specified" +#endif + +/*-----------------------------------------------------------------------*/ +/* Correspondence between physical drive number and physical drive. */ +#if HAL_USE_MMC_SPI +#define FATFSDEV_MMC 0 +#define FATFSDEV_MMC_DRIVE "0:" +#endif + +#if HAL_USE_SDC +#define FATFSDEV_SDC 0 +#define FATFSDEV_SDC_DRIVE "0:" +#endif + +#if HAL_USBH_USE_MSD +#if defined(FATFSDEV_MMC) || defined(FATFSDEV_SDC) +#define FATFSDEV_MSDLUN0 1 +#define FATFSDEV_MSDLUN0_DRIVE "1:" +#else +#define FATFSDEV_MSDLUN0 0 +#define FATFSDEV_MSDLUN0_DRIVE "0:" +#endif +#endif + +#endif /* FATFS_DEVICES_H_ */ |